调度代理
](https://www.npmjs.com/package/dispatch-agent)   
一个智能MCP(模型上下文协议)服务器,通过React代理提供专门的文件系统操作。旨在通过将文件系统任务委托给一个专注的子代理来增强Claude Code等人工智能应用程序,减少上下文窗口的使用并提高响应准确性。
特性
- 专用文件系统代理:使用LangGraph进行文件操作的专用React代理
- MCP集成:通过模型上下文协议与人工智能应用程序无缝集成
- 多LLM支持:适用于OpenAI和Anthropic语言模型
- 并行操作:支持多个同时进行的代理调用
- 上下文优化:设计用于简洁、直接的响应,以最大限度地减少令牌的使用
- 灵活的配置:针对不同部署场景的基于环境的配置
安装
先决条件
- Node.js 18.0.0或更高版本
- npm或yarn包管理器
从npm安装
npm install -g dispatch-agent从源代码构建
git clone https://github.com/abhinav-mangla/dispatch-agent.git
cd dispatch-agent
npm install
npm run build配置
使用环境变量配置代理:
必需变量
export API_KEY="your-api-key-here"可选变量
# LLM Provider (default: openai)
export LLM_PROVIDER="openai" # or "anthropic"
# Base URL (default: https://openrouter.ai/api/v1)
export BASE_URL="https://api.openai.com/v1"
# Model Name (default: openai/gpt-4o-mini)
export MODEL_NAME="gpt-4o"
# Temperature (default: 0, range: 0-2)
export TEMPERATURE="0.1"提供商特定设置
OpenAI
export LLM_PROVIDER="openai"
export API_KEY="sk-..."
export BASE_URL="https://api.openai.com/v1"
export MODEL_NAME="gpt-4o"Anthropic
export LLM_PROVIDER="anthropic"
export API_KEY="sk-ant-..."
export MODEL_NAME="claude-3-5-sonnet-20241022"OpenRouter 的
export API_KEY="sk-or-..."
export BASE_URL="https://openrouter.ai/api/v1"
export MODEL_NAME="anthropic/claude-3.5-sonnet"
export LLM_PROVIDER="anthropic"用法
基本用法
使用工作目录启动MCP服务器:
# If installed globally
dispatch-agent /path/to/your/project
# Or using npx (no installation required)
npx dispatch-agent /path/to/your/project与Claude Desktop集成
添加到您的Claude Desktop MCP配置(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"dispatch-agent": {
"command": "npx",
"args": ["dispatch-agent", "/path/to/your/project"],
"env": {
"API_KEY": "your-api-key-here",
"LLM_PROVIDER": "anthropic",
"MODEL_NAME": "claude-3-5-sonnet-20241022",
"TEMPERATURE": "0"
}
}
}
}或者,如果全局安装:
{
"mcpServers": {
"dispatch-agent": {
"command": "dispatch-agent",
"args": ["/path/to/your/project"],
"env": {
"API_KEY": "your-api-key-here",
"LLM_PROVIDER": "openai",
"BASE_URL": "https://api.openai.com/v1",
"MODEL_NAME": "gpt-4o",
"TEMPERATURE": "0"
}
}
}
}与其他MCP客户端集成
服务器实现了标准的MCP协议,可以与任何兼容MCP的客户端集成:
import { StdioServerTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
const client = new Client({
name: "dispatch-agent-client",
version: "1.0.0"
}, {
capabilities: {}
});
const transport = new StdioServerTransport({
command: "dispatch-agent",
args: ["/path/to/working/directory"]
});
await client.connect(transport);性能改进
调度代理架构为AI应用程序提供了显著的性能优势:
🎯 上下文窗口优化
- 减少50% 通过委派文件系统操作在主代理上下文中使用
- 速度提高32% 通过专门的任务处理进行推理的时间
- 无需在主对话上下文中包含文件内容
💰 降低成本
- 平均成本降低46% 通过高效的上下文管理
- 文件系统操作模式和响应的缓存
- 减少主要AI交互中的令牌消耗
🎪 提高准确性
- 精确度提高9.1% 通过专业代理设计
- 专注于文件系统操作的培训可以减少幻觉
- 文件系统任务的专用提示可确保输出一致
⚡ 更快的结果
- 并发代理执行 用于多个文件系统操作
- 长文件内容的压缩上下文处理
- 针对CLI和编程使用进行了优化的直接、简洁的响应
📊 资源效率
- 减少45% 在对文件系统任务的主要LLM API调用中
- 文件元数据和目录结构的本地处理
- 智能缓存频繁访问的文件信息
API文档
工具: dispatch_agent
服务器公开了一个代理调度工具:
输入架构
{
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The message/task for the agent to process"
}
},
"required": ["message"]
}示例用法
{
"name": "dispatch_agent",
"arguments": {
"message": "Find all TypeScript files that import React in the src directory"
}
}响应格式
{
"content": [
{
"type": "text",
"text": "Found 5 TypeScript files importing React:\n- /abs/path/src/components/App.tsx\n- /abs/path/src/components/Button.tsx\n- /abs/path/src/hooks/useEffect.tsx\n- /abs/path/src/pages/Home.tsx\n- /abs/path/src/utils/ReactHelpers.tsx"
}
]
}可用的文件系统操作
调度代理可以访问以下文件系统工具:
- 读取文件:文本文件、媒体文件、一次多个文件
- 列出目录:目录内容和树结构
- 搜索文件:基于内容的文件搜索
- 文件元数据:大小、修改日期、权限
- 目录遍历:递归目录探索
最佳实践
何时使用调度代理
✅ 推荐用于:
- 在多个文件中搜索关键字
- 按部分名称或模式查找文件
- 复杂的文件系统查询(“哪些文件包含X?”)
- 目录结构探索
- 多个并发文件系统操作
何时使用直接工具
❌ 不建议用于:
- 读取特定的已知文件路径
- 简单的文件操作
- 修改文件(代理是只读的)
- 非文件系统任务
最佳使用模式
# Good: Complex search queries
"Find all configuration files that mention database"
"List all Python files larger than 1MB in the project"
# Better with direct tools: Specific file access
"Read the content of src/config.json"
"List files in the /src directory"发展
建设项目
npm run build发展模式
npm run dev项目结构
dispatch-agent/
├── src/
│ ├── index.ts # CLI entry point
│ ├── server.ts # MCP server implementation
│ ├── tools/
│ │ └── dispatch-agent.ts # Core agent logic
│ ├── types/
│ │ └── index.ts # TypeScript type definitions
│ └── utils/
│ └── validation.ts # Input validation utilities
├── package.json
├── tsconfig.json
└── README.md贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature/new-feature - 进行更改并添加测试(如果适用)
- 确保TypeScript编译通过:
npm run build - 提交您的更改:
git commit -am 'Add new feature' - 推到分支:
git push origin feature/new-feature - 提交拉取请求
开发指南
- 遵循TypeScript的最佳实践
- 保持现有的代码风格
- 更新新功能的文档
- 确保错误处理全面
- 保持响应简洁,以便于CLI使用
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
作者
阿比纳夫·曼格拉 -
支持
对于问题、疑问或贡献:
______________________________________________________________________
关键词: MCP、模型上下文协议、AI代理、文件系统、LangGraph、React代理、Claude、OpenAI、Anthropic
