news 2026/9/16 16:25:29

jcode 跨设备 Worktree Sync 提案:多机多Agent协作的完整落地蓝图指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jcode 跨设备 Worktree Sync 提案:多机多Agent协作的完整落地蓝图指南

jcode 跨设备 Worktree Sync 提案:多机多Agent协作的完整落地蓝图指南

【免费下载链接】jcodeThe most RAM efficient harness项目地址: https://gitcode.com/GitHub_Trending/jcod/jcode

jcode 是一款以内存占用极低著称的 AI Agent 终端工具(Rust 编写),它的 跨设备 Worktree Sync 提案 正在解决一个真实痛点:当你在 MacBook 和 Linux 笔记本上同时开发同一个项目时,两台机器如何像"一个工作区"一样协作——包括多机多Agent之间的冲突感知与版本一致性。

为什么需要跨设备 Worktree Sync

单台机器上,jcode 已经做到了多 Agent 共享一个 worktree:服务器端统一中介文件编辑,并通过 file_activity.rs 追踪文件级别的冲突(比如"另一个 Agent 正在编辑第 40-60 行"这种警告)。

但一旦代码库分散在多台机器上,这套机制就断了:

  • 🖥️ 在 Linux 笔记本上selfdev build,MacBook 上的 jcode 完全无感知,反之亦然
  • 📡 没有共享 worktree,一台机器上的改动,另一台机器的 Agent 和会话"看不见",只能手动 push/pull

提案的目标很明确:让多台机器表现得像一个逻辑 worktree + 一个逻辑构建通道,与单机上多 Agent 共享 worktree 的体验对齐。

提案的地基:这些构件已经存在

这份提案不是空中楼阁,作者逐一在代码中验证了现有构件:

能力所在位置作用
跨架构一致的版本指纹source_state.rs对完整 commit、工作区状态和二进制 diff 做哈希,两台机器源码一致时指纹相同(尽管产物二进制不同)
新二进制自动重载server/util.rs基于 mtime 的构建产物扫描,触发即自动 reload
拉取→构建→安装→执行session_rebuild.rs接收端已有的完整流水线形态
跨设备网络门gateway.rsWebSocket + 纯 HTTP(默认端口 7643),远程客户端与本地 Unix socket 客户端说同一套协议
可穿透 NAT 的事件总线jade_relay.rs设备 ID、心跳、长轮询命令事件,机器互不可达时也能工作
远程构建先例remote_build.sh已验证过的 rsync + ssh 同步模式

有一个已知缺口:现有repo_scope_key哈希的是本地路径(如/Users/jeremy/...vs/home/jeremy/...),跨机器永远不匹配。提案给出的解法是用可移植的仓库身份——归一化的 origin URL,或配置里显式声明[sync] repo_id = "jcode"

核心机制:不动 HEAD 就能"打包"一个脏工作区

跨设备同步最难的是:如何原子地捕获一个可能有大量未提交改动(甚至含未跟踪文件)的 worktree,同时不干扰用户正在进行的开发?

提案采用纯 git plumbing 方案:把暂存区临时指向一个临时索引,git add -Awrite-tree生成内容寻址的树对象,再挂一个临时 sync ref(refs/jcode/sync/<device>)推到共享远端。接收端拉取后应用,并用指纹校验保证字节级一致。发送方的 HEAD、索引和工作区纹丝不动。

三阶段落地路径:先止痛,再进化

阶段 B:构建对等(优先做,直接消灭痛点)

一台机器构建成功后,向对端广播一条版本信标(version beacon):包含仓库 ID、版本标签、指纹、同步 ref 和设备信息。广播走三级通道——直连 HTTP 快速路径 → NAT 中继兜底 → 轮询 git 远端慢路径。

接收端默认采取保守策略:

  • ✅ 本地工作区干净、且本地 HEAD 是信标提交的祖先 → 自动拉取、重建、发布,随后既有的自动重载机制接管
  • ⛔ 否则绝不覆盖,只在 TUI 里提示peer build available: <label> from <device> (blocked: local changes),一键确认

还有关键的回声抑制:如果两台机器已经跑着相同版本,信标直接忽略,避免"你重建、我重建"的死循环。

阶段 A:Hub Attach(双方在线时的权威工作区)

