
Kanban Code:让 AI Agent 像看板一样流转的 IDE

Kanban Code 是什么?
一个用于管理多个 Claude Code agents 的看板应用。
每个任务是一张卡片,卡片在看板上自动流转。
从 Backlog 到 Done,Claude 工作时自动推进,需要你时通知你。
The IDE for 2026。
核心愿景

Kanban Code 的目标:
尽可能缓解现代开发的上下文切换瓶颈。
如何做?
将每个 Claude 会话所需的所有上下文集中到各自的卡片中。
结果:
- 每个任务是一张卡片
- 卡片在看板上自动流转
- 卡片自动链接你的 Claude session、git worktree、tmux terminals、GitHub PR
- 卡片从 backlog 流向 done,随着 Claude 工作而推进
六个栏目
Kanban Code 有六个栏目,卡片基于真实活动信号自动流转:
Backlog(待办)
- GitHub issues
- 手动任务
- 等待开始的想法
In Progress(进行中)
- Claude 正在积极工作
- 通过 hooks 确认
Waiting(等待)
- Claude 停止了
- 需要计划批准
- 或遇到权限提示
In Review(审查中)
- PR 已打开
- 等待 CI 或代码审查
Done(已完成)
- PR 已合并
- worktree 准备清理
All Sessions(所有会话)
- 每个过去会话的归档
- 可搜索
卡片自动在栏目间移动。
- Claude 开始工作 → 卡片跳到 In Progress
- Claude 停止需要输入 → 移到 Waiting + 发送推送通知
- PR 打开 → 转到 In Review
- PR 合并 → 转到 Done
- 你可以随时手动拖动卡片覆盖
核心功能

1. 卡片即第一类实体
每个卡片可以独立拥有(或不拥有):
- Session
- Worktree
- Tmux terminal
- PR
- Issue link
这些都是 Link 模型上的可选类型子结构。
防止「三重 Bug」:
同一个工作以三个不同卡片出现的情况。
2. Tmux 集成
每个 Claude 任务都在 tmux session 中运行。
这意味着:
- 你总是可以控制
- 从自己的终端连接
- 发送输入
- 检查输出
- 或只是看 Claude 工作
Kanban Code 为你管理 tmux 生命周期:
- 启动时创建 session
- 恢复时重新连接
- 归档时杀死
每张卡片可以有多个终端:
- Claude 的主 session
- 你启动的任何额外 shell
- 为一个 worktree 启动 dev server
- 为另一个启动 test watcher
- 它们都住在正确的卡片上
当你有十个 Claude agents 在五个项目中运行时:
- 你可以一眼看到每个任务的每个终端
- 不会忘记哪个 server 属于哪个分支
3. 嵌入式终端
应用内,每张卡片都有原生终端模拟器(由 SwiftTerm 驱动)。
特性:
- 直接连接到 tmux session
- 真彩色
- Unicode
- 鼠标事件
- 滚动
- 完整的终端体验,无需切换窗口
如果 Claude 正在等待输入:
- 点击 Resume
- 立即开始输入
终端状态在你导航卡片时持续存在。
或复制 tmux attach 命令从你自己的终端连接。
4. 会话发现
Kanban Code 自动发现你所有的 Claude Code sessions。
从 ~/.claude/projects/ 发现:
- 过去的 sessions
- 活跃的 sessions
- 你从终端启动的 sessions
它们都会显示出来。
5. BM25 全文搜索
跨整个历史查找任何 session。
搜索:
- 提示
- 对话内容
- 项目名称
结果:
- 按相关性排序
- 最近提升
6. Fork 和 Checkpoint
Fork:
- 分支一个新对话
- 共享相同历史
- 适合启动并行任务
- 或探索不同方法而不丢失位置
Checkpoint:
- 回滚到对话中的任何点
- 从那里继续
两者都比 Claude Code 内置对应物快得多:
- 直接在 session 文件上操作
- 而不是通过 CLI
7. Git Worktree 集成
启动任务,Kanban Code 可以自动创建 git worktree。
给 Claude 自己的隔离分支。
App 跟踪:
- 哪个 worktree 属于哪个卡片
- 发现孤立的 worktrees
- 完成时提供清理
从 GitHub issues 创建的卡片:
- 获得 named worktrees(issue-123)
手动任务:
- 获得自动生成的名称
你也可以链接现有 worktrees 到卡片。
8. 远程执行
将 Claude 卸载到远程机器。
运行更多并行 agents 而不会让你的笔记本电脑融化。
Kanban Code 管理一个 shell wrapper:
- 透明拦截命令
- 通过 SSH 执行
- Mutagen 处理双向文件同步
本地路径自动转换为远程路径:
- Claude 不知道它在远程运行
UI 显示实时 Mutagen 同步状态。
如果远程主机离线:
- Kanban Code 自动回退到本地执行
- 通知你
全局或每个项目配置。
9. GitHub PR 跟踪
一旦 Claude 推送分支,Kanban Code 通过 gh CLI 发现 PR 并在卡片上跟踪。
跟踪:
- PR 状态(draft, open, merged, closed)
- CI check runs 与个别通过/失败状态
- Review decision(approved, changes requested)
- 未解决的 review thread 数量
- 延迟加载的 PR 描述
每张卡片支持多个 PR。
点击在浏览器中打开,或复制链接。
10. GitHub Issue Backlog
配置每个项目的 GitHub issue 过滤器。
例如:
- assignee:@me
- label:bug
Kanban Code 自动填充你的 backlog。
Issues 成为卡片:
- 完整的 issue body 作为上下文
开始在一个上工作:
- Claude 获得 issue 描述作为其提示
11. 推送通知
在手机上获得通知 —— 包括你的 Apple Watch。
当 Claude 需要关注时,通过 Pushover。
通知包括:
- Claude 所做的完整摘要
- 渲染为 Markdown
- 你可以直接从锁屏阅读最后的助手响应
- 多行响应渲染为图像以提高可读性
智能去重:
- 快速 Stop 事件被折叠
- 62 秒内的重复通知被抑制
每个通知包括 session 号数:
- 你知道哪个 agent 在调用
如果未配置 Pushover,回退到 macOS 原生通知。
12. 睡眠预防
当 Claude agents 积极工作时:
- Kanban Code 生成一个轻量级伴侣进程
- 保持 Amphetamine 触发
- 防止你的 Mac 在任务中途睡眠
伴侣进程在所有 agents 空闲时自动退出。
不再醒来发现 Claude 被睡眠模式中断。
13. 多项目管理
配置多个项目。
每个项目有:
- 自己的 GitHub 过滤器
- 提示模板
- 仓库设置
全局视图结合一切 —— 或专注于单个项目。
从全局视图排除副项目:
- 保持工作和个人分离
CLI 工具

