Zum Inhalt springen

Schnellstart

Für Entwickler, die einen Client mit OpenBot verbinden oder den Server erweitern. Die Beispiele brauchen die auf dieser Seite genannten Rechte. Beginne mit dem Entwicklerhandbuch.

Diese Seite startet OpenBot auf deinem Computer mit einem Testkonto und Testmodellen. Du brauchst keinen Identitätsanbieter und keinen Modell-Schlüssel.


Du brauchst:

  1. devenv 2.3 oder neuer. Es gibt dir die richtigen Versionen von Node.js, pnpm, den PostgreSQL-Werkzeugen und den Befehlszeilen-Werkzeugen von Docker.
  2. Einen laufenden Docker-Dienst. Die Datenbank und der Objektspeicher für die Entwicklung laufen in Docker.
  3. Eine Kopie des Codes:
Terminal window
git clone https://github.com/openbot-build/openbot.git
cd openbot

Führe jeden Befehl im obersten Ordner des Codes aus, innerhalb von devenv shell --.


Terminal window
devenv shell -- pnpm dev:setup

Dieser Befehl erstellt .env.development mit einem neuen geheimen Schlüssel. Wenn du eine .env.development von einer älteren Version hast, lösche sie zuerst.

Terminal window
devenv shell -- pnpm dev

Das startet PostgreSQL und RustFS in Docker, baut OpenBot, aktualisiert die Datenbank und startet OpenBot unter http://localhost. Unter Linux fragt devenv beim ersten Mal mit sudo nach deinem Passwort. Sein Proxy braucht das, um auf Port 80 zu lauschen. Der Entwicklungsserver richtet die Platform selbst ein. Du führst das Einrichtungsprogramm also nicht aus. Der erste Start kann ein paar Minuten dauern. Drücke Strg+C, um zu stoppen. Deine Daten bleiben in der Datenbank.

Terminal window
curl -c cookies.txt -X POST http://localhost/auth/development/sign-in \
-H "Origin: http://localhost" \
-H "Content-Type: application/json" \
-d '{}'

In der Entwicklung meldet dich das sofort beim lokalen Testkonto developer@localhost.test an. Das Anmelde-Cookie landet in cookies.txt. Dieses Konto ist ein Platform-Admin. Es hat noch keine Organisation.

Bots, Chats und Tokens gehören zu einer Organisation. Erstelle eine für dich:

Terminal window
curl -b cookies.txt \
-H 'Origin: http://localhost' \
-H 'Content-Type: application/json' \
-d '{"name":"My lab"}' \
http://localhost/v1/organizations

Du bist der Super Administrator dieser Organisation.

Terminal window
curl -b cookies.txt \
-H 'Origin: http://localhost' \
-H 'Content-Type: application/json' \
-d '{"name":"local"}' \
http://localhost/v1/user/tokens

Das Token gehört zu deiner neuen Organisation. Die Antwort enthält ein secret, das mit obut_ beginnt. Du siehst es nur einmal. Bewahre es also auf:

Terminal window
export OPENBOT_TOKEN=obut_...

Du gibst einem Bot Arbeit. Ein neues Konto hat keine Bots. Erstelle also einen:

Terminal window
curl -H "Authorization: Bearer $OPENBOT_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"name":"Assistant","role":"Helps me","instructions":"Answer in short sentences.","model":{"_tag":"Config.Selection","provider":"development","model":"mock-text"}}' \
http://localhost/v1/bots

Nimm id aus der Antwort. Wenn du diesen Bot auch ohne Angabe eines Bots nutzen willst, mach ihn zu deinem Standard-Bot.

Schicke deinem Bot eine Nachricht:

Terminal window
curl -H "Authorization: Bearer $OPENBOT_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"input":"Hello"}' \
http://localhost/v1/bots/<botId>/messages

OpenBot erstellt deinen Chat mit dem Bot, und die Nachricht startet einen Turn. Der Turn läuft im Hintergrund, und du bekommst sofort 202 mit delivery: "started". Füge "stream": true hinzu, um die Antwort als Live-Stream zu bekommen. Um die Antwort später zu lesen, nimm chat aus der Antwort und rufe GET /v1/chats/<chatId> auf.

Das Testmodell mock-text antwortet mit Development response: und deiner Eingabe. Die anderen Testmodelle findest du unter Models.


Dieses Beispiel wählt das Testmodel der Entwicklung. Bots im Produktivbetrieb brauchen ein von der Verwaltung bereitgestelltes Model.