背景
当前服务端已实现完整的 Agent 模式架构(Agent → Skill → Tool),包括 tool-calling 循环、ToolRegistry、AgentRuntime 等核心组件。元数据操作工具(create_object、add_field、modify_field、delete_field)也已实现,但尚未串联到可用的 Agent 和前端 UI 中。
用户期望能通过 AI 对话直接创建对象、添加字段等元数据操作。
当前状态
| 组件 |
状态 |
说明 |
| 服务端 chatWithTools 循环 |
已完成 |
AIService.chatWithTools() 支持多轮工具调用 |
| 元数据工具 |
已完成 |
create_object、add_field、modify_field、delete_field 等 |
| 数据查询工具 |
已完成 |
list_objects、query_records 等 |
| 默认 Agent 绑定 |
不完整 |
data_chat agent 仅绑定查询工具,未绑定元数据工具 |
| 前端工具调用展示 |
缺失 |
Chat 面板无法展示工具调用过程和结果 |
| 操作确认机制 |
缺失 |
requiresConfirmation 字段已定义但前端未实现 |
需要完成的工作
1. 创建或增强 Agent 绑定元数据工具
- 创建新的 metadata_assistant agent,或增强现有 data_chat agent
- 绑定元数据操作工具:create_object、add_field、modify_field、delete_field、list_metadata_objects、describe_metadata_object
- 设计合适的 system prompt 引导 AI 正确使用这些工具
2. 前端展示工具调用过程
- 在 AiChatPanel 中渲染工具调用状态(调用中、成功、失败)
- 展示工具调用的参数和返回结果(如:正在创建对象 contracts...)
- 支持 Vercel AI SDK 的 tool-call / tool-result stream parts
3. 实现操作确认机制
- 对标记 requiresConfirmation: true 的工具(如 create_object、delete_field),在执行前弹出确认
- 前端展示即将执行的操作详情,用户确认后再执行
- 支持取消操作
相关文件
- Agent 定义:packages/services/service-ai/src/agents/data-chat-agent.ts
- 元数据工具:packages/services/service-ai/src/tools/metadata-tools.ts
- 前端面板:apps/studio/src/components/AiChatPanel.tsx
- 工具注册:packages/services/service-ai/src/tools/tool-registry.ts
- Agent 路由:packages/services/service-ai/src/routes/agent-routes.ts
- 流编码器:packages/services/service-ai/src/stream/vercel-stream-encoder.ts
背景
当前服务端已实现完整的 Agent 模式架构(Agent → Skill → Tool),包括 tool-calling 循环、ToolRegistry、AgentRuntime 等核心组件。元数据操作工具(create_object、add_field、modify_field、delete_field)也已实现,但尚未串联到可用的 Agent 和前端 UI 中。
用户期望能通过 AI 对话直接创建对象、添加字段等元数据操作。
当前状态
需要完成的工作
1. 创建或增强 Agent 绑定元数据工具
2. 前端展示工具调用过程
3. 实现操作确认机制
相关文件