chat-across
chat-across
Английский | 中文
Один крошечный MCP-сервер, который позволяет вашим ИИ-агентам разработки работать над одним проектом как одна команда — сегодня это 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 введите $ и выберите навык с тем же именем.
Команда | Что происходит |
| Привязывает эту сессию к окружению |
| Ручное обновление: отправить обновлённую сводку, получить последние сводки пиров. Агенты также делают это сами после каждой значимой вехи, так что вам это редко нужно. |
| Отвязывает. Сессия возвращается в полную изоляцию — все инструменты общих данных переходят в режим fail-closed, пока она снова не привяжется. |
| Список всех окружений на мосту: какие вендоры внутри, сколько сессий его касались, когда оно последний раз изменялось. |
| Удаляет окружение: стирает его сводки и указатели, освобождает имя. Вызванная без имени, она перечисляет окружения и спрашивает — она никогда не удаляет вслепую. Только служебный учёт моста; ничьи транскрипты, воспоминания или файлы не затрагиваются. |
Всё, что делает команда, также достижимо обычным языком — «удали окружение project1», «какие есть окружения», «продолжи то, что делал Codex» — всё работает.
Related MCP server: Cross-Project MCP Server
Что вы получаете
Привязка — окружения как точки встречи
Окружение — это просто уникальное имя (project1, mcp, что угодно). Сессии привязываются к нему; привязанные сессии обмениваются данными; непривязанные сессии физически снаружи — fail-closed, без обмена, без загрязнения. Имена — это идентичность: подключение с существующим именем всегда присоединяет к нему, так что никогда не бывает двух project1.
Tool | What it does |
| Создаёт или подключает по имени. Регистрирует указатель на собственный родной транскрипт этой сессии (агенты передают UUID своей сессии, чтобы пиры могли читать её), и возвращает последнюю сводку каждого пира — одно подключение уже показывает состояние всей команды. |
| Отвязывает; все ограниченные инструменты снова переходят в режим fail-closed. |
Сводки — слой «чем занят каждый»
Каждая сессия хранит на мосту одну сжатую рабочую сводку (цель / сделано / ключевые решения / далее), обновляемую на месте — ограничена 32KB, одна строка на сессию, поэтому хранилище физически не может расти. Сводки несут байтовую метку транскрипта автора, поэтому читатели видят behindBytes: сколько именно произошло с момента записи сводки. Устаревание — это измеряемое число, а не догадка.
Пиры идентифицируются по нативному UUID сессии, а не по вендору — несколько сессий одного вендора остаются различимыми (два экземпляра Claude в цикле автоматизации сохраняют собственные сводки), а та же сессия, переподключающаяся через перезапущенный MCP-сервер, дедуплицируется в одну запись. Передайте sessionUuid (показан у каждого пира) любому инструменту сквозного чтения, чтобы адресовать одну конкретную сессию.
Tool | What it does |
| Отправить собственную сводку (upsert + метка), получить последние сводки пиров — один вызов в обоих направлениях. |
Сквозное чтение родных файлов — ради чего этот проект
На мост ничего не копируется. Когда агенту нужно узнать, что сделал пир, мост определяет, где собственное приложение пира уже хранит это, и разбирает его на месте, по требованию:
Tool | Reads | Detail |
| Родной транскрипт сессии пира (проектный | Последние N обменов (по умолчанию 10, максимум 50), байтовый поиск с конца файла — живой, заблокированный на запись rollout на 660MB отвечает за однозначное число миллисекунд. Пропускает субтреды-хранители Codex, отфильтровывает шум обвязки, маскирует строки, по форме похожие на секреты. |
| Родное хранилище памяти пира | Claude: каталог памяти проекта. Codex: пользовательское хранилище, отфильтрованное по тегам |
| Постоянные правила проекта пира |
|
Вместе: сводка = что они делают, хвост = точные последние слова, память = чему они научились, инструкции = правила проекта. Полный контекст для передачи дел одним подключением.
Идентичность проекта выводится, а не настраивается: собственные артефакты пира несут его cwd (Codex session_meta, записи jsonl Claude, state.json Kimi). Работает, даже если сессия пира закрыта, упала или исчерпала квоту — мост читает файлы, а не живые процессы.
Жизненный цикл — видимость и очистка
Tool | What it does |
| Каждое окружение с присутствующими вендорами, количеством сессий и последней активностью — вопрос «какой это project1» отвечает сам собой. |
| Стирает окружение по точному имени и освобождает его. Устаревшие строки также самоудаляются через 14 дней в любом случае. |
Повседневное использование
/chat-across myproject # Claude / Kimi (Codex: type $ and pick chat-across)Вот и всё. Агент привязывается, отправляет свою сводку, получает сводки остальных и рассказывает вам, чем заняты другие агенты. Далее:
«Продолжи то, что делал Codex» → агент получает хвост Codex + память + документацию проекта и продолжает с последнего предложения.
«Какие есть окружения?» →
/chat-across-listили просто спросите.«Начни project1 заново, начисто» →
/chat-across-delete project1, затем/chat-across project1.
Новая сессия, та же нить
Сессии тоже являются пирами — включая ваши собственные старые. Откройте совершенно новую сессию (того же вендора или другого), привяжитесь к тому же окружению, и сводка предыдущей сессии придёт вместе с подключением. Скажите «продолжи с того места, где остановилась моя последняя сессия» — и агент прочитает родной хвост той сессии и продолжит с последнего предложения.
Это работает, даже если старая сессия закрыта, упала или исчерпала лимит контекста — мост читает файл её транскрипта, а не живой процесс. Возобновление средствами вендора (claude --resume, список сессий Codex) остаётся первым выбором для обычных перезапусков того же вендора; это структурированный запасной вариант, который также переживает сжатие контекста, смену квоты и переходы между вендорами. Единственное требование: старая сессия хотя бы раз привязалась, пока была жива.
Установка
Четыре шага: установите пакет → зарегистрируйте его в каждом хосте → установите шаблоны слэш-команд → перезапустите хосты. Работает на Windows / macOS / Linux (Node ≥ 20), без клонирования, без сборки.
1. Установите пакет
npm install -g chat-acrossЭто добавляет команду chat-across в ваш PATH, а пакет (сервер + шаблоны) — в глобальный каталог npm — npm root -g выводит точное расположение; пакет находится по пути <that path>/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 -Force4. Перезапустите и проверьте
Перезапустите каждое приложение-хост, чтобы оно прочитало новую конфигурацию MCP, затем проверьте:
Claude Code:
claude mcp list→chat-across … ✔ ConnectedCodex:
codex mcp get chat-across→enabled: true; при вводе$должны предлагаться навыкиchat-acrossKimi: спросите его: «какие у тебя есть инструменты chat-across»
Введите /chat-across test в любом из них — created: true означает, что мост жив.
Please specify the target language for the translation.
This server cannot be installed
Maintenance
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
Shared memory for coding agents. Stop re-explaining your codebase every session.
Persistent cross-session memory shared by Codex, Claude Code, ChatGPT, and other AI agents.
The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.
Shared project context for AI agents and teams: docs, tasks, and messages that stay current.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to explore, search, and reference code implementation details across different project repositories. It also supports a task delegation protocol for agents to request and track work between separate codebases.
- AlicenseNot gradedqualityDmaintenanceThe 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.3866MIT
- AlicenseNot gradedqualityBmaintenanceA multi-agent collaboration layer for AI coding agents enabling real-time communication, code review, and task handoff across distributed development sessions.1337MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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