Codex Agent — OpenClawでCodexを自動操作するSkill

AI/ML

概要

codex-agent は OpenClaw のための専用 Skill で、Codex CLI を代行操作することを目的とします。Codex は強力な端末型プログラミング支援ツールですが、通常は人がプロンプト作成、出力監視、承認を逐次行う必要があります。本プロジェクトは tmux 上で Codex を動かし、OpenClaw のエージェントが出力を読み取り、フロー(プロンプト生成→承認→コマンド実行→品質チェック→レポート)を自動で進行させます。必要に応じてユーザーがいつでも tmux にアタッチして手動操作に切り替えられる設計で、シンプルな Shell スクリプトと hook 機構で構成されています。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 19
  • フォーク数: 2
  • ウォッチャー数: 19
  • コミット数: 14
  • ファイル数: 11
  • メインの言語: Shell

主な特徴

  • OpenClaw 専用 Skill:OpenClaw のエージェント機能(wake、message delivery、cron 等)を前提に設計されたプラグイン。
  • tmux ベースの実行:Codex を tmux セッションで実行し、出力の読み取り・コマンド投入・セッションの切替を容易にする。
  • 自動ワークフロー:プロンプト生成、承認フロー、品質チェック、結果報告までを自動化し、人の監視を最小化。
  • シンプル拡張性:Shell スクリプトと hook 構成により、カスタムフックや自動化ポリシーの追加が容易。

技術的なポイント

codex-agent の肝は「tmux による Codex の非対話的運用」と「hook を介した出力処理」にあります。Codex CLI を新規 tmux セッションで起動し、OpenClaw のエージェントがそのセッションから標準出力を読み取り、定義した hook(テキスト解析や要約、承認リクエスト生成)へ渡します。承認フローは OpenClaw のメッセージ配送機能で担当者に投げられ、cron 機能を使った定期タスクで品質チェックや再実行も可能です。

シェル主体の実装は依存を減らし、どんな Unix 系環境でも動かしやすい一方で、出力パースや状態管理はテキスト処理に依存します。したがってログの一貫性、セッション識別子(tmux session name)の管理、エラー/例外時のリカバリ設計が重要です。セキュリティ面では Codex に渡すプロンプトや承認情報に機密が含まれる場合があり、OpenClaw 側の認証・アクセス制御と連携して運用する必要があります。

拡張性としては hook スクリプトを追加することで、独自のプロンプト生成ロジック、出力の自動検証(lint、テスト実行)、結果の構造化(JSON 出力化)などを実装可能です。将来的に Web UI や細かなロールベース承認、複数 Codex セッションの並列運用を考える際は、状態管理を Redis 等に移す、あるいは Node/Python ベースのコントローラを挟むと拡張しやすくなります。(約700〜900字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • CHANGELOG.md: file
  • INSTALL.md: file
  • README.md: file
  • README_EN.md: file

…他 6 ファイル

まとめ

OpenClaw と Codex をつなぎ、端末作業を自動化する実用的な Skill です。(約50字)

リポジトリ情報:

READMEの抜粋:

Codex Agent — 让 OpenClaw 替你操作 Codex 🧠

English | 中文

你躺在床上说一句话,OpenClaw 帮你开 Codex、写提示词、处理审批、检查质量、汇报结果。你随时可以打开终端接管。

这是一个 OpenClaw 专用 Skill。 需要 OpenClaw 作为 AI agent 运行时,通过 OpenClaw 的 agent 唤醒、消息投递、cron 等能力驱动整个工作流。

它是什么?

一句话:OpenClaw 代替用户操作 Codex CLI

Codex 是 OpenAI 的终端编程工具,很强,但需要你坐在电脑前盯着它——写提示词、等输出、审批命令、检查结果。这个 skill 让 OpenClaw 替你做这些事。

本质就两样东西:tmux + hook

  • tmux:Codex 跑在 tmux session 里,OpenClaw 通过 tmux 读输出、发…