IM.codes
面向 AI 编程代理的消息、记忆与控制层:手机上接管终端会话,共享跨提供商的代理记忆,并对多代理工作执行监督与审计。
证据显示有独立节点凭据、可撤销执行权、MCP 运行时绑定身份、工具门禁与熔断开关、Auto Deliver 不做 commit/push 且失败即交还人类,lint-staged 拦截疑似密钥提交;但作用域控制主要来自 README 自述,依赖安全仅有固定版本与锁文件校验,未见依赖审计/漏洞扫描证据,扣分明确。
ack 重连宽限、去重、超时重试与握手窗口缓冲有具体测试覆盖,结构化失败原因(daemon_offline/ack_timeout)明确;但依赖面很广(多家 SDK、原生模块),可用性声明未被全部证据支撑。
面向多提供者、多平台节点、多语言场景,局限明确标注(OpenClaw 仅 macOS、远程桌面仅 Windows、企业记忆未充分验证),环境要求 Node>=22 清晰;但触发精度(Auto 分类、别名解析)仅有描述无静态可核细节,环境配置/自托管要求文档不足。
README 结构清晰并有多语言版本,MIT 许可证齐全可得满分;但证据中缺少安装/自托管说明、无使用示例或 FAQ、无 CHANGELOG(仅 package. 0.1.2),且明示无 SLA 的个人项目却未给出维护/更新路径,均据此扣分。
输出有结构化卡片、证据与评分展示,可用性尚可;统一 IM/记忆/审计层的边际价值真实存在;但整套系统需要自建服务器、守护进程、受控节点与多个 AI 订阅,成本收益在证据中完全没有量化说明,扣分。
部分声明有测试与 CI 佐证(WS 桥可靠性、鉴权/CMSF、Windows 签名与回滚资格测试),可交叉印证;但大量安全与功能声明(如内存脱敏、云端同步隔离)在给定文件中无法溯源到实现,且 README 营销叙述与事实陈述未严格分离,扣分。
- 静态审查:所有安全声明(作用域、脱敏、隔离)均未经执行验证,仅基于源码与文档。
- 发布者身份未经验证;远程桌面与受控执行属高权限能力,部署前应自行审计对应实现。
- 依赖数量庞大且无依赖漏洞扫描证据,使用前建议自行运行 npm audit 类检查。
- 项目自述无 SLA、无稳定性保证,且版本仅 0.1.2,API 可能随时变更。
- 证据中缺少安装与自托管文档,实际部署成本可能高于 README 描述。
这个 Agent 能做什么,适合哪些场景?
IM.codes(仓库 im4codes/imcodes)是一个自托管的消息与控制平台,围绕 Claude Code、Codex、Gemini CLI、OpenClaw、Qwen 等终端型编程代理构建。它由三部分组成:自托管服务器、运行在你开发机上的守护进程(通过 tmux 或各家的 SDK 管理会话),以及浏览器/移动端/Web 界面。核心能力包括远程终端与文件/Git 查看、受控节点远程桌面、共享代理记忆(基于已完成工作总结,支持 pgvector 多语言语义检索)、守护进程托管的 MCP 工具面(记忆、代理间消息、Cron 定时任务),以及多代理讨论与跨提供商审计。OpenSpec Auto Deliver 将变更文件夹驱动为端到端的受监督交付流水线,含审计、评分与返工门禁。整个系统部署在你自己的基础设施上,服务器、守护进程与数据均不依赖第三方托管。
安装后通过 imcodes bind <服务器/bind地址> 将开发机注册为守护进程,守护进程经 tmux 或传输层 SDK(Claude Code SDK、Codex SDK、OpenClaw 网关、Qwen)管理代理会话。浏览器或手机端可打开原始终端或结构化聊天视图、浏览文件树、查看 Git 增删行数、经 WebSocket 隧道预览 localhost。代理通过托管 MCP 服务器获得十个运行时绑定工具:search_memory、get_memory_sources、save_observation、save_preference、send_list_targets、send_message、cron_create/cron_list/cron_update/cron_delete。代理间可用 imcodes send "目标" "消息" [--reply|--all] 互相派活,内置深度、速率与广播上限熔断。Auto 监督在每个回合空闲边界判定 complete/continue/ask_human,supervised_audit 模式还会触发审计与返工循环。Team 讨论以 @@all(config) 派发给多代理,按 audit/review/discuss/brainstorm 等模式多轮协作。受控节点支持作用域命令、单文件传输与类型化 Computer Use,Windows 节点额外提供浏览器端远程桌面。
- 离开工位的开发者:在手机或平板上继续查看终端输出、审批文件改动、预览 localhost,而无需 SSH 或端口转发。
- 维护多台机器的工程师:把多台电脑注册为受控节点,让一个代理跨机器执行作用域命令与文件传输。
- 对单模型输出不放心的团队:用 Team 的 audit 模式让 Claude Code、Codex、Gemini CLI 等多个代理在写代码前交叉审查方案。
- 使用 OpenSpec 的开发者:将变更文件夹一键交给 Auto Deliver,自动完成规范审计、实现、验证、评分与返工门禁。
- 需要持续运维的自动化场景:用 Cron 定时触发代理检查,或在 script 会话中用 Python 监听日志、经
imcodes send在出现 ERROR 时唤起代理修复。
这个 Agent 有哪些优点和局限?
- 跨提供商的记忆层:只物化最终 assistant.text 输出,经多语言嵌入做语义检索(本地搜索 + pgvector),相关历史会按时间线卡片自动注入新会话,显示相关度与最近使用时间。
- Fail-closed 的自动化设计:Auto 监督与 Auto Deliver 在超时、无效输出或配置错误时把控制权交还用户,Auto Deliver 不代为 stage/commit/push,发布权仍在用户。
- MCP 工具运行时绑定当前会话/项目/用户/服务器,代理无法伪造命名空间、令牌或路由字段,且有按提供商的 MCP 就绪/降级状态可视化。
- 部署边界完全自持:服务器、守护进程与数据都在自己的基础设施上,localhost 预览经自有 WebSocket 隧道,无第三方隧道。
- 作者明确声明这是个人项目,无保修、无 SLA、不保证稳定性、安全性或向后兼容,需自行承担风险。
- 部署门槛较高:完整自托管需要 Docker、带 DNS 的域名、PostgreSQL + pgvector + Caddy;守护进程要求 Node.js >= 22 且 Linux/macOS 依赖 tmux。
- 功能有平台限制:远程桌面目前仅限受支持的 Windows 受控节点,macOS/Linux 节点暂无远程桌面;
imcodes connect openclaw仅在 macOS 上测试过。 - 共享上下文的私有云同步与企业级 workspace 记忆仍在积极开发中,作者自述尚未经过完整的生产验证。
如何安装或部署这个 Agent?
要求 macOS 或 Linux(Windows 经 ConPTY 实验性支持),Node.js >= 22,Linux/macOS 需 tmux,至少一个受支持的 AI 编码代理。安装 CLI:npm install -g imcodes。最简路径:用 app.im.codes 评估,绑定机器:imcodes bind https://app.im.codes/bind/<api-key>,该命令启动守护进程并注册为系统服务。正式使用建议自托管(需 Docker 与指向服务器的域名):npm install -g imcodes && mkdir imcodes && cd imcodes && imcodes setup --domain imc.example.com,一步生成配置、以自动 HTTPS 启动 PostgreSQL(pgvector/pgvector:pg18)+ 服务器 + Caddy、创建管理员账号并绑定本地守护进程。手动方式:git clone https://github.com/im4codes/imcodes.git,运行 ./gen-env.sh imc.example.com 后 docker compose up -d,再用 imcodes bind 绑定开发机。
如何使用这个 Agent?
绑定后在浏览器或 App(iOS,支持 iPhone/iPad/Apple Watch,也有网页版 app.im.codes)登录,选择服务器与会话即可打开远程终端或结构化聊天视图。输入 ^ 选择受控节点目标,@ 搜索项目文件,@@ 选择 Team 派发对象,@@all(config) 发给全部已配置代理。代理间协作示例:imcodes send "Plan" "review the changes in src/api.ts";imcodes send "Cx" "run tests" --reply;imcodes send --all "migration complete, check your end"。每个会话可单独设置 Auto 模式为 off/supervised/supervised_audit。连接本地 OpenClaw 网关:imcodes connect openclaw(默认 ws://127.0.0.1:18789,自动复用 ~/.openclaw/openclaw. 中的令牌,目前仅在 macOS 上测试过)。