KanVibe

面向 AI 编码代理的键盘优先看板工作区,把分支任务、终端会话与代理状态统一到一块实时看板上。

Star 数
★ 150
最近更新
今天
License
AGPL-3.0
主语言
TypeScript

30 秒速览

运行形态
桌面应用自托管服务
可在哪里用
兼容但需适配Codex · Claude Code
费用
免费,无需付费服务
上手难度
中 · 需要几步配置
开始前需要
gittmuxGitHub CLI(gh,需 gh auth login 登录)zellij(可选)从源码构建需要 Node.js / Next.js 16 运行时Electron(桌面打包)Flutter 工具链(移动端客户端)Shell / 命令行网络访问本地文件系统
典型场景
同时推进多个仓库分支的开发者,希望在一个看板上看到每个分支对应的终端与代理进度
不适合
  • 不在 macOS/桌面环境、也不愿自建 tmux/git 工作流的团队
  • 需要纯网页云端托管、完全不想安装本地依赖的用户
  • 要求多平台移动端正式发布版本的用户(目前需自行从源码构建)

这个 Agent 能做什么,适合哪些场景?

KanVibe 是一个以键盘操作为核心的看板工作区,用来收拢散落在各个终端标签页中的 AI 编码工作。它在 Next.js 16 + React 19 之上提供实时看板,任务以 git 分支为单位,创建时自动准备 git worktree、tmux 窗口或 zellij 标签页,并把终端会话绑定到任务。终端通过 xterm.js 与 WebSocket 在浏览器内串流,也支持基于 ~/.ssh/config 的 SSH 远程终端。Claude Code、Gemini CLI、Codex CLI 与 OpenCode 的钩子会在用户提交、提问、结束时自动推动 TODO→PROGRESS→PENDING→REVIEW→DONE 的状态流转,任务进入 DONE 时自动清理分支、worktree 与会话。分发方式包括 Homebrew Cask 安装的 Electron 桌面应用,以及可自托管的本地服务;另有一个需自行构建的 Flutter 移动客户端。

注册项目时会扫描本地或远程 git 仓库,识别已有 worktree 分支并安装各代理的钩子文件(.claude/hooks/、.gemini/hooks/、.codex/hooks/ 与 .opencode/plugins/kanvibe-plugin.ts)。创建带分支名的任务时,它执行 git worktree 创建、启动 tmux 窗口或 zellij 标签页,并把会话与任务关联;任务详情页通过 xterm.js + WebSocket + node-pty 渲染终端,支持单屏、水平/垂直二分、左右 TB 与四宫格等 6 种窗格布局及每窗格自定义命令。钩子调用 /api/hooks/start 与 /api/hooks/status,按 branchName + projectName 更新状态并触发浏览器通知。此外还提供 Monaco Editor 的 GitHub 风格 diff 视图、从本地 CLI 登录态读取 Claude/Codex/Gemini 剩余额度的用量面板,以及通过配对码连接、镜像任务窗格的 Flutter 移动端。

  1. 同时推进多个仓库分支的开发者,希望在一个看板上看到每个分支对应的终端与代理进度
  2. 使用 Claude Code 或 Codex CLI 长时间跑任务,想让状态自动从 PROGRESS 走到 REVIEW 而不手动拖卡片
  3. 习惯 Vim 键位、希望用 h/j/k/l、:move progress、dd 操作看板而不离开键盘的用户
  4. 需要远程开发机上跑 tmux 会话、通过 SSH 在本地浏览器里操作终端的团队
  5. 想随时用手机查看任务状态并输入到任务终端里的个人开发者
  6. 在一个界面里同时核对多个 Claude/Codex/Gemini 账号剩余额度的重度用户

如何安装或部署这个 Agent?

README 推荐使用 Homebrew Cask 从项目自有 tap 安装(macOS):

brew install --cask rookedsysc/kanvibe/kanvibe
open -a KanVibe

升级与卸载:

brew update
brew upgrade --cask kanvibe
brew uninstall --cask kanvibe
brew untap rookedsysc/kanvibe

安装前需准备以下依赖:

brew install git tmux gh
gh auth login

zellij 为可选项:

brew install zellij

Flutter 移动客户端需从 mobile/ 目录自行构建;README 未给出具体构建命令。

如何使用这个 Agent?

首次使用先注册项目:在主看板工具栏点击放大镜扫描按钮(位于项目筛选与 + New Task 之间),选择本地或远程 git 仓库路径后点击 Scan & Register,KanVibe 会登记仓库、识别已有 worktree 分支并安装受支持的代理钩子。随后在看板上新建 TODO 任务并填写分支名,它会自动创建 worktree、启动 tmux/zellij 会话并绑定终端。常用快捷键:

