はじめに
最近、Claude CodeやOpenAI Codex CLIといったAIコーディングアシスタントを日常的に使うようになりました。便利な一方で、困っていることがありました。会話がセッション終了とともに消えていくことです。
「あのとき教えてもらったやり方、なんだっけ?」
「先週このバグを直したときの議論、どうだったかな?」
こういった「AIとの有益なやり取り」が蓄積されないのはもったいない。
社内であんちぽさんがClaude Codeの会話を自動的にObsidianに保存する仕組みをZennで紹介していたので、これをベースにOpenAI Codex CLIにも対応させてみました。
何をしたか
あんちぽさんのスクリプトにOpenAI Codex CLIのサポートを追加しました。
対応したこと
- Codex CLIのセッション監視(
~/.codex/sessions/) - ログ出力パスを年別フォルダに変更(
logs/YYYY/YYYY-MM-DD.md) - どのツールでの会話かラベル付け(
Claude/Codex)
出力イメージ
## [14:30:15] Claude - my-project
> ユーザー: このAPIのエラーハンドリングを改善したい
> Claude: エラーハンドリングを改善する方法を...
## [15:45:22] Codex - another-project
> User: Add input validation
> Codex: I'll add validation...
おまけ:1日の終わりに自動要約
さらに、1日の終わりにその日のログをローカルLLM(ELYZA CLI)で要約して、Obsidianのデイリーノートに追記する機能もあります。ローカルで動くので、会話ログを外部に送信せずに要約できます。
claude-daily-summary
これで「今日はどんな作業をしたか」がサマリーとして残ります。振り返りにも便利です。
なぜ複数ツール対応が必要だったか
AIコーディングツールは群雄割拠の時代。私自身、用途によってClaude CodeとCodexを使い分けています。
- Claude Code: 設計相談、複雑なリファクタリング
- Codex: 素早い実装、単純なタスク
ツールが違っても、「自分がAIと何を議論したか」は一箇所にまとまっていてほしい。今回の修正で、どのツールを使っても同じ形式でログが残るようになりました。
仕組み
- セッション監視: シェルスクリプトが5秒ごとにClaude CodeとCodexのセッションファイルの変更を検知
- データ抽出: jqコマンドでノイズ(システムメッセージ)を除外
- 自動保存: 日付ごとのMarkdownファイルに追記
- ラベル付け: どのツールでの会話かヘッダーに明記
LaunchAgentとして常駐させているので、普段は何も意識せずに勝手にログが溜まっていきます。
おわりに
AIとの会話は、単なる作業履歴ではなく「自分の思考過程の記録」です。自動で蓄積しておくと、後から振り返ったときに意外な発見があります。
元のスクリプトを公開してくれたあんちぽさんに感謝です。

