Skip to main content
Glama

chat-across

English | 中文

一个极简 MCP 服务器,让你的 AI 编程代理像同一个团队一样在同一个项目上协作 —— 目前支持 Claude Code、Codex 和 Kimi Code,可扩展至任何会持久化会话的代理(新增一个厂商 约 60 行代码)。通过一条斜杠命令将会话锚定到命名环境,每个代理都能直接从彼此的 原生 文件中读取对方在做什么,零拷贝。

它适配 你的 环境和工作流 —— 而不是反过来。 安装一个 MCP 服务器,继续在你已有的地方工作:Codex App、Claude Code / Desktop、Kimi Code,可并行也可逐个使用。没有集中式 GUI,没有新的 TUI,没有需要切换的应用,无需迁移任何东西。你的代理仍然属于你;它们只是不再彼此陌生。

Claude Code ─┐
Codex App  ──┼──►  chat-across bridge (stdio MCP)  ──►  one small SQLite (pointers + briefs only)
Kimi Code  ──┘          │
                        └─ reads peers' NATIVE session / memory / docs in place — nothing duplicated

斜杠命令

五个命令覆盖一切。在 Claude Code 和 Kimi Code 中它们是斜杠命令;在 Codex 中输入 $ 并选择同名技能。

命令

作用

/chat-across <name>

将会话锚定到环境 <name>(首次使用会创建它,重复使用则加入它)。代理随后 自动双向同步:它将自身对话压缩成简报并推送,拉取每个同侪的最新简报,并告诉你每个人在做什么 —— 全部通过一条命令完成。

/chat-across-sync

手动刷新:推送更新后的简报,拉取同侪的最新内容。代理也会在每个重要里程碑后自动执行此操作,所以你很少需要手动触发。

/chat-across-disconnect

解除锚定。会话恢复完全隔离 —— 所有共享数据工具在重新锚定之前一律失败关闭。

/chat-across-list

列出桥上的每个环境:包含哪些厂商、有多少会话接触过、最近一次活动时间。

/chat-across-delete <name>

删除一个环境:清除其简报和指针,释放该名称。不带名称调用时会列出环境并询问 —— 它绝不会盲目删除。仅涉及桥的簿记;不会触碰任何人的对话记录、记忆或文件。

命令能做的每件事也可以通过自然语言完成 —— “删除环境 project1”、“有哪些环境”、“继续 Codex 正在做的事” 都有效。

Related MCP server: Cross-Project MCP Server

你能得到什么

锚定 —— 环境作为汇合点

环境 只是一个唯一名称(project1mcp 等)。会话锚定到环境;已锚定的会话共享;未锚定的会话物理上处于外部 —— 失败关闭,不共享、不污染。名称即身份:用已有名称连接总是加入它,所以永远不会有两个 project1

工具

作用

chat_across_connect

按名称创建或加入。注册一个 指针 指向该会话自身的原生记录(代理传递其会话 UUID,以便同侪可以读回),并返回每个同侪的最新简报 —— 仅加入就能让你了解整个团队的状态。

chat_across_disconnect

解除锚定;所有作用域工具再次失败关闭。

简报 —— “每个人在做什么” 层

每个会话在桥上维护 一份 压缩的工作简报(目标 / 已完成 / 关键决策 / 下一步),原地更新 —— 上限 32KB,每个会话一行,因此存储物理上不可能增长。简报携带写入者记录文件的 字节水位线,读者因此能看到 behindBytes:自简报写入以来实际发生了多少。陈旧度是一个可测量的数字,而不是猜测。

同侪以 原生会话 UUID 为键,而非厂商 —— 同一厂商的多个会话保持独立(自动化循环中的两个 Claude 席位各自保留自己的简报),而同一会话通过重启的 MCP 服务器重连时会去重为一条。将 sessionUuid(每个同侪都会显示)传给任何直读工具,即可精确寻址一个会话。

工具

作用

chat_across_sync

推送自己的简报(更新 + 水位线),拉取同侪的最新内容 —— 一次调用,双向完成。

原生直读 —— 这个项目的真正意义

没有任何内容被复制到桥上。当代理想知道同侪做了什么时,桥会解析 同侪自己的应用已经持久化它的位置,并 就地、按需 解析:

工具

读取内容

详情

get_peer_tail

同侪的 原生会话记录(Claude 项目 .jsonl / Codex rollout / Kimi wire)

最后 N 轮对话(默认 10,最大 50),从文件末尾按字节定位 —— 一个实时、写锁定的 660MB rollout 也能在个位数毫秒内响应。跳过 Codex 守护子线程,过滤框架噪音,脱敏密钥形态的字符串。

get_peer_memory

同侪的 原生记忆存储

Claude:按项目的记忆目录。Codex:按每条记录的 cwd 标签过滤的用户级存储。这里不存在共享记忆库 —— 绝不重建宿主已有的东西。

get_peer_instructions

同侪项目的 常驻规则

