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

ツール

はじめに

Claude CodeやCodexとの会話は、セッションを閉じるとそのまま流れていきます。「あのとき教えてもらったリファクタリング方針、なんだったっけ?」「先週のバグ調査でAIと議論した内容を確認したい」――こういった場面で、過去の会話を探せないのはもったいない。

社内であんちぽさんがClaude Codeの会話をObsidianへ自動保存する仕組みをZennで紹介していたので、これをベースに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

これで「今日はどんな作業をしたか」がサマリーとして残ります。振り返りにも便利です。

なぜ複数ツール対応が必要だったか

私自身、用途によってClaude CodeとCodexを使い分けています。Claude Codeは設計相談や複雑なリファクタリング、Codexは素早い実装や単純なタスクといった具合です。

ツールが違っても、「自分がAIと何を議論したか」は一箇所にまとまっていてほしい。今回の修正で、どのツールを使っても同じ形式でログが残るようになりました。

仕組み

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

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

おわりに

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

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

関連記事

AIツールの活用に関する記事をほかにも書いています。

リンク

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