Sub-agents是一个命令行界面(CLI)工具,专门用于增强Anthropic的Claude Code开发环境。 它允许开发者轻松地添加、管理和创建专用于特定编程任务的AI“子代理”。 这些子代理是预先配置好的AI助手,各自精通一个领域,例如代码审查、测试、调试、文档编写或API开发。 该工具的核心理念是“专家混合”,即使用多个高度专业化的代理来协同工作,而不是依赖一个通用的AI来处理所有事情。 这样做的好处是每个代理都在一个隔离的上下文中运行,拥有自己的系统提示和专用工具集,从而提高了任务的准确性和效率,并减少了通用AI在处理复杂任务时可能出现的“幻觉”。 Sub-agents旨在通过提供开箱即用的专业代理和创建自定义代理的灵活性,来简化和自动化开发工作流程。
功能列表
- 专业化的AI代理:提供一系列预构建的代理,每个代理都是特定开发领域的专家。
- 零配置使用:预构建的代理开箱即用,无需额外配置。
- 高度可定制:允许开发者创建符合其特定工作流程需求的自定义代理。
- 智能上下文管理:每个代理在隔离的上下文中运行,避免了不同任务间的干扰。
- 与Context-Forge集成:能够无缝地与
context-forge
项目及其PRP(项目关系规划)文件配合使用。 - 命令行界面:通过简单的命令即可完成代理的安装、初始化、列表查看、启用/禁用和移除等操作。
- 独立的代理执行:支持在Claude Code环境之外独立运行代理,方便实现自动化和脚本化。
- Web仪表板:提供一个Web界面,用于实时监控和管理代理状态、任务历史和性能指标。
- 钩子系统:允许定义在特定事件(如文件编辑、任务完成)后自动触发的动作,实现工作流程自动化。
- 两种安装范围:支持用户范围(所有项目可用)和项目范围(仅当前项目可用)的代理安装。
使用帮助
Sub-agents是一个功能强大的命令行工具,旨在通过一系列专业化的AI子代理来增强Claude Code的功能。下面将详细介绍如何安装和使用这个工具,以及如何操作它的主要功能。
安装流程
你可以通过多种方式安装Sub-agents,最推荐的方式是使用NPM。
1. NPM安装 (推荐)
打开你的终端,运行以下命令进行全局安装:
npm install -g @webdevtoday/claude-agents
2. Yarn安装
如果你更喜欢使用Yarn,可以使用以下命令:
yarn global add @webdevtoday/claude-agents```
**3. 从源码安装**
你也可以直接从GitHub克隆源码进行安装,这适用于希望进行二次开发的用户:
```bash
git clone https://github.com/webdevtodayjason/sub-agents.git
cd sub-agents
npm install
npm link
安装完成后,claude-agents
命令将在你的终端中可用。
快速上手
安装成功后,你可以通过init
命令快速开始。
对于新项目:
在你的项目根目录下,运行以下命令来初始化所有可用的代理:
claude-agents init
然后,你可以使用list
命令查看所有可用的代理:
claude-agents list
对于已使用Context-Forge的项目:
如果你的项目已经在使用context-forge
,你可以使用一个特殊的init
命令来确保兼容性:
claude-agents init --respect-context-forge
这个命令会智能地将代理命令放置在.claude/commands/agents/
目录下,以避免与你现有的命令冲突,并且会安全地更新CLAUDE.md
文件。
主要功能操作
1. 代理管理
Sub-agents提供了一套完整的命令来管理代理的生命周期。
- 安装代理:你可以交互式地安装一个或多个代理。
claude-agents install
或者一次性安装所有可用代理:
claude-agents install --all
- 查看代理:列出所有已安装的代理。
claude-agents list --installed
- 启用/禁用代理:你可以随时启用或禁用某个代理。
claude-agents disable test-runner claude-agents enable test-runner
- 移除代理:移除一个不再需要的代理。
claude-agents remove debugger ``` 或者进行批量卸载并清理相关文件: ```bash claude-agents uninstall --all --clean
2. 在Claude Code中使用代理
你可以通过两种主要方式在Claude Code中调用代理:
- 斜杠命令 (Slash Commands):每个代理都关联一个斜杠命令,方便快速调用。例如,要调用代码审查代理,只需输入:
/review ``` 对于需要参数的代理,可以在命令后附带参数:
/debug login issue
- 任务工具 (Task Tool):你也可以使用
Task
工具来执行更复杂的指令。Task("project-planner: analyze all PRPs and create sprint plan")
3. 独立运行代理
这是一个非常强大的功能,允许你在自动化脚本或工作流中直接使用代理,而无需打开Claude Code。
# 使用内联任务运行
claude-agents run marketing-writer --task "Write launch announcement for v2.0"
# 从文件读取任务
claude-agents run api-developer --file api-spec.md
# 以交互模式运行
claude-agents run tdd-specialist --interactive```
**4. 创建自定义代理**
如果预设的代理不能满足你的需求,你可以轻松创建自己的代理。
运行以下命令,工具会通过交互式问答引导你完成创建过程:
```bash
claude-agents create
你将被要求定义代理的名称、描述以及所需的工具。这使得创建高度定制化的AI助手变得非常简单。
5. 使用Web仪表板
为了更直观地管理和监控你的代理,Sub-agents提供了一个Web仪表板。
启动仪表板:
claude-agents dashboard
你也可以指定端口号:
claude-agents dashboard --port 8080
在仪表板中,你可以看到所有代理的实时状态、任务执行历史和性能指标,并能快速执行操作。
通过以上步骤,你就可以熟练地使用Sub-agents来提升你的开发效率。这个工具通过将大型开发任务分解给不同领域的AI专家,极大地提高了代码生成、审查和测试等环节的质量和速度。
应用场景
- 自动化代码审查
开发者可以调用code-reviewer
代理,对新提交的代码进行全面的质量、安全和性能分析。代理会自动检查代码是否遵循最佳实践,并提出具体的优化建议,从而减少人工审查的负担。 - 辅助调试和错误修复
当遇到复杂的Bug时,可以启动debugger
代理。将错误信息或堆栈跟踪提供给它,代理会帮助分析问题的根本原因,并尝试提供修复方案,加快问题的解决速度。 - 快速原型开发
在项目初期,可以组合使用多个代理来快速搭建应用原型。例如,使用project-planner
规划功能模块,api-developer
生成后端接口,frontend-developer
构建前端界面,大大缩短了从概念到原型的时间。 - 生成和更新技术文档
编写和维护文档是一项耗时的工作。doc-writer
和api-documenter
代理可以根据代码和注释自动生成和更新README文件、API文档(如OpenAPI规范)等,确保文档与代码同步。 - 测试驱动开发 (TDD)
tdd-specialist
代理可以帮助开发者实践测试驱动开发。在编写功能代码之前,可以先让代理根据需求创建测试用例,然后开发者再依据这些测试来编写实现代码。
QA
- Sub-agents与直接使用Claude Code有什么不同?
Sub-agents不是取代Claude Code,而是增强它。它通过引入“专业化子代理”的概念,解决了单个通用AI难以在所有领域都表现出色的问题。每个子代理都在一个隔离的环境中专注于特定任务,如代码审查或调试,这使得结果更精确,也避免了不同任务间的上下文混淆。 - 我是否需要为每个代理单独付费?
Sub-agents本身是一个免费的开源工具。但它依赖于Claude Code来执行任务,所以你仍然需要拥有Anthropic的Claude Code访问权限,并根据其使用情况支付相应的费用。使用多个子代理可能会增加Token的消耗量。 - 创建自定义代理复杂吗?
不复杂。该工具提供了一个交互式的命令行工具claude-agents create
,它会引导你完成创建过程,包括定义代理的名称、功能描述和所需工具。你只需要用自然语言描述代理的职责即可,无需编写复杂的代码。 - 这些代理能协同工作吗?
是的。该工具的设计理念就是让多个代理协同工作。 通过钩子系统(Hooks System),你可以设置自动化规则,让一个代理在完成任务后触发另一个代理。例如,当代码编辑完成后,可以自动触发test-runner
代理来运行测试。 - 如果我在全局安装了一个代理,它会影响我的所有项目吗?
是的。代理可以安装在两个不同的范围:用户范围(~/.claude/agents/
)和项目范围(.claude/agents/
)。安装在用户范围的代理在你的所有项目中都可用。如果你只想让代理服务于特定项目,可以在安装时使用--project
标志,将其安装到项目范围。