Установка и запуск первой сессии
Установите Dropstone SDK, выполните headless API-вызов с помощью API-ключа и запустите локальную сессию агента, которая хранит память вашей учётной записи. Включает стриминг, структурированный вывод и использование OpenAI SDK с Dropstone.
Два клиента, два первых вызова. Выберите тот, который соответствует месту выполнения вашего кода; обзор SDK объясняет разницу.
Headless: вызов из любого места
- Создайте API-ключ в Настройках, в разделе API keys, в вашей панели управления. Он выглядит как
dsk_live_...и отображается только один раз. - Установите SDK:
npm install @blankline/dropstone-sdk. - Поместите ключ в переменные окружения как
DROPSTONE_API_KEY. Относитесь к нему как к паролю: никогда не коммитьте его и не включайте в браузерный бандл. - Вызовите его. Клиент сам считывает переменную окружения.
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)
Добавьте stream: true, и тот же вызов вернёт асинхронный итератор фрагментов — это то, что нужно для интерфейса или длинного ответа:
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 ?? "")
}
Эндпоинт совместим с OpenAI, поэтому существующий клиент будет работать, если указать Dropstone:
import OpenAI from "openai"
const openai = new OpenAI({
baseURL: "https://api.dropstone.io/api/v1",
apiKey: process.env.DROPSTONE_API_KEY,
})
Запросы с API-ключом оплачиваются по мере использования с вашего кредитного баланса, а не из лимита тарифа. Ключ с нулевым балансом получит отказ со ссылкой на пополнение. См. Использование API с вашим тарифом.
Локально: агент в вашем процессе
Локальный клиент запускает процесс dropstone serve, передаёт вам типизированный клиент, указывающий на него, и закрывает его по завершении. Поскольку он работает от имени вашей учётной записи, сессии сохраняют вашу память.
- Установите Dropstone CLI и войдите с помощью
dropstone login. SDK использует тот же вход. - Создайте сессию, затем отправьте ей запрос.
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()
Если сервер уже запущен, пропустите его запуск:
import { createDropstoneClient } from "@blankline/dropstone-sdk"
const client = createDropstoneClient({ baseUrl: "http://127.0.0.1:4096" })
Советы
- Фиксируйте диапазон версий. SDK выпускается часто, поэтому указывайте диапазон, который вы протестировали, а не последний тег.
- Используйте v2 для нового кода.
@blankline/dropstone-sdk/v2— это поверхность, на которую попадают новые эндпоинты; v1 остаётся для существующих интеграций. - Не смешивайте знания пайплайна с собственной памятью. Headless-вызов не имеет привязанной памяти, а локальная сессия использует учётную запись, под которой вы вошли. Если интеграция должна иметь собственную память, дайте ей отдельную учётную запись. См. Одна память на всех поверхностях.
Ограничения
- Локальному клиенту нужен CLI на той же машине; хост без него должен использовать headless-клиент.
- Headless-эндпоинт — это chat completions. Цикл агента, файловые операции и инструменты рабочей области доступны в локальном клиенте.
Related articles
- Dropstone SDKA typed TypeScript and JavaScript client for the Dropstone agent, with two entry points: one for headless API calls from CI or a serverless function, one that runs the agent locally with the same account memory as the CLI and Chat.
- Using the API with your planCall Dropstone over HTTP with an API key. The endpoint is OpenAI-compatible, billed pay-per-use from your credit balance, and works from any language. Keys, errors, rate limits, and what the API does not carry.
- One memory across every surfaceThe account memory that follows you across Dropstone Chat, the CLI, and the SDK, what shares it and what does not, and how to keep an integration's learning out of your own memory.
- Install the CLIInstall the Dropstone CLI on macOS, Linux, or Windows with one command, sign in, and check it works. Upgrading and uninstalling.
- How to get supportHow to reach Dropstone support, what to include so we can help quickly, and the right address for billing, privacy, security, and enterprise questions.