来自同侪项目根目录的 CLAUDE.md / AGENTS.md / KIMI.md

合在一起:简报 = 他们在做什么,tail = 确切的最后几句话,memory = 他们学到了什么,instructions = 项目的规则。一次连接即可获得完整的接管上下文。

项目身份是 推导 出来的,从不配置:同侪自身的产物携带其 cwd(Codex session_meta、Claude jsonl 记录、Kimi state.json)。即使同侪会话已关闭、崩溃或超出配额也能工作 —— 桥读取的是文件,而不是实时进程。

生命周期 —— 可见性与清理

工具

作用

list_environments

每个环境及其中的厂商、会话数和最近活动 —— “这是哪个 project1” 的问题自行解答。

chat_across_delete

按精确名称清除一个环境并释放它。过期行也会在 14 天后自动清理,无论是否手动删除。

日常使用

/chat-across myproject        # Claude / Kimi   (Codex: type $ and pick chat-across)

就是这样。代理锚定、推送简报、拉取其他人的简报,并告诉你其他代理在做什么。然后:

  • “继续 Codex 正在做的事” → 代理拉取 Codex 的 tail + 记忆 + 项目文档,从最后一句话继续。

  • “有哪些环境?”/chat-across-list 或直接问。

  • “把 project1 重新开始,干净地”/chat-across-delete project1,然后 /chat-across project1

新会话,同一线程

会话也是同侪 —— 包括你自己更早的会话。打开一个全新会话(同一厂商或不同厂商),锚定到同一环境,之前的会话简报会随连接一起到达。说 “从我上次会话停下的地方继续”,代理就会读取该会话的原生 tail 并从最后一句话继续。

即使旧会话已关闭、崩溃或达到上下文限制,这也能工作 —— 桥读取的是它的记录 文件,而不是实时进程。厂商原生的恢复方式(claude --resume、Codex 会话列表)仍然是同厂商普通重启的首选;这是结构化的后备方案,也能在压缩、配额切换和厂商跳转后存活。唯一要求:旧会话在存活期间至少锚定过一次。

安装

四步:安装包 → 在每个宿主中注册 → 安装斜杠命令模板 → 重启宿主。支持 Windows / macOS / Linux(Node ≥ 20),无需克隆,无需构建。

1. 安装包

npm install -g chat-across

这会将 chat-across 命令放入你的 PATH,并将包(服务器 + 模板)放入 npm 的全局目录 —— npm root -g 会打印确切位置;包位于 <该路径>/chat-across

2. 在每个宿主中注册服务器

处处都是同一个服务器,只是标签不同:

# Claude Code
claude mcp add chat-across -s user --env CHATACROSS_HOST_LABEL=claude-code -- chat-across
# ~/.codex/config.toml — add this section
[mcp_servers.chat-across]
command = "chat-across"
env = { CHATACROSS_HOST_LABEL = "codex-app" }
// ~/.kimi-code/mcp.json — merge into mcpServers
{ "mcpServers": { "chat-across": {
  "command": "chat-across",
  "env": { "CHATACROSS_HOST_LABEL": "kimi-code" } } } }

不想全局安装?在三个配置中改用 npx -y chat-across 作为命令即可。开发或贡献?git clone + npm install,然后将配置指向 node <repo>/src/server.mjs

3. 安装斜杠命令

examples/ 文件夹随 npm 包一起分发。将其模板复制到每个宿主的命令/技能目录 —— 它们为每个代理提供五个 /chat-across* 命令,并教会它在连接时自动压缩 + 推送 + 拉取,以及传递其会话 UUID。

macOS / Linux:

