# 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` 每个用户的历史