docs(backend): 记录全面审阅问题与修复方案

按原因、后果、解决思路、落地方案和回归测试复盘 10 类后端问题。

同步更新接口实现状态、Plugin 权限接口、真实 Streaming、Citation 偏移约定、第一阶段 Tool 列表和测试数量。
This commit is contained in:
2026-08-28 09:57:02 +08:00
parent 36bc1022f1
commit 694c1b27c1
5 changed files with 364 additions and 13 deletions
+9 -6
View File
@@ -60,6 +60,7 @@
| GET | `/api/plugins/{plugin_id}` | 获取 Plugin Manifest 与状态 |
| POST | `/api/plugins/{plugin_id}/enable` | 启用 Plugin |
| POST | `/api/plugins/{plugin_id}/disable` | 停用 Plugin |
| PUT | `/api/plugins/{plugin_id}/permissions` | 设置 Plugin 已授权权限 |
| DELETE | `/api/plugins/{plugin_id}` | 卸载 Plugin |
### Provider
@@ -105,11 +106,12 @@ Provider Contract 只传递 `credential_id` 或临时 `credential_context_id`
}
```
当前接口壳子的写操作主要返回:
当前接口主要返回:
- `501 NOT_IMPLEMENTED`:契约已经建立,业务服务尚未接入;
- `422 VALIDATION_ERROR`:请求字段不符合 Pydantic Contract
- `404 RESOURCE_NOT_FOUND`:路由或资源不存在。
- `409`:资源冲突、依赖缺失或扩展尚未获得权限;
- `429 AGENT_CAPACITY_EXCEEDED`:活动 Agent Run 达到上限。
前端只根据 `error.code` 判断业务错误,不解析第三方 SDK 的原始异常文本。
@@ -154,8 +156,9 @@ RunCancelled
## 当前实现状态
- Chat、Agent Run、Agent Events、Tool 列表、Provider 配置生命周期、模型列表和连接测试已经接入 AI Core。
- Provider Adapter 当前包含 Mock、OpenAI-Compatible Chat Completions Ollama。
- 默认提供 `mock/mock-1` 离线 Provider,以及 `system.echo``math.add` 开发 Tool
- Notes、Search、Skills、Plugins、Tasks、Media、Index 等尚未接入业务服务的接口继续返回空结果、`idle``501`
- 需要尚未接入的数据库、文件或扩展 Runtime 的操作统一返回 `501`
- Provider Adapter 当前包含 Mock、真正增量 SSE 的 OpenAI-Compatible Chat Completions,以及 Ollama JSONL Streaming
- Notes、Search、Index、Skills、Plugins、Tasks 和 Provider 生命周期均已接入业务服务
- Note Move 保留 `note_id`;Citation 的字符偏移统一使用 UTF-16 code unit,供浏览器编辑器直接定位
- Plugin 启用前必须通过权限接口记录授权,未知权限默认拒绝
- Attachment Tool 读取 Host 管理的 `attachments` 目录;音频接口读取 Host 生成的转写文本,真实本地语音模型在第二阶段接入。
- 接入业务模块时保持当前路径和 Contract,不在 Router 中直接实现数据库、Provider 或 Agent 逻辑。