Token导航 LogoToken导航TokenDH.com
Agent Board logo
AI代理未说明官方级别未说明来源级核验

Agent Board

MCP Server

Agent Board 是一个专为AI智能体团队设计的任务编排系统,支持多智能体协作、任务依赖管理、自动重试和审计追踪。

工具数

14

提示词数

0

GitHub Stars

21

资源数

0
TypeScriptClaude工作流自动化Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

quentintou

提供方

quentintou

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

🎯 Agent Board

Multi-agent task orchestration for OpenClaw and AI agent teams.

Kanban dashboard · REST API · MCP server · DAG dependencies · Auto-retry · Audit trail

Features • Quick Start • OpenClaw Integration • API • MCP • Dashboard • Architecture

______________________________________________________________________

为什么要代理董事会?

在没有协调的情况下运行多个AI代理是混乱的。每个代理都是独立工作的,任务会重复,故障不会被注意到,也无法构建多步骤的工作流。

代理委员会解决了这个问题。 这是一个专为AI代理团队构建的任务管理系统——无论你是否在运行 开爪 代理人、Claude或任何基于LLM的代理人。

  • 特工接工作 通过心跳轮询或webhook通知从板上获取
  • 依赖关系被强制执行 --在代理A完成之前,代理B无法启动
  • 失败的任务自动重试 --瞬态故障无需人为干预
  • 任务链 构建管道——当一个代理完成时,下一个代理会自动启动
  • 完整的审计追踪 --确切地知道谁做了什么,什么时候做的,为什么做
  • MCP本地 --代理通过以下方式进行交互 模型上下文协议 工具

独立工作或作为编排层 开爪 多代理设置。

特性

特性描述
看板6列: backlogtododoingreviewdonefailed
DAG依赖关系任务可以依赖于其他任务。搬到 doing 被阻止,直到所有依赖项都被 done循环检测可防止死锁。
质量门将任务标记为 requiresReview: true --他们必须通过 review 之前 done.
自动重试当任务移动到 failed,它会自动重试(返回 todo)高达 maxRetries 时间。系统注释跟踪每次尝试。
任务链定义a nextTask 任何任务。完成后,将自动创建并分配下一个任务。构建没有编排代码的管道。
实时通信代理间讨论的任务注释线程。Webhooks在每个事件(评论、分配、移动)上都会启动——代理会在几秒钟内而不是几分钟内唤醒。
HMAC-SHA256签名所有出站Webhook都经过加密签名。接收代理可以验证消息的真实性。包括用于重放保护的时间戳。
OpenClaw Webhooks原住民 开爪 webhook集成,在分配、重试或链接任务时唤醒代理。
审计跟踪每个操作都记录到 audit.jsonl --谁做了什么,什么时候,做了什么任务。可通过API查询。追踪REST和MCP突变。
客户端视图面向外部利益相关者的只读项目仪表板。为每个项目启用 clientViewEnabled。隐藏代理名称和内部详细信息。
项目模板将任务集预定义为JSON模板。在一次通话中将它们应用于任何项目。
董事会统计数据每个代理和全局统计数据:完成率、平均持续时间、卡住任务检测。
MCP服务器模型上下文协议 服务器——AI代理通过12个MCP工具管理任务。与Claude Desktop、Claude Code和任何MCP客户端兼容。
API密钥认证可选的per-agent API密钥身份验证。向后兼容(无密钥=无身份验证)。
Zod验证所有输入均已Zod模式验证。清除无效请求的错误消息。
并发安全所有写入操作上的每个文件异步互斥锁。然后重命名原子临时文件。并发访问时没有损坏。
自动备份每次写入前自动备份(每个文件最多50个,自动修剪)。

快速开始

git clone https://github.com/quentintou/agent-board.git
cd agent-board
npm install
npm run build
npm start

打开 http://localhost:3456 对于看板仪表板,或点击 http://localhost:3456/api 用于REST API。

选项

node dist/index.js --port 8080 --data ./my-data
标志默认值描述
--port3456HTTP服务器端口
--data./dataJSON数据文件目录

环境变量

