Baue deine erste Persona
Vom Einzeiler-Intent zu einer voll auditierten, vierschichtigen Persona mit aufgezeichnetem Voice Fingerprint — in fünf Minuten.
Dieses Tutorial zeigt POST /v1/personas von Anfang bis Ende: einen
API-Key bekommen, einen Intent senden, die Response lesen und die
Persona später wiederfinden. Alles andere in den Docs baut auf diesem
Loop auf.
1. Einen API-Key holen
Melde dich in deinem Workspace an, öffne Settings → API keys → New key. Zwei Prefix-Konventionen:
sk_test_*— an einen Test-Workspace gebunden; isoliert von Produktionsdaten.sk_live_*— Produktion. Behandle ihn wie ein Datenbank-Passwort.
Speichere den Key in einer Environment-Variable, damit er nicht in deiner Shell-History landet:
export MOONBORN_API_KEY=sk_live_xxxxxxxxxxxxxxxx2. Eine Persona generieren
Ein einzelner POST-Call übergibt einen Intent an die sechsstufige
Generation Pipeline. workspaceId ist
das einzige andere Pflichtfeld; alles andere hat einen vertretbaren
Default.
curl -X POST https://api.moonborn.co/v1/personas \
-H "Authorization: Bearer $MOONBORN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"intent": "Ein 34-jähriger Gründer aus Istanbul. Brillant, aber rastlos. Versteckt Imposter-Syndrom hinter unermüdlichem Momentum.",
"workspaceId": "ws_..."
}'import Moonborn from '@moonborn/sdk';
const client = new Moonborn({ apiKey: process.env.MOONBORN_API_KEY });
const persona = await client.personas.createPersona({
intent:
'Ein 34-jähriger Gründer aus Istanbul. Brillant, aber rastlos. Versteckt Imposter-Syndrom hinter unermüdlichem Momentum.',
workspaceId: 'ws_...',
});
console.log(persona.id, persona.status, persona.pipelineRunId);import os
from moonborn import Moonborn
client = Moonborn(api_key=os.environ["MOONBORN_API_KEY"])
persona = client.personas.create_persona(
intent="Ein 34-jähriger Gründer aus Istanbul. Brillant, aber rastlos.",
workspace_id="ws_...",
)
print(persona.id, persona.status, persona.pipeline_run_id)Die Response ist bewusst schlank:
{
"id": "persona_01H...",
"status": "active",
"pipelineRunId": "run_01H..."
}Die Persona selbst — Soul, Self, Mask, Surface — ist jetzt in deinem
Workspace. Die pipelineRunId ist die Brotkrume zur
Audit-Spur, falls du
Step-Latenzen und Provider-Routen sehen willst.
3. Die Persona zurücklesen
const detail = await client.personas.getPersona({ id: persona.id });
console.log(detail.surface.name.display);
console.log(detail.mask.signaturePhrases);
console.log(detail.voiceFingerprintId);Was du zurückbekommst, ist das volle vierschichtige Dokument plus
Runtime-Hints (Voice Fingerprint ID, Distinctiveness-Score,
Audit-Verdict). Für das Schema siehe den
GET /v1/personas/{id}-Endpoint.
4. Pipeline streamen (optional)
Für eine UX, die den Pipeline-Fortschritt zeigt, gib stream: true
mit. Die Response wird ein SSE-Stream von step.started /
step.completed / pipeline.completed-Events. Den Read-Loop findest
du im Streaming patterns guide.
Was du nicht tun musstest
- Ein Modell wählen. Moonborn nahm
claude-opus-4-7für den Soul-Draft undclaude-sonnet-4-6für den Rest, beide konfigurierbar auf Org/Workspace-Scope. - Den Audit fahren. Er lief automatisch; ein 4.2/5-Verdict wurde zusammen mit der Persona gespeichert.
- Einen Voice Fingerprint berechnen. Fünfzig Kurzszenarios liefen post-Generation; das Embedding ist abfragbar.
Weiter
- Öffne eine Chat-Session gegen deine neue Persona: Set up a chat session.
- Beobachte Drift in langen Konversationen: Handle voice drift.
- Stöbere die volle Personas API.