EX="$(npm root -g)/chat-across/examples"
mkdir -p ~/.claude/commands ~/.kimi-code/commands ~/.codex/skills
cp "$EX"/claude-commands/*.md ~/.claude/commands/
cp "$EX"/claude-commands/*.md ~/.kimi-code/commands/
cp -r "$EX"/codex-skills/* ~/.codex/skills/

Windows(PowerShell):

$ex = Join-Path (npm root -g) 'chat-across\examples'
New-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\commands", "$env:USERPROFILE\.kimi-code\commands", "$env:USERPROFILE\.codex\skills" | Out-Null
Copy-Item "$ex\claude-commands\*.md" "$env:USERPROFILE\.claude\commands\"
Copy-Item "$ex\claude-commands\*.md" "$env:USERPROFILE\.kimi-code\commands\"
Copy-Item "$ex\codex-skills\*" "$env:USERPROFILE\.codex\skills\" -Recurse -Force

4. 重启并验证

重启每个宿主应用以读取新的 MCP 配置,然后检查:

  • Claude Code:claude mcp listchat-across … ✔ Connected

  • Codex:codex mcp get chat-acrossenabled: true;输入 $ 应提供 chat-across 技能

  • Kimi:问它 “你有哪些 chat-across 工具”

在任意一个中键入 /chat-across test —— created: true 表示桥已存活。

所有内容的存放位置

内容

位置

服务器 + examples/ 模板

$(npm root -g)/chat-across/

chat-across 命令

npm 的全局 bin 目录(已在 PATH 中)

桥接数据(仅 SQLite:简报 + 指针)

~/.chat-across/ 在所有操作系统上——可通过 CHATACROSS_DATA_DIR 覆盖。(自 v0.1.4 起从 %APPDATA% 迁移:MSIX 打包的主机会静默虚拟化该路径;主目录中的点目录则不会。)

你在第 3 步安装的斜杠命令

~/.claude/commands/~/.codex/skills/~/.kimi-code/commands/

卸载 = npm uninstall -g chat-across + 移除注册项和复制的模板 + 删除数据目录。不会在其他任何地方写入任何内容。

与现有领域的差异

跨智能体上下文工具是一个拥挤的领域——它们几乎都采取另外两条路线之一:

  • 内存层工具(memorix、cass-memory、cross-agent-memory、OpenMemory…)构建自己的存储:停止钩子或摄取管道将你的会话总结到它们的向量数据库/手册中,智能体必须写入其中。功能强大,但它是需要维护的第二大脑,而且保存的副本会过期。

  • 实时消息桥接(通过 Claude Channels ↔ Codex App Server 的 AgentBridge…)让两个正在运行的会话实时对话。非常适合协同编辑;但当对端会话关闭、崩溃或超出配额时则无济于事——而这正是你需要接管的时候。

chat-across 走第三条路:无存储、无钩子、无嵌入、无实时耦合。主机已经持久化了所有内容——转录、记忆、项目文档——因此桥接只需按需解析位置就地解析。它唯一写入的是每个会话一个受限简报。如果桥接的数据库被删除,不会丢失任何有价值的东西。

设计规则

  • 零拷贝:对话、记忆和文档从每个主机自己的存储中原位读取。桥接只存储指针和每个会话一个受限简报(32KB 上限,14 天清理)。仅本地,无网络。

  • 故障关闭:未锚定的会话无法访问任何环境。

  • 绝不重建主机已有的内容:没有共享记忆库、没有转录镜像、没有搜索引擎。读取智能体有模型;原始文本就足够了。

  • 诚实解析:转录指针被标记为 uuid / explicit / heuristic,以便读者知道它们有多大可信度。

  • 故障响亮sync/connect 在声称成功之前会验证其提交确实已落地,并报告它们写入的数据库文件;损坏的数据库会被隔离(bridge.sqlite.corrupt.<ts>)并在启动时响亮地重建——桥接从不带伤运行,也从不假装。

添加厂商

每个厂商约 60 行:一个会话根目录 + 一个转录行解析器 + 一个 cwd 推导器 +(可选)一个记忆存储读取器。当前三个(Claude Code / Codex / Kimi Code)是模板——像 OpenCode、Hermes、Kiro 或任何支持 MCP 且将会话持久化到磁盘的智能体都可以用同样的方式添加。适配器检查清单和夹具要求请参阅 CONTRIBUTING.md

注意事项

  • Claude Code 会在 30 天后自动删除会话转录(每次启动时都会运行清理)。如果你依赖长期接管,请在 ~/.claude/settings.json 中调高 cleanupPeriodDays——否则对端指针可能会比其文件存活更久。

  • 这三种转录格式是未记录的厂商内部格式,会不断变化;解析器本质上与版本耦合(已针对 Claude Code 2.x、Codex 0.146–0.147、Kimi Code wire v2 测试)。欢迎提交 PR。

  • 强烈建议在 connect 时提供 sessionUuid——没有它,桥接会回退到最新活动文件匹配,当同一厂商的多个会话同时运行时可能会错误映射。

  • 尾部/记忆会经过基本的机密信息编辑过滤器;它是安全带,而不是保证。

  • 如果你的任何智能体主机是 MSIX 打包的应用,请不要在 Windows 上将 CHATACROSS_DATA_DIR 指向 %APPDATA%(或其他已知文件夹路径):Windows AppData 虚拟化会静默地为容器进程提供这些路径的自己的覆盖副本,将桥接分裂成永远无法汇聚的平行世界。默认值(~/.chat-across)不受影响。这是通过惨痛教训在实地诊断出来的。

许可证

MIT

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI coding assistants like Claude Code, Cursor, and Codex to share chat logs, terminal history, and session context with each other. Eliminates the need to re-explain context when switching between different AI coding tools.
    2
  • A
    license
    Not graded
    quality
    D
    maintenance
    The simplest way to bridge and collaborate across AI Agent sessions like Claude Code, Codex, Gemini, or Cursor. It allows your agents to combine their strengths to solve your most difficult tasks without leaving their current context.
    38
    66
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A multi-agent collaboration layer for AI coding agents enabling real-time communication, code review, and task handoff across distributed development sessions.
    13
    37
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/VictorZhang01/chat-across'

If you have feedback or need assistance with the MCP directory API, please join our Discord server