Caprock
把 Claude Code、Codex、OpenCode 等编码代理放进同一个终端工作台,并让每一笔花费、每一次卡住和每一条 PR 都可见。
- 源仓库
- dspv/caprock
- Star 数
- ★ 23
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- Go
- FA 评分
- 62/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code · OpenAI API · Claude API
- 费用
- 有免费版,另有付费云服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 同时用 Claude Code 与 Codex 的开发者在同一窗口对照两个代理的会话与花费,而不必在多个终端间切换。
- 不适合
- 需要代码签名与公证安装包的合规团队(当前应用未签名未公证)
- 只想用浏览器仪表盘、不愿在本机跑守护进程的用户
- 依赖 Codex/Gemini 完整成本与审批告警的用户(这些部分尚未完整覆盖)
- 源码审查
- 62/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
Caprock 是一个本地优先的桌面应用(Tauri,支持 macOS、Windows、Linux),底下跑着一个 Go 编写的本地守护进程,守护进程同时提供浏览器仪表盘。它把 Claude Code、Codex、OpenCode、Gemini CLI、DeepSeek Harness 和 Hermes Agent 的会话放进标签页与分屏终端,按项目与 git worktree 组织,并旁挂一个普通 shell。它读取各代理自己写下的 transcript、数据库与 OpenTelemetry,把每个回合按 API 列表价折算成成本,按仓库、模型、服务与工具调用拆解,并与 Claude 的 5 小时/每周额度窗口对照展示。它还展示仓库的 PR 及其 CI 检查矩阵,可以把失败的 CI、冲突或落后的分支交回给代理修复。所有数据落在一个本地 SQLite 文件里,仅监听回环地址,无账号、无遥测;手机可通过端到端加密的中继或局域网配对访问,caprock mcp 则让代理以只读方式查询历史、成本与 CI。
Caprock 运行一个本地守护进程(caprock up,默认 localhost:22776)和一个 Tauri 桌面壳。它通过钩子(写入 ~/.claude/settings.json 的 hook 与状态行,先备份并征得同意)与 transcript 观察 Claude Code 会话,通过 OpenCode 自己的数据库(只读打开)、Codex 在 $CODEX_HOME/~/.codex 下每会话的 transcript(含归档)、DeepSeek Harness 的 transcript、Gemini CLI 的 OpenTelemetry 文件以及 Hermes Agent 的 ~/.hermes/state.db 收集其他代理的用量。每个回合按 Anthropic、OpenAI 等厂商的列表价折算成本(OpenCode 与 Hermes 使用其自报数字),生成 Home 的活动脉冲、Cost 与 Lifetime 报表、上下文税(下一次调用的成本)以及按工具调用分组的分析。它还能启动、输入并停止它自己启动的会话,汇总 PR 与其逐 job/逐 OS 的 CI 检查,提供 Changes 视图做暂存、提交与推送,并给出 caprock report、caprock export、caprock doctor、caprock sessions rm 等 CLI 输出。可选的 task runner(caprock up --hive … --repo …)在独立 git worktree 中无人值守地跑任务,只有 done_criteria 中的 shell 命令全部退出 0 才算完成。
- 同时用 Claude Code 与 Codex 的开发者在同一窗口对照两个代理的会话与花费,而不必在多个终端间切换。
- 用 Claude Max/Pro 订阅跑大量代理工作的用户,需要看清列表价折算的用量与 5 小时/每周额度消耗,避免不知不觉超限。
- 在 monorepo 中维护多个服务的团队,想按仓库、按服务拆分每个代理会话的成本。
- 需要在不离开窗口的情况下查看 PR 的 CI 矩阵、失败 job 与执行时长,并用『Fix CI with agent』把失败交回代理的维护者。
- 希望在手机上(移动数据或同一 Wi-Fi)批准代理的权限请求、查看花费并继续会话的远程工作者。
- 想让代理自己检索过往会话决策、仓库成本与 CI 状态的团队,通过
caprock mcp暴露只读查询接口。
如何安装或部署这个 Agent?
macOS 用 Homebrew cask 安装桌面应用:
brew install --cask dspv/tap/caprock-app也可直接从 Releases 下载 macOS .dmg、Windows 安装器、Linux .AppImage/.deb/.rpm。注意当前应用未做公证与代码签名,.dmg 首次打开需走一次『Open Anyway』,Windows 需在 SmartScreen 选『Run anyway』,细节见 docs/install-app.md。
只想跑守护进程与浏览器仪表盘:
# macOS / Linux
brew install dspv/tap/caprock
# Windows
scoop bucket add dspv https://github.com/dspv/scoop-bucket
scoop install caprock
# 有 Go 环境
go install github.com/dspv/caprock/cmd/caprock@latest运行 caprock up 会打开 localhost:22776,并询问是否安装钩子与额度状态行。首次运行会读取 Claude Code 已写的 transcript,历史自动出现,无需迁移;若旧版 PyPI 的 Python caprock 仍在,需要先卸载以免命令冲突。
如何使用这个 Agent?
启动守护进程并打开界面:
caprock up在桌面应用中按 ⌘T 开 shell、⇧⌘N 开代理、⌘O 添加/创建/克隆项目;每个项目下按 worktree 展开会话,等待你批准的会话置顶。要在登录时自动启动:
caprock service install
caprock service status生成可发布的用量报表与导出数据:
caprock report --markdown
caprock export --since 30d > events.tsv
caprock export sessions --format csv --out s.csv把 Caprock 作为只读 MCP 服务接给代理:
claude mcp add caprock -- caprock mcp
codex mcp add caprock -- caprock mcp可选的无人工任务队列(默认关闭,代理以跳过权限提示运行,需给每个任务设预算):
caprock up --hive ~/caprock-tasks --repo ~/dev/myproject
caprock task create --title "Add a /healthz endpoint" \
--done-criteria "go test ./..." --done-criteria "go vet ./..." --budget 3手机访问:在应用 Settings → Use on your phone 中按 Connect a phone 生成二维码配对;或在 SSH 中用 caprock remote on 与 caprock pair(仅查看)。Premium 功能用 caprock license set YOUR-KEY 激活。
这个 Agent 有哪些优点和局限?
- 多代理同屏:Claude Code、Codex、OpenCode、Gemini CLI、DeepSeek Harness、Hermes Agent 的会话共用同一套成本、历史与项目视图,并可按代理筛选。
- 成本核算具体到单次调用:上下文税、缓存命中比例、按仓库/模型/工具调用的拆解,以及 Claude 与 Codex 的额度窗口对照,均为从 transcript 实测而非估算。
- 本地优先的可审计边界:数据只存本地 SQLite,仅监听回环,外发功能(发版检查、GitHub、Telegram、Gemini 问答)逐个默认关闭。
- PR 与 CI 就在代理旁边:逐 job/逐 OS 的检查矩阵、耗时、失败重跑,以及从行内触发『Fix CI with agent』。
- 提供只读 MCP 服务
caprock mcp,让正在工作的代理自行查询历史决策、成本与 CI 状态。 - 启动与观察 Gemini、Codex、OpenCode 等会话免费;Premium 只针对额外控制类功能。
- 桌面应用尚未代码签名与公证,macOS 需手动『Open Anyway』、Windows 需绕过 SmartScreen,企业分发受限。
- Codex 成本存在明确误差:未标模型的回合不计价、约半数 token 报告无法按类型拆分导致成本是上界、gpt-6 缓存写入被漏报可能偏低。
- Telegram 告警目前只覆盖 Claude Code,Codex 与 OpenCode 的审批与完成事件无法读取;DeepSeek Harness 只读,task runner 仅支持 Claude Code。
- Linux/Windows 上应用能构建、测试通过但作者未实际运行验证,存在运行时风险。
- task runner 以
--dangerously-skip-permissions运行,不处理并发冲突也不合并分支,需要人工落地与预算约束。 - 手机远程控制权限等同于在家目录拥有一个 shell,只能授予自己的设备;纯 HTTP 局域网访问没有推送通知与离线副本。
这个 Agent 与同类方案有什么区别?
README 明确区分了同名的旧 Python caprock(PyPI 上读取代理流量的命令行统计工具):本仓库是全新的 Go 二进制与仪表盘,数据与安装方式均不同,升级前需卸载旧包。除此之外,README 把 task runner 类比为『git worktree 加 shell 循环』,并提到 Claude Code 自带的 30 天 transcript 清理作为它保留历史的原因,但未对其它多代理管理工具做点名对比。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Caprock 当前 | 62 · 存在缺口 | 桌面应用免费版 + 付费版 | ★ 23 | 今天 | Go | Codex · Claude Code · OpenAI API · Claude API |
| AOCI-CODE:给编码智能体的代码库认知索引 | 52 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.6k | 5 天前 | Go | Codex · Claude Code |
| Yardsort | 70 · 存在缺口 | 桌面应用免费 | ★ 11 | 9 天前 | Rust | Codex · Claude Code |
| Helmor 本地多智能体工作台 | 52 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 1.3k | 2 个月前 | TypeScript | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
SECURITY.md 明确说明本地 API 无登录、仅靠 loopback 与 Origin/Host 校验防护,且承认浏览器可向 127.0.0.1 发请求,属于权限面偏宽,故 least_privilege 仅 1;用户确认做得较好(首次运行询问 hook、通知仅在展示完整请求时给 Approve),给 2;数据流透明性文档详尽(逐项列出出站主机、存储内容、文件权限),给 3;敏感数据处理承认明文存储、不脱敏,仅靠 0600 与删除指引,给 2;依赖清单存在但无漏洞审计或锁定证据,给 1;外部副作用可逆且有记录,给 2;回滚有 hooks uninstall/restore 与备份,但数据库删除即全失,给 2;来源归属仅 LICENSE 中版权行,发布者未验证,给 1。
README 与 SECURITY/install 文档在端口、数据目录、出站行为上大体一致,给 2;依赖均为公开 Go 模块,可用性可判断,但未提供校验或 vendor,给 2;失败信息仅在个别处提及(如 Gemini 未配置、Mail 未配置),缺少系统性错误处理说明,给 1。
面向多 agent 桌面场景描述清晰,给 2;能力边界写得很细(哪些 agent 只读、哪些可输入、Codex 成本上界等),给 3;触发精度方面 hook/通知/自动信任目录等机制描述存在但缺少精确触发条件与冲突处理,给 1;环境适配覆盖三平台但明言仅在 macOS 验证,给 2。
文档结构较清晰但 README 极长且被截断,信息架构给 2;安装说明非常完整(brew、dmg、deb、rpm、脚本、卸载),给 3;命名稳定性存在同名旧 PyPI 工具的混淆风险,给 2;示例与 FAQ 有但零散,给 2;已知限制写得充分,给 3;Apache-2.0 全文存在,给 3;版本与变更日志仅靠 Releases 徽章,无 CHANGELOG,给 1;维护责任未明确(发布者未验证、无维护者声明),给 1。
输出可用性有 report/export/mcp 等具体形态,给 2;边际价值对多 agent 成本与 PR 跟踪有实际意义,给 2;成本收益方面应用未签名、未公证、需绕过系统警告,且资源审计显示存在性能问题,给 1。
多数主张可追溯到具体文档与代码路径(如 tailer.go、ADR 编号),给 2;README、SECURITY、审计文档之间可相互印证,给 2;审计文档明确区分测量与推断、声明未执行部分,给 2。
- 本地 API 无登录,仅靠 loopback 与 Origin/Host 校验;任何浏览器页面可向 127.0.0.1 发起请求,存在被跨站触发的风险。
- 数据库以明文存储提示词、回复与工具输出,可能包含密钥,且不脱敏;应视为与 shell 历史同等敏感。
- 桌面应用未签名、未公证,安装需绕过 macOS Gatekeeper 与 Windows SmartScreen,存在供应链与完整性风险。
- 发布者身份未经 FollowAgents 验证,维护责任与更新路径不明确。
- 资源审计显示存在性能与内存分配问题(历史刷新、会话汇总、Codex 全量重解析),大规模历史下可能明显变慢。
- 仅在 macOS 上实际验证,Linux/Windows 仅构建与测试通过,未运行。
常见问题
它是免费的吗?Premium 到底锁定哪些功能?
它会修改我的 Claude Code 配置吗?
caprock up 首次运行会询问是否向 ~/.claude/settings.json 添加钩子与状态行,添加前会备份且不触碰其它设置;拒绝也仍能从 transcript 读取历史。自动启动的服务以 --no-hooks 运行,不会在登录时改配置。数据库里会存什么敏感内容?
.env 内容。文件权限为 0600,不上传任何地方,但会进入你的备份;caprock down 并删除数据目录可清除全部记录。Codex 的成本数字可靠吗?
手机远程访问需要装什么服务端吗?
wss://relay.caprock.dev,也可自建 caprock remote relay 或 Cloudflare Worker),端到端加密(Noise NK、X25519、AES-GCM),中继只看到连接元数据且不存储内容。也可用 caprock up --lan 走局域网或 Tailscale,但仅限同网络。