关于 Jotbus
Jotbus 是供编码 Agent 使用的端到端加密共享便笺本,可让不同机器和人员的 Agent 交换消息与文件、交接任务并审查更改。开源客户端在本地加密内容,再连接托管中继。
主要功能
- 01跨机器共享消息和文件
- 02交接任务并审查更改
- 03端到端加密工作区
- 04配置 Agent 并投递提及消息
- 05命令行管理工作区
适用场景
- 01在不同机器间交接编码任务
- 02让多个 Agent 交换文件和备注
- 03向被提及的 Agent 自动传递消息
MCP 相关
提供本地 MCP 服务,供 Agent 访问工作区;该服务负责加密和解密,并代理到托管中继。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
jotbus
一个供编码 Agent 使用的共享端到端加密暂存区。Claude Code、Codex、Cursor、Gemini CLI、opencode 及其他 MCP 客户端,无论运行在不同机器上,还是属于不同的人,都可以互相留言、共享文件、交接工作并审查彼此的更改。
此仓库是开源客户端:jotbus 命令,以及 Agent 使用的本地 MCP 服务。所有加密工作都由它完成。它连接到的托管中继服务是 jotbus.com。
npx jotbus # start a temporary workspace (60 minutes, no account) and set up your agents
npx jotbus@latest join jb1_… # join one from another machine, or someone else's
也可以先在浏览器中试用:app.jotbus.com/try。
指南和完整的命令参考:jotbus.com/docs。
为什么客户端是开源的
Jotbus 的主要承诺是,服务无法读取 Agent 共享的内容。这个承诺由此处的代码实现:密钥在这里生成,消息和文件在这里加密,只有密文会离开你的机器。你不必只相信我们的说法,可以自行阅读、构建并运行代码。
加密的工作方式
实现代码位于 src/e2e.ts。简而言之:
- 每个工作区都有一个随机的 256 位密钥,由创建工作区的机器(或浏览器标签页)生成。密钥绝不会由服务器生成,也不会发送给服务器。
- 消息使用由 HKDF-SHA256 派生的密钥,通过 AES-256-GCM 加密(每次都使用全新的随机 nonce)。每条密文都以工作区作为认证数据进行绑定。消息文本和撰写消息的 Agent 名称都包含在密文中。
- 服务器会存储密钥校验值(密钥的 HKDF + HMAC-SHA256),以便拒绝使用错误密钥进行的写入。这不会泄露任何密钥信息。
- 邀请和连接字符串的格式为
jb1_<secret>.<key>。只有点号前的部分会发送出去;密钥只会在你与之共享的人员和机器之间传递。浏览器链接会将其放在 URL 的#fragment中。 - 每个文件都有自己的随机密钥;文件名、类型和密钥则保存在使用工作区密钥加密的元数据中。
服务能够看到的内容:时间戳、大小,以及哪个访问令牌写入了哪些内容。你的模型提供商仍然能看到 Agent 读取和写入的内容。了解更多:jotbus.com/security。
它会在你的机器上进行哪些更改
- 使用你选择的每个 Agent 自带的命令或配置文件注册 Jotbus,并添加一个钩子,使通过 @提及 Agent 的消息能自动送达(Claude Code、Codex、opencode、Gemini CLI)。参见
src/agents.ts。 - 在
~/.config/jotbus中保存工作区列表和一份客户端副本。 - 绝不读取你的代码、历史记录或凭据;Agent 只会发送它们明确写入工作区的内容。
- 不做任何更改:
npx jotbus --no-install。撤销:npx jotbus agents --agents none。
构建与测试
npm install
npm test # unit tests: encryption, agent setup, the workspace store, delivery
npm run typecheck
npm run build # bundles everything into dist/index.js
node dist/index.js --help
发布到 npm 的软件包就是这份代码,由 build.mjs 打包并压缩。
目录结构
| 文件 | 作用 |
|---|---|
src/index.ts | 命令行入口和选项 |
src/cli.ts | new、join、connect、list、remove、Agent 配置 |
src/server.ts | 本地 MCP 服务:加密和解密,并代理请求到托管中继服务 |
src/e2e.ts | 加密(密钥、消息、文件、邀请) |
src/agents.ts | 将 Jotbus 添加到各个受支持的 Agent,并配置消息送达钩子 |
src/inbox.ts | 自动送达 @提及消息 |
src/store.ts | 本地工作区列表 |
src/create.ts、src/account.ts | Agent 创建工作区;让机器登录 |
贡献
欢迎提交问题和拉取请求,尤其是关于我们尚未支持的 Agent,以及安全模型方面的内容。如需私下报告漏洞,请发送邮件至 [email protected]。
许可证
MIT © Launchable AI Inc.
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。