Cmd/Ctrl+Shift+O     全局快速任务搜索
Cmd/Ctrl+Shift+P     打开项目筛选
Cmd/Ctrl+Shift+I     打开通知面板
Cmd/Ctrl+0           任务详情页切换 AI 用量面板
Cmd+1/2/3            任务详情页切换信息 / 状态与钩子 / AI 聊天

在 Settings → Keyboard 中开启 Vim 风格控制后可使用 h/j/k/l 移动、/ 查找、n 新建、:move progress 改状态、dd 删除。移动端在 Settings → Mobile Connection → Create pairing code 生成 5 分钟有效的配对码,并在 App 内填入桌面端地址、端口 9736 与 6 位码完成配对。

这个 Agent 有哪些优点和局限?

优点
  • 以 git 分支为任务单元,创建任务即自动生成 worktree 与 tmux/zellij 会话,任务完成后自动清理,避免手工维护分支与终端
  • 同时支持 Claude Code、Gemini CLI、Codex CLI 与 OpenCode 的钩子,并由看板实时反馈 PROGRESS/PENDING/REVIEW 状态;Gemini CLI 因缺少 AskUserQuestion 而明确不支持 PENDING
  • 键盘优先设计覆盖快速搜索、项目筛选、通知、任务详情 dock 编号快捷键与 Vim 风格看板操作
  • 终端能力完整:xterm.js 串流、6 种窗格布局、每窗格自定义命令、SSH 远程终端与 Nerd Font 渲染
  • 内置 AI 账号与用量面板,直接复用各 CLI 已存储的登录态,不额外需要 API key,也不改写凭据
  • 桌面(Electron + Homebrew Cask)与浏览器自托管两条路径,并有可自行构建的 Flutter 移动端镜像终端
局限
  • 依赖栈较重:必须安装 git、tmux 与已登录的 gh,Node.js/Next.js 16 运行时、Electron 以及可选 zellij 都会影响上手成本
  • 主要围绕 tmux/zellij 设计,不在多路复用器中的会话只能靠转录活动判断,等待输入时可能被误判为空闲
  • Codex 的 PENDING 仅代表 Bash 相关的权限等待,且生成的工作树需在 Codex 中手动信任后本地钩子才会触发
  • Gemini CLI 无 PENDING 状态,子任务计数对 OpenCode 依版本而定、对 Gemini CLI 不可用
  • AGPL-3.0 授权,README 明确不允许商业 SaaS 分发
  • 移动端需自行从源码构建,README 未提供构建步骤

这个 Agent 与同类方案有什么区别?

README 自述受 workmux(tmux 工作区管理器)与 vibe-kanban(AI 驱动的看板)启发,可视为同类工具;它在此基础上的区别是同时集成 git worktree、tmux/zellij 会话、多家 CLI 钩子与用量面板。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
KanVibe 当前 45 · 缺口较多 桌面应用免费 ★ 150 今天 TypeScript Codex · Claude Code
nodeterm 65 · 存在缺口 桌面应用免费 ★ 2.4k 今天 TypeScript Codex · Claude Code
Collie 84 · 表现良好 命令行工具免费 ★ 1.6k 今天 TypeScript —
Pi Subagents 多智能体编排框架 62 · 存在缺口 Agent 插件 / 技能免费 + 模型费 ★ 136 1 个月前 TypeScript —

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
45/ 100 五分制 2.3 / 5
信任安全 11/29
可靠稳定 6/14
适用触发 9/18
规范维护 9/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全11 / 29 · 1.9/5

README 描述了大量高权限行为:自动创建/删除 git worktree 与分支、启动 tmux/zellij 会话、通过 SSH 执行远程命令、读取各 CLI 已存储的登录凭据、安装 agent hooks。但仓库只提供了 README、LICENSE、package.json 和 CI 配置,没有源码可核验这些行为是否最小权限、是否有确认步骤、是否透明。任务移到 DONE 会自动删除分支/worktree/会话,README 未说明删除前是否有确认或恢复路径,扣分。凭据方面声称不重写 CLI 存储的凭据,但无代码佐证。依赖安全仅见 pnpm onlyBuiltDependencies 白名单,无审计或锁定证据。source_attribution 因 README 明确标注 Inspired By 与 AGPL 许可,给 2。

可靠稳定6 / 14 · 2.1/5

CI 配置显示 type check、vitest、build 三道门禁,且 package.json 有大量 qa 脚本,说明项目对自洽性有投入,给 2。但依赖可用性仅靠 engines node 24.x 与 pnpm 10.34.5 声明,无 lockfile 证据,且依赖 tmux/gh/zellij 等外部二进制,给 1。失败信息方面 README 仅提到 hook 端点返回 404 并发送通知,无系统性错误处理说明,给 1。

