IM.codes
The messaging, memory, and control layer around terminal AI coding agents: take over sessions from mobile, share cross-provider agent memory, and supervise multi-agent work with audit.
- Source repo
- im4codes/imcodes
- Stars
- ★ 965
- Last updated
- today
- License
- MIT
- Primary language
- TypeScript
- FA score
- 60/100 · Some gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex · Claude Code
- Cost
- Free software; you pay for model usage
- Setup effort
- High · needs real infrastructure
- You'll need
- Typical use
- A developer away from their desk: continue watching terminal output, reviewing file changes, and previewing localhost from phone or tablet without SSH or port forwarding.
- Not a fit if
- Individuals unwilling to run Docker, a domain, PostgreSQL and Caddy
- Teams needing an SLA, warranties or backward compatibility
- Users needing remote desktop on macOS/Linux nodes or production-tested enterprise memory
- Source review
- 60/100 · Some gaps
What does this agent do, and when should you use it?
IM.codes (repository im4codes/imcodes) is a self-hosted messaging and control platform built around terminal coding agents such as Claude Code, Codex, Gemini CLI, OpenClaw, and Qwen. It consists of a self-hosted server, a daemon running on your dev machine that manages sessions via tmux or per-provider SDKs, and browser/mobile/web clients. Core capabilities include remote terminal plus file/Git views, controlled-node remote desktop, shared agent memory (summarized completed work with multilingual pgvector recall), a daemon-managed MCP tool surface for memory, agent messaging and Cron scheduling, and multi-agent discussions with cross-provider audit. OpenSpec Auto Deliver drives a change folder through an end-to-end supervised pipeline with audits, module scoring, and rework gates. Everything runs on your own infrastructure — server, daemon, and data are never delegated to third-party hosting.
After installing, imcodes bind <server-bind-url> registers your machine as a daemon; the daemon manages agent sessions through tmux or transport-backed SDKs (Claude Code SDK, Codex SDK, OpenClaw gateway, Qwen). From a browser or phone you can open the raw terminal or a structured chat view, browse the file tree, see per-file Git add/delete line counts, and preview localhost through a secure WebSocket tunnel. Agents receive a ten-tool runtime-bound MCP surface: search_memory, get_memory_sources, save_observation, save_preference, send_list_targets, send_message, and cron_create/cron_list/cron_update/cron_delete. Agents coordinate with imcodes send "target" "message" [--reply|--all], protected by depth, rate, and broadcast-cap circuit breakers. Auto supervision classifies each completed turn as complete/continue/ask_human at the idle boundary, and supervised_audit adds an audit-then-rework loop. Team discussions dispatch multi-agent rounds via @@all(config) using modes like audit/review/discuss/brainstorm. Controlled Nodes support scoped commands, single-file transfer, and typed Computer Use; capable Windows nodes add browser-based remote desktop.
- A developer away from their desk: continue watching terminal output, reviewing file changes, and previewing localhost from phone or tablet without SSH or port forwarding.
- An engineer with multiple machines: enroll several computers as Controlled Nodes and let one agent run scoped commands and file transfers across all of them.
- A team wary of single-model output: use Team's audit mode to have Claude Code, Codex, Gemini CLI, and others cross-review a plan before any code is written.
- An OpenSpec user: hand a change folder to Auto Deliver for automated spec audit, implementation, validation, scoring, and rework gates.
- Automation and on-call scenarios: schedule Cron-triggered agent checks, or run a Python script session that tails a log and calls
imcodes sendto trigger a fix when an ERROR appears.
How do you install or deploy this agent?
Requirements: macOS or Linux (Windows supported experimentally via ConPTY), Node.js >= 22, tmux on Linux/macOS, and at least one supported AI coding agent. Install the CLI: npm install -g imcodes. Quick evaluation: use app.im.codes and bind your machine with imcodes bind https://app.im.codes/bind/<api-key> — this starts the daemon and registers it as a system service. For real use, self-host (requires Docker and a domain with DNS pointing to the server): npm install -g imcodes && mkdir imcodes && cd imcodes && imcodes setup --domain imc.example.com, which generates config, starts PostgreSQL (pgvector/pgvector:pg18) + server + Caddy with automatic HTTPS, creates the admin account, and binds the local daemon. Manual path: git clone https://github.com/im4codes/imcodes.git, run ./gen-env.sh imc.example.com, then docker compose up -d, and bind your dev machine with imcodes bind.
How do you use this agent?
After binding, sign in from the browser or the iOS app (iPhone/iPad/Apple Watch, plus the web app at app.im.codes), pick a server and session, and open the remote terminal or structured chat view. Type ^ to pick a Controlled Node target, @ to search project files, @@ to select Team dispatch targets, and @@all(config) to message all configured agents. Agent-to-agent examples: imcodes send "Plan" "review the changes in src/api.ts"; imcodes send "Cx" "run tests" --reply; imcodes send --all "migration complete, check your end". Set each session's Auto mode to off/supervised/supervised_audit individually. To attach a local OpenClaw gateway: imcodes connect openclaw (defaults to ws://127.0.0.1:18789, reuses the token from ~/.openclaw/openclaw.json; tested on macOS only).
What are this agent's strengths and limitations?
- Cross-provider memory layer: only final assistant.text outputs are materialized, embedded multilingually, and recalled via local semantic search plus server-side pgvector, with injection cards showing relevance score, recall count, and last-used time.
- Fail-closed automation: Auto supervision and Auto Deliver hand control back on timeouts, invalid output, or bad config, and Auto Deliver never stages, commits, or pushes — the user remains the final release owner.
- MCP tools are runtime-bound to the current session/project/user/server, so agents cannot forge namespace, token, or routing fields; per-provider MCP readiness and degraded states are visible in the UI.
- Self-contained deployment boundary: server, daemon, and data stay on your own infrastructure, and localhost preview tunnels through your own server with no third-party tunnels.
- The author explicitly states this is a personal project with no warranties, no SLA, and no guarantees of stability, security, or backward compatibility — use at your own risk.
- Deployment has real overhead: full self-hosting needs Docker, a domain with DNS, PostgreSQL + pgvector + Caddy; the daemon needs Node.js >= 22 and tmux on Linux/macOS.
- Feature gaps by platform: remote desktop currently works only on supported Windows controlled nodes (macOS/Linux nodes lack it), and
imcodes connect openclawhas been tested on macOS only. - Personal cloud sync of shared context and enterprise workspace memory are under active development and, per the README, not fully production-tested.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| IM.codes This agent | 60 · Some gaps | Self-hosted serviceFree + model costs | ★ 965 | today | TypeScript | Codex · Claude Code |
| Dinotty | 61 · Some gaps | Self-hosted serviceFree | ★ 727 | 1d ago | TypeScript | Codex · Claude Code |
| Agentica | 63 · Some gaps | CLIFree + model costs | ★ 357 | today | Python | OpenAI API · Claude API |
| Ouroboros | 48 · Major gaps | Desktop appFree + model costs | ★ 1.6k | today | Python | — |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows independent node credentials, revocable execution, runtime-bound MCP identity, feature gates/kill switches, Auto Deliver never staging/committing/pushing and failing closed to a human, and lint-staged blocking likely secrets. Deducted: scoping claims are mostly README assertions; dependency security shows only pinned versions and lock verification, no audit/scan evidence.
Ack reliability (reconnect grace, dedup, timeout retry, handshake-window buffering) has concrete tests, with structured failure reasons (daemon_offline/ack_timeout). Deducted: the dependency surface is very broad (multiple vendor SDKs, native modules); availability claims are not fully supported by evidence.
Multi-provider, multi-platform, multilingual audience with explicitly stated boundaries (OpenClaw macOS-only, remote desktop Windows-only, enterprise memory unproven) and clear Node>=22 requirement. Deducted: trigger precision (Auto classification, alias resolution) is described but not statically verifiable in detail; environment/self-hosting docs are thin.
Well-organized multilingual README and a complete MIT license (full marks). Deducted: no install/self-hosting instructions in evidence, no usage examples or FAQ, no CHANGELOG (only 0.1.2 in package.), and an explicitly no-SLA personal project with no stated maintenance/update path.
Structured cards, evidence and scores make outputs usable; the unified IM/memory/audit layer offers real marginal value. Deducted: the stack requires a self-hosted server, daemon, controlled nodes and multiple AI subscriptions, and the evidence quantifies no cost/benefit.
Some claims are corroborated by tests and CI (WS-bridge reliability, auth/CSRF, Windows signing and self-upgrade rollback qualification). Deducted: many security/feature claims (memory redaction, cloud-sync isolation) cannot be traced to implementation in the provided files, and the README mixes marketing narrative with factual statements.
- Static review only: all security claims (scoping, redaction, isolation) are unverified by execution and rest on source/docs.
- Publisher identity is unverified; remote desktop and controlled execution are high-privilege capabilities — audit the implementations before deploying.
- Very large dependency surface with no evidence of vulnerability scanning; run dependency audits before use.
- The project disclaims SLA and stability and is at version 0.1.2; APIs may change without notice.
- Install and self-hosting documentation is missing from the evidence; real deployment cost may exceed what the README implies.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
Android — Pick the edition that matches your region - imcodes-global-*.apk — International edition. Push notifications via Firebase FCM (Google Play Services required). Use this everywhere outside Mainland China. - imcodes-china-*.apk — Mainland China edition. Push notifications via 极光推送 JPush, which fans out to the on-device vendor channels (Huawei / Xiaomi / OPPO / vivo / Honor) so they work without Google Play Services. Both APKs share the same applicationId (com.im.codes) and cannot coexist on a single device — install only one. What's Changed …View on GitHub ↗ -
android-v1.1-4ba7b24 Android v1.1 (4ba7b24)
-
libwebrtc-sdk-linux-x64-bf828ff395505025-e11a38fad3ddd9fd Pinned Linux x64 libwebrtc SDK bf828ff395505025