Installer et lancer votre première session
Installez le SDK Dropstone, effectuez un appel API headless avec une clé API, et lancez une session d'agent locale qui conserve la mémoire de votre compte. Inclut le streaming, la sortie structurée et l'utilisation du SDK OpenAI avec Dropstone.
Deux clients, deux premiers appels. Choisissez celui qui correspond à l'endroit où votre code s'exécute ; la vue d'ensemble du SDK explique la différence.
Headless : un appel depuis n'importe où
- Créez une clé API dans Settings, sous API keys, dans votre tableau de bord. Elle ressemble à
dsk_live_...et n'est affichée qu'une seule fois. - Installez le SDK :
npm install @blankline/dropstone-sdk. - Placez la clé dans l'environnement, sous
DROPSTONE_API_KEY. Traitez-la comme un mot de passe : ne la committez jamais et ne l'envoyez jamais dans un bundle navigateur. - Appelez-la. Le client lit la variable d'environnement tout seul.
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)
Ajoutez stream: true et le même appel renvoie un itérateur asynchrone de morceaux, ce qui est ce que vous voulez dans une interface utilisateur ou pour une réponse longue :
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 ?? "")
}
Le point de terminaison est compatible OpenAI, donc un client existant fonctionne en le pointant vers Dropstone :
import OpenAI from "openai"
const openai = new OpenAI({
baseURL: "https://api.dropstone.io/api/v1",
apiKey: process.env.DROPSTONE_API_KEY,
})
Les requêtes avec clé API sont facturées à l'utilisation depuis votre solde de crédits, et non depuis une allocation de forfait, et une clé avec un solde vide est refusée avec un lien de rechargement. Voir Utiliser l'API avec votre forfait.
Local : l'agent, dans votre processus
Le client local démarre un processus dropstone serve, vous remet un client typé pointé vers lui, et le ferme lorsque vous avez terminé. Comme il s'exécute en tant que votre compte, les sessions conservent votre mémoire.
- Installez le Dropstone CLI et connectez-vous avec
dropstone login. Le SDK lit la même connexion. - Créez une session, puis envoyez-lui une invite.
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()
Si un serveur est déjà en cours d'exécution, ignorez le lancement :
import { createDropstoneClient } from "@blankline/dropstone-sdk"
const client = createDropstoneClient({ baseUrl: "http://127.0.0.1:4096" })
Conseils
- Épinglez la plage de versions. Le SDK est publié à un rythme rapide, donc dépendez d'une plage que vous avez testée plutôt que de la dernière balise.
- Utilisez v2 pour le nouveau code.
@blankline/dropstone-sdk/v2est la surface sur laquelle les nouveaux points de terminaison arrivent ; v1 reste pour les intégrations existantes. - Gardez l'apprentissage d'un pipeline hors de votre propre mémoire. Un appel headless n'a aucune mémoire attachée, et une session locale utilise le compte avec lequel vous vous êtes connecté. Si une intégration doit avoir sa propre mémoire, donnez-lui son propre compte. Voir Une mémoire sur chaque surface.
Limitations
- Le client local nécessite le CLI sur la même machine ; un hôte sans celui-ci doit utiliser le client headless.
- Le point de terminaison headless est la complétion de chat. La boucle d'agent, les opérations sur fichiers et les outils d'espace de travail sont sur le client local.
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.