变量描述
AGENTBOARD_API_KEYS逗号分隔 key:agentId 用于API身份验证的对。例子: sk-abc123:agent1,sk-def456:agent2
OPENCLAW_HOOK_URL用于代理通知的OpenClaw webhook URL(默认值: http://localhost:18789/hooks/agent)
OPENCLAW_HOOK_TOKENOpenClaw webhook调用的承载令牌。如果未设置,则禁用通知。
AGENTBOARD_WEBHOOK_SECRETHMAC-SHA256 webhook签名的秘密。设置后,所有出站Webhook都包括 X-AgentBoard-Signature 标题。
TEMPLATES_DIR自定义模板目录(默认: ./templates)

实时代理通信

代理板v2启用 实时代理间通信 通过任务线程和签名的webhooks:

任务线程

代理直接讨论任务上的工作——比如GitHub问题评论,但对于AI代理来说:

# Agent posts an update
curl -X POST http://localhost:3456/api/tasks/task_abc/comments \
  -H "Content-Type: application/json" \
  -d '{"author":"research-agent","text":"Found 3 competitor gaps. See analysis in output."}'

# Other agents read the thread
curl http://localhost:3456/api/tasks/task_abc/comments

每条评论都会向任务受让人触发一个webhook——用他们的完整模型(而不是轻量级心跳模型)立即唤醒他们。

签名的Webhooks(HMAC-SHA256)

所有出站Webhook都包含用于信任验证的加密签名:

X-AgentBoard-Signature: sha256=a1b2c3...
X-AgentBoard-Timestamp: 1770307200000
X-AgentBoard-Source: agentboard

AGENTBOARD_WEBHOOK_SECRET 以启用签名。收货代理与所附人员核实 shared/verify-webhook.sh 公用事业。

事件类型

Webhooks在所有重大事件上开火:

  • comment.add --对任务的新评论→ 受让人醒来
  • task.assign --受让人已变更→ 通知新受让人
  • task.move --任务已移动到 doing, review,或 failed → 受让人已通知
  • task.create --已创建高/紧急任务→ 受让人立即醒来

MCP评论工具

AI代理通过MCP管理线程——不需要HTTP:

  • board_list_comments --阅读任务的评论线程
  • board_add_comment --发布到任务线程
  • board_get_task_thread --获取完整的任务上下文+所有评论

OpenClaw集成

代理委员会的设计是 编排层 开爪 多代理设置。以下是它们如何协同工作:

架构:OpenClaw+代理板

┌─────────────────────────────────────────────────┐
│                  OpenClaw Gateway                │
│                                                  │
│  ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│  │ Agent A  │ │ Agent B  │ │ Agent C          │ │
│  │ (Sonnet) │ │ (Opus)   │ │ (Gemini Flash)   │ │
│  └────┬─────┘ └────┬─────┘ └────────┬─────────┘ │
│       │             │                │           │
│       └─────────────┴────────────────┘           │
│                     │                            │
│            ┌────────▼────────┐                   │
│            │   Agent Board   │ ◄── REST / MCP    │
│            │   (localhost)   │                    │
│            └─────────────────┘                   │
└─────────────────────────────────────────────────┘

代理人如何使用董事会

  1. 心跳民意调查 --每个OpenClaw代理定期检查电路板(通过 curl 或MCP工具)用于分配的任务
  2. Webhook唤醒 --当创建高优先级任务时,代理板会向OpenClaw发送一个webhook /hooks/agent 端点,立即唤醒目标代理
  3. 任务生命周期 --代理在列中移动任务:从 todo → 在...工作 doing → 提交给 reviewdone
  4. 自动链接 --当代理A完成任务时 nextTask 定义后,后续任务将自动创建并分配给代理B

OpenClaw代理HEARTBEAT.md示例

将此添加到您的OpenClaw代理中 HEARTBEAT.md:

### Board Check
Check for assigned tasks:
curl -s http://localhost:3456/api/tasks?assignee=my-agent-id&status=todo | jq
If tasks found, pick the highest priority one and start working.

OpenClaw配置

在您的代理板服务中设置webhook令牌,以匹配您的OpenClaw挂钩令牌:

OPENCLAW_HOOK_URL=http://localhost:18789/hooks/agent
OPENCLAW_HOOK_TOKEN=your-openclaw-hooks-token

代理板将代理ID映射到OpenClaw会话密钥(可在中配置 routes.ts).

仪表盘

web仪表板位于 http://localhost:3456 提供:

  • 看板 在列之间拖放
  • 项目选择器 和创造
  • 任务创建 所有字段(优先级、标签、依赖关系、截止日期、审核门)
  • 任务详细信息视图 带有注释、指标和依赖关系图
  • 代理概述 带有性能统计数据
  • 黑暗/光明主题 切换
  • 自动刷新 每5秒

客户端视图

启用 clientViewEnabled 在以下位置获取只读仪表板:

http://localhost:3456/dashboard/client/:projectId

客户端视图隐藏了代理名称和内部详细信息,可以安全地与外部利益相关者共享。

api参考

基本URL: http://localhost:3456/api

认证

如果 AGENTBOARD_API_KEYS 已设置,所有请求都需要 X-API-Key 头球

curl -H "X-API-Key: sk-abc123" http://localhost:3456/api/projects

如果没有配置密钥,则允许所有请求(向后兼容)。

健康

GET /api/health → { "status": "ok", "uptime": 3600, "timestamp": "..." }

项目

GET    /api/projects                       # List projects (?status=active&owner=alice)
GET    /api/projects/:id                   # Get project + its tasks
POST   /api/projects                       # Create project
PATCH  /api/projects/:id                   # Update project fields
DELETE /api/projects/:id                   # Delete project + all its tasks

创建项目:

{
  "name": "Website Redesign",
  "owner": "agency",
  "description": "Full site rebuild",
  "clientViewEnabled": true
}

任务

GET    /api/tasks                          # List tasks (?projectId=&assignee=&status=&tag=)
GET    /api/tasks/:id                      # Get single task
POST   /api/tasks                          # Create task
PATCH  /api/tasks/:id                      # Update task fields
DELETE /api/tasks/:id                      # Delete task (cleans up orphaned deps)
POST   /api/tasks/:id/move                 # Move to column (enforces DAG + gates)
POST   /api/tasks/:id/comments             # Add comment (triggers webhook)
GET    /api/tasks/:id/comments             # List comments
GET    /api/tasks/:id/dependencies         # List dependencies and blockers
GET    /api/tasks/:id/dependents           # List tasks depending on this one

使用链接和依赖关系创建任务:

{
  "projectId": "proj_abc123",
  "title": "Write landing page copy",
  "assignee": "content-creator",
  "priority": "high",
  "tags": ["copywriting"],
  "dependencies": ["task_xyz789"],
  "requiresReview": true,
  "maxRetries": 3,
  "nextTask": {
    "title": "Design landing page",
    "assignee": "design-agent",
    "priority": "high"
  }
}

移动任务: POST /api/tasks/:id/move{ "column": "doing" }

柱: backlog · todo · doing · review · done · failed

模板

GET    /api/templates                      # List available templates
POST   /api/projects/:id/from-template     # Apply template to project
{ "template": "seo-audit" }

代理

GET    /api/agents                         # List registered agents
POST   /api/agents                         # Register agent (409 if exists)

统计

GET /api/stats                             # Board + per-agent statistics

返回完成率、平均任务持续时间、卡住任务检测和每个代理的性能指标。

审计跟踪

GET /api/audit                             # ?taskId=&agentId=&limit=100

返回所有REST和MCP突变的仅追加日志条目(最新的第一个)。

客户端视图

GET /api/client/:projectId                 # Read-only sanitized project data

MCP服务器

代理委员会包括一个完整的 模型上下文协议 用于AI代理集成的服务器。代理可以通过自然的MCP工具调用来管理任务,不需要HTTP客户端。

npm run mcp                                # default data dir
node dist/mcp-server.js --data ./data      # custom data dir

克劳德桌面/Claude代码配置

{
  "mcpServers": {
    "agent-board": {
      "command": "node",
      "args": [
        "/path/to/agent-board/dist/mcp-server.js",
        "--data", "/path/to/agent-board/data"
      ]
    }
  }
}

MCP工具(12)

工具说明
board_list_projects列出项目(按以下条件筛选 status, owner)
board_get_project获取项目详细信息+所有任务
board_create_project创建新项目
board_update_project更新项目字段
board_create_task创建一个具有完整选项(deps、chaining、gates)的任务
board_update_task更新任务字段
board_move_task将任务移动到列中(强制执行deps+质量门)
board_add_comment向任务添加注释
board_list_tasks使用筛选器列出任务
board_my_tasks获取特定代理的所有任务
board_delete_task删除任务
board_list_comments列出对任务的评论
board_get_task_thread获取任务摘要+完整评论线程
board_delete_project删除项目及其所有任务

所有MCP突变都记录在审计跟踪中。

建筑

agent-board/
├── src/
│   ├── index.ts          # Express server, CLI args, static files
│   ├── routes.ts         # REST API routes, auth middleware, OpenClaw webhooks
│   ├── services.ts       # Business logic (move with deps/gates/retry/chain)
│   ├── store.ts          # JSON file storage with async mutex + atomic writes
│   ├── schemas.ts        # Zod validation schemas
│   ├── audit.ts          # Append-only JSONL audit log
│   ├── types.ts          # TypeScript interfaces
│   ├── utils.ts          # ID generation, timestamp helpers
│   └── mcp-server.ts     # MCP stdio server (12 tools)
├── dashboard/
│   ├── index.html        # Kanban dashboard (drag-and-drop)
│   ├── client.html       # Read-only client view
│   ├── app.js            # Dashboard logic
│   └── style.css         # Dark/light theme
├── templates/            # Reusable task templates (JSON)
├── shared/               # Webhook verification utility
├── tests/                # 107 tests (Vitest)
└── data/                 # Runtime data (auto-created, gitignored)

数据流

Agent (REST/MCP) → Auth → Zod Validation → Service Layer → Store (mutex lock)
                                                │
                                                ├── DAG dependency check
                                                ├── Quality gate enforcement
                                                ├── Auto-retry on failure
                                                ├── Task chaining on completion
                                                ├── Audit log append
                                                └── OpenClaw webhook → Agent wakes up

设计决策

  • 零外部数据库 --具有原子写入的JSON文件。易于部署、备份、检查和版本控制。
  • 每个文件异步互斥 -并发API调用从不损坏数据,无需PostgreSQL或Redis。
  • MCP优先 --AI代理通过MCP工具自然地进行交互。没有SDK,没有客户端库。
  • OpenClaw原生网络钩子 --当任务需要关注时,代理会立即被唤醒。适用于任何webhook消费者。
  • 加强安保 --路径遍历保护、循环依赖检测、所有路由的输入验证、所有突变的审计跟踪。

作为服务运行

系统守护进程

[Unit]
Description=Agent Board - Multi-agent task orchestration
After=network.target

[Service]
Type=simple
WorkingDirectory=/path/to/agent-board
ExecStart=/usr/bin/node dist/index.js --port 3456 --data ./data
Environment=AGENTBOARD_API_KEYS=sk-key1:agent1,sk-key2:agent2
Environment=OPENCLAW_HOOK_TOKEN=your-token
Restart=on-failure

[Install]
WantedBy=multi-user.target

码头工人

FROM node:22-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY dist/ dist/
COPY dashboard/ dashboard/
COPY templates/ templates/
EXPOSE 3456
CMD ["node", "dist/index.js"]

发展

npm install              # Install dependencies
npm run build            # Compile TypeScript
npm run dev              # TypeScript watch mode
npm test                 # Run all 92 tests (Vitest)

技术栈

  • 运行时间: Node.js+Express
  • 语言: TypeScript
  • 验证: 黄道带
  • MCP: @模型上下文协议/sdk
  • 测验: Vitest+超级测试(107次测试)
  • 仪表板: 普通HTML/CSS/JS(无构建步骤)
  • 储存: JSON文件(无需数据库)

贡献

欢迎发布问题和PR。请快跑 npm test 在提交之前。

许可证

麻省理工学院

______________________________________________________________________

Built for AI agent teams. Works great with OpenClaw.

openclaw.ai · Discord

目录标签

目录标签

TypeScriptClaude工作流自动化任务编排本地部署多智能体协作AI智能体管理任务依赖管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

14

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP