项目简介
该项目展示了如何使用Amp SDK实现自定义命名子代理,允许动态定义和调用具有独立系统提示、工具权限和MCP配置的专业AI代理。它包含一个MCP服务器,将这些子代理作为可供LLM调用的工具暴露出来,从而增强LLM应用的功能和灵活性。
主要功能点
- 动态子代理定义: 用户可以根据特定需求定义拥有独立角色的AI子代理。
- 细粒度权限控制: 为每个子代理配置独立的工具访问权限(读、写、Shell命令等)。
- 上下文隔离: 每个子代理在执行任务时拥有独立的上下文,确保专注和准确性。
- 工具暴露: 通过MCP服务器将子代理作为可调用的工具暴露给LLM客户端。
- 集成Amp SDK: 深度集成Amp SDK,利用其强大的执行能力。
安装步骤
- 克隆仓库:
git clone https://github.com/sjarmak/amp-custom-subagents cd amp-custom-subagents - 安装依赖:
npm install - 全局安装 (作为MCP服务器使用):
请确保您的系统已安装 Node.js 18+ 或 20+。npm install -g .
服务器配置
要将此项目配置为MCP客户端(例如Amp)使用的服务器,您需要将以下JSON配置添加到您的客户端设置中(例如,VS Code的'settings.json'文件),指示客户端如何启动并连接到此MCP服务器:
{ // 配置MCP客户端(例如Amp)以连接到此服务器 "amp.mcpServers": { // 您为MCP服务器定义的唯一名称 "custom-subagents": { // 启动此MCP服务器的命令,通常是全局安装后暴露的命令行工具 "command": "custom-subagents-mcp" // "args": [] // 如果需要传递额外的启动参数,可以在这里指定,例如:["--port", "8080"] } } }
- 配置完成后,请重启您的MCP客户端以使设置生效。
基本使用方法
-
通过MCP客户端调用 (例如在Amp对话中): 配置好MCP服务器并重启客户端后,您可以在与客户端的对话中直接提及子代理来触发其功能。客户端会根据您的指令自动调用相应的'subagent_<名称>'工具。例如:
- "让'test-runner'子代理运行我的测试。"
- "请'documentation-writer'为API创建文档。"
- "让'security-auditor'扫描这段代码。"
-
通过命令行直接运行子代理: 您也可以直接从命令行运行预定义的子代理:
- 运行测试代理: 'npm run dev test-runner "运行单元测试并修复所有失败"'
- 运行迁移规划代理: 'npm run dev migration-planner "规划从CommonJS到ES模块的迁移"'
- 运行安全审计代理: 'npm run dev security-auditor "审计代码库中的安全问题"'
-
创建和使用自定义子代理: 您可以在 'src/subagents.ts' 文件中定义新的子代理,包括其系统提示('system')、工具权限('permissions')以及可选的MCP配置('mcp')。定义后即可通过上述方法调用。
信息
分类
AI与计算