Repository navigation
Releases: Gordon-G-STAR/cc-bridge
Release list
v0.4.1 — WAL rollback integration + crash recovery (PR4 done)
v0.4.1 — WAL 回滚接入 handoff + 崩溃恢复,PR4 路线图完成。
PR4b: scope_violations 现在触发 wal.rollback() → detected_and_reverted(回滚失败 → 诚实退回 detected_but_not_reverted)。record_baseline 在 exec 前存文件内容(handoff_runner + execute_fallback)。合法改动也标 detected_and_reverted(WAL 已确认)。
PR4c: project_lock acquire 后自动扫 wal.pending_rollbacks() 续完崩溃中断的回滚(acquire-scan,先续完再放行新 handoff)。设计文档 → "已实现",WINDOWS_SECURITY_TESTS PR4 行 → done。
477 passed,ruff 绿。无 API 破坏。
v0.4.0 — WAL rollback core
v0.4.0 — WAL + 逐文件回滚核心(PR4a),roadmap "检测不补→真回滚" 的第一块基石。
新增 wal.py(content-WAL 引擎):
record_baseline:快照文件原始内容到blobs/<sha256>(hash 去重、大小/数量有界;超界 →skipped_too_large,诚实不承诺)。rollback:越界被改 → 从 blob 恢复;越界新建 → 删除;逐文件推进 manifest(每恢复一个就落盘reverted,崩溃可续)。IO 失败 →failed,绝不谎报。pending_rollbacks:扫残留(PR4c acquire-scan 用)。cleanup:尽力清理 WAL 目录。
路径遍历防护 + 原子写 + 非 Windows 收紧权限。7 新测试,472 total passed。
后续: PR4b 接入 handoff(scope_violation → rollback → detected_and_reverted)→ PR4c 崩溃续完。
v0.3.2 — acceptance demo + PoC
v0.3.2 — 验收 demo + checklist cwd 修复 + detached 孙进程 PoC(巩固轮,不堆功能)。
#2 新增 examples/acceptance_check_demo(sample_project + checklist.md + report.example.md + README),展示 checklist-run 用于合同验收 / Demo 检查 / PPT-代码一致性。顺带修真 bug:checklist [cmd] 项现在在 project_dir 里跑(之前在 cc-bridge 进程 cwd——run_capture 无 cwd 参数)+ 回归测试。
#3a test_jobobject 新增端到端 PoC:验证 agent 派生的孙进程在 job 关闭时被杀、无法"快照后写"(windows-latest 实测通过)。WINDOWS_SECURITY_TESTS.md 该项 → 已验证(Windows),并诚实标注 POSIX gap(无 Job Object;killpg 仅超时/取消时触发)。
无 API 破坏。465 passed,ruff 绿。
v0.3.1 — per-call timeout
v0.3.1 — legacy 工具 per-call timeout_seconds。解决长任务被默认 300s(CC_BRIDGE_TIMEOUT)切断。
codex_execute/claude_analyze加timeout_seconds(10–1800;None=沿用默认)。长任务调大即可等够,不被切断只拿部分结果。- CONFIG 加「长任务 / 超时怎么选」:默认 /
timeout_seconds/ 异步 handoff(v0.3.0) / 对方 CLI 本身慢(如 Codex~/.codex的 xhigh effort + 大量 skills,光启动 ~50s+)则调宿主全局配置(cc-bridge 不擅自动)。
配合 v0.3.0 异步 handoff,长任务两条路:阻塞但等够(timeout_seconds ≤1800)或不阻塞后台(*_handoff_async)。无 API 破坏。
v0.3.0 — async handoff
v0.3.0 — 异步 handoff(detached runner)。解决 v0.2 根本短板:同步 MCP 长 handoff 撞客户端超时 -32001。
新增
*_handoff_async(request, project_dir):立即返回 handoff_id,执行交给【独立后台进程】(server/宿主关掉也跑完)。*_handoff_status/*_handoff_result/*_handoff_cancel:查状态 / 取结构化 HandoffResult / 取消(杀进程树)。codex、claude 两方向对称。- PID 存活检测:runner 消失而未写终态 → 标
interrupted,绝不假装完成。 - 并发上限
CC_BRIDGE_MAX_ASYNC_HANDOFFS(默认 4)。
不绕过保障:runner 自己重新 authorize(policy 唯一门禁)、持跨进程项目锁、evidence 不变。
诚实限制:MCP SDK v2 Tasks 之前的临时方案;回滚仍「检测不补」(detected_but_not_reverted)。
无 API 破坏。详见 docs/async-handoff-design.md。
v0.2.2
v0.2.2 补丁版。相对 0.2.1:
新增
cc-bridge checklist-run:逐项跑验收清单,每项一次短调用(进程内直接调,不经 MCP,不撞 handoff 的-32001同步超时)。- 描述=agent 只读检查、- [cmd] 命令=跑命令(退出0=过);输出分组报告(已完成/部分/未完成/错误/高风险/建议关注文件)。
文档
docs/WINDOWS_SECURITY_TESTS.md:各 Windows 对抗项(硬链接/junction/ADS/保留名/skip-worktree/Job Object)的验证现状——大多已在 windows-latest CI 实跑;detached-孙进程「快照后写」时序 PoC 待补。- COOKBOOK 新增「验收型项目」章节(合同差距 / demo 健康检查 / PPT-代码一致性 / 接口闭环 / 演示证据清单)。
无 API 破坏。异步 handoff 仍待 MCP SDK v2 Tasks。
v0.2.1
v0.2.1 补丁版。相对 0.2.0:
新增
git_mode="safe":把跨 agent 改动隔离到临时分支,跑完提交并切回原分支,原分支不受影响- 标准化报告:每次调用返回 调用方向 / 项目 / 任务 / 下一步建议 / 耗时
- 安装安全向导:
cc-bridge install --allowed-roots / --codex-sandbox / --audit-log持久化保守配置
修复
- 跨平台 CI:
scope.py把目录的st_nlink≥2误判为硬链接别名(v0.2.0 起 macOS/Linux 一直红),加S_ISREG守卫,现首次跨平台全绿
文档
- roadmap 去矛盾;README 加「检测≠容器沙箱」边界声明 + legacy/handoff 对照(诚实标注 handoff 同步超时 / 回滚「检测不补」);新增
examples/contracted_handoff_demo
无 API 破坏。
v0.2.0 — Contracted Handoff
契约化委派(Contracted Handoff):把跨 agent 委派从「自由文本任务」升级成「可验证、权限不可扩张的委派合同」。
亮点
- 本地策略重授权 —
requested_scope只是申请;生效 =requested ∩ 父链 ∩ 本地策略 ∩ 引擎上限。策略只从宿主环境读,仓库内容 / README 改不了有效策略。 - 注入加固 — per-call nonce 契约信封,把可信任务与不可信仓库内容(含文件名 / 目录树)隔开并中和;进度 / info 通道只回粗分类,不回传对方原始文本。
- 跨进程安全 — 崩溃可释放的 OS 句柄锁 + Windows Job Object 进程树静默;Windows 路径包含(file-id / reparse / ADS / 保留名);按类别副作用向量。
- 透明 failover — 仅在「可证明零副作用」时切到另一个 agent;
route_reason透明,显式指定优先。 - 旧
codex_execute/claude_analyze仍可用,但走同一 policy 地板,没有绕过策略的满权后门。
配置
新增 CC_BRIDGE_POLICY_* 等开关见 docs/CONFIG.md;设计与实现状态见 docs/v0.2-roadmap.md。
v0.1.1
自 v0.1.0 以来的新功能:
- 会话续接:codex_execute / claude_analyze 支持 continue_session=true,接着上次会话多轮。
- 流式进度:运行中通过 MCP progress 实时回传对方在干啥(与输出读取解耦,慢客户端不拖死)。
- 预演模式:dry_run=true 让对方只分析、不改文件(Codex read-only / Claude plan)。
- 安全/可观测:CC_BRIDGE_ALLOWED_ROOTS 工作区白名单、CC_BRIDGE_INJECT_CONTEXT 关掉上下文注入、CC_BRIDGE_AUDIT_LOG 审计日志。
- 健壮性:瞬时错误自动重试(不在已改动工作区上重试)、超长输出落临时文件。
- 架构:重构成可插拔的 agent 适配器(通用桥),加新 CLI agent 只需写一个适配器。
安装:pip install -e . && cc-bridge install,然后重启 Claude / Codex。用法见 README 和 docs/。
v0.1.0
让 Claude 和 Codex 互相调用对方干活,走各自的订阅额度(Claude Max / ChatGPT),不用 API key。
安装:pip install -e . && cc-bridge install,然后重启两个桌面端。用法见 README。
Bridge Claude and Codex so they call each other to get work done — using your own subscriptions, no API keys.