使用说明
🕸️ agentkit-mesh
Agent-to-agent discovery and delegation via MCP
代理注册其功能,通过关键字/令牌重叠匹配相互发现,并委派任务。注册和发现作为标准MCP工具公开;通过HTTP执行委托(POST /task)到每个代理的注册端点。
快速开始
npx agentkit-mesh
这将通过stdio启动MCP服务器,准备连接到Claude Desktop、OpenClaw或任何MCP客户端。
MCP配置
克劳德桌面
添加 claude_desktop_config.json:
{
"mcpServers": {
"agentkit-mesh": {
"command": "npx",
"args": ["agentkit-mesh"]
}
}
}
龙虾
添加到您的OpenClaw配置中:
mcp:
agentkit-mesh:
command: npx agentkit-mesh
建筑
┌─────────────┐ MCP ┌──────────────────┐
│ AI Agent A │◄────────────►│ │
└─────────────┘ │ agentkit-mesh │
│ │
┌─────────────┐ MCP │ ┌────────────┐ │
│ AI Agent B │◄────────────►│ │ Registry │ │
└─────────────┘ │ │ (SQLite) │ │
│ └────────────┘ │
┌─────────────┐ MCP │ ┌────────────┐ │
│ AI Agent C │◄────────────►│ │ Discovery │ │
└─────────────┘ │ └────────────┘ │
│ ┌────────────┐ │
│ │ Delegation │ │
│ └────────────┘ │
└──────────────────┘
MCP工具
mesh_register
注册具有其功能的代理。
| 参数 | 类型 | 说明 |
|---|---|---|
name |
string | 唯一代理名称 |
description |
string | 此代理的作用 |
capabilities |
string[] | 功能列表 |
endpoint |
string | 代理的HTTP回调URL--接收 POST /task (例如。 http://host:port/task) |
mesh_discover
发现描述/功能与查询令牌重叠的代理。 匹配是简单的关键字/标记重叠(没有嵌入或语义搜索): 查询被小写并拆分为令牌,每个代理由 在其描述+功能中找到的查询标记的一小部分。
| 参数 | 类型 | 说明 |
|---|---|---|
query |
string | 搜索查询(例如“预算管理”) |
limit |
号码? | 返回的最大结果数 |
返回按令牌重叠分数和匹配的功能令牌排名的代理。
mesh_unregister
从注册表中删除代理。
| 参数 | 类型 | 说明 |
|---|---|---|
name |
string | 要删除的代理名称 |
mesh_delegate
按名称将任务委派给另一个代理。
| 参数 | 类型 | 说明 |
|---|---|---|
targetName |
string | 目标代理的名称 |
task |
string | 要委派的任务描述 |
context |
弦? | 可选JSON上下文 |
代表团确实 不 通过MCP。网格发送HTTP POST 到目标
代理人已注册 endpoint (其 POST /task URL)。任何暴露此类物质的代理人
HTTP端点可以参与——目标端不需要MCP服务器。
代理 POST /task 合同
目标代理必须接受以下格式的JSON请求体:
{
"delegationId": "uuid",
"task": "Get budget and cost center for Engineering",
"context": { "depth": 1 },
"callbackUrl": "http://mesh-host:8766/v1/delegations/<id>/result"
}
(callbackUrl 仅适用于异步委托。)代理以以下方式之一进行响应:
- 同步: 超文本传输协议
200JSON正文{ "result": "..." }(或任何JSON 作为委托结果返回给调用者)。 - 异步: 超文本传输协议
202接受任务,然后稍后POST结果为callbackUrl和{ "status": "completed" | "failed", "result"?: ..., "error"?: ... }. - 失败: 任何非2xx状态;正文显示为错误。
如果注册代理人有 auth 配置后,网状物会将其连接起来(例如。
Authorization: Bearer <token>)对于即将发出的请求。
直接通过HTTP进行委派
网格还通过其自己的HTTP控制平面公开了委托流:
agentkit-mesh serve --port 8766 # start the HTTP control plane
curl -X POST http://localhost:8766/v1/delegate \
-H "Authorization: Bearer $MESH_TOKEN" \
-H 'Content-Type: application/json' \
-d '{ "targetName": "finance-agent", "task": "Get Engineering budget" }'
固定控制平面
这 /v1/* 路由(注册、发现、委托等)需要共享密钥。
启动前用环境变量配置它 serve:
| Env-var | 必填 | 描述 |
|---|---|---|
MESH_TOKEN |
是 | 共享秘密。客户端必须发送 Authorization: Bearer <MESH_TOKEN>如果未设置, 全部 /v1/* 请求返回 401 (故障关闭)。 |
MESH_CORS_ORIGIN |
no | 允许CORS的浏览器来源。默认为 http://localhost:8766 (从来没有 *). |
/health 对活性探测保持打开状态(无身份验证)。这是一个单一的共享
承载秘密——没有每个代理的密钥、作用域或轮换。
用例:FormBridge
填写费用表的人力资源代理发现财务代理:
import { AgentRegistry, DiscoveryEngine } from 'agentkit-mesh';
const registry = new AgentRegistry();
// Agents register themselves
registry.register({
name: 'finance-agent',
description: 'Budget management and expense approval',
capabilities: ['budget', 'cost_center', 'expense_approval'],
endpoint: 'http://localhost:4002/task',
});
// HR agent discovers who can help with budget fields
const discovery = new DiscoveryEngine();
const results = discovery.discover('budget cost center', registry);
// → [{ agent: finance-agent, score: 0.67, matchedCapabilities: ['budget', 'cost', 'center'] }]
看 示例/ 一个可运行的演示。
发现:关键字/标记重叠匹配
Discovery仅以普通关键字/标记重叠匹配的形式提供,没有
嵌入模型或语义搜索。 DiscoveryEngine.discover() 标记
查询,根据每个代理中出现的查询令牌的分数对其进行评分
description+能力,并返回按该分数排名的匹配结果。
资源需求过滤(方案/主机感知URI匹配)可以进一步
狭窄的结果。这就是匹配算法的全部内容。
程序化API
import { AgentRegistry, DiscoveryEngine, DelegationClient, createServer } from 'agentkit-mesh';
所有类都导出为直接使用,无需MCP服务器层。
🤝 贡献
欢迎投稿!分叉仓库,进行更改,然后打开一个pull请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。
🧰 AgentKit 生态 系统
| 项目 | 描述 | |
|---|---|---|
| Agent Lens | AI代理的可观察性和审计跟踪 | |
| 传说 | 跨代理记忆和课程共享 | |
| 代理门 | 人在环审批网关 | |
| 模板桥 | 代理-人类混合模式形式 | |
| 代理 | 测试与评估框架 | |
| agentkit网 | 代理发现和委派 | ⬅️ 你来了 |
| agentkit-cli | 统一CLI编排器 | |
| agentkit护栏 | 反应性政策护栏 |
许可证
麻省理工学院 ©AgentKit AI