适用触发9 / 18 · 2.5/5

README 清晰界定受众(使用 AI 编码 agent 的开发者)与场景(多项目、多 agent、键盘优先),给 2。能力边界有说明(如 Gemini 无 PENDING、Codex 仅 Bash 范围、zellij 会话仅靠 transcript 判断),给 2。触发精度方面 hook 状态映射依赖各 CLI 版本与信任路径,README 承认 Codex 需手动信任 worktree,存在误触发风险,给 1。环境适配仅覆盖 macOS(Homebrew cask、DMG),Linux 仅提快捷键,给 1。

规范维护9 / 18 · 2.5/5

README 信息架构完整,有前置依赖、快速开始、使用流程、功能、快捷键表,给 2。安装说明具体(Homebrew tap、更新卸载命令),给 2。命名稳定性无版本化 API 或命名约定说明,给 1。示例以截图和视频为主,缺少文字 FAQ 与故障排查,给 1。已知限制有专门段落(Gemini/Codex/OpenCode 差异、zellij 限制),给 2。LICENSE 为完整 AGPL-3.0 文本,给 2。版本号 1.5.0 但无 CHANGELOG,给 1。维护责任仅指向个人作者与贡献文档,发布者未经验证,给 1。

有效结果7 / 13 · 2.7/5

输出可用性方面,产品提供看板、终端、diff、AI 用量面板,README 描述具体,给 2。边际价值相对 vibe-kanban/workmux 有差异化(hook 驱动状态、AI 用量、移动端),给 2。成本效益方面需安装 tmux/gh/zellij、Node 24、Electron 打包,且自动删除分支带来风险,给 1。

证据核验3 / 8 · 1.9/5

README 的声明(hook 端点、状态映射、SSH ControlMaster 池)无源码或测试文件可交叉核验,仅 CI 配置佐证存在测试,给 1。跨源佐证仅 README 与 package.json 脚本、CI 之间部分一致,给 1。事实与推断分离方面 README 区分了各 agent 能力差异,但部分性能与行为声明(如并发上限 4x CPU)无依据,给 1。

风险与缓解建议
  • 任务移到 DONE 会自动删除分支、worktree 和终端会话,README 未说明删除前确认或恢复机制,存在数据丢失风险。
  • 应用会读取各 AI CLI 已存储的登录凭据并执行其登录命令,且通过 SSH 执行远程命令,权限范围较大,需在源码层面核验最小权限。
  • 仓库仅提供 README、LICENSE、package.json 与 CI 配置,缺少源码与测试文件,无法静态核验安全与可靠性声明。
  • 发布者身份未经验证,维护责任仅指向个人作者,更新路径依赖个人 Homebrew tap。
  • 仅支持 macOS 打包,Linux 支持有限,跨平台用户需谨慎评估。
证据充分度:低 评估于 2026年11月5日 审查版本 ed8d4fbe8fbd
查看完整评分方法 →

常见问题

它自己会调用大模型吗?需要额外购买 API 吗?
不会。KanVibe 通过各 CLI(Claude Code、Gemini CLI、Codex CLI、OpenCode)的钩子与本地登录态工作,用量面板读取的是这些 CLI 已保存的订阅凭据,不需要另外配置 API key;模型费用取决于你使用的 CLI 订阅。
任务进入 DONE 时会发生什么?
该任务的分支、worktree 与终端会话会被自动删除。好处是空间不会堆积,但如果还有未合并的改动需要先自行处理;从注册项目列表中删除项目则只清除 SQLite 记录和 KanVibe 任务,磁盘上的分支、worktree 与文件会保留。
支持的代理状态追踪是否完全一致?
不一致。Claude Code 与 OpenCode 支持 PROGRESS/PENDING/REVIEW 全流程;Gemini CLI 只有 PROGRESS 与 REVIEW;Codex 的 PENDING 只对应 Bash 相关的权限等待,且在生成的工作树中需要先在 Codex 里信任该路径。
可以用手机操作任务终端吗?
可以。Flutter 客户端通过配对码(Settings → Mobile Connection,端口 9736,6 位码 5 分钟内有效)连接桌面端,镜像 tmux/zellij 窗格并支持软键盘输入;镜像只读窗格,不会改变桌面端的焦点或窗格大小。目前需从 mobile/ 源码自行构建。
能部署成团队共用的服务吗?
文档描述的是本地自托管形态:需要本机具备 git、tmux、已登录的 gh,并依赖 ~/.ssh/config 与 ~/.kanvibe 下的 ControlMaster socket 池。AGPL-3.0 授权且不允许商业 SaaS 分发,团队共享部署需自行评估合规性。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents