无需服务器进程
每个项目一个 .db 文件。无需 Redis、Postgres、队列、守护进程或网络依赖。
开源 / 为智能体团队打造
Agentic Kanban — 轻量级 AI 智能体协调协议。无需服务器、守护进程或队列。通过一个 SQLite 文件实现持久化任务协调。智能体原子化认领工作、报告进度、崩溃恢复、移交审核——无需任何中间环节。
# 搭建项目脚手架
$ kanban init
→ .kanban/kanban.db
→ .kanban/agents/ (manager, worker, reviewer)
→ .kanban/skills/ (14 个协议技能)
→ .kanban/tools/ (kanban CLI)
14 个技能 · 3 个智能体 · 1 个二进制文件 01 / 安装
curl -sfL https://raw.githubusercontent.com/mrSamDev/agentic-kanban/main/install.sh | sh 单个 Go 二进制文件 + SQLite。固定版本请使用 GitHub Releases。
02 / 问题
一个改代码。一个写测试。一个做审核。没有共享状态,它们就会冲突、重复工作、互相等待。
大多数方案会引入这些基础设施:
为同一台机器上的几个智能体运行这么多东西,太重了。
更简单的答案
把协调当作数据库问题。
每个智能体读写同一个 SQLite 文件。没有 RPC、事件总线或服务器进程——只有持久化的共享状态。
03 / 动机
Sprint 1, task 1.1, task 1.2。智能体们不断互相覆盖更新、忘记标记完成、或者认领已被占用的任务。文件很快就变成了噪音。
答案是数据库。每次状态变更都是一次事务,所以两个智能体不能认领同一个任务。如果一个崩溃了,它的租约到期后另一个可以接手——就像 Rust 的所有权模型:一次只有一个所有者,所有者消失时释放。
.db 文件是唯一的协调点。没有服务器、守护进程或消息队列——只有你们已经共享的文件系统上的一个共享文件。
"最简单的协调就是不需要你运行的协调。"
04 / 为什么
使用你已经共享的文件系统。保持任务所有权明确且可恢复。
每个项目一个 .db 文件。无需 Redis、Postgres、队列、守护进程或网络依赖。
并发调用 claim-next 的智能体通过 SQLite 写入串行化获得不同的任务。
任务使用 15 分钟租约。进度更新续期所有权;过期的工作可被重新认领。
命令输出可预测的 JSON 到 stdout。错误使用 stderr 和退出码 2。
WAL 检查点机制防止长时间运行的协调中磁盘无限制增长。
Markdown 角色技能文件教会智能体工作流,无需额外的工具调用协议。
05 / 工作流
三个角色。三个计划。一个生命周期。
管理者阅读规范 → 三轮提取 → 用户审核提案 → 批准后派发任务。
工作者认领最高优先级的 TODO(或收回已过期的租约)。尊重依赖关系。
心跳续期 15 分钟租约。阻塞的任务标记原因。
直接完成或交给审核者。审核者批准或拒绝并附上说明。
# 使用计划初始化
$ kanban init --plan plan.md
# 管理者:创建计划提案
$ kanban plan create plan.md
# 用户批准 → kanban plan approve 派发任务
# 工作者:认领下一个任务,工作,完成
$ kanban task claim-next --agent alice --role worker
$ kanban task log-progress TASK-1 --agent alice --note "完成"
$ kanban task complete TASK-1 --agent alice --review
# 审核者:审核提交
$ kanban task approve TASK-1 --agent bob 计划流程: plan.md → 提案 → 批准 → 派发任务
驳回: IN_REVIEW → TODO(附带原因)
阻塞: IN_PROGRESS → BLOCKED(租约清除)
崩溃恢复: 租约过期 → 下次 claim-next 时惰性收回
依赖: 任务支持 depends_on — claim-next 默认跳过未满足依赖的任务
┌─────────────────────────────────────────────────────┐
│ SQLite 数据库 │
│ .kanban/kanban.db │
└─────────────┬───────────────┬────────────────────────┘
│ │
┌────────────┴─────┐ ┌──────┴─────────────┐
│ 智能体配置 │ │ 嵌入式 CLI │
│ agent .md 文件 │ │ kanban task ... │
│ 角色定义文件 │ │ kanban skill ... │
└────────┬─────────┘ └──────────┬──────────┘
│ │
┌────────┴───────────────────────┴─────────┐
│ 智能体角色 │
│ ┌──────────┐ ┌────────┐ ┌──────────┐ │
│ │ manager │ │ worker │ │ reviewer │ │
│ │ .md 文件 │ │ .md │ │ .md │ │
│ │ 计划 │ │ 认领 │ │ 批准 │ │
│ │ 派发 │ │ 工作 │ │ 拒绝 │ │
│ └──────────┘ └────────┘ └──────────┘ │
└──────────────────────────────────────────┘ 06 / 参考
小到够学,清晰到可调试。
task dispatch --title --role [--project] [--priority] [--depends-on]任意创建任务,可选依赖列表。
task claim <id> --agentworker, reviewer按 ID 认领特定任务(层级委派)。
task claim-next --agent --role [--count N] [--project] [--respect-deps]worker, reviewer原子化认领最高优先级的任务。--count N 认领多个。
task log-progress <id> --agent --note [--type]worker记录进度并续期 15 分钟租约。
task extend-lease <id> --agent [--minutes]worker不记录进度仅续期租约(心跳)。
task block <id> --agent --reasonworker标记阻塞并清除当前租约。
task complete <id> --agent [--review]worker标记完成或提交任务审核。
task view <id> [--notes] [--history]全部查看任务详情、笔记和历史。
task search [--status] [--role] [--agent] [--project]manager筛选任务列表。
task approve <id> --agentreviewer将 IN_REVIEW 移动到 DONE。
task reject <id> --agent --reasonreviewer将 IN_REVIEW 退回 TODO 并附上下文。
batch claim --agent --role [--count N] [--project]worker原子化认领多个任务。
batch complete --ids --agent [--to-review]worker一次性完成多个任务。
batch set-priority --ids --prioritymanager批量设置任务优先级。
batch set-project --ids --projectmanager批量设置任务项目标签。
task stats [--status] [--role]manager按状态或角色聚合任务统计。
plan lintmanager检查结构性问题(循环、缺失依赖)。
init [--harness generic] [--plan plan.md] [--dir]设置搭建数据库、智能体 .md 文件、技能文件。
re-init设置重新搭建智能体文件而不影响数据库。
events [--task TASK-1]全部查看事件日志,可按任务筛选。
skill list / skill view <name>全部列出或查看内嵌技能定义。
07 / 技能
技能文件教会智能体协调协议。技能内置于二进制文件中,由 kanban init 脚手架生成。
── manager/ ──
# "我需要把需求变成任务"
→ kanban plan create plan.md
# 三轮提取 → 写入提案
# "用户批准了计划"
→ kanban plan approve
# 派发所有已勾选的任务
# "我现在需要一个任务"
→ kanban task dispatch --title "..." --role worker --priority 10
# "看板上有什么?"
→ kanban task search --status BLOCKED
→ kanban task view TASK-4
# "接入 Slack"
→ setup-hooks (bash)
── worker/ ──
# "我需要工作"
→ kanban task claim-next --agent alice --role worker
# 获取最高优先级 TODO(或收回已过期的)
# "我知道是哪个任务"
→ kanban task claim TASK-12 --agent alice
# "正在推进,续期我的租约"
→ kanban task log-progress TASK-12 --agent alice --note "..."
# "卡住了"
→ kanban task block TASK-12 --agent alice --reason "..."
# "做完了"
→ kanban task complete TASK-12 --agent alice --review
── reviewer/ ──
# "有什么需要审核?"
→ kanban task claim-next --agent bob --role reviewer
# "这个没问题"
→ kanban task approve TASK-5 --agent bob
# status → DONE
# "需要返工"
→ kanban task reject TASK-5 --agent bob --reason "..."
# status → TODO 智能体 .md 文件manager.md · worker.md · reviewer.mdYAML 前置元数据:工具、模型、工作流步骤
.kanban/skills/(协议)14 个技能文件 + INDEX内置于二进制,教授协调协议
智能体配置agent .md 文件角色定义、工作流步骤、工具引用
kanban CLIGo 二进制文件SQLite 事务、租约、WAL 检查点
协议技能随二进制文件发布,教授协调。任务技能教授领域逻辑——由你自行提供。两者并存于 .kanban/skills/。
---
name: worker
description: 从看板认领和完成任务的 Kanban 工作者智能体
---
你是一个 kanban 工作者智能体。从看板认领和
完成任务。
工作流:
1. 认领下一个可用任务
2. 处理任务,定期记录进度
3. 提交审核或标记完成
4. 如果阻塞,标记原因
长时间运行的任务:
对于 >15 分钟的工作,定期运行:
kanban task extend-lease <task-id> --agent <name> --minutes 30
使用 claim-next --count N 来认领多个任务
以并行执行。
.kanban/skills/ 中的技能文件提供了详细的
bash 备用使用说明。 1. 脚手架
$ kanban init --plan plan.md
→ .kanban/kanban.db 已创建
→ .kanban/agents/{manager,worker,reviewer}.md
→ .kanban/skills/ (14 个技能文件 + INDEX)
→ plan.md 已解析 → 任务已派发
2. 智能体加载配置
$ kanban init
→ kanban CLI 就绪
→ 14 个技能可用
3. 运行智能体(特定于运行时,例如 pi run worker)
pi run manager
pi run worker
pi run reviewer
→ 智能体读取其 .md 文件
→ 使用 CLI 命令 + 技能文档 08 / 钩子
在 .kanban/hooks/ 中放入可执行文件,无需修改核心即可扩展工作流。
task.createdtask-created任务已派发
task.claimedtask-claimed智能体认领任务
task.progresstask-progress进度已记录
task.completedtask-completed任务已完成
task.submitted_for_reviewtask-submitted-for-review已提交审核
task.blockedtask-blocked已阻塞
review.approvedreview-approved已批准
review.rejectedreview-rejected已拒绝
task.priority_updatedtask-priority-updated批量优先级更新
task.project_updatedtask-project-updated批量项目标签更新
钩子通过 stdin 接收事件 JSON,超时 30 秒。错误记录到 stderr 但不会导致操作失败。缺失的钩子静默忽略。使用 .d/ 目录串联多个钩子——钩子并发运行,慢速通知不会阻塞调用者。
task-created
task-completed
task-completed.d/
slack
metrics
dashboard 09 / 适用场景
Agentic Kanban 解决一个问题:可靠的协调。带上你自己的智能体、模型和工作流。
最适合 Claude Code 子智能体、Codex 工作流以及同一台机器或共享文件系统上的本地编码智能体。并发测试达到 50 个智能体。
阅读源代码参考
安装、配置和扩展 agentic-kanban。
准备好协调了吗?
Git 成为了代码的共享事实来源。
Agentic Kanban 成为了工作的共享事实来源。