{"_id":"@dysonic/ai-labs-codex-openclaw-bridge","name":"@dysonic/ai-labs-codex-openclaw-bridge","dist-tags":{"alpha":"1.0.0-alpha.0","latest":"1.0.0-alpha.0"},"versions":{"1.0.0-alpha.0":{"name":"@dysonic/ai-labs-codex-openclaw-bridge","private":false,"version":"1.0.0-alpha.0","license":"MIT","description":"Bridge CLI for letting OpenClaw drive Codex non-interactively","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","bin":{"codex-openclaw-bridge":"dist/cli.js"},"sideEffects":false,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"scripts":{"clean":"rimraf dist && rimraf coverage && rimraf node_modules","prebuild":"rimraf dist"},"_id":"@dysonic/ai-labs-codex-openclaw-bridge@1.0.0-alpha.0","gitHead":"b23c0f752d585623787f1b73feae310bb1705c73","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-lL0w7WCKY+d/+fUCSaYv1+RalGBTHEMWnAWRTdiuEzJa5Eq1OJmDSh6Iux6d+XHNzxWhXVySQiEqaJUlZcz/7g==","shasum":"3b79f0fc970ec8f7418ec187a1c9b7b244ef42a7","tarball":"https://registry.npmjs.org/@dysonic/ai-labs-codex-openclaw-bridge/-/ai-labs-codex-openclaw-bridge-1.0.0-alpha.0.tgz","fileCount":14,"unpackedSize":176763,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFyYXD1JIXagvRouyJy8ZD69XHfUOhY24t0HMABujifWAiAGfedb5nvlzvnT+a1yPqM5fSkQcYX8LN2QAzKGzRy1HA=="}]},"_npmUser":{"name":"yuanhongboo","email":"yuanhongboo@gmail.com"},"directories":{},"maintainers":[{"name":"yuanhongboo","email":"yuanhongboo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-labs-codex-openclaw-bridge_1.0.0-alpha.0_1776040962095_0.9149600201865369"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-13T00:42:41.970Z","1.0.0-alpha.0":"2026-04-13T00:42:42.241Z","modified":"2026-04-13T00:42:42.736Z"},"maintainers":[{"name":"yuanhongboo","email":"yuanhongboo@gmail.com"}],"description":"Bridge CLI for letting OpenClaw drive Codex non-interactively","license":"MIT","readme":"# codex-openclaw-bridge\n\n`codex-openclaw-bridge` 是一个本地 CLI，用来把 OpenClaw 的消息/命令入口映射到 Codex 的非交互命令。\n\n第一版只覆盖四个动作：\n\n- `run`\n- `resume`\n- `last`\n- `status`\n\n同时新增了一个更适合 OpenClaw / Telegram 的 `dispatch` 入口。\n\n它不尝试控制 Codex 的交互式 TUI，而是直接调用：\n\n- `codex exec`\n- `codex exec resume`\n\n并从 `~/.codex/history.jsonl` 和 `~/.codex/sessions/` 提取会话摘要。\n\n## 用法示例\n\n```bash\ncodex-openclaw-bridge install-local\ncodex-openclaw-bridge run --cwd /path/to/repo --prompt \"修复 lint\"\ncodex-openclaw-bridge resume --session-id 019d... --prompt \"选择方案 A，继续\"\ncodex-openclaw-bridge last\ncodex-openclaw-bridge status --last\n```\n\n## OpenClaw 友好协议\n\n`dispatch` 接收一条文本命令，适合从 Telegram/OpenClaw 直接转发：\n\n```bash\ncodex-openclaw-bridge dispatch --text \"/codex run /path/to/repo :: 修复 lint\"\ncodex-openclaw-bridge dispatch --text \"/codex resume 019d... :: 选择方案 A，继续\"\ncodex-openclaw-bridge dispatch --text \"/codex status last\" --chat\ncodex-openclaw-bridge dispatch --text \"/codex last\" --chat\n```\n\n推荐给 OpenClaw 的最小协议就是：\n\n- `/codex run <cwd> :: <prompt>`\n- `/codex resume <session-id|last> :: <prompt>`\n- `/codex continue <session-id|last> :: <prompt>`\n- `/codex yes <session-id|last> :: <prompt>`\n- `/codex no <session-id|last> :: <prompt>`\n- `/codex status [<session-id>|last|<cwd>]`\n- `/codex last [<cwd>]`\n\n## 本地安装\n\n可以把 bridge 安装成稳定命令名，默认落到 `~/.local/bin`：\n\n```bash\ncodex-openclaw-bridge install-local\n```\n\n安装后会得到两个命令：\n\n- `codex-openclaw-bridge`\n- `openclaw-codex-dispatch`\n- `openclaw-codex-handler`\n\n后者更适合给 OpenClaw 直接调用：\n\n```bash\nopenclaw-codex-dispatch \"/codex status last\"\nopenclaw-codex-dispatch \"/codex run /Users/hongboy/projects/ai-labs :: 查看最近变更\"\n```\n\n`openclaw-codex-handler` 则是更通用的 handler 包装层。它会依次从：\n\n- 第一个命令行参数\n- `MESSAGE_TEXT`\n- `OPENCLAW_MESSAGE_TEXT`\n- stdin\n\n读取消息文本，再转发给 `openclaw-codex-dispatch`。\n\n## OpenClaw 接线模板\n\nOpenClaw 侧最小接线可以直接把 Telegram 文本原样转给：\n\n```bash\nopenclaw-codex-dispatch \"$MESSAGE_TEXT\"\n```\n\n然后把 stdout 原样回发 Telegram。\n\n如果 OpenClaw 的执行面更适合传环境变量或 stdin，就用：\n\n```bash\nopenclaw-codex-handler\n```\n\n或：\n\n```bash\nMESSAGE_TEXT=\"$MESSAGE_TEXT\" openclaw-codex-handler\n```\n","readmeFilename":"README.md","_rev":"1-9dec8ee96d561b35779484e3fcd7e382"}