Files
Cyrene_v2/Docs/api-client.md
T

59 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 逐条补全并更新本表。