# codex-im **Repository Path**: uchenily/codex-im ## Basic Information - **Project Name**: codex-im - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-16 - **Last Updated**: 2026-07-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # codex-IM 一个 Deno 版微信私聊 Codex 桥接器。 目标很窄: - 通过微信 iLink Bot API 扫码登录 - 轮询接收私聊文本消息 - 把消息桥接到本机 `codex app-server` - 把回复分段发回微信 - 按 Codex app-server 事件流式回传回复片段 - 每个微信用户保留少量本地历史 不包含: - 多 agent preset - daemon - 文件/图片下载 - telemetry - 注入队列 - 群聊 ## 运行要求 - Deno 2 - 本机已安装并可直接运行 `codex` - 可用的微信 iLink Bot API ## 快速开始 ```bash deno task start -- --allow-first ``` 首次启动会打印二维码 URL。用微信扫码确认后,会把状态保存到 `~/.codex-im/`。 程序会在内部启动 `codex app-server --stdio`,不需要安装 `codex-acp-bridge` 或其他 ACP bridge。 常用参数: ```bash deno task start -- \ --allow-first \ --cwd /path/to/project \ --model gpt-5-codex ``` ## 配置 命令行参数: - `--allow-first` 首个发消息的微信用户自动绑定为 owner - `--login` 忽略已保存 token,强制重新扫码 - `--state-dir ` 指定状态目录 - `--cwd ` 指定 `codex exec` 工作目录 - `--model ` 指定 Codex 模型 - `--wechat-base-url ` 指定 iLink base URL,默认 `https://ilinkai.weixin.qq.com` - `--bot-type ` 指定 bot type,默认 `3` - `--history-limit ` 每个用户保留的历史轮次数,默认 `12` 环境变量: - `WECHAT_BASE_URL`,默认 `https://ilinkai.weixin.qq.com` - `BOT_TYPE` - `CODEX_BIN` - `CODEX_CWD` - `CODEX_MODEL` - `CODEX_ARGS` `CODEX_ARGS` 支持两种格式: - 空格分隔字符串,例如 `--dangerously-bypass-approvals-and-sandbox` - JSON 数组,例如 `["--dangerously-bypass-approvals-and-sandbox","--profile","wechat"]` `CODEX_ARGS` 会追加到 `codex app-server --stdio` 后面,适合传递 app-server 参数。 ## 使用说明 - 只处理私聊文本消息 - 只允许 owner 驱动;未绑定 owner 时,配合 `--allow-first` 使用 - 发送 `/reset` 可清空当前用户本地历史 ## 运行日志 启动后会输出这些关键信息: - 启动配置摘要 - 二维码登录状态变化 - 长轮询心跳 - 收到的消息预览 - owner 绑定或拒绝情况 - Codex app-server 启动、thread、turn 和 message delta 事件 - 回复分段发送情况 ## 流式回复说明 当前实现参考了 `wechat-acp-codex` 的“边界即发送”思路,直接在本项目内实现 Codex app-server JSON-RPC 客户端。 - 项目内部启动 `codex app-server --stdio` - 每个微信用户拥有独立的 Codex thread 和 app-server 进程 - 接收 `item/agentMessage/delta`,在 `item/completed`、工具项、reasoning、plan 等边界刷新消息 - `turn/completed` 后汇总完整 assistant 文本,并写入本地历史 - 如果本轮已经流式发出过回复段,最终完整回复不会再重复发送 - 默认使用 `approvalPolicy=never` 和 `sandbox=danger-full-access`,适合由微信远程驱动的自动化环境 - app-server 的执行/补丁审批请求会在进程内自动批准,不依赖外部 ACP client 限制: - 这依赖当前 Codex CLI 的 app-server 协议;Codex CLI 升级后需要重新验证协议兼容性 - 如果 Codex 没有发出 delta 事件,用户看到的效果仍然接近“末尾一次性返回” 状态文件: - `token.json` 微信登录 token - `sync-buf.txt` 长轮询游标 - `owner.txt` 已绑定 owner - `history/*.json` 每个用户的历史