App öffnen
Moonborn — Developers

SDKs

TypeScript- und Python-SDKs sind heute verfügbar. Go, Ruby, Rust und Elixir folgen. Für die vollständige Referenz geht es weiter zu.

Heute verfügbar

  • TypeScriptv1, stabil. Node 18+ und Browser. Vollständige Typabdeckung aus der OpenAPI-Spezifikation.
  • Pythonv1, stabil. Python 3.10+. Synchroner und asynchroner Client.

Beide SDKs bilden die REST-Oberfläche 1:1 ab — es gibt kein SDK-only-Feature und kein REST-only-Feature.

TypeScript

pnpm add @moonborn/sdk
import Moonborn from '@moonborn/sdk';
 
const client = new Moonborn({
 apiKey: process.env.MOONBORN_API_KEY,
});
 
const persona = await client.personas.create({
 intent: 'A bookshop owner who reads more than she sells.',
});
 
const session = await client.chat.sessions.create({ personaId: persona.id });
const stream = await client.chat.messages.stream({
 sessionId: session.id,
 content: 'Tell me a quiet truth.',
});
 
for await (const chunk of stream) {
 process.stdout.write(chunk.delta);
}

Authentifizierung über Konstruktor oder Umgebungsvariable. Streaming ist ein AsyncIterable aus typisierten Delta-Chunks.

Python

pip install moonborn
import os
from moonborn import Moonborn
 
client = Moonborn(api_key=os.environ["MOONBORN_API_KEY"])
 
persona = client.personas.create(
 intent="A bookshop owner who reads more than she sells."
)
 
session = client.chat.sessions.create(persona_id=persona.id)
 
for chunk in client.chat.messages.stream(session_id=session.id, content="Tell me a quiet truth."):
 print(chunk.delta, end="", flush=True)

Eine asynchrone Variante liegt in moonborn.aio mit derselben Oberfläche.

Demnächst

  • Go, Ruby, Rust, Elixir — aus der OpenAPI-Spezifikation generiert, im gleichen Release-Takt wie die API.

Bis dahin generiert die OpenAPI-Spezifikation auf /openapi.json funktionierende Clients für jede gängige Sprache — via openapi-generator oder mit dem Toolchain deiner Wahl.

Eigener HTTP-Client

Jeder Endpunkt ist reines JSON über HTTPS, Bearer-authentifiziert. Wenn du kein SDK hinzufügen möchtest, ist die REST-Oberfläche dieselbe, die die SDKs umschließen.

curl -X POST https://api.moonborn.co/v1/personas \
 -H "Authorization: Bearer $MOONBORN_API_KEY" \
 -H "Content-Type: application/json" \
 -d '{"intent": "..."}'

Weiter