Skip to content

Commit ecfe6d7

Browse files
authored
Merge pull request #2 from im4codes/dev
Dev
2 parents 2a3a352 + 6c7c0c9 commit ecfe6d7

143 files changed

Lines changed: 12431 additions & 1477 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.i18n/README.es.md

Lines changed: 286 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,286 @@
1+
# [IM.codes](https://im.codes)
2+
3+
[English](../README.md) | [简体中文](README.zh-CN.md) | [繁體中文](README.zh-TW.md) | [Español](README.es.md) | [Русский](README.ru.md) | [日本語](README.ja.md) | [한국어](README.ko.md)
4+
5+
6+
**La capa de mensajería para agentes.**
7+
8+
IM.codes es un mensajero especializado para agentes de programación con IA. Te permite seguir sesiones largas desde móvil o web, con acceso a terminal, navegación de archivos, vistas de Git, vista previa de localhost, notificaciones y flujos multiagente integrados. Funciona con [Claude Code](https://github.com/anthropics/claude-code), [Codex](https://github.com/openai/codex), [Gemini CLI](https://github.com/google-gemini/gemini-cli), [OpenClaw](https://openclaw.com) y [Qwen](https://github.com/QwenLM/qwen-agent).
9+
10+
> **Nota:** Este archivo es una traducción. **El README en inglés (`../README.md`) es la versión canónica.** Si hay alguna diferencia, prevalece la versión en inglés.
11+
12+
Claude Code y Codex ahora admiten dos modos de integración: CLI y SDK.
13+
14+
## Capturas
15+
16+
### Escritorio
17+
18+
<p>
19+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-sidebar.png"><img src="../landing/imcodes-sidebar.png" width="24%" /></a>
20+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes0.png"><img src="../landing/imcodes0.png" width="24%" /></a>
21+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes1.png"><img src="../landing/imcodes1.png" width="24%" /></a>
22+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes2.png"><img src="../landing/imcodes2.png" width="24%" /></a>
23+
</p>
24+
25+
### iPad / Tableta
26+
27+
<p>
28+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-ipad2.png"><img src="../landing/imcodes-ipad2.png" width="48%" /></a>
29+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-ipad3.png"><img src="../landing/imcodes-ipad3.png" width="48%" /></a>
30+
</p>
31+
32+
### Móvil
33+
34+
<p>
35+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-m6.png"><img src="../landing/imcodes-m6.png" width="18%" /></a>
36+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-m7.png"><img src="../landing/imcodes-m7.png" width="18%" /></a>
37+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-m8.png"><img src="../landing/imcodes-m8.png" width="18%" /></a>
38+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-m5.png"><img src="../landing/imcodes-m5.png" width="18%" /></a>
39+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-m1.png"><img src="../landing/imcodes-m1.png" width="18%" /></a>
40+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-m2.png"><img src="../landing/imcodes-m2.png" width="18%" /></a>
41+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-m3.png"><img src="../landing/imcodes-m3.png" width="18%" /></a>
42+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-m4.png"><img src="../landing/imcodes-m4.png" width="18%" /></a>
43+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-m0.png"><img src="../landing/imcodes-m0.png" width="18%" /></a>
44+
</p>
45+
46+
### Apple Watch
47+
48+
<p>
49+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-watch1.png"><img src="../landing/imcodes-watch1.png" width="31%" /></a>
50+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-watch0.png"><img src="../landing/imcodes-watch0.png" width="31%" /></a>
51+
<a href="https://raw.githubusercontent.com/im4codes/imcodes/master/landing/imcodes-watch2.png"><img src="../landing/imcodes-watch2.png" width="31%" /></a>
52+
</p>
53+
54+
55+
La compatibilidad con Apple Watch cubre monitorización rápida de sesiones, contadores de no leídos, notificaciones push y respuestas rápidas desde la muñeca.
56+
57+
## Descarga
58+
59+
<a href="https://apps.apple.com/us/app/im-codes/id6761014424"><img src="https://developer.apple.com/assets/elements/badges/download-on-the-app-store.svg" height="40" alt="Download on the App Store" /></a>
60+
61+
Compatible con iPhone, iPad y Apple Watch. También disponible como [web app](https://app.im.codes) y mediante `npm install -g imcodes` (CLI del daemon).
62+
63+
## Por qué
64+
65+
Cuando te alejas del escritorio, la mayoría de los flujos con coding agents se rompen. El agente sigue ejecutándose en un terminal, pero continuar normalmente implica SSH, `tmux attach`, escritorios remotos o esperar hasta volver al portátil.
66+
67+
[IM.codes](https://im.codes) mantiene esas sesiones al alcance desde móvil o web: abrir el terminal, inspeccionar archivos y cambios Git, previsualizar localhost desde otro dispositivo, recibir notificaciones cuando el trabajo termina y mantener varios agentes en marcha sobre tu propia infraestructura.
68+
69+
No es otro IDE de IA ni un cliente genérico de terminal remota. Es la capa de mensajería y control alrededor de coding agents basados en terminal.
70+
71+
Este es un proyecto personal. Yo prácticamente no escribí código: fue construido casi por completo por [Claude Code](https://github.com/anthropics/claude-code), con contribuciones importantes de [Codex](https://github.com/openai/codex) y [Gemini CLI](https://github.com/google-gemini/gemini-cli).
72+
73+
## Funciones
74+
75+
### Terminal remota
76+
Acceso completo al terminal de tus sesiones de agente desde cualquier navegador, sin SSH, VPN ni port forwarding. Puedes alternar entre modo terminal bruto y una vista de chat estructurada con tool calls, bloques de thinking y salida en streaming.
77+
78+
### Navegador de archivos y cambios Git
79+
Explora archivos del proyecto en árbol, sube y descarga archivos, revisa estado Git con conteo de líneas añadidas y eliminadas, y abre vistas previas flotantes con resaltado de sintaxis y diff.
80+
81+
### Vista previa web local
82+
Previsualiza tu servidor de desarrollo local desde cualquier dispositivo sin desplegar nada. El daemon hace proxy del tráfico `localhost` a través de un túnel WebSocket seguro.
83+
84+
### Móvil, reloj y notificaciones
85+
Soporte completo para móvil, autenticación biométrica, notificaciones push, entrada interactiva para sesiones shell y respuestas rápidas desde Apple Watch.
86+
87+
### Discusiones y auditoría multiagente
88+
Puedes ejecutar rondas rápidas de discusión donde varios agentes, incluso de distintos proveedores, revisan o auditan el mismo tema.
89+
90+
### Agentes transport con streaming
91+
Soporte nativo de streaming para agentes transport como OpenClaw y Qwen, sin scraping de terminal.
92+
93+
### Comunicación agente a agente
94+
Los agentes pueden enviarse mensajes directamente mediante `imcodes send`.
95+
96+
```bash
97+
imcodes send "Plan" "review the changes in src/api.ts"
98+
imcodes send "Cx" "run tests" --reply
99+
imcodes send --all "migration complete, check your end"
100+
```
101+
102+
También puedes usar sesiones `script` para automatizar flujos personalizados.
103+
104+
```python
105+
# monitor.py — watch a log file, trigger agent when errors appear
106+
import subprocess, time
107+
108+
while True:
109+
with open("/var/log/app.log") as f:
110+
for line in f:
111+
if "ERROR" in line:
112+
subprocess.run([
113+
"imcodes", "send", "Claude",
114+
f"Fix this error and write the patch to /tmp/fix.patch:
115+
{line}"
116+
])
117+
time.sleep(30)
118+
```
119+
120+
```bash
121+
# Webhook → agent: GitHub webhook handler triggers code review
122+
curl -X POST https://your-server/webhook -d '{"pr": 42}' \
123+
&& imcodes send "Gemini" "review PR #42, write summary to /tmp/review.md"
124+
125+
# CI → agent: post-build trigger
126+
imcodes send "Claude" "tests failed on main, check CI log at /tmp/ci.log and fix" --reply
127+
```
128+
129+
### Selector `@` inteligente
130+
`@` busca archivos del proyecto; `@@` selecciona agentes para despacho P2P.
131+
132+
### Gestión de múltiples servidores y sesiones
133+
Conecta varias máquinas de desarrollo a un único panel.
134+
135+
### Barra lateral estilo Discord
136+
Barra de iconos de servidor, árbol jerárquico de sesiones, contadores de no leídos y paneles fijados.
137+
138+
### Paneles fijables
139+
Cualquier ventana flotante se puede fijar a la barra lateral.
140+
141+
### Panel del repositorio
142+
Consulta issues, PRs, ramas, commits y ejecuciones CI/CD desde la app.
143+
144+
### Tareas programadas (Cron)
145+
Automatiza flujos de agentes recurrentes con programación estilo cron.
146+
147+
### Sincronización entre dispositivos
148+
Orden de pestañas y paneles fijados se sincronizan a través de la API de preferencias del servidor.
149+
150+
### Internacionalización
151+
La interfaz soporta 7 idiomas.
152+
153+
### Actualizaciones OTA
154+
El daemon puede actualizarse vía npm y dispararse desde la web.
155+
156+
## Lo que IM.codes no es
157+
158+
- No es otro IDE de IA
159+
- No es solo un wrapper de chat
160+
- No es solo un cliente de terminal remota
161+
- No reemplaza Claude Code, Codex, Gemini CLI, OpenClaw o Qwen
162+
- Es la capa de mensajería y control alrededor de ellos
163+
164+
## Arquitectura
165+
166+
```
167+
You (browser / mobile)
168+
↓ WebSocket
169+
Server (self-hosted)
170+
↓ WebSocket
171+
Daemon (your machine)
172+
↓ tmux / transport
173+
AI Agents (Claude Code / Codex / Gemini CLI / OpenClaw)
174+
↔ imcodes send (agent-to-agent)
175+
```
176+
177+
El daemon se ejecuta en tu máquina y gestiona sesiones a través de tmux o protocolos transport. El servidor reenvía las conexiones entre tus dispositivos y el daemon. Todo permanece en tu propia infraestructura.
178+
179+
## Instalación
180+
181+
```bash
182+
npm install -g imcodes
183+
```
184+
185+
## Inicio rápido
186+
187+
> **Se recomienda encarecidamente autoalojar.** La instancia compartida `app.im.codes` es solo para pruebas.
188+
189+
```bash
190+
imcodes bind https://app.im.codes/bind/<api-key>
191+
```
192+
193+
Este comando vincula tu máquina, inicia el daemon, lo registra como servicio del sistema y hace que la máquina aparezca en el panel web/móvil.
194+
195+
### Conexión OpenClaw
196+
197+
Si OpenClaw está ejecutándose localmente, conecta IM.codes al gateway de OpenClaw en la máquina donde corre el daemon:
198+
199+
```bash
200+
imcodes connect openclaw
201+
```
202+
203+
Esto:
204+
205+
- se conecta por defecto a `ws://127.0.0.1:18789`
206+
- reutiliza automáticamente el token desde `~/.openclaw/openclaw.json`
207+
- sincroniza sesiones principales e hijas de OpenClaw en IM.codes
208+
- guarda la configuración en `~/.imcodes/openclaw.json`
209+
- reinicia el daemon para permitir la reconexión automática
210+
211+
```bash
212+
imcodes connect openclaw --url ws://127.0.0.1:18789
213+
OPENCLAW_GATEWAY_TOKEN=... imcodes connect openclaw
214+
imcodes connect openclaw --url wss://gateway.example.com
215+
```
216+
217+
Notas:
218+
219+
- las URLs remotas `ws://` sin TLS requieren `--insecure`
220+
- usa `imcodes disconnect openclaw` para eliminar la configuración guardada
221+
- este flujo solo se ha probado en macOS
222+
223+
## Autoalojado
224+
225+
### Configuración en un solo comando
226+
227+
```bash
228+
npm install -g imcodes
229+
mkdir imcodes && cd imcodes
230+
imcodes setup --domain imc.example.com
231+
```
232+
233+
### Configuración manual
234+
235+
```bash
236+
git clone https://github.com/im4codes/imcodes.git && cd imcodes
237+
./gen-env.sh imc.example.com # generates .env with random secrets, prints admin password
238+
docker compose up -d
239+
```
240+
241+
## Windows (experimental)
242+
243+
Windows está soportado de forma nativa mediante ConPTY.
244+
245+
```cmd
246+
npm install -g imcodes
247+
imcodes bind https://app.im.codes/bind/<api-key>
248+
```
249+
250+
```cmd
251+
imcodes upgrade
252+
```
253+
254+
```cmd
255+
imcodes repair-watchdog
256+
```
257+
258+
```cmd
259+
npm prefix -g
260+
```
261+
262+
```cmd
263+
setx PATH "<npm-prefix-path>;%PATH%"
264+
```
265+
266+
```
267+
%USERPROFILE%\.imcodes\watchdog.log
268+
```
269+
270+
## Requisitos
271+
272+
- macOS o Linux
273+
- Windows (experimental) vía ConPTY
274+
- Node.js >= 20
275+
- tmux en Linux/macOS
276+
- Al menos un coding agent: Claude Code, Codex, Gemini CLI, OpenClaw o Qwen
277+
278+
## Descargo de responsabilidad
279+
280+
IM.codes es un proyecto independiente de código abierto y no está afiliado, respaldado ni patrocinado por Anthropic, OpenAI, Google, Alibaba, OpenClaw ni ninguna otra empresa mencionada.
281+
282+
## Licencia
283+
284+
[MIT](../LICENSE)
285+
286+
© 2026 [IM.codes](https://im.codes)

0 commit comments

Comments
 (0)