Skip to content

HTTP и WebSocket API ​

Веб-интерфейс делает всё через этот API, так что Crew можно скриптовать. Базовый URL: http://localhost:3000/api.

Агенты ​

МетодПутьЧто делает
GET/agentsСписок агентов с полями status, memoryCount и effectiveModel.
POST/agentsСоздаёт агента: { name, role?, personality?, systemPrompt?, model?, avatar? }
GET/agents/:idВозвращает агента по id или по имени.
PATCH/agents/:idИзменяет агента.
DELETE/agents/:idУдаляет агента вместе с памятью.
GET/agents/:id/exportЭкспорт в JSON.
POST/agents/importИмпорт из JSON.

Чат ​

МетодПутьЧто делает
POST/agents/:id/chatПринимает { text } и возвращает итоговый ответ. Блокируется, пока ответ не готов.
GET/agents/:id/messages?channel=webВозвращает историю.
DELETE/agents/:id/messagesОчищает веб-чат.
bash
curl -s localhost:3000/api/agents/Lena/chat \
  -H 'content-type: application/json' \
  -d '{"text":"Напиши хокку про SQLite"}' | jq -r .content

Память и папки ​

МетодПутьЧто делает
GET/agents/:id/memories?q=Список воспоминаний или поиск по q.
POST/agents/:id/memoriesДобавляет воспоминание: { content, type?, importance? }
DELETE/memories/:idУдаляет воспоминание.
GET/agents/:id/foldersСписок открытых папок.
POST/agents/:id/foldersОткрывает папку: { path, mode: "ro" | "rw" }
DELETE/folders/:idЗакрывает доступ к папке.

Система ​

GET /health, GET /status, GET /settings, PUT /settings, GET /templates, GET /tasks.

WebSocket на /ws ​

Чтобы написать агенту, отправь:

json
{ "type": "chat", "agentId": "…", "text": "привет!" }

В ответ идёт поток событий, и каждый подключённый клиент получает их все:

ts
{ type: "status",  agentId, status: "idle" | "thinking" | "working" | "remembering" }
{ type: "token",   agentId, replyId, delta }
{ type: "tool",    agentId, replyId, name, args, result? }
{ type: "message", agentId, conversationId, message }
{ type: "memory",  agentId, memory }
{ type: "agents" }   // список изменился

MIT License