Dropstone Support

Installa ed esegui la tua prima sessione

Installa l'SDK Dropstone, effettua una chiamata API headless con una chiave API ed esegui una sessione agente locale che conserva la memoria del tuo account. Include streaming, output strutturato e utilizzo dell'SDK OpenAI con Dropstone.

Due client, due prime chiamate. Scegli quello che corrisponde a dove viene eseguito il tuo codice; la panoramica dell'SDK spiega la differenza.


Headless: una chiamata da qualsiasi luogo

  1. Crea una chiave API in Impostazioni, sotto Chiavi API, nella tua dashboard. Ha questo aspetto: dsk_live_... e viene mostrata una sola volta.
  2. Installa l'SDK: npm install @blankline/dropstone-sdk.
  3. Inserisci la chiave nell'ambiente, come DROPSTONE_API_KEY. Trattala come una password: non committarla mai e non inviarla mai in un bundle del browser.
  4. Chiamala. Il client legge la variabile d'ambiente da solo.
import { createDropstoneApi } from "@blankline/dropstone-sdk"

const dropstone = createDropstoneApi()

const resp = await dropstone.chat.completions.create({
  model: "dropstone-fast",
  messages: [{ role: "user", content: "Riassumi questa voce del changelog." }],
})

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

Aggiungi stream: true e la stessa chiamata restituisce un iteratore asincrono di chunk, che è ciò che ti serve in un'interfaccia utente o per una risposta lunga:

const stream = await dropstone.chat.completions.create({
  model: "dropstone-fast",
  stream: true,
  messages: [{ role: "user", content: "Conta fino a cinque." }],
})

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

L'endpoint è compatibile con OpenAI, quindi un client esistente funziona puntando a Dropstone:

import OpenAI from "openai"

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

Le richieste con chiave API vengono fatturate con pagamento a consumo dal tuo saldo crediti, non da un'allocazione del piano, e una chiave con saldo vuoto viene rifiutata con un link per ricaricare. Vedi Utilizzo dell'API con il tuo piano.


Locale: l'agente, nel tuo processo

Il client locale avvia un processo dropstone serve, ti fornisce un client tipizzato puntato ad esso e lo chiude quando hai finito. Poiché viene eseguito come tuo account, le sessioni conservano la tua memoria.

  1. Installa la CLI Dropstone e accedi con dropstone login. L'SDK legge lo stesso accesso.
  2. Crea una sessione, poi inviale un prompt.
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: "Ciao, chi sei?" }] },
})

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

Se un server è già in esecuzione, salta l'avvio:

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

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

Suggerimenti

  • Fissa l'intervallo di versione. L'SDK viene rilasciato con una cadenza rapida, quindi dipendi da un intervallo che hai testato piuttosto che dall'ultima tag.
  • Usa v2 per il nuovo codice. @blankline/dropstone-sdk/v2 è la superficie su cui arrivano i nuovi endpoint; v1 resta per le integrazioni esistenti.
  • Tieni l'apprendimento di una pipeline fuori dalla tua memoria. Una chiamata headless non ha memoria associata, e una sessione locale usa l'account con cui hai effettuato l'accesso. Se un'integrazione dovrebbe avere la propria memoria, dagli un proprio account. Vedi Una memoria su ogni superficie.

Limitazioni

  • Il client locale richiede la CLI sulla stessa macchina; un host senza di essa dovrebbe usare il client headless.
  • L'endpoint headless è chat completions. Il loop dell'agente, le operazioni sui file e gli strumenti del workspace sono sul client locale.

Related articles

Ctrl+I