Dropstone Support

Instale e execute sua primeira sessão

Instale o SDK do Dropstone, faça uma chamada headless de API com uma chave de API e execute uma sessão de agente local que carrega a memória da sua conta. Inclui streaming, saída estruturada e uso do SDK da OpenAI com o Dropstone.

Dois clientes, duas primeiras chamadas. Escolha o que corresponde a onde seu código roda; a visão geral do SDK explica a diferença.


Headless: uma chamada de qualquer lugar

  1. Crie uma chave de API em Configurações, na seção Chaves de API, no seu dashboard. Ela se parece com dsk_live_... e é exibida apenas uma vez.
  2. Instale o SDK: npm install @blankline/dropstone-sdk.
  3. Coloque a chave no ambiente, como DROPSTONE_API_KEY. Trate-a como uma senha: nunca a envie para o repositório e nunca a inclua em um bundle de navegador.
  4. Faça a chamada. O cliente lê a variável de ambiente por conta própria.
import { createDropstoneApi } from "@blankline/dropstone-sdk"

const dropstone = createDropstoneApi()

const resp = await dropstone.chat.completions.create({
  model: "dropstone-fast",
  messages: [{ role: "user", content: "Summarise this changelog entry." }],
})

console.log(resp.choices[0].message.content)

Adicione stream: true e a mesma chamada retorna um iterador assíncrono de chunks, que é o que você quer em uma interface ou em uma resposta longa:

const stream = await dropstone.chat.completions.create({
  model: "dropstone-fast",
  stream: true,
  messages: [{ role: "user", content: "Count to five." }],
})

for await (const chunk of stream) {
  process.stdout.write(chunk.choices?.[0]?.delta?.content ?? "")
}

O endpoint é compatível com a OpenAI, então um cliente existente funciona apontando para o Dropstone:

import OpenAI from "openai"

const openai = new OpenAI({
  baseURL: "https://api.dropstone.io/api/v1",
  apiKey: process.env.DROPSTONE_API_KEY,
})

Chamadas com chave de API são cobradas por uso a partir do seu saldo de créditos, não de uma cota do plano, e uma chave com saldo vazio é recusada com um link para recarga. Veja Usando a API com seu plano.


Local: o agente, no seu processo

O cliente local inicia um processo dropstone serve, entrega a você um cliente tipado apontando para ele e o encerra quando você termina. Como ele roda como sua conta, as sessões carregam sua memória.

  1. Instale o Dropstone CLI e entre com dropstone login. O SDK lê o mesmo login.
  2. Crie uma sessão e envie um prompt para ela.
import { createDropstone } from "@blankline/dropstone-sdk"

const { client, server } = await createDropstone()

const session = await client.session.create({
  body: { agent: "build", model: { providerID: "dropstone", modelID: "dropstone-pro" } },
})

const reply = await client.session.prompt({
  path: { id: session.data.id },
  body: { parts: [{ type: "text", text: "Hello, who are you?" }] },
})

console.log(reply.data)
await server.close()

Se um servidor já estiver em execução, pule a inicialização:

import { createDropstoneClient } from "@blankline/dropstone-sdk"

const client = createDropstoneClient({ baseUrl: "http://127.0.0.1:4096" })

Dicas

  • Fixei a faixa de versão. O SDK é lançado em um ritmo rápido, então dependa de uma faixa que você testou em vez da tag mais recente.
  • Use v2 para código novo. @blankline/dropstone-sdk/v2 é a superfície onde novos endpoints chegam; v1 permanece para integrações existentes.
  • Mantenha o aprendizado de um pipeline fora da sua própria memória. Uma chamada headless não tem memória anexada, e uma sessão local usa a conta com a qual você entrou. Se uma integração deve ter sua própria memória, dê a ela sua própria conta. Veja Uma memória em todas as superfícies.

Limitações

  • O cliente local precisa do CLI na mesma máquina; um host sem ele deve usar o cliente headless.
  • O endpoint headless é de chat completions. O loop do agente, operações de arquivo e ferramentas de workspace estão no cliente local.

Related articles

Ctrl+I