You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

62 lines
9.3 KiB

# Controller 当前开发进度
更新时间:2026-09-15
## 已完成并验证
- 插件与 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 或内部推理。
- 独立 Wails2(Go + React/TypeScript)总控工程、独立数据目录、TLS/WSS 服务和 Windows 编译脚本。
- 一次性配对码、证书指纹校验、Agent 认证、心跳、离线判定、名称修改和撤销配对。
- 多 Agent 独立文本任务下发、状态回传、取消、超时和重试;任务记录持久化到总控本地数据库。一次最多可下发 20 条不同目标的任务;单条失败不会阻塞其它任务。
- 新任务默认使用 5 分钟无进展超时,而非绝对总时长;Agent 回传接收或执行进展会刷新下一次超时点。任务页可按需设为 15、30 分钟或 1 小时。
- 总控基础界面:主导航依次提供控制台、智能体、批量指派、单独指派及密钥与配对;控制台包含按机器汇总的实时任务状态和任务历史,两种批量下发方式集中在“批量指派”。
- 总控 LLM 配置页:内置 OpenAI、Anthropic、Gemini、DeepSeek、OpenRouter、Groq、Mistral、xAI、Together、硅基流动、Moonshot、MiniMax、Ollama、LM Studio、vLLM 预设,并支持任意 OpenAI 兼容的中转站或本地模型。
- LLM API Key 使用 Windows DPAPI 加密后保存于总控本机;列表只显示“已保护保存”,不会回显 Key。
- 总控可将指定 LLM 配置下发给指定 Agent;在线 Agent 立即接收,离线 Agent 会在下次认证连接时补齐。总控显示等待、已发送、已应用或失败的回执状态。
- Skills 已采用 Markdown 仓库、哈希校验和按 Agent 下发;子端只受控安装,不执行 Skill 中的脚本。
- 旧版桌面文件 MCP 状态机保留为兼容记录;它不再限制新版 Agent 的默认本机权限。插件与 MCP 页面会明确显示“本机完全访问:默认启用”。
- Agent 管理页会汇总显示 LLM、Skill 与 MCP 的部署/应用状态;本地审计日志已覆盖 MCP 下发、回执和工具结果,不保存 API Key、配对凭据或完整任务提示词。
- Agent 返回的任务输出会在接收端去除 `<think>...</think>`(含未闭合标签),避免内部推理显示到任务结果或审计中。
- 最近任务卡片和详情会保留并显示执行 Agent 名称;可一键清除已结束任务及其任务时间线,进行中的任务与审计日志会保留。
- Skills 页面提供可搜索的只读 Markdown 浏览器:按名称或版本即时过滤,逐行显示名称、版本和更新时间,按需加载正文;预览会脱敏 API Key、密码、令牌、账号等敏感字段,不执行任何 Markdown 内容。
- Agent 管理页已升级为服务端分页目录:支持名称搜索,以及在线/离线、MCP、LLM、Skill 状态组合筛选。Agent 详情提供最近任务、最近安全审计、部署历史、当前失败原因和既有 Skills/MCP 配置;列表与详情中的失败文本会脱敏敏感字段。
- 认证确认会在 LLM、Skill、MCP 配置快照之前发送,避免重连时部署快照抢先到达;认证后的持久化配置仍会异步补发。
- 审计日志已升级为统一、可筛选的本地基础设施:记录时间、操作者、目标 Agent、资源类型、动作、结果和安全摘要;支持按 Agent、资源类型、结果、时间范围服务端分页筛选。现有配对、Agent、LLM、Skill、MCP、任务链路均已覆盖;安全摘要不保存 API Key、配对凭据、完整任务提示词或内部推理,清除任务历史也不会删除审计。
- 子 Agent 的独立任务执行已通过并发回归:同一台机器收到多条任务时会分别进入后台执行;多台机器可同时处理各自任务。日常使用应按机器资源自行控制同机任务数量。
- “批量指派”和“单独指派”是彼此独立的任务入口:单独指派会明确选择一台在线 Agent;批量指派只提供公共 `@` 输入,不保留重复的多条任务草稿。`@` 支持点选或键盘选择 Agent,并按换行拆成不同任务;同一行的多个 Agent 会各自收到完全相同的任务。未知、重名、离线和未指定的目标均不会误发。
- 任务内容会拒绝 API Key、配对凭据、账号密码及 `<think>` 内部推理,避免进入界面、任务记录、日志、结果或审计摘要。
- 旧 FastAPI Dashboard 的导航信息架构已迁入:模板、技能、插件、工作流、定时任务、密钥、委派、审计日志、设置等页面均已有入口;尚未迁移的页面显示“正在开发”。
- 用户、记忆、帮助及旧登录/角色模型已按当前产品决策移除。
## 最近编译
- `build/bin/MultiClawController.exe` 已于 2026-09-16 重新编译(含通用工具仓库、Skills 录入与导入、本机预设工具展示、任务详情实时运行日志与 `builtin` 执行来源)。
## 接下来按旧版能力迁移的顺序
1. 优先补齐离线任务队列、重连补传和子 Agent 重启恢复,增强多机任务闭环的可靠性。
2. 需要复用任务时再实现模板、定时任务、工作流和委派,均由总控持久化和触发。
3. 将工具仓库扩展为带签名、权限清单与哈希的受控包仓库,并恢复可执行插件包(旧版 Python 插件经 host 适配器转成 stdio MCP)的独立入口;当前 `http`/`stdio` 工具只承载地址或命令行与版本。
4. 最后实现 Agent 守护服务,提供远程启动、停止、重启和升级。
## 已规划,尚未实现
- 总控定时任务、委派规则与工作流执行器。
- 工具与插件包的签名、哈希校验、权限清单和完整包生命周期(版本回滚已具备:定义变更提升下发版本,删除即撤下)。
- 定时任务、模板、工作流、委派和远程运维的审计扩展。
- Agent 守护服务及其远程启动、停止、重启、升级能力。
## 进度判断
- **可测试基础闭环**(配对、在线、任务、取消、重试):约 **70%**
- **最终集中管理目标**(统一 LLM/Skill/MCP/定时器/远程运维):约 **35%**
当前策略:优先迁移旧版有价值的总控功能和页面,再把每项能力通过 WSS 下发给独立子 Agent;不迁移旧 FastAPI、Node.js、旧 Python Agent 运行环境,也不恢复用户、登录、记忆、帮助或 Tailscale 发现。