Skip to main content
Glama

chat-across

English | 中文

Un pequeño servidor MCP que permite que tus agentes de codificación con IA trabajen en el mismo proyecto como un equipo — Claude Code, Codex y Kimi Code hoy, extensible a cualquier agente que persista sesiones (añadir un proveedor son ~60 líneas). Ancla una sesión a un entorno con nombre con un único comando de barra, y cada agente puede leer lo que los demás están haciendo, directamente desde sus archivos nativos, sin copias.

Se adapta a tu entorno y flujo de trabajo — no al revés. Instala un servidor MCP y sigue trabajando exactamente donde ya trabajas: Codex App, Claude Code / Desktop, Kimi Code, en paralelo o uno a la vez. Sin GUI centralizada, sin nuevo TUI, sin aplicación a la que cambiar, nada que migrar. Tus agentes siguen siendo tuyos; solo dejan de ser desconocidos entre sí.

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

Comandos de barra

Cinco comandos lo cubren todo. En Claude Code y Kimi Code son comandos de barra; en Codex escribe $ y elige la skill del mismo nombre.

Comando

Qué ocurre

/chat-across <name>

Ancla esta sesión al entorno <name> (el primer uso lo crea, el uso repetido se une a él). El agente entonces se sincroniza automáticamente en ambos sentidos: compacta su propia conversación en un resumen y lo envía, extrae el último resumen de cada par, y te dice qué está haciendo cada uno de ellos — todo desde un único comando.

/chat-across-sync

Actualización manual: envía un resumen actualizado, extrae los últimos de los pares. Los agentes también lo hacen por su cuenta tras cada hito significativo, así que rara vez lo necesitarás.

/chat-across-disconnect

Desconecta. La sesión vuelve al aislamiento total — cada herramienta de datos compartidos falla de forma segura hasta que se ancle de nuevo.

/chat-across-list

Lista todos los entornos en el puente: qué proveedores hay dentro, cuántas sesiones lo han tocado, cuándo se movió por última vez.

/chat-across-delete <name>

Elimina un entorno: borra sus resúmenes y punteros, libera el nombre. Si se llama sin nombre, lista los entornos y pregunta — nunca elimina a ciegas. Solo contabilidad del puente; no se tocan las transcripciones, memorias o archivos de nadie.

Todo lo que hace un comando también se puede lograr con lenguaje natural — "elimina el entorno project1", "qué entornos hay", "continúa lo que estaba haciendo Codex" funcionan.

Related MCP server: Cross-Project MCP Server

Qué obtienes

Anclaje — entornos como puntos de encuentro

Un entorno es simplemente un nombre único (project1, mcp, lo que sea). Las sesiones se anclan a él; las sesiones ancladas comparten; las sesiones no ancladas están físicamente fuera — fallo seguro, sin compartir, sin contaminación. Los nombres son la identidad: conectar con un nombre existente siempre se une a él, así que nunca hay dos project1.

Herramienta

Qué hace

chat_across_connect

Crear-o-unirse por nombre. Registra un puntero a la transcripción nativa de esta sesión (los agentes pasan su UUID de sesión para que los pares puedan leerlas), y devuelve el último resumen de cada par — unirse solo ya te dice el estado de todo el equipo.

chat_across_disconnect

Desconecta; todas las herramientas con ámbito vuelven a fallar de forma segura.

Resúmenes — la capa de "qué está haciendo cada uno"

Cada sesión mantiene un resumen de trabajo compactado en el puente (objetivo / hecho / decisiones clave / siguiente), actualizado en su lugar — limitado a 32KB, una fila por sesión, así que el almacenamiento físicamente no puede crecer. Los resúmenes llevan una marca de agua de bytes de la transcripción del autor, para que los lectores vean behindBytes: exactamente cuánto ha ocurrido desde que se escribió el resumen. El desfase es un número medido, no una suposición.

Los pares se identifican por UUID de sesión nativo, no por proveedor — varias sesiones de un mismo proveedor siguen siendo distintas (dos puestos de Claude en un bucle de automatización mantienen cada uno su propio resumen), mientras que la misma sesión que se reconecta a través de un servidor MCP reiniciado se deduplica en una sola entrada. Pasa sessionUuid (mostrado en cada par) a cualquier herramienta de lectura para dirigirte a una sesión con precisión.

Herramienta

Qué hace

chat_across_sync

Envía tu propio resumen (actualización + marca de agua), extrae los últimos de los pares — una llamada, ambas direcciones.

Lectura nativa — el verdadero propósito de este proyecto

Nada se copia al puente. Cuando un agente quiere saber qué hizo un par, el puente resuelve dónde la propia aplicación del par ya lo persiste y lo analiza en su lugar, bajo demanda:

Herramienta

Lee

Detalle

get_peer_tail

