AIコーディングツールの会話ログを一元管理する — Codex対応を追加した話

ツール

はじめに

最近、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と何を議論したか」は一箇所にまとまっていてほしい。今回の修正で、どのツールを使っても同じ形式でログが残るようになりました。

仕組み

  1. セッション監視: シェルスクリプトが5秒ごとにClaude CodeとCodexのセッションファイルの変更を検知
  2. データ抽出: jqコマンドでノイズ(システムメッセージ)を除外
  3. 自動保存: 日付ごとのMarkdownファイルに追記
  4. ラベル付け: どのツールでの会話かヘッダーに明記

LaunchAgentとして常駐させているので、普段は何も意識せずに勝手にログが溜まっていきます。

おわりに

AIとの会話は、単なる作業履歴ではなく「自分の思考過程の記録」です。自動で蓄積しておくと、後から振り返ったときに意外な発見があります。

元のスクリプトを公開してくれたあんちぽさんに感謝です。

リンク

タイトルとURLをコピーしました