用途 Clave 是一款面向 macOS 的桌面应用,核心用途是在同一界面中并行管理多个编码智能体(coding agent)会话。它定位为服务商无关(provider-agnostic)的工具,可同时运行 Claude Code、Antigravity CLI、Codex CLI 和 Pi 会话,并按需要开启任意数量,通过分屏(split)或网格(grid)布局排列,在不同会话之间即时切换。
主要能力
- 多智能体会话管理:每个会话运行在独立的 PTY 中,另外还可打开普通终端。支持命名启动配置(named launch profiles),可用 TokenOps 等工具包装 CLI,同时由 Clave 掌控会话与恢复(resume)参数。
- 内置 Git 工具:提供完整的 Git 面板,含 diff 查看器与提交历史,并包含 MagicSync 功能——一次点击完成 pull、暂存、由 AI 生成提交信息、commit 和 push。
- 与智能体并排编辑:可将 Markdown、HTML 或结构化邮件关联到其来源会话,在专注的双栏视图中编辑,支持自动保存、受管附件与签名;智能体可读回审阅后的草稿并通过自身渠道发送。
- 本地与远程文件:可在本机或通过 SSH/SFTP 在远程主机上浏览和编辑文件,并提供语法高亮预览。
- 远程会话:可通过 SSH 连接任意主机并在其上运行智能体,界面与快捷键保持一致。
- 完全本地:桌面应用无云端后端、无账号,代码、会话和密钥保留在本机。
插件能力 仓库中的 plugin/ 目录提供一个配套智能体插件,可让任意 Claude Code、Cursor 或其他 Open-Plugin 兼容的编码智能体生成 .clave 工作区文件。该插件与 .clave 格式一同发布,以确保两者始终同步。安装方式(任意 Open-Plugin 兼容宿主,会自动检测 Claude Code、Cursor 等):
- 通用命令:/plugin install clave@clave(文档中以占位形式给出,具体安装命令被折叠描述)
- Claude Code 原生替代方式:/plugin install clave@clave 两种方式安装相同两个技能:/clave:create-workspace 和 /clave:recover-sessions。用法是向智能体提出类似“create a clave workspace for this repo with 3 sessions”的请求,它会将有效的 .clave 文件写入指定路径,之后在 Clave 中打开该文件;或在崩溃后提出“recover the sessions I lost”,它会根据 Claude Code 已存储在磁盘上的会话记录重建分组。卸载方式为在 Claude Code 中执行 /plugin uninstall clave@clave,或使用宿主的等效命令。此前该插件以 codika-io/clave-plugin 分发并安装为 clave@clave-plugin,该仓库已归档;若从该仓库安装,需卸载并重新执行上述命令。
使用方式与获取
- 下载最新版本(macOS 通用版,支持 Apple Silicon 与 Intel),访问全部发布版本页面。
- 下载 .dmg 后拖入“应用程序”即可,内置自动更新,安装后新版本会在后台静默下载。
- Windows(早期):每个发布版本也附带 clave-<version>-setup.exe(64 位安装程序),该安装包未进行代码签名,因此 SmartScreen 会拦截一次:点击“更多信息”→“仍要运行”。自动更新机制与 macOS 相同。
- 卸载:退出 Clave 并将其从 /Applications 拖到废纸篓;如需同时移除本地设置与缓存的会话数据,删除 ~/Library/Application Support/clave。
系统要求
- macOS(Apple Silicon 或 Intel),或 Windows 10+(x64,早期版本)。
- 至少安装并完成认证一种受支持的智能体 CLI:Claude Code、Antigravity CLI、Codex CLI 或 Pi。
平台差异 Windows 目前落后于 macOS:智能体状态点(working / idle / needs you)和基于 tmux 的会话持久化仅限 macOS,且 Pi 会话不可用。Windows 上会话通过 ConPTY 在 cmd.exe 上运行,不需要 POSIX shell(Git Bash、WSL)。
隐私与网络 Clave 采用本地优先设计,无账号或登录,会话、历史与设置保留在本机。唯一回传的是一天一次的匿名 ping,用于统计实际使用人数。其载荷仅包含三个字段,id 是本机生成的随机 UUID,不含邮箱、用户名或硬件指纹,服务器只存储其带密钥的哈希,绝不存储原始 ID。可在“设置 → 常规 → 隐私”中关闭该 ping(首次启动会显示通知并提供一键“关闭”)。该客户端约 100 行,可在 src/main/telemetry.ts 查看,失败时静默处理、单次检查内不重试,且绝不影响应用行为。除此之外,Clave 仅进行以下网络请求:
- Claude Code 通过用户本地的 Claude Code 安装访问 Anthropic API,Clave 不会代理或看到该流量。
- 自动更新:electron-updater 检查 GitHub Releases 中的新版本,并在退出时安装已签名、已公证的构建。自动下载默认关闭。
- 使用情况 ping:上述每天一次向 ping.clave.work 发送的匿名 POST(可选,可在设置中开关)。
- Git 操作:对用户自有仓库所使用的远程执行标准 fetch/pull/push。
- SSH / SFTP:仅连接用户显式添加的远程主机。
- OpenClaw 智能体聊天:可选 WebSocket 连接,仅在连接运行 OpenClaw 的 SSH 位置时建立。 “Dangerous Mode”会话(Cmd+D)以 --dangerously-skip-permissions 启动 Claude Code,它绝非默认选项,并在 UI 中明确标注。
构建与签名说明 仓库提供从源码构建的说明。macOS 签名方面,scripts/release.sh 将签名证书导入自有 keychain,并通过 CSC_KEYCHAIN 交给 electron-builder,而不是让 electron-builder 从 CSC_LINK 创建。文章解释了为何如此:electron-builder 的 importCerts() 对每个证书运行两条命令,第二条命令中的 -k 参数是用于解锁 keychain 的密码,但传入的是证书密码;由于 electron-builder 会生成随机 keychain 密码,两者永远不匹配,导致该命令失败并使构建失败。该行代码在 electron-builder 26.7.0 至 26.16.0 中均存在,升级无法修复。作者未能复现该命令在密码不匹配情况下的成功运行,但确认其 CI 曾长期正常工作后停止;最后一次成功构建与首次失败构建之间仅 GitHub runner 镜像不同(macos-26-arm64 20260728.0273 → 20260831.0337),代码、electron-builder 26.7.0 与凭据均相同,因此触发因素来自环境,但无法确定具体原因,且原始构建日志已过期。已核实:security set-key-partition-list -k 会针对 keychain 校验其参数,并拒绝证书密码(除非它恰好是 keychain 密码);该调用未经防护地 await,失败即导致构建失败;同一行存在于 electron-builder 26.7.0 至 26.16.0(撰写时最新),故升级不是修复方案。macPackager 在 CSC_LINK 未设置时按给定值使用 CSC_KEYCHAIN,这正是 release.sh 使用的接缝:它创建 keychain、导入证书、解锁、用 keychain 自身密码设置 partition list,并在 CSC_LINK / CSC_KEY_PASSWORD 未设置的情况下运行构建,从而不会进入上游路径。公证不受影响,仅读取 APPLE_ID、APPLE_APP_SPECIFIC_PASSWORD 和 APPLE_TEAM_ID。EXIT trap 会恢复 keychain 搜索列表并删除 keychain。
技术栈 Electron、React 19、TypeScript、xterm.js、node-pty、Zustand、Tailwind CSS v4、Framer Motion、shiki、simple-git、ssh2。
适用场景与限制 适用于需要在 macOS 上同时处理多个编码智能体会话、跨服务商切换、并内置 Git 与文件编辑协作的开发者。限制包括:Windows 版本处于早期,缺少部分 macOS 特性且不支持 Pi 会话;需要用户自行安装并认证至少一种受支持的智能体 CLI;Dangerous Mode 具有权限跳过风险,需谨慎使用;应用为本地优先,不提供云端同步或账号体系。关于收费、价格与具体平台支持范围等信息暂未提供。