La transcripción de sesión nativa del par (.jsonl de proyecto de Claude / rollout de Codex / wire de Kimi)

Últimos N intercambios (10 por defecto, máx. 50), buscados por bytes desde el final del archivo — un rollout vivo de 660MB con bloqueo de escritura responde en milisegundos de un solo dígito. Omite los subhilos guardianes de Codex, filtra el ruido del harness, redacta cadenas con forma de secreto.

get_peer_memory

El almacén de memoria nativo del par

Claude: el directorio de memoria por proyecto. Codex: el almacén a nivel de usuario filtrado por sus etiquetas cwd por entrada. Aquí no existe un banco de memoria compartido — nunca reconstruyas lo que el host ya tiene.

get_peer_instructions

Las reglas permanentes del proyecto del par

CLAUDE.md / AGENTS.md / KIMI.md desde la raíz del proyecto del par.

En conjunto: resumen = qué están haciendo, cola = las últimas palabras exactas, memoria = qué han aprendido, instrucciones = las reglas del proyecto. Un contexto completo de toma de control en una sola conexión.

La identidad del proyecto se deriva, nunca se configura: los propios artefactos del par llevan su cwd (Codex session_meta, registros jsonl de Claude, state.json de Kimi). Funciona incluso si la sesión del par está cerrada, bloqueada o sin cuota — el puente lee archivos, no procesos vivos.

Ciclo de vida — visibilidad y limpieza

Herramienta

Qué hace

list_environments

Cada entorno con los proveedores presentes, número de sesiones y última actividad — "cuál es este project1" se responde solo.

chat_across_delete

Borra un entorno por nombre exacto y lo libera. Las filas obsoletas también se autopodan después de 14 días en cualquier caso.

Uso diario

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

Eso es todo. El agente se ancla, envía su resumen, extrae el de los demás, y te dice qué están haciendo los otros agentes. Luego:

  • "Continúa lo que estaba haciendo Codex" → el agente extrae la cola + memoria + documentación del proyecto de Codex y retoma desde la última frase.

  • "¿Qué entornos hay?"/chat-across-list o simplemente pregunta.

  • "Empieza project1 de nuevo, limpio"/chat-across-delete project1, luego /chat-across project1.

Sesión nueva, mismo hilo

Las sesiones también son pares — incluidas las tuyas propias más antiguas. Abre una sesión completamente nueva (mismo proveedor u otro distinto), ancla al mismo entorno, y el resumen de la sesión anterior llega con la conexión. Di "continúa donde dejé mi última sesión" y el agente lee la cola nativa de esa sesión y retoma desde la última frase.

Esto funciona incluso si la sesión anterior está cerrada, bloqueada o alcanzó su límite de contexto — el puente lee su archivo de transcripción, no un proceso vivo. La reanudación nativa del proveedor (claude --resume, la lista de sesiones de Codex) sigue siendo la primera opción para reinicios simples del mismo proveedor; este es el respaldo estructurado que también sobrevive a la compactación, los cambios de cuota y los saltos de proveedor. Único requisito: la sesión anterior se ancló al menos una vez mientras estaba viva.

Instalación

Cuatro pasos: instala el paquete → regístralo en cada host → instala las plantillas de comandos de barra → reinicia los hosts. Funciona en Windows / macOS / Linux (Node ≥ 20), sin clonar, sin compilar.

1. Instala el paquete

npm install -g chat-across

Esto coloca el comando chat-across en tu PATH y el paquete (servidor + plantillas) en el directorio global de npm — npm root -g imprime la ubicación exacta; el paquete vive en <esa ruta>/chat-across.

2. Registra el servidor en cada host

El mismo servidor en todas partes, solo cambia la etiqueta:

# 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" } } } }

¿Prefieres no instalar globalmente? Usa npx -y chat-across como comando en las tres configuraciones. ¿Desarrollando o contribuyendo? git clone + npm install + apunta las configuraciones a node <repo>/src/server.mjs.

3. Instala los comandos de barra

La carpeta examples/ se incluye dentro del paquete npm. Copia sus plantillas en el directorio de comandos/skills de cada host — le dan a cada agente los cinco comandos /chat-across* y le enseñan a auto-compactar + enviar + extraer al conectar y a pasar su UUID de sesión.

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. Reinicia y verifica

Reinicia cada aplicación host para que lea la nueva configuración de MCP, y luego comprueba:

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

  • Codex: codex mcp get chat-acrossenabled: true; escribir $ debería ofrecer las skills de chat-across

  • Kimi: pregúntale "qué herramientas de chat-across tienes"

Escribe /chat-across test en cualquiera de ellos — created: true significa que el puente está vivo.

Dónde vive todo

Qué

Dónde

Servidor + plantillas de examples/

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

El comando chat-across

directorio bin global de npm (ya en PATH)

