Skiff

多代理编码终端:让 Claude Code、Codex 等代理并行运行、互相派活并汇总结果。

Star 数
★ 19
最近更新
1 天前
License
MIT
主语言
Rust

30 秒速览

运行形态
桌面应用命令行工具
可在哪里用
兼容但需适配Codex · Claude Code
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Linux(x86_64)或 macOS(Apple Silicon)Gitpnpm 与 Rust 工具链(仅源码构建时需要)Shell / 命令行本地文件系统
典型场景
同时维护多个仓库的开发者,希望在 Linux 或 macOS 上把一个项目的多个 worktree 会话并排运行。
不适合
  • Windows 用户:官方仅提供 Linux 与 macOS 版本
  • 不想另行安装 Claude Code、Codex 等编码代理的用户
  • 只想要单个代理窗口、不需要多会话管理的轻度使用者

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

Skiff 是一个面向编码代理的终端桌面应用,运行于 Linux 与 macOS,基于 Tauri v2、Rust 与 xterm.js 构建。它把每个代理会话放在独立窗格中,支持跨项目与 Git worktree 同时运行多个 Claude Code、Codex 等代理,窗格会用铃声提示审批请求、用标记提示被忽略的完成回合。后台守护进程 skiffd 通过 Unix 套接字持有全部 PTY,因此关闭窗口后代理仍继续运行。内置的 Skiff 代理(Admiral)可以向其他会话和项目 Skipper 派发任务,并把结果收集到 ledger 中;任何代理都可以通过随应用安装的 skiff 命令行做同样的事。Skiff 自身不编辑文件,也不向代理安装 hook 或插件,只是启动你已有的工具,所有设置集中在一个 projects.toml 文件里。

Skiff 启动后会连接一个 Host(默认是本机的“This Mac”,也可在设置中添加 SSH Host),并通过 Host API 读取项目、Git、文件、图像、ledger、Skipper 与代理信息。用户添加 Git 仓库或普通文件夹作为项目,在其中创建 worktree,并在每个 worktree 里启动代理或 shell 会话;相关会话可以放进命名的 group 并排展示。每个会话由 skiffd 通过 PTY 承载,状态由屏幕内容和终端前台程序推断,而不是通过钩子。点击顶部 Admiral 行可启动 Skiff 代理,它把任务分派给其他会话与 Skipper,并在 Ledger 面板追踪任务进度;Ctrl+Shift+A 打开 Mission control,以图的形式展示整个代理层级。skiff 命令让 shell 或代理直接驱动会话、分组以及 ledger 与 watcher。打开文件时,Skiff 调用 Settings › Open with 中配置的编辑器、diff 工具或文件管理器。

  1. 同时维护多个仓库的开发者,希望在 Linux 或 macOS 上把一个项目的多个 worktree 会话并排运行。
  2. 需要让 Claude Code 与 Codex 在同一任务上分工,由一个上层代理统一派活并汇总结果的团队。
  3. 希望关闭窗口后代理继续跑、稍后回来查看审批请求与完成情况的重度用户。
  4. 想把代理会话通过 SSH 放在服务器上运行、在本地界面统一操作的工程师。
  5. 需要把多代理流程脚本化、从 shell 或代理中用 skiff 命令驱动会话与 ledger 的自动化场景。

如何安装或部署这个 Agent?

从 GitHub Releases 页面下载最新版本,官方提供以下安装包:

- Linux(x86_64):.deb、.rpm 或 AppImage
- macOS(Apple Silicon):.dmg,已签名并公证

从源码构建并打包当前系统的安装包:

cd apps/desktop && pnpm install && pnpm tauri dev
cd apps/desktop && pnpm bundle   # packages for this OS, with skiffd inside

skiff 命令行随应用一起安装,无需单独获取。

如何使用这个 Agent?

  1. 启动应用,添加一个项目(Git 仓库或普通文件夹)。
  2. 在项目中创建 worktree,并在每个 worktree 中启动代理或 shell 会话。
  3. 把相关会话放进命名分组,并排排列。
  4. 点击顶部 Admiral 行启动 Skiff 代理,由它派发任务并在 Ledger 中跟踪。
  5. 按 F1 查看全部快捷键,按 Ctrl+Shift+A 打开 Mission control。

从 shell 或代理中驱动会话:

skiff daemon reload

修改 skiffd 源码后需执行上述命令重载运行中的守护进程;开发时可用环境变量指向独立的测试守护进程:

SKIFF_SOCKET=/tmp/skiff-test.sock skiff daemon reload

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

优点
  • 会话由守护进程 skiffd 持有,关闭窗口后代理继续运行,打开窗口即可接续。
  • 通过屏幕与终端前台程序推断会话状态,不向代理安装 hook 或插件,不侵入现有配置。
  • 支持 Claude Code、Codex 等多种编码代理,并可在同一项目的多个 Git worktree 间并行运行。
  • Admiral 代理与 Skipper 层级配合 ledger,把多代理协作变成可追踪的任务流,且任何代理都能用 skiff 命令参与。
  • 全部设置集中在单个 projects.toml 文件,便于版本管理。
  • 提供签名的 macOS 安装包与 Linux 三种包格式,安装路径明确。
