daaain/claude-code-log
A Python CLI tool that converts Claude Code transcript JSONL files into readable HTML / Markdown format.
Claude Code Log – 何であるか
Claude Code Log は、Anthropic の Claude Code IDE が生成する JSONL 転写ファイルを、クリーンで検索可能な HTML ページまたは Markdown ドキュメントに変換する Python コマンドラインツールです。1 つのセッションファイルから ~/.claude/projects/ ツリー全体まで、あなたが Claude Code と行ったすべての会話の閲覧、フィルタリング、エクスポートが可能です。
なぜ使うべきか
- 過去の作業の確認 – プロンプト、アシスタントの返答、ツール呼び出し、トークン使用量を読みやすいタイムラインで確認できます。
- コストの把握 – トークン使用量カウンターで、各セッション(またはプロジェクト全体)のコストを把握できます。
- 共有とアーカイブ – 生成された HTML ページはブラウザで開くか、チームメイトと共有できます。
- 検索と分析 – 日付、メッセージタイプ、キーワードでフィルタリング;LLM によるパターン認識に再利用可能なコンパクトな Markdown バージョンをエクスポートできます。
- ライブモニタリング – watch モードでは、Claude セッションの作成中にリアルタイムで出力を再生成し、Obsidian ノートやブラウザビューを最新の状態に保ちます。
コア機能(README に記載)
| 機能 | 機能内容 |
|---|---|
| インタラクティブ TUI | セッションの閲覧、要約の表示、キーボードショートカットによる HTML/Markdown エクスポートが可能なターミナル UI。 |
| Watch / Serve モード | claude-code-log watch でファイルをリアルタイム更新;serve --watch で新メッセージ到着時に自動更新するローカルサーバを起動。 |
| プロジェクト全体の処理 | ~/.claude/projects/ をスキャンし、トップレベルのインデックスページとプロジェクトごとの統合トランスクリプトを作成。 |
| 単一ファイルまたはディレクトリ変換 | 任意の JSONL ファイルまたはフォルダを変換可能。--output で出力先を指定。 |
| トークン使用量の追跡 | メッセージごとのトークン数と、セッション/プロジェクトごとの合計を表示。 |
| 実行時フィルタリング | HTML 内の JavaScript コントロールで、ユーザー、アシスタント、システム、ツール使用などを非表示/表示切り替え可能(再ビルド不要)。 |
| 時系列順序とタイムライン | すべてのメッセージはタイムスタンプ順に並べ替えられ、インタラクティブなズーム可能なタイムラインで会話の流れを可視化。 |
| テーマ | classic(デフォルト)と minimal – 後者は密なライト/ダークレイアウトで、サブエージェントの折りたたみ構造をサポート。 |
| 日付範囲フィルタリング | 自然言語形式の日付(today、last week、3 days ago)で表示するメッセージを制限。 |
| 豊富なメッセージタイプ | ユーザー、アシスタント、要約、システムコマンド、ツール呼び出し/結果、思考ステップ、埋め込み画像をサポート。 |
| Markdown エクスポート | サーバーサイドレンダリングで構文強調付き;--detail および --compact フラグで、LLM 分析用のコンパクトなバージョンを生成可能。 |
| Git コミットリンク | トランスクリプト内の SHA 文字列を検出し、GitHub/GitLab/Bitbucket またはカスタム URL テンプレートへのクリック可能なリンクに変換。 |
| プロバイダーフック | --provider および --session-id を通じて、実験的サポートとして Antigravity CLI (agy) と Codex CLI (codex) に対応。 |
どの人向けか?
- Claude Code を使用し、対話履歴の永続的で検索可能なアーカイブを必要とする 開発者。
- オーディット、オンボーディング、再現性のために会話ログを共有する必要がある チーム。
- 複数のセッションにわたるトークン消費やツール使用パターンを分析したい 研究者/プロンプトエンジニア。
- 静的 HTML 視覚化やコンパクトな Markdown ダンプを好む 誰でも、LLM に再利用可能。
使い始め方(README からのクイックスタート)
# 永続的インストールなしで最新版を実行
uvx claude-code-log@latest --open-browser
このコマンドは、Claude Code プロジェクトフォルダをスキャンし、HTML アーカイブを構築してデフォルトブラウザで開きます。ターミナルベースの体験を求める場合は --tui を追加してください。
インストール方法
- uv tool(推奨):
uv tool install claude-code-log - uvx(ワンタイム実行):
uvx claude-code-log@latest - pip:
pip install claude-code-log - ソースから:リポジトリをクローンし、
uv syncを実行後、uv run claude-code-logを実行、またはuv tool install --editable .で編集可能インストール。
制限事項と未実装項目(TODO から)
- まだ組み込みチュートリアルオーバーレイがない。
- 画像最適化(例:PNG スクリーンショットを WebP に変換)は計画中だが実装済みではない。
- 他の Claude 関連ログ(
claude-trace、GitHub Action 出力)とのより深い統合は進行中。 - UI の仕上げ(グラデーションアニメーション、ワークツリーのマージ)はロードマップ上。
まとめ
claude-code-log は、Claude Code の生の JSONL 転写を人間が使いやすい検索可能なアーカイブに変換する実用的でオープンソースのユーティリティです。TUI、ウォッチモード、テーマといった使いやすさに重点を置きつつ、開発者がコストを監査したり、作業を共有したり、過去のセッションを LLM パイプラインに再利用できるデータを提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト