diff --git a/external_plugins/agent-manager/.zcode-plugin/plugin.json b/external_plugins/agent-manager/.zcode-plugin/plugin.json new file mode 100644 index 00000000..30f74741 --- /dev/null +++ b/external_plugins/agent-manager/.zcode-plugin/plugin.json @@ -0,0 +1,16 @@ +{ + "name": "agent-manager", + "version": "0.1.3", + "description": "Manage ZCode subagents: inventory, create, edit and validate agent definition files, and dispatch one task to multiple agents in parallel.", + "description_i18n": { + "en": "Manage ZCode subagents: inventory, create, edit and validate agent definition files, and dispatch one task to multiple agents in parallel.", + "zh-CN": "管理 ZCode 智能体:盘点、创建、修改、校验智能体定义文件,并把一个任务并行派发给多个智能体协作完成。" + }, + "author": { + "name": "Sword" + }, + "skills": "./skills", + "commands": "./commands", + "agents": "./agents", + "hooks": "hooks/hooks.json" +} diff --git a/external_plugins/agent-manager/LICENSE b/external_plugins/agent-manager/LICENSE new file mode 100644 index 00000000..365fd166 --- /dev/null +++ b/external_plugins/agent-manager/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Sword + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/external_plugins/agent-manager/README.md b/external_plugins/agent-manager/README.md new file mode 100644 index 00000000..695b924e --- /dev/null +++ b/external_plugins/agent-manager/README.md @@ -0,0 +1,56 @@ +# Agent Manager (智能体管家) + +A ZCode plugin for **managing subagents**: inventory, create, edit and validate agent definition files — and dispatch one task to **multiple agents in parallel**, then merge their reports. + +[中文说明](./README_CN.md) + +## What you get + +| Component | Name | Purpose | +|---|---|---| +| Skill | `agent-registry` | Agent definition butler: inventory, view, create, edit, validate or retire agent definition files (user scope `~/.zcode/agents/` and workspace scope `/.zcode/agents/`). Validation reports problems; it never edits files on its own. | +| Skill | `agent-team` | Multi-agent dispatcher: split a task → pick agents by their descriptions → dispatch independent subtasks in parallel in a single message → merge results into one report. | +| Commands | `/agent-list` `/agent-show` `/agent-new` `/agent-check` `/agent-team` | Quick access to inventory / view / create / validate / dispatch. | +| Agents (bundled templates) | `doc-writer` `test-runner` `issue-triage` | Ready-to-dispatch agents: documentation writing, test execution with failure analysis, and issue triage. | +| Hook | SessionStart | Prints a compact inventory of locally defined agents at every session start. | + +## Install + +1. In ZCode open **Plugin Marketplace** and search for **Agent Manager** (official marketplace), or **Add → Add Plugin Marketplace** with `sworddemon85-create/agent-manager-market` to install from the author's mirror. +2. Find **Agent Manager** → **Install**, then restart ZCode. + +## Try it + +- `/agent-list` — list all your agents, flagging name conflicts across scopes +- "Create an agent named `doc-writer` that maintains project documentation" — walks the creation flow and writes a spec-compliant definition +- `/agent-team 审查 src 目录的代码并总结问题` — dispatches reviewers in parallel and returns a merged report + +## Behavior and side effects (disclosure) + +- **File writes**: the create/edit flows write Markdown agent definition files under `~/.zcode/agents/` or `/.zcode/agents/`. Validation and inventory are read-only. +- **Command execution**: the SessionStart hook runs a bundled read-only bash script (`scripts/inventory.sh`) that scans the two definition directories; dispatch flows invoke subagents via ZCode's Agent tool. +- **Hook**: `SessionStart` only. Its output is injected as session context and it always exits 0, so it never blocks startup. +- **Network**: the plugin itself makes no network requests. The bundled `issue-triage` agent may use WebFetch when you ask it to verify external references. +- **Bundled agents act with their own tools**: `doc-writer` writes project documentation files and `test-runner` runs project test commands when dispatched — send them only tasks whose effects you accept. +- **No MCP server, no credentials, no telemetry.** +- **Windows note**: the hook requires `bash` on PATH (Git Bash works). + +## Agent definition format + +Each agent is one Markdown file: YAML frontmatter plus a system-prompt body. + +```markdown +--- +name: "crawl" +description: "One-line responsibility; the main session dispatches based on this" +color: yellow +injectAgentsMd: true +tools: Read, Bash +--- + +Body = the agent's system prompt (role, duties, constraints, output format). +``` + +## License + +[MIT](./LICENSE) diff --git a/external_plugins/agent-manager/README_CN.md b/external_plugins/agent-manager/README_CN.md new file mode 100644 index 00000000..1644b187 --- /dev/null +++ b/external_plugins/agent-manager/README_CN.md @@ -0,0 +1,56 @@ +# 智能体管家 (Agent Manager) + +一个 ZCode 插件,用于**管理子智能体**:盘点、创建、修改、校验智能体定义文件——并把一个任务**并行派发**给多个智能体,汇总成一份报告。 + +[English](./README.md) + +## 功能一览 + +| 组件 | 名称 | 作用 | +|---|---|---| +| 技能 | `agent-registry` | 智能体定义管家:盘点、查看、新建、修改、校验、下架智能体定义(用户级 `~/.zcode/agents/` 与工作区级 `<工作区>/.zcode/agents/`)。校验只报告问题,绝不擅自改文件。 | +| 技能 | `agent-team` | 多智能体调度:拆解任务 → 按职责选人 → 独立子任务同消息并行派发 → 汇总合并报告。 | +| 命令 | `/agent-list` `/agent-show` `/agent-new` `/agent-check` `/agent-team` | 盘点 / 查看 / 新建 / 校验 / 派发的快捷入口。 | +| 内置智能体 | `doc-writer` `test-runner` `issue-triage` | 装即用的三个模板:文档整理、测试执行与失败分析、问题分诊排序。 | +| 钩子 | SessionStart | 每次新会话开始时自动输出本地智能体的精简盘点清单。 | + +## 安装 + +1. 打开 ZCode 的 **Plugin Marketplace** 搜索「Agent Manager」(官方市场),或经 **Add → Add Plugin Marketplace** 输入作者镜像 `sworddemon85-create/agent-manager-market` 安装。 +2. 找到「智能体管家 Agent Manager」→ **Install**,然后重启 ZCode。 + +## 试一试 + +- `/agent-list` —— 列出全部智能体,标出跨作用域重名 +- 「新建一个叫 doc-writer 的智能体,负责整理项目文档」—— 走创建流程,生成规范定义 +- `/agent-team 审查 src 目录的代码并总结问题` —— 并行派发审查智能体,返回合并报告 + +## 行为与副作用(披露) + +- **文件写入**:新建/修改流程会在 `~/.zcode/agents/` 或 `<工作区>/.zcode/agents/` 下写 Markdown 定义文件;盘点与校验均为只读。 +- **命令执行**:SessionStart 钩子运行内置只读脚本(`scripts/inventory.sh`)扫描两级定义目录;派发流程通过 ZCode 的 Agent 工具调用子智能体。 +- **钩子**:仅 `SessionStart`;输出作为会话上下文注入,且始终以 0 退出,不会阻塞启动。 +- **网络**:插件本身不发起网络请求;内置 `issue-triage` 智能体在你要求核实外部资料时可能使用 WebFetch。 +- **内置智能体使用各自工具干活**:`doc-writer` 被派发后会写项目文档文件,`test-runner` 会通过 bash 执行项目测试命令——只派发你能接受其影响的任务。 +- **无 MCP server、无凭据、无遥测。** +- **Windows 提示**:钩子依赖 PATH 中的 `bash`(Git Bash 即可)。 + +## 定义格式 + +每个智能体是一个 Markdown 文件:YAML frontmatter + 正文提示词。 + +```markdown +--- +name: "crawl" +description: "一句话职责,主会话据此决定派不派它" +color: yellow +injectAgentsMd: true +tools: Read, Bash +--- + +正文 = 该智能体的系统提示词(人设、职责、约束、输出要求)。 +``` + +## 许可证 + +[MIT](./LICENSE) diff --git a/external_plugins/agent-manager/agents/doc-writer.md b/external_plugins/agent-manager/agents/doc-writer.md new file mode 100644 index 00000000..6eda83d1 --- /dev/null +++ b/external_plugins/agent-manager/agents/doc-writer.md @@ -0,0 +1,21 @@ +--- +name: "doc-writer" +description: "文档整理智能体:阅读代码/目录并编写或更新项目文档(README、使用说明、API 文档)。当用户说「帮我写文档」「整理一下 README」「给这个模块补个说明」时派发它。它按现有文档风格写作,产出 Markdown 文件。" +color: blue +injectAgentsMd: true +tools: Read, Glob, Grep, Write, Edit +--- +你是文档工程师(doc-writer)。任务:为派发给你的代码/模块/项目编写或更新文档。 + +## 工作方式 + +1. 先读后写:动手前先通读目标代码与现有文档(若有),弄清读者是谁、已有文档的风格与结构。 +2. 有旧文档就沿用其结构和语气做增量更新,不推倒重来;没有就按「简介 → 快速开始 → 使用说明 → 常见问题」骨架起稿。 +3. 只写有依据的内容:命令、参数、行为必须与代码一致,不确定的标注「待确认」,不编造 API。 +4. 示例优先:每个关键用法给一个可复制的最小示例。 +5. 输出 Markdown 文件;返回时给一行改动摘要(改了哪些文件、各加了什么章节)。 + +## 边界 + +- 不改代码本身;发现代码问题只在返回报告里提一句。 +- 不给文档堆砌空话;每一段都要能删掉废话后还有信息量。 diff --git a/external_plugins/agent-manager/agents/issue-triage.md b/external_plugins/agent-manager/agents/issue-triage.md new file mode 100644 index 00000000..1778f742 --- /dev/null +++ b/external_plugins/agent-manager/agents/issue-triage.md @@ -0,0 +1,21 @@ +--- +name: "issue-triage" +description: "问题分诊智能体:把一批 bug 报告、报错日志或用户反馈整理成去重、分级、可执行的清单,并给出处理优先级。当用户说「整理一下这些报错」「帮我把反馈分个类」「这些问题先修哪个」时派发它。只读分析,不改文件。" +color: yellow +injectAgentsMd: true +tools: Read, Grep, Glob, WebFetch +--- +你是问题分诊员(issue-triage)。任务:把杂乱的原始问题清单变成一份可执行的分诊报告。 + +## 工作方式 + +1. 逐条读入原始问题(bug 报告/日志/反馈),必要时用 Grep/Read 在代码里定位相关位置,验证问题是否真实存在。 +2. 去重合并:同一根因的多条报告合并为一条,保留全部原始出处。 +3. 每条输出:严重级(P0 阻断 / P1 严重 / P2 一般 / P3 轻微)+ 一句话现象 + `文件:行号` 或日志证据 + 建议动作(修复/复现确认/需要更多信息)。 +4. 排序原则:影响面大且易修的排前面;标注哪几条可以立即动手,哪几条缺信息需要先向报告人追问。 +5. 结尾给一行总体结论:最值得先修的 1-3 项。 + +## 边界 + +- 只读不改;不修代码。 +- 无法验证真伪的条目如实标注「未验证」,不脑补。 diff --git a/external_plugins/agent-manager/agents/test-runner.md b/external_plugins/agent-manager/agents/test-runner.md new file mode 100644 index 00000000..859ec4bb --- /dev/null +++ b/external_plugins/agent-manager/agents/test-runner.md @@ -0,0 +1,20 @@ +--- +name: "test-runner" +description: "测试执行智能体:运行项目的测试套件,汇总通过/失败情况,并分析失败原因(断言、环境、回归)。当用户说「跑一下测试」「看看测试为什么挂」「验证改动没破坏东西」时派发它。它返回结构化的测试报告,不擅自修代码。" +color: green +injectAgentsMd: true +tools: Read, Bash, Grep, Glob +--- +你是测试执行员(test-runner)。任务:运行测试并给出可信的测试报告。 + +## 工作方式 + +1. 先找入口:从 package.json / Makefile / pytest.ini / CI 脚本等确认测试命令,不凭空猜命令;找不到就报告「未发现测试入口」并列出线索。 +2. 运行测试(Bash),记录完整输出;超时或卡住时如实报告到哪一步。 +3. 分析失败:区分「断言失败」「环境/依赖问题」「疑似本次改动引入的回归」,每类给出 `文件:行号` 级证据和最小复现信息。 +4. 输出报告:一行总结(N 通过 / M 失败 / K 跳过 + 整体判断)→ 失败清单(按疑似严重度排序)→ 建议的下一步。不修代码;除非用户明确要求,不改动任何文件。 + +## 边界 + +- 不改业务代码;修测试代码也仅限用户明确授权。 +- 测试全绿就直说,不为凑数编造发现。 diff --git a/external_plugins/agent-manager/commands/agent-check.md b/external_plugins/agent-manager/commands/agent-check.md new file mode 100644 index 00000000..7a9422e0 --- /dev/null +++ b/external_plugins/agent-manager/commands/agent-check.md @@ -0,0 +1,7 @@ +--- +description: 校验所有智能体定义文件是否规范 +--- + +1. 扫描用户级 `~/.zcode/agents/*.md` 与工作区级 `<工作区>/.zcode/agents/*.md`。 +2. 逐文件检查:frontmatter 可解析;name、description 非空;name 与文件名一致(否则警告);正文非空;tools 均为本环境真实工具名;无未解析占位符或编码异常。 +3. 每个文件输出一行:通过 / 警告 / 失败 + `文件:行号` 证据。只报告,不擅自修复。 diff --git a/external_plugins/agent-manager/commands/agent-list.md b/external_plugins/agent-manager/commands/agent-list.md new file mode 100644 index 00000000..7d4db714 --- /dev/null +++ b/external_plugins/agent-manager/commands/agent-list.md @@ -0,0 +1,13 @@ +--- +description: 盘点当前可用的智能体(subagent)定义 +argument-hint: "[作用域: user | workspace | all,默认 all]" +--- + +按以下步骤盘点智能体定义: + +1. 按参数确定扫描范围:未指定或 `all` 时扫描用户级 `~/.zcode/agents/*.md` 与工作区级 `<工作区>/.zcode/agents/*.md`;指定 `user` 或 `workspace` 时只扫对应目录(只统计真实存在的文件)。 +2. 逐个读取 frontmatter,输出表格:名称 | 作用域 | 工具 | 一句话职责。 +3. 同名出现在多个作用域时标 ⚠️;并与当前会话系统提示的可用 agent types 对账,说明差异(如运行时注入、磁盘无文件的情况)。 +4. 最后一行给出统计:N 个用户级 + M 个工作区级。 + +范围:$ARGUMENTS diff --git a/external_plugins/agent-manager/commands/agent-new.md b/external_plugins/agent-manager/commands/agent-new.md new file mode 100644 index 00000000..511af09b --- /dev/null +++ b/external_plugins/agent-manager/commands/agent-new.md @@ -0,0 +1,10 @@ +--- +description: 新建一个智能体定义文件 +argument-hint: "<名称> [一句话职责]" +--- + +名称与职责:$ARGUMENTS + +1. 若职责或系统提示词要点缺失,向用户询问:期望产出、约束、需要哪些工具、作用域(默认用户级 `~/.zcode/agents/`)。 +2. 按规范生成定义:frontmatter 含 name(与文件名一致、小写连字符)与 description(一句话职责),正文为系统提示词;tools 可选。 +3. 写入后回读确认落盘,并提醒:新智能体一般要到下个会话才进入可用列表。 diff --git a/external_plugins/agent-manager/commands/agent-show.md b/external_plugins/agent-manager/commands/agent-show.md new file mode 100644 index 00000000..33bb21fd --- /dev/null +++ b/external_plugins/agent-manager/commands/agent-show.md @@ -0,0 +1,9 @@ +--- +description: 查看某个智能体的定义文件 +argument-hint: "<智能体名称>" +--- + +目标名称:$ARGUMENTS + +1. 在用户级 `~/.zcode/agents/` 与工作区级 `<工作区>/.zcode/agents/` 中查找 `<名称>.md`。 +2. 找到则完整展示 frontmatter 与正文;找不到则列出相近名称供用户选择。 diff --git a/external_plugins/agent-manager/commands/agent-team.md b/external_plugins/agent-manager/commands/agent-team.md new file mode 100644 index 00000000..46a24274 --- /dev/null +++ b/external_plugins/agent-manager/commands/agent-team.md @@ -0,0 +1,13 @@ +--- +description: 把任务拆解并派发给多个子智能体并行执行,汇总结果 +argument-hint: "<要执行的任务描述>" +--- + +任务:$ARGUMENTS + +1. 以当前会话系统提示的可用 agent types 清单为准盘点人选。 +2. 把任务拆成相互独立的子任务(强耦合不硬拆),按各智能体 description 分派;没有合适人选用 general-purpose。只读智能体不派写任务。 +3. 独立子任务在同一条消息里用多个 Agent 调用并行派发;有依赖的串行。派发消息写清范围、上下文、期望产出与只读约束。 +4. 子智能体的最终报告用户看不到,必须转述;合并去重成一份最终报告,标注分歧与未决项。未完成的不得编造结果。 + +> 完整流程与红线以 `agent-team` 技能为准,本命令是其快捷入口。 diff --git a/external_plugins/agent-manager/hooks/hooks.json b/external_plugins/agent-manager/hooks/hooks.json new file mode 100644 index 00000000..eace2e1b --- /dev/null +++ b/external_plugins/agent-manager/hooks/hooks.json @@ -0,0 +1,14 @@ +{ + "hooks": { + "SessionStart": [ + { + "hooks": [ + { + "type": "command", + "command": "bash \"${ZCODE_PLUGIN_ROOT}/scripts/inventory.sh\"" + } + ] + } + ] + } +} diff --git a/external_plugins/agent-manager/scripts/inventory.sh b/external_plugins/agent-manager/scripts/inventory.sh new file mode 100644 index 00000000..478c641f --- /dev/null +++ b/external_plugins/agent-manager/scripts/inventory.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# SessionStart hook: print a compact inventory of locally defined subagents. +# Runs at every session start; stdout is injected as context. Keep it short and +# fail-safe: any error must never block session start. +set -uo pipefail + +print_dir() { + local dir="$1" scope="$2" + [ -d "$dir" ] || return 0 + local f base name desc + for f in "$dir"/*.md; do + [ -e "$f" ] || continue + base=$(basename "$f" .md) + name=$(grep -m1 '^name:' "$f" 2>/dev/null | sed -e 's/^name:[[:space:]]*//' -e 's/^"//' -e 's/"[[:space:]]*$//') + desc=$(grep -m1 '^description:' "$f" 2>/dev/null | sed -e 's/^description:[[:space:]]*//' -e 's/^"//' -e 's/"[[:space:]]*$//') + [ -n "$name" ] || name="$base" + [ ${#desc} -gt 60 ] && desc="${desc:0:60}…" + echo "- $name [$scope] ${desc:+— $desc}" + done +} + +echo "本地智能体定义(agent-manager 盘点):" +n=$(print_dir "$HOME/.zcode/agents" "用户级" | wc -l) +print_dir "$HOME/.zcode/agents" "用户级" +print_dir "$PWD/.zcode/agents" "工作区级" +[ "$n" = "0" ] && [ ! -d "$PWD/.zcode/agents" ] && echo "- (无本地定义文件,仅运行时内置智能体可用)" +exit 0 diff --git a/external_plugins/agent-manager/skills/agent-registry/SKILL.md b/external_plugins/agent-manager/skills/agent-registry/SKILL.md new file mode 100644 index 00000000..78410668 --- /dev/null +++ b/external_plugins/agent-manager/skills/agent-registry/SKILL.md @@ -0,0 +1,64 @@ +--- +name: agent-registry +description: 管理 ZCode 智能体(subagent)定义文件:盘点有哪些智能体、查看某个智能体的配置、新建/修改/删除智能体定义、校验定义文件是否规范。当用户说「列出我的智能体」「有哪些 agent」「新建一个智能体」「改一下某个智能体的提示词」「检查智能体配置」等针对智能体定义本身的管理需求时使用;如果用户是想让多个智能体一起干活,应改用 agent-team 技能。 +--- + +# 智能体定义管家 + +管理智能体(subagent)的 Markdown 定义文件。每份定义 = YAML frontmatter(名称、职责等)+ 正文系统提示词。 + +## 定义文件位置(作用域) + +| 作用域 | 目录 | 权限 | +|---|---|---| +| 用户级 | `~/.zcode/agents/*.md`(Windows 下通常为 `C:\Users\<你>\.zcode\agents\`) | 可读写,全局生效 | +| 工作区级 | `<工作区>/.zcode/agents/*.md` | 可读写,仅本工作区生效;目录不存在时按需创建 | +| 插件自带 | ZCode 插件缓存目录下的 agents | 只读:可盘点,不要修改 | + +工作区未知时用当前会话的工作目录。插件缓存路径不要凭空猜测,只盘点实际确认存在的文件。 + +## 定义格式(以本机现有文件实测为准) + +```markdown +--- +name: "crawl" # 必填,小写连字符,应与文件名同名 +description: "一句话职责" # 必填,主会话据此决定派不派它 +color: yellow # 可选 +injectAgentsMd: true # 可选 +tools: Read, Bash # 可选,逗号分隔;缺省继承全部工具 +--- + +正文 = 该智能体的系统提示词(人设、职责、约束、输出要求)。 +``` + +## 操作流程 + +### 盘点(list) +1. 扫描上述目录的 `*.md`,只统计真实存在的文件。 +2. 逐个读 frontmatter,输出表格:名称 | 作用域 | 工具 | 一句话职责。 +3. 同名出现在多个作用域时标 ⚠️,提示用户确认哪个生效;不要编造作用域优先级规则。 +4. 会话系统提示里的「Available agent types」是运行时的权威清单:盘点结论要和它对账,差异要说明(例如插件运行时注入的智能体在磁盘上没有对应文件)。 + +### 查看(show <名称>) +定位并完整展示 frontmatter 与正文;找不到时列出相近名称供选择。 + +### 新建(new) +1. 向用户确认:名称、一句话职责、系统提示词要点、需要哪些工具、作用域(默认用户级)。 +2. 按上面模板写文件;文件名 = name = 小写连字符。 +3. 写完回读确认落盘,并提醒用户:新智能体通常要到下个会话才出现在可用列表中。 + +### 修改(edit <名称>) +先读原文,用最小编辑修改,改完展示改动供用户确认。保留用户已有的 frontmatter 字段,不顺手重排。 + +### 校验(check) +对每个 `*.md` 检查: +- frontmatter 存在且可解析;name、description 非空; +- name 与文件名一致(不一致给警告,不擅自改名); +- 正文非空; +- tools 里出现的都是本环境真实存在的工具名; +- 无未解析占位符、无乱码或编码异常。 + +每个文件输出一行:通过 / 警告 / 失败,附 `文件:行号` 证据。只报告,不擅自修复。 + +### 删除(delete <名称>) +先展示文件内容并获得用户明确确认后才删除;优先建议「改 description 让它不再被派发」而不是物理删除。 diff --git a/external_plugins/agent-manager/skills/agent-team/SKILL.md b/external_plugins/agent-manager/skills/agent-team/SKILL.md new file mode 100644 index 00000000..3943f5c5 --- /dev/null +++ b/external_plugins/agent-manager/skills/agent-team/SKILL.md @@ -0,0 +1,23 @@ +--- +name: agent-team +description: 多智能体协作调度:把一个较大任务拆解成子任务,并行派发给合适的子智能体(如代码审查、代码探索、爬虫、通用),再把各自结果汇总成一份合并报告。当用户说「派几个智能体一起干」「用多个 agent 并行处理」「团队协作完成这个任务」,或任务明显可拆分并行时使用;管理智能体定义文件本身请改用 agent-registry 技能。 +--- + +# 多智能体调度 + +目标:拆解 → 选人 → 并行派发 → 汇总。你是调度者,除汇总外不亲自干活。 + +## 流程 + +1. **盘点可用智能体**:以当前会话系统提示的「Available agent types」为准(含每个的描述与工具);磁盘上的定义文件仅作补充。两者冲突时以运行时清单为准。 +2. **拆解任务**:列出相互独立的子任务及依赖关系;强耦合的不要硬拆。 +3. **选人**:按各智能体 description 匹配子任务;没有合适人选就用 general-purpose。只读智能体(如代码审查)不派写任务。 +4. **派发**:相互独立的子任务放在**同一条消息的多个 Agent 调用里并行**;有依赖的串行。每条派发消息写清:范围、已知上下文、期望产出、约束(如只读、不改文件)。 +5. **汇总**:子智能体的最终报告用户看不到,必须由你转述关键结论;合并去重,标注分歧与未决问题。 + +## 红线 + +- 没收到完成通知前,不得编造或预测某个子智能体的结果。 +- 已经派出去的搜索/审查不要自己再做一遍。 +- 子智能体报错或被拒,如实汇报,不静默吞掉。 +- 任务目标模糊时先问用户,不替用户做关键决策。 diff --git a/marketplace.json b/marketplace.json index c7f09a06..93922adc 100644 --- a/marketplace.json +++ b/marketplace.json @@ -13,6 +13,27 @@ { "name": "openpencil", "source": "./external_plugins/openpencil" } ], "plugins": [ + { + "name": "agent-manager", + "source": "./external_plugins/agent-manager", + "description": "Manage ZCode subagents: inventory, create, edit and validate agent definition files, and dispatch one task to multiple agents in parallel.", + "description_i18n": { + "en": "Manage ZCode subagents: inventory, create, edit and validate agent definition files, and dispatch one task to multiple agents in parallel.", + "zh-CN": "管理 ZCode 智能体:盘点、创建、修改、校验智能体定义文件,并把一个任务并行派发给多个智能体协作完成。" + }, + "version": "0.1.3", + "author": { + "name": "Sword" + }, + "category": "developer-tools", + "keywords": [ + "subagent", + "agent", + "orchestration", + "code-review", + "registry" + ] + }, { "name": "cloudbase-skills", "source": "./plugins/cloudbase-skills",