docs(backend): 记录全面审阅问题与修复方案
按原因、后果、解决思路、落地方案和回归测试复盘 10 类后端问题。 同步更新接口实现状态、Plugin 权限接口、真实 Streaming、Citation 偏移约定、第一阶段 Tool 列表和测试数量。
This commit is contained in:
@@ -93,7 +93,7 @@ streaming
|
||||
}
|
||||
```
|
||||
|
||||
`POST /api/chat` 返回 ModelEvent SSE。
|
||||
`POST /api/chat` 返回 ModelEvent SSE。OpenAI-Compatible Adapter 直接消费上游 SSE,Ollama Adapter 直接消费 JSONL,`TextDelta` 是真实增量内容,不再等待整段回答完成。
|
||||
|
||||
另外已经实现以下可配置 Adapter:
|
||||
|
||||
@@ -166,7 +166,7 @@ GET /api/agent/runs/{run_id}/events
|
||||
POST /api/agent/runs/{run_id}/cancel
|
||||
```
|
||||
|
||||
当前 Run 与 Trace 保存在内存中,AI Core 重启后清空。后续数据库层接入时替换 Repository,不改变 API Contract。
|
||||
当前 Run 与 Trace 保存在内存中,AI Core 重启后清空。Runtime 最多保留 200 个 Run,每个 Run 最多保留 2000 个事件,并限制单轮 Tool Call 数量,避免长时间运行时无界增长。后续数据库层接入时替换 Repository,不改变 API Contract。
|
||||
|
||||
## Tool Calling
|
||||
|
||||
@@ -181,6 +181,12 @@ notes.read
|
||||
notes.create
|
||||
notes.update
|
||||
notes.list
|
||||
notes.move
|
||||
tasks.create
|
||||
tasks.update
|
||||
tasks.list
|
||||
attachments.read
|
||||
audio.transcribe
|
||||
```
|
||||
|
||||
Mock Provider 使用下面的开发语法产生 Tool Call:
|
||||
@@ -229,7 +235,7 @@ POST /api/agent/runs/{run_id}/permissions/{request_id}
|
||||
{"decision":"deny"}
|
||||
```
|
||||
|
||||
默认需要确认的高影响权限包括 `notes.write`、`notes.delete`、`network.request` 和 `secrets.use`。
|
||||
默认需要确认的高影响权限包括 `notes.write`、`notes.delete`、`tasks.write`、`network.request` 和 `secrets.use`。权限命名空间采用白名单,未知权限默认拒绝。
|
||||
|
||||
## Knowledge / Retrieval 接入
|
||||
|
||||
@@ -296,9 +302,12 @@ POST /api/plugins/install
|
||||
GET /api/plugins/{plugin_id}
|
||||
POST /api/plugins/{plugin_id}/enable
|
||||
POST /api/plugins/{plugin_id}/disable
|
||||
PUT /api/plugins/{plugin_id}/permissions
|
||||
DELETE /api/plugins/{plugin_id}
|
||||
```
|
||||
|
||||
Plugin Manifest 中的权限只是声明,不代表已经授权。带权限的 Plugin 安装后进入 `permission_required`,Host 必须通过权限接口记录用户授权,之后才能启用。JSON Schema 在安装阶段校验,Tool 调用时再次校验实际参数。
|
||||
|
||||
内置示例 `text-tools` 注册 `text.uppercase`。内置 `knowledge-assistant` Skill 同时声明 `notes.search` 和 `text.uppercase`,用于验证完整链路:
|
||||
|
||||
```text
|
||||
@@ -313,9 +322,10 @@ Skill Manifest
|
||||
## 当前限制与下一步
|
||||
|
||||
- 已实现 Mock、OpenAI-Compatible Chat Completions 与 Ollama Adapter;OpenAI Responses 和 Anthropic Messages 尚未实现。
|
||||
- Provider 配置暂存内存,后续通过 Repository 接入 SQLite。
|
||||
- Provider 配置暂存内存,后续通过 Repository 接入 SQLite;PATCH 已支持用显式 `null` 清空 base URL、默认模型和凭据引用。
|
||||
- Run/Trace 暂存内存;下一步抽象 Repository 并接入 SQLite。
|
||||
- Permission 已有核心等待/恢复机制,前端确认 UI 尚未联调。
|
||||
- Task、Attachment、Audio Tool 尚未接入。
|
||||
- Task 已持久化到 SQLite;Attachment Tool 读取 Host 管理目录中的 UTF-8 文件。
|
||||
- `audio.transcribe` 当前消费 Host 预生成的 transcript;faster-whisper 与说话人分离仍按技术基线在第二阶段接入。
|
||||
- Extension 安装记录暂存内存;后续接入持久化 Registry 与版本升级流程。
|
||||
- 当前 Plugin Host 只支持内置声明式白名单 handler;MCP Bridge、独立进程健康检查与 UI Contribution 在第二阶段实现。
|
||||
|
||||
Reference in New Issue
Block a user