Appearance
对话管理
对话是用户与 AI 角色交互的核心载体。
端点列表
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/v1/conversations | 对话列表 |
| POST | /api/v1/conversations | 创建对话 |
| GET | /api/v1/conversations/{id} | 对话详情 |
| PATCH | /api/v1/conversations/{id} | 更新对话 |
| DELETE | /api/v1/conversations/{id} | 删除对话 |
| WebSocket | /api/v1/conversations/{id}/ws?token=xxx | 实时对话 |
对话响应示例
json
{
"id": "d4e5f6a7-...",
"created_at": "2026-03-20T09:00:00Z",
"updated_at": "2026-03-24T15:30:00Z",
"title": "关于项目架构的讨论",
"accepting_edits": false,
"reasoning": null,
"project_id": "b2c3d4e5-...",
"user_character_config_id": "c3d4e5f6-...",
"created_by_id": "550e8400-..."
}关键字段
| 字段 | 类型 | 说明 |
|---|---|---|
title | string | null | 对话标题(首次补全后自动生成) |
accepting_edits | bool | 是否自动接受工具编辑(跳过确认) |
reasoning | bool | null | 是否启用推理模式(null 时继承角色设置) |
project_id | UUID | null | 关联的项目 ID |
user_character_config_id | UUID | 关联的用户角色配置 ID |
对话标题自动生成
- 对话首次补全完成后,如果尚无标题,系统会自动生成标题
- 标题通过 WebSocket 推送
conversation_title_update消息通知前端 - 也可通过 PATCH 端点手动修改标题
accepting_edits 字段
控制 AI 工具调用的确认行为:
| 值 | 行为 |
|---|---|
false(默认) | 敏感工具(如画布修改)需要用户确认后才执行 |
true | 所有工具自动执行,跳过确认步骤 |
详见 工具确认流程。
测试要点
测试建议
- 创建约束:创建对话必须关联有效的
user_character_config_id - 标题自动生成:首次对话后应通过 WebSocket 收到标题更新消息
- accepting_edits 切换:修改此字段后,后续工具调用行为应改变
- 并发连接:同一对话不允许多个 WebSocket 同时连接,后连接者应获得锁冲突错误
- 删除后访问:删除对话后 WebSocket 连接应断开,REST 请求应返回 404
- scope 过滤:普通用户只能看到自己的对话