
Codex Away Mode 是一个面向 Codex 桌面端应用的 Skill。连接飞书和Codex:通过飞书发送完成通知、审批提醒,并在等待你回复飞书消息,执行后续操作
中文别名:Codex 离开模式。
English version: README.en.md
Codex Away Mode 是一个面向 Codex 桌面端应用的 Skill。它不是把 Codex 搬进飞书重新做一个远程客户端,而是把桌面版 Codex 延伸到你离开电脑的时间段:通过飞书发送完成通知、审批提醒,并在短时间窗口内等待你回复飞书卡片,把你的指令继续送回当前 Codex 会话。
这个项目当前只支持 Codex,不支持 Claude Code、Cursor、OpenCode 或其他 Agent 运行环境。
Codex 经常会跑比较久的任务。人不在电脑前时,常见问题是:
Codex Away Mode 解决的是这些“离开电脑后的可达性”问题。
它不是远程控制服务,也不是飞书里的 Codex 客户端。它只在当前 Codex 会话仍然活着时工作。
很多类似项目会把 IM 当作新的主入口:通过 codex exec 启动一段命令行任务,或通过类似 codex-app-server 的服务把 Codex 暴露成一个可远程调用的会话。这样的方案适合命令型、自动化、一次性任务,但对创意型、迭代型工作不一定友好:工作现场容易从 Codex 桌面端应用被迁走,用户回到桌面时,不一定能直观地接着同一个 Codex 会话继续看上下文、审批、文件变更、视觉结果和讨论过程。
Codex Away Mode 的核心区别是:它以 Codex 桌面端应用为主工作台,飞书只是离开电脑时的延伸层。
codex exec 执行,而是在当前 Codex 会话还活着时,把你回复对应卡片的内容送回这个 Codex 会话。如果你想要的是“在 IM 里完整操作一个远程 Codex”、“把所有 Agent 都接进一个聊天入口”或“用服务器长期托管 Codex 会话”,这个项目目前不是那个方向。它更像是 Codex 桌面端应用的离开模式:你暂时离开桌面,但不离开当前工作现场。
用户直接回复飞书卡片后,回复会回到当前 Codex 会话;Codex 处理后继续发送新的进度卡。
当 Codex 等待桌面端审批时,飞书会发送提醒;用户仍然回到 Codex 桌面端应用处理审批。
每一轮工作结束后,Codex 会把结构化完成摘要发送到飞书。
最推荐的安装方式是:把这个仓库链接交给 Codex,让 Codex 读完仓库后帮你安装。
如果你使用 skills CLI,也可以先把 Skill 安装到 Codex:
npx skills add sudoHG/codex-away-mode --skill codex-away-mode -a codex -g
这一步只负责安装 Skill。飞书授权、Codex Hook(钩子)信任和端到端通知验证,仍建议让 Codex 按下面的安装流程继续完成。
你可以这样对 Codex 说:
请阅读这个仓库并安装 Codex Away Mode。
安装前请说明会写入哪些全局文件。
安装过程中需要我确认飞书授权或 Codex Hook 信任时,请用中文告诉我该怎么做。
安装完成后,请运行 doctor 验证。
Agent 通常会执行下面这些命令:
./codex-away-mode/scripts/codex-away-mode install --dry-run --json
./codex-away-mode/scripts/codex-away-mode install --yes --json
${CODEX_AWAY_HOME:-$HOME/.codex-away-mode}/bin/codex-away-mode setup feishu --json
${CODEX_AWAY_HOME:-$HOME/.codex-away-mode}/bin/codex-away-mode doctor --e2e-notify --json
${CODEX_AWAY_HOME:-$HOME/.codex-away-mode}/bin/codex-away-mode doctor --json
安装器会使用经过验证的固定版本 @larksuite/cli@1.0.57,默认安装在:
${CODEX_AWAY_HOME:-$HOME/.codex-away-mode}/npm
它不会依赖你系统里已有的全局 lark-cli,也不会默认使用不断变化的 latest 版本。
安装器会写入这些位置:
${CODEX_AWAY_HOME:-$HOME/.codex-away-mode}
程序主体、配置、安装状态、本地依赖缓存
${CODEX_HOME:-$HOME/.codex}
Codex Skill discovery、AGENTS 托管块、Hooks 配置
${TMPDIR}/codex-away-mode/state.sqlite
短暂运行态,例如 Away Mode 会话、卡片路由、去重记录、诊断事件
安装完成后,你需要在 Codex 桌面端应用里信任 Hook(钩子):
设置 -> 钩子
英文界面是:
Settings -> Hooks
如果没有信任 Hook(钩子),完成通知、审批提醒和 Away Mode 相关自动化可能不会生效。
可以用下面命令检查当前状态:
${CODEX_AWAY_HOME:-$HOME/.codex-away-mode}/bin/codex-away-mode doctor --json
doctor --e2e-notify --json 只能证明飞书发送链路可用;真正的 Hook(钩子)信任状态以 doctor --json 为准。
安装成功后,Codex 会在用户可见的一轮工作结束前写入完成摘要。Stop hook 会把摘要发到飞书。
Agent 会通过 codex-away-mode notify stage-summary 提交完成摘要。
通知默认开启。你可以直接告诉 Codex:
暂停飞书通知 2 小时
或:
关掉飞书完成通知
当你要离开电脑时,可以告诉 Codex:
开启 Codex Away Mode 30 分钟
我要离开电脑 3 小时
Codex 会发送一张飞书卡片。请直接回复这张卡片,不要发普通私聊。
可用命令:
/延长等待
/状态
/结束等待
也可以用自然语言,例如:
把等待时间延长 1 个小时
当 Codex 触发权限审批时,飞书会收到提醒。这个提醒只负责告诉你“桌面端正在等你确认”,不能替你审批。
你仍然需要回到 Codex 桌面端应用处理审批。
安装或排障时,Agent 应优先阅读:
codex-away-mode/SKILL.mdcodex-away-mode/references/install.mdcodex-away-mode/references/usage.mdcodex-away-mode/references/troubleshooting.mdcodex-away-mode/references/privacy.mdcodex-away-mode/
SKILL.md Skill 入口
agents/openai.yaml Skill 展示元数据
references/ 安装、使用、排障、隐私说明
scripts/ CLI 和运行时代码
tests/ 自动化测试
开发者可以运行:
pytest -q
python3 -m compileall -q codex-away-mode/scripts/codex_away_mode tests
python3 /path/to/quick_validate.py codex-away-mode
安装 dry-run:
./codex-away-mode/scripts/codex-away-mode install --dry-run --json
真实飞书授权、Codex Hook 信任、飞书卡片回复路由需要人工确认,不能只靠单元测试证明。
本工具目前只在 macOS 上完成过真机测试,主要验证环境为 Codex 桌面端应用、飞书和本地 lark-cli。
作者本人暂无 Windows 电脑,因此 Windows 下的安装流程、Hook 信任、飞书授权、Away Mode 等待与回复路由的可靠性尚未完成真机验证。
如果你在使用中遇到问题,欢迎提交 issue,或发送邮件到 by331works@gmail.com。反馈时建议尽量说明:
codex-away-mode doctor --json 的输出。${TMPDIR}/codex-away-mode/state.sqlite。更多说明见:
codex-away-mode/references/privacy.mdcodex-away-mode/references/troubleshooting.mdMIT License。