Kandev
自托管的 AI 看板与开发环境:并行编排多个编码代理、审查变更、开启 PR,且无遥测、不被任何云厂商锁定。
CI 工作流显式采用最小权限(contents: read、persist-credentials: false、按 SHA 固定 action、digest 固定镜像),Docker/SSH 执行器与 git worktree 隔离并行代理,且专设'投毒环境'测试防止凭据意外注入,最小权限可得满分。审查优先理念与审批门、快照脱敏/Gist 撤销、可选主机名解析等表明用户确认与敏感数据处理基本到位,但确认交互的具体形态在所给文件中只见测试与叙述,未见产品级文档细节,故记 2。无遥测、自托管、可配置 secrets 属于透明性加分,但代理输出与对话流向第三方代理供应商本身缺少逐项数据流说明,扣 1 分。对外部效果(开 PR、webhook 触发)可配置且有审查环节,但自动触发对远端的破坏性操作防护未在文件中直接展现。回滚仅见会话恢复与 git 变更面板,无明确的回滚/恢复机制文档,记 1。来源归属清晰(致谢、AGPL、issue/Discord 渠道),但发布者身份未经验证且无维护主体明确说明。
README 与工作流、e2e 测试在认证、合并队列、CI 门禁等叙述上一致,未见自相矛盾;对 nightly 为 best-effort、npm 运行时不固定等自我声明坦率,自洽记 2。依赖可用性方面提供了 Update agent 机制、mise 固定工具链与预构建 CI 镜像,但代理运行时故意不固定、依赖 npm 缓存 best-effort,属已声明的部分处理。失败路径有较多证据:e2e 断言错误文案(如 Could not update hostname resolution)、CI 对取消/跳过的语义有细致处理、fail-open 逻辑有注释说明,但产品级错误处理文档未见于所给文件,记 2。
受众与场景描述充分:power user、团队流程、远程/手机访问、多仓库、多供应商,文档分层清晰,可得 3。环境适配强:macOS/Linux/Windows、Homebrew/Scoop/NPX/Docker/SSH/云端执行器,开发环境由 mise 固定。能力边界部分到位:Office mode 明确标注'未上线不作为支持特性'、部分代理需手动安装,但对代理能力的硬限制(如危险命令防护、沙箱边界)未成文,记 2。触发精度:调度与 webhook 有并发、目标与上下文配置,但触发条件匹配/去抖等细节未见,记 2。
信息架构优秀:README 导航到 features/workflows/architecture/roadmap/CONTRIBUTING 等结构化文档,满分。安装说明覆盖四种渠道、更新路径、nightly 语义、源码构建与前置工具版本,满分。命名稳定:kandev 命名、env 前缀 KANDEV_ 一致,但版本策略仅见 latest/nightly 标签。示例有截图、workflow-tips、添加代理指南,但 FAQ 缺失,记 2。已知局限有坦率披露(nightly best-effort、运行时不固定、Office mode 未就绪),记 2。许可证为完整 AGPL-3.0 全文,满分。未见到 CHANGELOG 或版本历史文件,版本演进仅靠 npm 标签,记 1。维护责任通过 issue tracker、Discord、贡献指南体现,但无明确的维护者/响应承诺文档,记 2。
输出可用性强:集成式审查工作台(编辑器、终端、浏览器预览、git 变更、PR 链接)、会话恢复与快照分享,满分。相对既有 TUI 终端代理的边际价值论述明确且具体(审查不可扩展、远程执行、多供应商并排、服务器优先架构),满分。成本收益:自托管无遥测、可在自有基础设施上运行是明确的收益,但资源开销、代理 API 成本追踪等仅在 Office mode 路线图中,记 2。
关键声明多有文档链接支撑(features、agents-and-profiles、run-as-a-service),且 CI 工作流与 e2e 测试从代码层佐证了 README 中认证与安全相关声明(如 cookie 端口作用域、成员隔离、匿名 WS 拒绝),记 2 而非 3,因为仍有大量特性声明(各代理集成质量、Sprites、插件市场)在所给文件内无法交叉验证。跨来源印证:README、工作流注释、测试三者对安全与工程实践相互印证,程度良好但覆盖不完整。事实与推断区分良好:Office mode 明确标注进行中、K8s operator 标注为愿望、iFlow 标注 beta,夸大表述少,记 2。
- 本评估为静态源码审查,置信度为低;未执行任何运行时验证,实际安装、认证与代理行为需自行复现。
- 发布者身份未经验证:kdlbs 组织无法通过企业注册表确认,生产采用前请自行核验维护主体与供应链(Homebrew tap、Scoop bucket、npm 包归属)。
- 代理运行时故意不固定版本,依赖 npm best-effort 缓存;对供应完整性敏感的环境应审计并固定上游版本。
- 自动化(调度/webhook)可触发代理执行并开 PR:请为其配置最小凭据与审查门,避免授予破坏性远端权限。
- 回滚能力在文件中未见明确机制:任务变更依赖 git worktree/PR 审查,误操作恢复路径请自行演练。
- 自托管 Web 服务若暴露到网络,务必启用可选认证(KANDEV_FEATURES_AUTH)、使用 Tailscale/Cloudflare Tunnel 等私有通道,并保持实例不公开可访问。
这个 Agent 能做什么,适合哪些场景?
Kandev 是一个面向高级用户的开源 AI 看板与开发环境,用于管理和并行运行 AI 编码代理任务。它由 Go 后端(编排器、生命周期管理、agentctl、WS 网关)、Vite/React 前端、CLI 启动器和 Tauri 桌面壳组成。代理通过 ACP(Agent Client Protocol)接入,支持 Claude Code、Codex、GitHub Copilot、Gemini CLI 等 20 余个代理,也支持把任意代理 CLI 以 TUI 方式运行(CLI passthrough)。任务在 Git worktree 中隔离执行,可通过本地进程、Docker 容器、SSH 远程服务器或 sprites.dev 云环境运行。集成工作区包含终端、带 LSP 的编辑器、文件树、浏览器预览和 git 变更面板;项目以 AGPL-3.0 许可发布,可在本地或自建基础设施上部署,支持通过 Tailscale 或 Cloudflare Tunnel 远程访问。
Kandev 将待办事项拉入看板(可集成 GitHub、GitLab、Jira、Linear、Sentry、Azure DevOps,Bitbucket 通过插件),以拖拽列和自动化规则管理任务流。用户指派代理到任务后,Kandev 在独立的 Git worktree 中启动代理进程(经 ACP 或 CLI passthrough),执行器可选本地进程、Docker、SSH 或 sprites.dev。代理输出(代码变更、会话对话)呈现在集成工作区中,包含内置终端、带 LSP 的代码编辑器、git 变更面板、嵌入式 VS Code 和聊天视图;人审查后可将每个仓库的分支开启为 PR。代理可经任务级 MCP 创建子任务、跨仓库操作、互发消息;外部代理也能通过 streamable HTTP/SSE 的外部 MCP 管理 Kandev。工作流可导出/导入为可移植的 YAML,任务还可定时或经 webhook 触发。
- 在大型代码库上并行运行多个代理的资深开发者:用 worktree 隔离避免冲突,避免本机资源被榨干。
- 希望人审代码后才能合并的团队:用审查优先的工作流门禁,在集成工作区里审查代理变更再开 PR。
- 需要异地/移动端监督代理的工程师:自托管到服务器,经 Tailscale 或 Cloudflare Tunnel 用手机查看和控制任务。
- 想混合使用不同厂商代理的团队:例如 Claude Code Opus 做方案、GitHub Copilot Sonnet 实现、Codex 审查,按步骤编排管道。
- 需要定时或事件驱动任务的团队:用 Automations 按计划或 webhook 触发代理任务并控制并发。
- 把超大任务拆分成多个 PR 的开发者:让代理通过子任务机制从父会话延续并产出多个 PR。
这个 Agent 有哪些优点和局限?
- 多厂商代理并排使用:支持 20+ 个 ACP 代理(Claude Code、Codex、Copilot、Gemini CLI、Cursor、Devin 等),不被单一供应商锁定。
- 服务器优先架构:核心应用以服务运行,可从任意设备(包括手机)访问,且支持 SSH、Docker、sprites.dev 等远程执行器,突破本机算力限制。
- 审查优先的集成工作区:终端、带 LSP 的编辑器、git 变更面板、嵌入式 VS Code 和聊天集中一处,弥补终端 TUI 难以规模化审查的短板。
- worktree 隔离与多仓库任务:并发代理互不冲突,一个任务可跨多仓库、多分支产出多个 PR。
- 无遥测、可自托管:数据留在自己基础设施,工作流可用可移植 YAML 在多个 Kandev 实例间迁移。
- 运行时依赖较重:从源码构建需 Go 1.26.0、Node.js 24、pnpm 9.15.9;npx 安装需 npm 7+;容器执行器需额外配置 Docker。
- 代理本身需要各自的订阅或凭据(如 Cursor 需 Cursor Pro,Devin/Kimi/Kiro/Qoder/Trae 需单独安装其 CLI),实际成本取决于所选代理。
- Office mode(持久代理团队自治层)仍在开发中,属于 feature-flag 预览,尚未作为受支持功能提供文档。
- K8s 执行器尚未实现,仅列在路线图中;远程弹性扩缩需另行等待。
- AGPL-3.0 许可对将其作为闭源服务二次分发的团队有合规约束。
如何安装或部署这个 Agent?
macOS/Linux(Homebrew):brew install kdlbs/kandev/kandev && kandev。Windows(Scoop):scoop bucket add kandev https://github.com/kdlbs/scoop-kandev && scoop install kandev && kandev(原生捆绑包,无需 Node.js)。NPX:npx kandev@latest(需 npm 7+)。全局 npm:npm install -g kandev@latest && kandev。试用 nightly:npx -y kandev@nightly。从源码:git clone [email protected]:kdlbs/kandev.git && cd kandev && make start,需 Go 1.26.0、Node.js 24、pnpm 9.15.9(mise.toml 固定版本),Docker 可选。worktree 与 SQLite 数据库默认存放在 ~/.kandev。支持 macOS、Linux、Windows(WSL 或原生)。
如何使用这个 Agent?
启动 kandev 后打开 Web UI,将代理配置进 agent profile(选择 ACP 包如 @agentclientprotocol/claude-agent-acp,或在 profile 中填入任意 CLI 命令以 TUI 方式运行)。把 GitHub/GitLab/Jira/Linear 等来源的 issue 拉入看板,创建任务并指派代理,选择执行器(本地进程/Docker/SSH/Sprites)。代理在隔离 worktree 中运行;在集成工作区(终端、编辑器、git 变更面板、聊天)中审查和迭代变更,确认后开启 PR。可在 Settings 中配置执行器 profile、secrets、自定义提示词、MCP、插件与更新;用 Settings > System > Updates 在 Stable/Nightly 间切换(限 npm/npx 安装)。远程访问按 docs/public/mobile-remote-access.md 经 Tailscale 或 Cloudflare Tunnel 接入。