kanban CLI 在启动时自动安装到 ~/.local/bin/kanban(需要 Node.js)。
命令:
# 列出按列分组的卡片
kanban list
# 按列过滤
kanban list -c in_progress
# 机器可读 JSON 输出
kanban list --json
# 概览:卡片计数、终端、tokens、成本
kanban status
# 详细卡片信息(session、tmux、PRs、transcript)
kanban show <card>
# Tmux sessions 与卡片关联
kanban sessions
# 捕获终端输出(最后 50 行)
kanban capture <card>
# 发送提示到卡片的 tmux session
kanban send <card> <message>
# 发送 Escape 停止助手
kanban interrupt <card>
# 最近的对话 transcript
kanban transcript <card>
# 列出配置的项目
kanban projects
# 在 app 中打开项目
kanban open [path]卡片可以引用:
- ID
- ID 前缀
- 名称
- tmux session 名称
- session ID
每个命令支持 --json 供 agent 消费。
Agent 编排:
CLI 设计供管理多个 Claude Code sessions 的 master agent 使用。
使用 kanban list --json:
- 看到所有活跃卡片
- 它们的状态
- tokens
- 上下文使用
使用 kanban send 和 kanban capture:
- 通过 tmux 与运行 sessions 交互
架构

Kanban Code 遵循 Clean Architecture 和 Elm 启发的单向数据流:
User Action → dispatch(Action) → Reducer(State, Action) → (State', [Effect])
↓ ↓
SwiftUI EffectHandler
re-render (async I/O)所有状态住在单个 AppState struct 中。
所有突变通过 Reducer。
副作用(磁盘、网络、tmux)作为值返回并由 EffectHandler 执行。
Views 从不直接突变状态。
目录结构
Sources/(macOS app,SwiftUI)
- KanbanCode/:SwiftUI + AppKit app
- KanbanCodeCore/:纯 Swift 库,无 UI
- Clawd/:后台助手用于 hook 事件处理
windows/(Windows app,Tauri 2)
- src/:React + TypeScript frontend
- src-tauri/:Rust backend
核心库
使用 port/adapter 模式:
所有外部集成在协议接口后面:
- Claude Code
- Git
- Tmux
- GitHub
- Pushover
相同架构可以适应其他 AI 编码工具。
关键设计决策
1. 卡片作为第一类实体
卡片可以独立拥有(或不拥有)session、worktree、tmux terminal、PR、issue link。
防止「三重 Bug」。
2. Reconciler,不是 Poller
后台协调发现外部资源(sessions、worktrees、PRs)并使用匹配算法将它们与现有卡片合并。
新卡片只为真正不匹配的资源创建。
3. 内存状态是真相
App 在协调期间使用内存状态作为真相来源,而不是磁盘。
磁盘读取与异步写入竞争 —— 内存状态消除了那类 bug。
4. KSUID 用于卡片 ID
可时间排序的唯一 ID(card_2MtCMwXZOHPSlEMDe7OYW6bRfXX),无需数据库即可按时间顺序排序。
可选工具

这些解锁附加功能。
Kanban Code 没有它们也工作 —— 都是渐进增强。
| 工具 | 启用内容 |
|---|---|
| tmux | 嵌入式终端、session 持久化、启动/恢复 |
| gh | GitHub PR 跟踪、issue backlog 导入 |
| mutagen | 远程执行与双向文件同步 |
| Amphetamine | 在 agents 工作时防止 Mac 睡眠 |
| Pushover | 推送到手机和 Apple Watch 的通知 |
快速开始

macOS
从 Releases 抓取最新的 .app,解压,拖到 Applications。
由于 app 未公证,macOS 将在首次启动时阻止它。
要打开:
- 右键点击 app 并选择 Open
- 在出现的对话框中点击 Open
- 如果被阻止,转到 System Settings → Privacy & Security,向下滚动,点击 Open Anyway
需要:
- macOS 26(Tahoe)
- Claude Code CLI 已安装
开发模式
git clone https://github.com/langwatch/kanban-code.git
cd kanban-code
make run-app需要:
- Node.js(v18+)
- Rust
- Claude Code CLI
- 可选:GitHub CLI 用于 PR/issue 功能
Windows
git clone https://github.com/langwatch/kanban-code.git
cd kanban-code/windows
npm install
npm run tauri dev # dev mode
npm run tauri build # production .exe典型工作流
设置
Kanban Code 扫描你的 ~/.claude/projects/ 目录。
发现所有现有 sessions。
它们将立即出现在 All Sessions 列中。
打开 Settings 并添加你的项目路径(例如,~/Projects/my-app)。
如果是带有 gh 配置的 git repo:
- Kanban Code 将开始将 GitHub issues 拉入你的 backlog
启动任务
点击 backlog 中的卡片并点击 Start。
Kanban Code 将:
- 可选创建 git worktree
- 启动 tmux session
- 使用你的提示启动 Claude
- 打开嵌入式终端以便你观看
或只是从你自己的终端启动 Claude:
- Kanban Code 将发现 session 并为它创建卡片
自动流转
从这里,卡片自动移动。
- Claude 工作?→ In Progress
- Claude 停止?→ Waiting(+ 通知)
- PR 打开?→ In Review
- PR 合并?→ Done
- 清理 worktree 并归档
写在最后:The IDE for 2026

Kanban Code 不是一个工具。
Kanban Code 是一个工作台。
传统 IDE:
文件编辑器 + 终端 + Git 客户端
Kanban Code:
卡片 + Session + Worktree + Terminal + PR + 通知
传统开发:
你管理所有上下文
Kanban Code:
卡片为你管理所有上下文
Kanban Code 的目标:
尽可能缓解现代开发的上下文切换瓶颈
通过将每个 Claude 会话所需的所有上下文集中到各自的卡片中。
The IDE for 2026。
Kanban Code
让 AI Agent 像看板一样流转。
"
