feat(controller): 工具仓库、Skills 录入、多轮追问与终端运行日志

- 插件/MCP 改为通用工具仓库:内置、HTTP MCP、本机命令(stdio)三类工具,可增删改、
  按 Agent 分配;定义变更自动提升下发版本并重发,删除即回收分配并通知 Agent 清空。
- 旧 desktop-filesystem 降级为仓库中的一个内置条目;本机预设工具改为总控只展示、
  Agent 默认启用,任务执行来源新增 builtin(审计 task.builtin_tool_execution)。
- Skills 补齐录入闭环:新建或按名称覆盖更新,并可从旧版技能目录(SKILL.md + skill.json)
  批量导入;同名更新保持标识不变并自动重新应用,旧包入口脚本只提示不执行。
- 单独指派支持基于某条已完成任务的多轮追问:任务内容框仍下发无上下文的一次性任务,
  追问时由总控组装历史(仅成功轮次、默认最近 50 轮 / 约 6 万字符),会话按 Agent 隔离;
  执行动态把同一会话合并为一条记录,任务详情弹窗底部提供继续对话输入框。
- 任务详情支持运行中观测:打开期间每 2 秒刷新,终端风格输出全部事件并自动滚动;
  progress 事件不改变任务状态且顺延无进展超时,避免正在执行工具的任务被误判超时。
- 修复 build.ps1 缺 UTF-8 BOM 导致 build.bat 在 PowerShell 5.1 下语法报错。
This commit is contained in:
toot
2026-09-16 15:30:50 +08:00
parent 8a6c55d94a
commit aa57ea69de
19 changed files with 1977 additions and 154 deletions
+8 -3
View File
@@ -4,6 +4,11 @@
## 已完成并验证
- 插件与 MCP 已改为通用工具仓库:总控可新建/更新/删除工具,类型为 `builtin` 内置、`http` MCP 服务地址、或 `stdio` 本机命令(命令 + 参数,由 Agent 直接拉起子进程,不占端口);按 Agent 勾选下发、定义变更自动提升下发版本并重发、删除即回收分配并通知 Agent 清空。工具下发状态按 Agent×工具逐条显示,全部工具按最差状态汇总到 Agent 列表。旧 `desktop-filesystem` 已作为内置工具之一保留,不再是唯一入口。
- 本机预设工具已明确区分:子 Agent 自带文件、打开、时间、进程、截图、剪贴板等工具并默认启用,总控无需下发;智能体详情页显示“本机预设工具(默认启用,无需配置)”,任务执行来源新增 `builtin`(界面显示“本机预设工具”,审计为 `task.builtin_tool_execution`)。
- 单独指派支持“基于某条已完成任务继续对话”:任务内容框下发的始终是不带上下文的独立任务;任务完成后可在下方「执行动态」里就它继续追问,总控会把这条任务的内容与结果(以及此后的轮次)作为上下文一并下发(默认保留最近 50 轮、总字符预算约 6 万;只有成功的轮次进入上下文,失败/取消不入)。同一会话的多轮在「执行动态」里**合并为一条记录**(标注轮数、可展开逐轮查看提问与结果),对话输入框就在这条记录内部;会话按 Agent 隔离,重试沿用原会话;批量 `@` 指派不共享上下文。
- 任务详情已支持运行中实时观测:弹窗打开期间跟随总控 2 秒轮询刷新(关闭或切换任务时不会回填旧数据),并以终端风格输出全部事件(生命周期 + 工具调用与返回),自动滚动到底部;`progress` 不改变任务状态、不会让已结束的任务新增步骤,同时顺延“无进展超时”,避免正在执行工具的任务被误判超时。
- Skills 已补齐录入闭环:“技能”页可新建或按名称覆盖更新 Skill,并可从旧版技能目录(`SKILL.md` + `skill.json`)批量导入;同名更新保持 Skill 标识不变,已分配的 Agent 会自动重新应用。旧包中的可执行入口只记录提示,不会下发或执行。
- 图片附件任务闭环:批量 `@` 与单独指派均可粘贴/选择受限图片;多条有效批量任务必须以“图片 N”逐行路由,同一行多个目标只共享该编号图片。附件经认证 WSS 下发、本地持久化供重试复用,任务详情仅显示安全缩略图和数量;清除结束任务同时清除附件。未配置视觉能力的模型会安全拒绝,不会丢图或降级为文本。
- 新版 Agent 默认完全访问:总控仍只通过已认证 WSS 下发任务,但 Agent 可在其所在 Windows 电脑实际操作文件、程序、网络和桌面应用。任务详情会把实际调用过本机执行工具的结果标为“完全访问”;结果、日志与审计摘要持续脱敏,不保存 API Key、密码、凭据、图片 Base64 或内部推理。
@@ -33,19 +38,19 @@
## 最近编译
- `build/bin/MultiClawController.exe` 已于 2026-09-15 重新编译(含独立的批量指派页面、单独指派与 5 分钟无进展续期)。
- `build/bin/MultiClawController.exe` 已于 2026-09-16 重新编译(含通用工具仓库、Skills 录入与导入、本机预设工具展示、任务详情实时运行日志与 `builtin` 执行来源)。
## 接下来按旧版能力迁移的顺序
1. 优先补齐离线任务队列、重连补传和子 Agent 重启恢复,增强多机任务闭环的可靠性。
2. 需要复用任务时再实现模板、定时任务、工作流和委派,均由总控持久化和触发。
3. 将 MCP 扩展为带版本、权限清单、哈希、回滚和多工具状态的受控仓库;插件包保留独立入口。
3. 将工具仓库扩展为带签名、权限清单与哈希的受控包仓库,并恢复可执行插件包(旧版 Python 插件经 host 适配器转成 stdio MCP)的独立入口;当前 `http`/`stdio` 工具只承载地址或命令行与版本。
4. 最后实现 Agent 守护服务,提供远程启动、停止、重启和升级。
## 已规划,尚未实现
- 总控定时任务、委派规则与工作流执行器。
- Skills、插件与 MCP 工具的签名、版本回滚和完整包生命周期。
- 工具与插件包的签名、哈希校验、权限清单和完整包生命周期(版本回滚已具备:定义变更提升下发版本,删除即撤下)。
- 定时任务、模板、工作流、委派和远程运维的审计扩展。
- Agent 守护服务及其远程启动、停止、重启、升级能力。
@@ -16,4 +16,4 @@
## 下一步
将单一内置 MCP 升级为带版本、权限清单、哈希、签名和回滚的受控工具仓库;插件运行时扩展仍保持独立入口。
已完成:单一内置 MCP 已升级为通用工具仓库(内置工具 + HTTP MCP 服务、按 Agent 分配、定义变更自动提升下发版本、删除即回收),`desktop-filesystem` 现在是仓库中的一个内置条目。后续为工具与插件包补齐签名、哈希与权限清单,并恢复可执行插件包的独立入口。