Datos del puente (SQLite: solo briefs y punteros)

~/.chat-across/ en todos los SO — se puede sobrescribir con CHATACROSS_DATA_DIR. (Movido desde %APPDATA% en v0.1.4: los hosts empaquetados con MSIX obtienen esa ruta virtualizada silenciosamente; los dotdirs del home no.)

Comandos slash que instalaste en el paso 3

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

Desinstalación = npm uninstall -g chat-across + eliminar los registros y las plantillas copiadas + borrar el directorio de datos. No se escribe nada más en ningún otro lugar.

Cómo se diferencia de lo existente

Las herramientas de contexto entre agentes son un espacio concurrido — y casi todas toman una de dos vías:

  • Herramientas de capa de memoria (memorix, cass-memory, cross-agent-memory, OpenMemory, …) construyen su propio almacén: los hooks de parada o los pipelines de ingesta resumen tus sesiones en su base de datos vectorial / playbook, y los agentes deben escribir en él. Potente, pero es un segundo cerebro que mantener, y contiene copias que se vuelven obsoletas.

  • Puentes de mensajería en vivo (AgentBridge sobre Claude Channels ↔ Codex App Server, …) permiten que dos sesiones en ejecución hablen en tiempo real. Genial para la edición conjunta; no ayuda cuando la sesión par está cerrada, se ha bloqueado o está fuera de cuota — que es exactamente cuando necesitas una toma de control.

chat-across toma una tercera vía: sin almacén, sin hooks, sin embeddings, sin acoplamiento en vivo. Los hosts ya persisten todo — transcripciones, memorias, documentos de proyecto — así que el puente solo resuelve dónde y analiza in situ, bajo demanda. Lo único que escribe es un brief limitado por sesión. Si se elimina la base de datos del puente, no se pierde nada de valor.

Reglas de diseño

  • Cero copias: las conversaciones, memorias y documentos se leen in situ desde el almacenamiento propio de cada host. El puente solo almacena punteros y un brief limitado por sesión (máx. 32KB, poda a los 14 días). Solo local, sin red.

  • Cierre ante fallos: una sesión sin anclar no puede tocar ningún entorno.

  • Nunca reconstruir lo que el host ya tiene: sin banco de memoria compartido, sin espejo de transcripciones, sin motor de búsqueda. El agente lector tiene un modelo; el texto sin procesar es suficiente.

  • Resolución honesta: los punteros de transcripción están etiquetados como uuid / explicit / heuristic para que los lectores sepan cuánto confiar en ellos.

  • Fallo ruidoso: sync/connect verifican que su commit realmente se haya aplicado antes de declarar éxito e informan del archivo de base de datos al que escribieron; una base de datos corrupta se pone en cuarentena (bridge.sqlite.corrupt.<ts>) y se reconstruye ruidosamente al inicio — el puente nunca corre herido y nunca finge.

Añadir un proveedor

Cada proveedor son ~60 líneas: una raíz de sesión + un analizador de líneas de transcripción + un derivador de cwd + (opcionalmente) un lector de almacén de memoria. Los tres actuales (Claude Code / Codex / Kimi Code) son la plantilla — agentes como OpenCode, Hermes, Kiro, o cualquier cosa compatible con MCP que persista sesiones en disco se pueden añadir de la misma manera. Consulta CONTRIBUTING.md para la lista de verificación del adaptador y los requisitos de fixtures.

Advertencias

  • Claude Code elimina automáticamente las transcripciones de sesión después de 30 días (la limpieza se ejecuta en cada lanzamiento). Si dependes de una toma de control de larga duración, aumenta cleanupPeriodDays en ~/.claude/settings.json — de lo contrario, un puntero de par puede sobrevivir a su archivo.

  • Los tres formatos de transcripción son internos de proveedor no documentados y derivarán; los analizadores están acoplados por naturaleza a la versión (probados contra Claude Code 2.x, Codex 0.146–0.147, Kimi Code wire v2). Se aceptan PRs.

  • Se recomienda encarecidamente sessionUuid al conectar — sin él, el puente recurre a la coincidencia del archivo activo más reciente, lo que puede mapear incorrectamente cuando varias sesiones de un proveedor se ejecutan a la vez.

  • Las colas/memorias pasan por un filtro básico de redacción de secretos; es un cinturón de seguridad, no una garantía.

  • No apuntes CHATACROSS_DATA_DIR a %APPDATA% (u otras rutas de carpetas conocidas) en Windows si alguno de tus hosts de agente es una aplicación empaquetada con MSIX: la virtualización de AppData de Windows da silenciosamente a los procesos de contenedor su propia copia superpuesta de esas rutas, dividiendo el puente en mundos paralelos que nunca convergen. El valor predeterminado (~/.chat-across) está exento. Diagnosticado en el campo de la manera difícil.

Licencia

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