提供jcode attach <host>命令:TUI 通过已有的网关 WebSocket 直接挂到另一台机器的服务器上。由于工具在服务器端执行,远程客户端天然参与那台机器的 worktree 和冲突追踪——相当于把单机多 Agent 体验跨机器复现。

阶段 C:真正的 Worktree 联邦(长期愿景)

把 B 的快照机制 + A 的对等连接泛化为持续双向同步:限流的自动快照、离线分叉时标记仓库为 "split" 并自动生成一个 Agent 来执行合并(正是单机冲突管理的跨设备类比),以及跨设备共享FileTouchService事件——让两台机器上的 Agent 都能收到"另一台机器的 Agent 正在编辑 40-60 行"的警告。

被否决的替代方案:为什么不直接用 Syncthing?

提案认真评估了三条备选路:

  1. Syncthing/mutagen 字节级同步:冲突文件(.sync-conflict)语义糟糕、无多文件原子性
  2. 单机构建 + 拷贝二进制:darwin 与 linux 架构不匹配,交叉编译成本不划算
  3. NFS/SSHFS 共享 worktree:离线惩罚大,文件监视器性能差,笔记本直接劝退

最终选择 git 语义的原因很朴素:原子、内容寻址、可合并,且用户已经懂这套规则

总结

这份 CROSS_DEVICE_WORKTREE_SYNC.md 是一份典型的"设计先行"提案(状态:Proposed,尚未实现)。它的价值在于:把"多机开发像单机一样顺"这个模糊愿望,拆成了版本指纹、sync ref、版本信标、attach 对等、冲突联邦五个可独立落地的原语,并优先实现收益最大的阶段 B。

如果你对 AI Agent 协作、多机开发工作流或 jcode 的架构设计感兴趣,这份提案值得通读——它也清晰地展示了:跨设备多机多Agent协作,可能不需要发明新协议,只需要把已有的构件接起来。

【免费下载链接】jcodeThe most RAM efficient harness项目地址: https://gitcode.com/GitHub_Trending/jcod/jcode

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 16:25:24

WPS JS宏智能识别代码段并自动设置样式:完整实现方案

平时在WPS里写技术文档&#xff0c;最烦的就是代码块排版。尤其是那种长篇改造方案&#xff0c;正文里混着几十段代码&#xff0c;每段都要手动改成等宽字体、加浅灰底纹、调边框间距。说实话&#xff0c;效率低不说&#xff0c;还特别容易改乱了。后来我干脆用WPS自带的JS宏写…

作者头像 李华
网站建设 2026/9/16 16:24:37

AI Agent四层安全防御架构设计与实践

1. 项目概述&#xff1a;Agent安全体系的四层防御架构在大模型技术快速发展的今天&#xff0c;AI Agent已经成为企业智能化转型的核心组件。然而&#xff0c;随着Agent在各行业的深入应用&#xff0c;其面临的安全威胁也日益复杂。根据实际项目经验&#xff0c;一个完整的Agent…

作者头像 李华
网站建设 2026/9/16 16:24:37

MATLAB雷达LFM信号与回波频谱分析及脉冲压缩

简介&#xff1a;MATLAB雷达LFM信号及其回波频谱仿真脚本&#xff0c;聚焦雷达信号处理中线性调频&#xff08;LFM&#xff09;脉冲波形的核心实现&#xff0c;面向雷达信号处理初学者、高校学生以及算法工程师&#xff0c;用于掌握从信号生成、回波模拟到频谱分析的完整仿真链…

作者头像 李华
网站建设 2026/9/16 16:24:27

51单片机步进电机控制:串口、上位机与Proteus仿真全流程解析

简介&#xff1a;基于51单片机的步进电机控制系统完整设计资料&#xff0c;涵盖串口通信、上位机监控与人机交互三大功能模块&#xff0c;面向单片机课程设计、电子竞赛及工程入门学习者&#xff0c;能够帮助快速掌握步进电机启停、正反转、加减速控制以及故障报警的实现思路。…

作者头像 李华
网站建设 2026/9/16 16:23:47

公众号无限回调登录系统:多域名网关与state路由实践

简介&#xff1a;这是一套面向微信开发者与公众号运营者的多域名回调登录系统源码&#xff0c;核心解决公众号单一回调域名受限问题&#xff0c;通过多域名回调机制实现微信授权登录在不同站点间的灵活调度。资源包共501个文件、约8.5MB&#xff0c;主要由257个JS脚本、86个PHP…

作者头像 李华