局限
  • 仅支持 Linux(x86_64)与 macOS(Apple Silicon),没有 Windows 版本。
  • 本身不包含模型能力,需要用户自备 Claude Code、Codex 等代理及其账号与用量。
  • 从源码构建需要 pnpm、Tauri 与 Rust 工具链,构建门槛高于直接下载。
  • 重载守护进程需要手动执行 skiff daemon reload;守护进程接口变化时还要同步提升版本号与 HANDOVER 元数据。
  • 大量功能细节分散在 GitHub Wiki 中,README 本身只覆盖主干流程。

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

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

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Skiff 当前 40 · 缺口较多 桌面应用免费 + 模型费 ★ 19 1 天前 Rust Codex · Claude Code
OpenTeams 56 · 缺口较多 桌面应用免费 + 模型费 ★ 581 23 天前 TypeScript Codex · Claude Code
Parallel Code 53 · 缺口较多 桌面应用免费 + 模型费 ★ 1.1k 1 天前 TypeScript Codex · Claude Code
Alethe 多智能体编码工作台 65 · 存在缺口 桌面应用免费 + 模型费 ★ 1.1k 3 天前 TypeScript Codex · Claude Code

FollowAgents 如何评估这个 Agent?

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

证据显示 Skiff 明确声明不安装 hooks/plugins、不编辑文件、设置集中在 projects.toml,且发布流程对 macOS 签名公证、服务器包用 minisign 签名,属于正向的最小权限与供应链姿态。但仓库本身是一个可运行任意编码代理的终端,代理可互相派发任务并执行命令,README 未说明权限边界、审批策略或敏感数据(终端内容、凭据)如何处理;测试中甚至出现 --dangerously-skip-permissions 与 --yolo 这类跳过审批的开关,却无对应风险说明。回滚方面仅有 daemon reload 与版本号提升的提示,缺少对代理副作用的撤销机制。因此各项仅给 1,敏感数据处理因无任何证据给 0。

可靠稳定5 / 14 · 1.8/5

README 与 Cargo.toml 结构一致,CI 工作流覆盖 host 边界、TS 类型检查与多组 cargo 测试,说明有一定自洽性;但依赖可用性仅靠 Cargo 版本约束与 vendor 补丁,未给出锁定或审计证据,失败信息在源码中不可见。故均给 1。

适用触发10 / 18 · 2.8/5

README 清楚描述目标用户(并行使用 Claude Code/Codex 的开发者)、场景(多项目、worktree、分组、Admiral 派发)与能力边界(只管会话、不编辑文件、不装钩子),这部分给 2。但触发精度(何时派发、何时需审批、代理间任务如何界定)缺乏细节,仅给 1;环境适配明确 Linux/macOS 与 SSH Host,给 2。

规范维护10 / 18 · 2.8/5

README 有清晰目录结构、安装步骤、开发命令与 wiki 链接,信息架构与安装说明给 2;许可证为完整 MIT 文本给 3;版本号在 Cargo.toml 与发布流程中体现,给 2。但命名稳定性、示例/FAQ、已知限制仅有零散提及,各给 1;维护责任因发布者未经验证、无 CONTRIBUTING/SECURITY 等文件,给 1。

有效结果4 / 13 · 1.5/5

产品定位清晰,输出可用性(会话、ledger、Mission control)有描述但无实际产物示例;边际价值与成本收益依赖用户已有代理工具链,README 未量化收益或资源开销,故均给 1。

证据核验3 / 8 · 1.9/5

README 的声明(不装钩子、签名发布、CI 测试)可在工作流与 Cargo 配置中部分交叉印证,但多数功能声明仅来自 README 自身,缺少独立来源;事实与推断的分离在文档中不明显。故均给 1。

风险与缓解建议
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 该终端可运行任意编码代理并允许代理互相派发任务,README 未说明权限边界与审批策略;测试中出现 --dangerously-skip-permissions 与 --yolo 等跳过审批的开关,需谨慎评估。
  • 发布者身份未经验证,维护责任与更新路径不明确,建议在采用前核实来源。
  • 依赖通过 vendor 补丁替换上游 crate,缺少锁定与审计证据,供应链风险需自行评估。
  • 缺少敏感数据处理(终端内容、凭据)的说明,也未提供代理副作用的回滚机制。
证据充分度:低 评估于 2026年11月4日 审查版本 93cdf247f275
查看完整评分方法 →

常见问题

Skiff 自己会调用大模型吗?
不会。Skiff 管理终端会话,实际编码由你在窗格中运行的 Claude Code、Codex 等代理完成,费用与用量跟随这些代理各自的账号。
关闭窗口后正在运行的代理会中断吗?
不会。skiffd 守护进程持有每个 PTY,关闭窗口后代理继续运行,重新打开窗口即可接续。
Skiff 会修改我的代理配置吗?
不会。它不安装 hook 或插件,只读取会话屏幕内容和终端前台程序来判断状态;设置全部保存在 projects.toml 中。
可以在远程服务器上跑代理吗?
可以。在 Settings › Hosts 中添加 SSH Host,会话、项目、Git、文件、图像、ledger、Skipper 与代理都通过 Host API 访问。
支持 Windows 吗?
当前发布的版本只有 Linux(x86_64,.deb/.rpm/AppImage)与 macOS(Apple Silicon,.dmg),未见 Windows 构建。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

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

相关 Agents