3.3 KiB
3.3 KiB
Cyrene v2 客户端 API 文档(用户侧)
面向: Web 前端 / 移动端原生客户端 / IM 桥接等跨平台客户端开发者。 维护铁律: 每实现/变更一个 API(REST 端点、WS 事件、admin API)立即更新本文件;契约变更必须版本化,不破坏既有客户端。 状态: 契约先行(gateway 在 M8 实现,M9 前端按此开发)。当前多数端点为「规划中」,随实现逐条补全请求/响应。
0. 基础约定
- Base URL:
http://<host>:8080(网关唯一对外端口;生产一般经反代/HTTPS)。 - 版本: REST 全部挂在
/api/v1/{resource};未来破坏性变更升 v2。 - 认证:
Authorization: Bearer <JWT>;管理端另支持X-API-Key。 - 响应统一:
{"data": ...}/{"error": {"code": <string>, "message": <string>}};状态码 200/201/204/400/401/403/404/429/500。 - 错误码:业务错误带
code字符串(如unauthorized/not_found),便于客户端分支。
1. REST 端点(公开)
下表为登记表:状态
✅ 已实现/🕐 规划。实现时补上 URL、方法、请求/响应示例。
| # | 端点 | 方法 | 认证 | 状态 | 说明 |
|---|---|---|---|---|---|
| — | /api/v1/auth/login |
POST | 否 | 🕐 | 用户登录 → 返回 JWT |
| — | /api/v1/sessions |
GET/POST | JWT | 🕐 | 会话列表/创建 |
| — | /api/v1/chat |
POST | JWT | 🕐 | 发送 chat 消息(返回流或即时回复) |
| — | /api/v1/personas |
GET | JWT | 🕐 | 人格列表/当前角色 |
2. REST 端点(管理,/api/v1/admin/*)
仅供管理面板与授权客户端;RBAC:
owner/admin/viewer;全程审计。
| # | 端点 | 方法 | 状态 | 说明 |
|---|---|---|---|---|
| — | /api/v1/admin/users |
GET/POST | 🕐 | 用户/角色/API key 管理 |
| — | /api/v1/admin/personas |
GET/POST/PUT/DELETE | 🕐 | 人格 CRUD |
| — | /api/v1/admin/channels |
GET/POST | 🕐 | 渠道管理(含身份识别测试) |
| — | /api/v1/admin/memories |
GET/PUT/DELETE | 🕐 | 记忆管理(检索/编辑/删除) |
| — | /api/v1/admin/plugins |
GET/POST | 🕐 | 插件/能力/MCP |
| — | /api/v1/admin/llm |
GET/PUT | 🕐 | LLM 模型/路由/降级配置 |
| — | /api/v1/admin/automations |
GET/POST | 🕐 | 自动化与提醒 |
3. WebSocket /ws(实时)
下行(服务端→客户端): stream_chunk / stream_end / thinking(思维链) / mood / reminder / device_update / tool_used(工具回显) / subagent_event / graph_update(流程图) / auth。
上行(客户端→服务端): mode_switch / chat / voice_input / subagent_ask(子代理上下文查询) / task_output_query(后台任务输出查询)。
完整事件负载 schema 随 M8 实现补充到本文件。
4. 客户端接入指引
- 认证: 先
POST /api/v1/auth/login取 JWT → WS 握手(子协议/auth消息)注入 token。 - 版本: 客户端在
Accept/User-Agent或请求头声明X-API-Version: 1。 - 离线: PWA / 原生端建议缓存
sessions/personas等列表。
5. 变更记录
v0.1(契约先行):建骨架 + 端点登记表;gateway 未实现,随 M8 逐条补全并更新本表。