jhlee0409/claude-code-history-viewer has 2,312 GitHub stars and 254 forks. GitHot measured +2 stars in 24 hours and +10 in 7 days. Last checked 2026-11-12 04:41 UTC. Last push 2026-11-06.
Desktop app and web server to browse, search and analyze your AI coding assistant history — Claude Code, Codex CLI, GitHub Copilot, Gemini CLI, Cursor, OpenCode and more. 100% offline.
計測したスター増加
- 24時間
- +2
- 7日間
- +10
- 15日間
- 履歴を収集中
- 1か月
- 履歴を収集中
期間ごとの純増数です。期間は重複しており、日別の値ではありません。未計測の値は空欄です。スター数は注目度の指標であり、品質の保証ではありません。
README.ja.md
オリジナルClaude Code History Viewer
AIコーディングアシスタントのための統合履歴ビューア。
Claude Code、Gemini CLI、Antigravity、Codex CLI、Cline、Cursor、Aider、OpenCode、ForgeCode、CodeBuddy Code、Grok CLIの会話履歴を閲覧・検索・分析 — デスクトップアプリまたはヘッドレスサーバーとして。100%オフライン。
クイックスタート
デスクトップアプリ — ダウンロードして実行:
| プラットフォーム | ダウンロード |
|---|---|
| macOS (Universal) | .dmg |
| Windows (x64) | .exe / .zip (ポータブル) |
| Linux (x64) | .AppImage |
Homebrew (macOS):
brew install --cask jhlee0409/tap/claude-code-history-viewer
ヘッドレスサーバー — 任意のブラウザからアクセス:
brew install jhlee0409/tap/cchv-server # or: curl -fsSL https://raw.githubusercontent.com/jhlee0409/claude-code-history-viewer/main/install-server.sh | sh
cchv-server --serve # → http://localhost:3727
Docker、VPS、systemdのセットアップはサーバーモードをご覧ください。
モードを選択:
| モード | おすすめの用途 | 動作 |
|---|---|---|
| デスクトップアプリ | ローカルでの閲覧 | ローカルの会話ファイルをネイティブアプリで開きます |
| ヘッドレスサーバー | ブラウザ、VPS、リモートアクセス | WebUI経由でローカルの会話ファイルを提供します。認証を有効にしてください |
なぜ作ったのか
AIコーディングアシスタントは数千もの会話メッセージを生成しますが、ツール間で履歴を振り返る方法を提供していません。CCHVがこの課題を解決します。
三十一のアシスタント。一つのビューア。 Claude Code、GitHub Copilot、Gemini CLI、Antigravity、Codex CLI、Cline(Roo Code 含む)、Kilo Code、Cursor、Cursor Agent、Aider、OpenCode、ForgeCode、CodeBuddy Code、Grok CLI、Kimi、Kiro、Amazon Q CLI、Continue.dev、PearAI、Goose、Crush、llm、Open Interpreter、Pi、oh-my-pi、Mistral Vibe、Qwen Code、Zed、OpenHands、Trae、Z Codeのセッションをシームレスに切り替え — トークン使用量を比較し、プロバイダー間で検索し、ワークフローを1つのインターフェースで分析。
| プロバイダー | データの場所 | 取得できる情報 |
|---|---|---|
| Claude Code | ~/.claude/projects/ |
完全な会話履歴、ツール使用、思考プロセス、コスト |
| GitHub Copilot | ~/.copilot/session-state/(CLI & Desktop)、VS Code workspaceStorage/.../chatSessions/ |
Copilot CLI、Copilot Desktop、VS Code Copilot Chatの履歴(読み取り専用、WSL対応) |
| Gemini CLI | ~/.gemini/history/ |
ツール呼び出しを含む会話履歴 |
| Antigravity | ~/.gemini/antigravity/ |
brain/配下の会話状態と.token-monitor/rpc-cache/v1/配下のトークンモニターデータ |
| Codex CLI | ~/.codex/sessions/ |
エージェント応答を含むセッションロールアウト |
| Cline(Roo Code 含む、旧 Kilo Code) | ~/.cline/data/sessions/(最新の Cline)および VS Code globalStorage/<ext>/tasks/(旧バージョン) |
Clineファミリー全体のタスクベースの履歴 |
| Kilo Code | ~/.local/share/kilo/(kilo.db) |
2026年5月以降はOpenCodeコア。移行前のClineファミリーデータはCline側に残る |
| Cursor | ~/.cursor/ |
Composerとチャットの会話 |
| Cursor Agent | ~/.cursor/projects/.../agent-transcripts/ |
エージェントトランスクリプト(Cursor IDEソースとは別系統) |
| Aider | プロジェクトディレクトリ | チャット履歴と編集ログ |
| OpenCode | ~/.local/share/opencode/ |
会話セッションとツール結果 |
| ForgeCode | ~/.forge/.forge.db |
SQLiteデータベースの会話履歴 |
| CodeBuddy Code | ~/.codebuddy/projects/ |
ツール呼び出しを含む会話履歴(Claude Codeフォーク形式) |
| Grok CLI | ~/.grok/sessions/ |
Grok CLIの会話、ツール呼び出し、モデル使用量 |
| Kimi | ~/.kimi/ |
kimi -rによるresume対応のセッション履歴 |
| Kiro | kiro-cli/data.sqlite3 |
SQLiteベースの会話履歴 |
| Amazon Q CLI | …/amazon-q/data.sqlite3 |
SQLite conversationsストア(Kiro CLIプロバイダーと同一形式) |
| Continue.dev | ~/.continue/sessions/*.json |
セッション単位のJSON、ワークスペース別にグループ化(CONTINUE_GLOBAL_DIR対応) |
| PearAI | ~/.pearai/sessions/ |
Continueフォーク — 同一のセッション形式 |
| Goose | …/goose/sessions/sessions.db |
Blockのエージェント — SQLiteセッション + メッセージ |
| Crush | プロジェクトごとの./.crush/crush.db |
CharmのTUI — SQLite、一般的なコードルート全体から検出 |
| llm | …/io.datasette.llm/logs.db |
Simon WillisonのCLI — トークン数付きSQLite conversations/responses |
| Open Interpreter | ~/.openinterpreter/sessions/ |
Codex形式のロールアウト(Codexパーサーを再利用;INTERPRETER_HOMEで上書き可) |
| Pi | ~/.pi/agent/sessions/ |
cwd別のJSONLトランスクリプト — メッセージ、思考、ツール呼び出し、トークン使用量 |
| oh-my-pi | ~/.omp/agent/sessions/ |
ompフォークのPi形式セッション(パーサー共有) |
| Mistral Vibe | ~/.vibe/logs/session/ |
reasoningとツール呼び出しを含むOpenAIスタイルのチャットトランスクリプト(VIBE_HOMEで上書き可) |
| Qwen Code | ~/.qwen/projects/.../chats/ |
セッション単位のJSONLトランスクリプト(ツール呼び出し、思考プロセス、トークン使用量) |
| Zed | …/Zed/threads/threads.db |
Agent Panelスレッド — SQLite + Zstd圧縮JSON |
| Z Code | ~/.zcode/cli/db/db.sqlite |
Z.ai の GLM コーディングエージェント — session/message/part 型 SQLite ストア(タイトル、ツール呼び出し、思考、トークン使用量) |
| OpenHands | ~/.openhands/sessions/ |
クラシックなイベントストア形式の会話 |
| Trae | …/Trae/User/workspaceStorage/.../state.vscdb |
ワークスペース単位のチャット(icubeストア;実験的、リバースエンジニアリングによる対応) |
ベンダーロックインなし。クラウド依存なし。ローカルの会話ファイルを美しくレンダリング。
Antigravityに関する注記:ビューアはAntigravityルートを~/.gemini/antigravityとして解決し、セッション状態をbrain/から、usage/キャッシュ成果物を.token-monitor/rpc-cache/v1/から読み取ります。これは現在のランタイムレイアウトおよびsrc-tauri/src/commands/antigravity.rsのルートリゾルバと一致しています。
目次
主な機能
コア
| 機能 | 説明 |
|---|---|
| マルチプロバイダー対応 | 31のAIコーディングアシスタントを統合ビューアで閲覧 — Claude Code、GitHub Copilot、Gemini CLI、Codex CLI、Cursor / Cursor Agent、Cline(Roo Code 含む)、Kilo Code、Aider、OpenCode、ForgeCode、CodeBuddy Code、Grok CLI、Kimi、Kiro、Antigravity、Amazon Q CLI、Continue.dev、PearAI、Goose、Crush、llm、Open Interpreter、Pi、oh-my-pi、Mistral Vibe、Qwen Code、Zed、OpenHands、Trae、Z Code — プロバイダー別フィルタリング、ツール間比較 |
| 会話ブラウザ | プロジェクト/セッション別に会話を閲覧(ワークツリーグループ化対応) |
| グローバル検索 | 全プロバイダーの会話を瞬時に検索 |
| 分析ダッシュボード | デュアルモードトークン統計(課金 vs 会話)、コスト内訳、プロバイダー分布チャート |
| セッションボード | マルチセッション視覚分析(ピクセルビュー、属性ブラッシング、アクティビティタイムライン) |
| 設定マネージャー | スコープ対応のClaude Code設定エディタ(MCPサーバー管理付き) |
| メッセージナビゲーター | 右側折りたたみ式TOCで会話を素早くナビゲーション |
| リアルタイム監視 | セッションファイルのライブ監視で即座に更新 |
プロバイダーメモ
| プロバイダー | メモ |
|---|---|
| Antigravity | 標準のプロバイダーパイプラインで読み込まれます。セッションはtoken monitorのキャッシュから取得され、専用UIモードを増やさずに、プロジェクト/セッション表示、トークン統計、分析、グローバル検索に参加します。 |
v1.32.0の新機能
| 機能 | 説明 |
|---|---|
| プロンプト間の移動 | Alt+↑ / Alt+↓(macOS は ⌥↑ / ⌥↓)で、入力した前後のプロンプトへメッセージ一覧を移動します。メッセージパネルを閉じていても動作します |
| セッションミニマップ | メッセージ一覧の横に、セッション全体を行の種類ごとの色で表示する帯を表示できます。クリックまたはドラッグで移動します。設定メニュー → セッションミニマップを表示 |
| 復元プレビューの修正 | 最近の編集の復元確認で変更内容を表示し(WebUI でも)、シンボリックリンクの対象は復元しません |
v1.31.0の新機能
| 機能 | 説明 |
|---|---|
| セッション再開のカスタム引数 | 設定 → セッション再開引数 で CLI ごとに追加フラグを指定すると、再開コマンドをコピー とターミナルでのセッション再開の両方に適用されます。ライブプレビュー付きで、危険なフラグは強調表示されます |
| Claude Opus 5.5 のコストを修正 | Opus 5.5 のセッションが Opus 5 の料金で計算されていた問題を修正しました。GPT-6、Gemini 3.8 Flash、Grok 4.7 の料金も追加しました |
v1.30.0の新機能
| 機能 | 説明 |
|---|---|
| WebUI のセキュリティ強化 | --serve モードでは、セッション・プロジェクトのパスは履歴フォルダ内に、プロジェクト設定は既知のプロジェクトに限定されます — WebUI をお使いの場合はアップグレードしてください(アドバイザリ) |
| Claude Code の自動タイトル | セッション一覧、統計、エクスポート、アーカイブに Claude Code が生成したタイトルを表示します(手動で付けた名前が優先) |
| 自分のプロンプトとエージェント更新の区別 | Messages パネルが入力したプロンプト、エージェントの更新、コマンド、注入されたコンテキストを区別し、「自分のプロンプトのみ表示」フィルターを提供します |
v1.29.0の新機能
| 機能 | 説明 |
|---|---|
| Z Code プロバイダー | ~/.zcode/cli/db/db.sqlite の Z Code(Z.ai)セッションを、タイトル、ツール呼び出し、思考過程、トークン使用量とともに閲覧できます — 合計31のアシスタント |
| サブエージェントのコストをセッションに合算 | セッションの課金トークンとコストに、そのセッションが委任したサブエージェントの実行が含まれます(Claude Code、Z Code)。会話のみ モードではメインの会話だけを表示します |
| より速いセッション一覧 | 大規模な Claude・Codex 履歴のセッション一覧が数倍速く読み込まれます |
v1.28.0の新機能
| 機能 | 説明 |
|---|---|
| 最新の Cline セッション | 最新の Cline(VS Code 拡張を含む)はセッションを ~/.cline/data/sessions/ に保存します。タイトル、全文の会話、トークン・コスト統計とともに表示されるようになりました。Windows でも Cline、Roo Code、Kilo Code を検出します |
| Kilo Code の新しいストア | Kilo Code の OpenCode コアデータベース(kilo.db)を独立したプロバイダーとして読み込み、ライブ更新とグローバル統計に対応します |
| 正確な出力トークン | ストリーミングされた Claude Code のターンで出力トークンが約40%少なく集計されていた問題を修正し、各ターンの最終使用量を一度だけ数えます |
| セッションペインとフォルダの統合 | 選択したプロジェクトのセッションがサイズ変更可能な専用列に表示され、複数のツールが使う同じフォルダはプロバイダーチップ付きの1行にまとまります |
| すっきりしたトランスクリプト | 折りたたみ行にツール呼び出しの要約を表示し、続くターンの重複ヘッダーを省き、ヘッダーのビュー切り替えを1つにしました |
| 料金表の更新 | すべての料金を公式の料金ページで再検証し、fast/priority ティアに対応し、提供終了予定のモデルを後継モデルとともに表示します |
| トランスクリプト保持期間 | Claude Code の cleanupPeriodDays に長期保持の値(例: 3650)を設定でき、Claude Code の設定であることを明示します — このアプリはセッションを削除しません |
v1.23.0の新機能
| 機能 | 説明 |
|---|---|
| Grok CLIプロバイダー | ~/.grok/sessions/のGrok CLIセッションを閲覧・検索し、モデル/トークン使用量を分析に含めます |
| セッションの継続性 | 関連するClaudeトランスクリプトファイルを1つの閲覧可能な会話に統合します |
| WebUIディープリンク | 特定のセッションとメッセージを直接開く共有可能なリンクに対応します |
| 安全なナビゲーションとresume | グローバル検索の選択を対象プロジェクト/セッションと同期し、利用できないワークツリーの履歴を残したまま無効なresume操作を無効化;WindowsのresumeコマンドはCMDとPowerShellの両方で動作します |
| プロバイダー検出の修正 | プロバイダー固有およびWSL専用のスキャンで、ネイティブClaudeデータディレクトリを不要に仮定しません |
v1.18.0の新機能
| 機能 | 説明 |
|---|---|
| 起動の高速化 | プロバイダースキャナーが逐次実行ではなく並行実行されるようになり、ビューアと並行して動作するツールがロックしたSQLiteデータベースがスキャン全体を停滞させることがなくなりました — 数秒間の「Initializing app…」ハングを解消 |
| 検索結果のコンテキスト | グローバル検索結果に各マッチがどの会話に属するかが表示され、セッション間で同じテキストを共有するマッチを区別しやすくなりました |
| 折りたたみ可能なプロバイダーフィルター | サイドバーのプロバイダーフィルターパネルを折りたたんでセッションリストの縦スペースを確保可能;折りたたみ時のヘッダーにもアクティブなフィルターの概要と件数を表示 |
| 検証可能なプロジェクト名 | プロジェクトの識別が、古いトランスクリプトに記録された陳腐化したcwdよりディスク上のフォルダ名を優先するようになり、移動済み・subagent記録のプロジェクトが正しくグループ化されます(初回のみ透過的な再スキャン) |
| 修正 | subagentセッションのエクスポートが空ファイルではなくメッセージを含むように修正;OpenCodeのグローバルセッションをディレクトリ別に分割(空ディレクトリのセッションも正しく読み込み);OpenCodeセッションキャッシュに上限を設けメモリの無制限な増加を防止 |
v1.17.0の新機能
| 機能 | 説明 |
|---|---|
| 11の新プロバイダー | Continue.devとPearAI(~/.continue / ~/.pearaiのセッションJSON)、Goose(SQLite)、Crush(プロジェクトごとのSQLite)、llm(Simon WillisonのCLI)、Amazon Q CLI、Open Interpreter(Codex形式ロールアウト)、Qwen Code、Zed(Agent Panelスレッド — SQLite + Zstd)、OpenHands、Traeの履歴を閲覧可能に — さらにClineファミリーリーダー経由でKilo Codeにも対応。対応アシスタントが14から25に拡大。 |
| Kiro Windowsパス修正 | Kiro CLIデータベースがWindows上で誤ったAppData\Roamingではなくdata_local_dir()(%LOCALAPPDATA%)で解決されるように修正 |
v1.16.0の新機能
| 機能 | 説明 |
|---|---|
| GitHub Copilotプロバイダー | Copilot CLI(~/.copilot/session-state)、Copilot Desktop、VS Code Copilot Chat(workspaceStorage/.../chatSessions)の読み取り専用履歴 — WSL対応、グローバル検索付き |
| ヘッドレスセッションエクスポート | 新しい--export <session-id|/abs/path.jsonl> [--format html|json] [--output <file>]フラグがGUIを起動せずにHTMLまたはJSONレポートを出力して終了 — SSH/CI用途向け |
| ワンクリック完全バックアップ | Archive Managerの「Full Backup」カードで、すべてのClaude Codeプロジェクトの全セッションを一括でアーカイブにコピー — Claude Codeの自動クリーンアップから履歴を保護 |
| スキル & サブエージェント分析 | 新しい「Most Used Skills」/「Most Used Subagents」セクションがClaudeのSkillとAgent呼び出しを名前別に集計 — プロジェクト単位とグローバル単位の両方に対応 |
| 修正 | フォントサイズ設定が左パネルだけでなくアプリ全体(メッセージビューア、分析、セッションボード、設定)に適用されるように修正;システムのゴミ箱が利用できない場合(例:Windowsのごみ箱が無効)にセッション削除が完全削除にフォールバック |
v1.15.0の新機能
| 機能 | 説明 |
|---|---|
| 3つの新プロバイダー | Cursor Agent(agent-transcripts、Cursor IDEソースとは別系統)、Kimi(~/.kimi、kimi -rによるresume対応)、Kiro(SQLiteベースのkiro-cli)の履歴を閲覧可能に |
| Codexネイティブのリネーム & 削除 | Codexセッションのリネーム — タイトルはstate_5.sqliteに書き込まれcodexのresumeピッカーに表示され、ロールアウトトランスクリプトは不変のまま — さらに新しいアプリ内確認ダイアログによるセッション削除;CODEX_HOMEに対応(sessions + archived) |
| スキャンと検索の高速化 | Codexプロジェクトリストはセッションメタ行のみをスキャン(mmap + memchr)し、各プロバイダーが独立してスキャンするため、遅いプロバイダーが速いプロバイダーをブロックしなくなりました;セッション内検索のインデックス作成をWeb Workerに移行し、大きなセッションでUIがフリーズしなくなりました |
| 正確なClaudeプロジェクトパス | プロジェクト名とclaude --resumeの作業ディレクトリが、非可逆なフォルダエンコーディングではなくセッションメタデータから解決されるようになりました(初回起動時のみ透過的な再スキャン) |
| 修正 | 仮想化メッセージ履歴の空白ギャップを削除;macOSでのKimi自動更新を修正;マルチバイトのワークスペースフォルダ名でのCursorスキャンクラッシュを修正 |
v1.14.0
| 機能 | 説明 |
|---|---|
| CodeBuddy Codeプロバイダー | CodeBuddy Codeを追加 — 他のAIコーディングアシスタントと並べて会話履歴を閲覧可能 |
| WebUIアカウントログイン | --serveモードにオプションのアカウント認証(Argon2id + サーバーサイドセッション + CSRF)、読み取り専用モード、リバースプロキシホスティング用のベースパス対応を追加 |
| メッセージフィルターの永続化 | ロールとコンテンツタイプのフィルターがセッション切り替えとアプリ再起動後も維持されるようになりました |
| Subagentセッションの安定化 | 複数subagentのクリックマッピングと、大きなsubagentセッションを開く際の稀なクラッシュを修正 |
| Linux IME入力 | Linuxの検索ボックスでのibus/fcitx入力(韓国語、中国語、日本語)を修正 |
v1.13.0
| 機能 | 説明 |
|---|---|
| macOSカスタムタイトルバー | ドラッグ可能なオーバーレイヘッダーが従来のmacOSタイトルバーを置き換え、画面領域を効率的に利用;Linux/Windowsは影響なし |
| セッションソースフィルター | Claude Codeのentrypointフィールドに基づいてセッションを作成元(CLI / VS Code / Desktop)でフィルタリング |
| Codex Resumeサポート | 右クリック「Resumeコマンドをコピー」がCodexセッションに対応し、cd '<cwd>' && プレフィックスを自動付加 — 貼り付けて実行で元のディレクトリで再開 |
| 料金精度の向上 | claude-opus-4-7の3倍過剰請求を修正;gpt-5.4 / gpt-5.5料金を追加しCodexキャッシュトークンを分離処理 |
| macOSアップデーター安定化 | Tauri v2 macOS再起動バグに対するOSレベルのネイティブ再起動フォールバック — 「手動で再起動してください」が表示されなくなりました |
過去のリリース: v1.12.0以前は CHANGELOG.md を参照してください。
その他
| 機能 | 説明 |
|---|---|
| セッションコンテキストメニュー | セッションID・resumeコマンド・ファイルパスのコピー、セッション削除、JSONLファイル表示、ネイティブリネームと検索連携 |
| ANSIカラーレンダリング | ターミナル出力を元のANSIカラーで表示 |
| 多言語対応 | 英語、韓国語、日本語、中国語(簡体字・繁体字) |
| 最近の編集 | ファイル変更履歴の確認と復元 |
| 自動更新 | スキップ/延期オプション付きビルトイン更新機能 |
インストール
Homebrew (macOS)
brew tap jhlee0409/tap
brew install --cask claude-code-history-viewer
または、完全なCaskパスで直接インストール:
brew install --cask jhlee0409/tap/claude-code-history-viewer
No Cask with this name exists と表示される場合は、上記の完全パスコマンドを実行してください。
アップグレード:
brew upgrade --cask claude-code-history-viewer
アンインストール:
brew uninstall --cask claude-code-history-viewer
手動インストール(.dmg)から移行しますか? 競合を防ぐため、Homebrewでインストールする前にFinderで既存のアプリをゴミ箱に移動してください。 インストール方法は1つだけ使用してください — 手動とHomebrewを混在させないでください。 次に以下を実行します:
brew tap jhlee0409/tap brew install --cask claude-code-history-viewer
ソースからビルド
git clone https://github.com/jhlee0409/claude-code-history-viewer.git
cd claude-code-history-viewer
# Option 1: Using just (recommended)
brew install just # or: cargo install just
just setup
just dev # Development
just tauri-build # Production build
# Option 2: Using pnpm directly
pnpm install
pnpm tauri:dev # Development
pnpm tauri:build # Production build
要件: Node.js 20.19+(または22.12+)、pnpm、Rustツールチェーン
サーバーモード (WebUI)
デスクトップ環境なしでヘッドレスHTTPサーバーとして実行 — VPS、リモートサーバー、Dockerに最適。サーバーバイナリがフロントエンドを内蔵しているため、ファイル1つで動作します。
サーバーデプロイが初めての方へ ローカルテスト、VPSセットアップ、Dockerなどのステップバイステップガイドはサーバーモードガイド(한국어)をご覧ください。
クイックインストール
# Homebrew (macOS / Linux)
brew install jhlee0409/tap/cchv-server
# Or one-line script
curl -fsSL https://raw.githubusercontent.com/jhlee0409/claude-code-history-viewer/main/install-server.sh | sh
どちらの方法でもcchv-serverがPATHにインストールされます。
サーバー起動
cchv-server --serve
出力:
🔑 Auth token: b77f41d4-ec24-4102-8f7a-8a942d6dd4a0
Open in browser: http://192.168.1.10:3727?token=b77f41d4-ec24-4102-8f7a-8a942d6dd4a0
👁 File watcher active: /home/user/.claude/projects
🚀 WebUI server running at http://0.0.0.0:3727
ブラウザでURLを開くと、トークンは自動的に保存されます。
ビルド済みバイナリ
| プラットフォーム | アセット |
|---|---|
| Linux x64 | cchv-server-linux-x64.tar.gz |
| Linux ARM64 | cchv-server-linux-arm64.tar.gz |
| macOS ARM | cchv-server-macos-arm64.tar.gz |
| macOS x64 | cchv-server-macos-x64.tar.gz |
Releasesからダウンロード。
CLIオプション:
| フラグ | デフォルト | 説明 |
|---|---|---|
--serve |
— | 必須。 デスクトップアプリの代わりにHTTPサーバーを起動 |
--port <number> |
3727 |
サーバーポート |
--host <address> |
0.0.0.0 |
バインドアドレス(ローカルのみ: 127.0.0.1) |
--token <value> |
自動 (uuid v4) | カスタム認証トークン |
--no-auth |
— | 認証を無効化(公開ネットワークでは非推奨) |
--dist <path> |
内蔵 | 内蔵フロントエンドの代わりに外部dist/ディレクトリを使用 |
認証
すべての/api/*エンドポイントはBearerトークン認証で保護されます。トークンはサーバー起動のたびに自動生成されstderrに出力されます。
- ブラウザアクセス: 起動時に表示される
?token=...URLを使用。トークンはlocalStorageに自動保存。 - APIアクセス:
Authorization: Bearer <token>ヘッダーを含める。 - カスタムトークン:
--token my-secret-tokenで独自に設定。 - 環境変数:
CCHV_TOKEN=your-token cchv-server --serve(systemd/Dockerに便利)。 - 無効化:
--no-authで認証を完全にスキップ(信頼できるネットワークでのみ使用)。
リアルタイム更新
サーバーは~/.claude/projects/のファイル変更を監視し、SSE(Server-Sent Events)でブラウザに更新を送信します。別のターミナルでClaude Codeを使用すると、ビューアが自動更新されます — 手動リフレッシュは不要。
Docker
docker compose up -d
起動後にトークンを確認:
docker compose logs webui
# 🔑 Auth token: ... ← paste this URL in your browser
docker-compose.ymlは~/.claude、~/.codex、~/.local/share/opencodeを読み取り専用ボリュームとしてマウントします。
サンプルのDocker設定でマウントされるのはClaude、Codex、OpenCodeのみです。他のプロバイダーを閲覧するには、そのローカルデータディレクトリをコンテナ内でプロバイダーが想定するパスに読み取り専用ボリュームとして追加し、コンテナを再起動してください。
systemdサービス
Linuxでの永続的なサーバー運用には、提供されたsystemdテンプレートを使用:
sudo cp contrib/cchv.service /etc/systemd/system/
sudo systemctl edit --full cchv.service # Set User= to your username
sudo systemctl enable --now cchv.service
ソースからビルド(サーバーのみ)
just serve-build # Build frontend + embed into server binary
just serve-build-run # Build and run (embedded assets)
# Or run in development (external dist/):
just serve-dev # Build frontend + run server with --dist
ヘルスチェック
GET /health
→ { "status": "ok" }
使い方
- アプリを起動
- 対応する全31プロバイダー(Claude Code、Codex CLI、Gemini CLI、Cursor、Cline、Continue.dev、Goose、Zed、Qwen Code、Amazon Q CLIなど — 上記のプロバイダー表を参照)から会話データを自動スキャン
- 左サイドバーでプロジェクトを閲覧 — タブバーでプロバイダー別フィルタリング
- セッションをクリックしてメッセージを確認
- タブでメッセージ、分析、トークン統計、最近の編集、セッションボードを切り替え
コマンドラインフラグ
次のセレクターのいずれかを使うと、特定のセッションを事前選択した状態でアプリを起動できます。
# Full UUID
claude-code-history-viewer --session 1265cd74-caa9-472e-b343-c4f44b5cf12c
# UUID prefix (8+ hex-or-dash chars, up to 36) — first match wins
claude-code-history-viewer --session 1265cd74
# Equals form also works
claude-code-history-viewer --session=1265cd74
# Exact Claude session-folder name under ~/.claude/projects/
claude-code-history-viewer --session-folder my-project
# Case-insensitive substring match against session titles
claude-code-history-viewer --session-title "auth bug"
--sessionには完全なUUID、UUIDプレフィックス、または.jsonlセッションファイルの絶対パスを指定できます。--session-folderはClaudeのセッションフォルダー名を完全一致で検索し、--session-titleはタイトルを大文字小文字を区別せず部分一致で検索します。複数のセッションが一致した場合は選択画面が表示されることがあります。複数のセレクターを指定した場合の優先順位は--session > --session-folder > --session-titleです。
登録済みのデスクトップ環境からは、次のディープリンク形式も開けます:
file:///absolute/path/to/session.jsonl
claude-code-history-viewer://session/1265cd74-caa9-472e-b343-c4f44b5cf12c
claude-code-history-viewer://session-folder/my-project
claude-code-history-viewer://session-title/auth%20bug
ビューアは既知のすべてのプロジェクトをスキャンして一致するセッションに移動し、一致するものがなければ通常起動に戻ります。
アクセシビリティ
キーボード操作、ロービジョン、スクリーンリーダーユーザー向けのアクセシビリティ機能を提供。
- キーボードファーストナビゲーション:
- プロジェクトエクスプローラー、メインコンテンツ、メッセージナビゲーター、設定へのスキップリンク
ArrowUp/ArrowDown/Home/Endでプロジェクトツリーナビゲーション、タイプアヘッド検索、*で兄弟グループ展開ArrowUp/ArrowDown/Home/EndとEnterでメッセージナビゲーターのナビゲーションとフォーカスメッセージを開く
- ビジュアルアクセシビリティ:
- 永続的なグローバルフォントサイズスケーリング(
90%、100%、110%、120%、130%) - 設定でハイコントラストモードトグル
- 永続的なグローバルフォントサイズスケーリング(
- スクリーンリーダーサポート:
- ランドマークとツリー/リストセマンティクス(
navigation、tree、treeitem、group、listbox、option) - ステータス/ローディングとプロジェクトツリーナビゲーション/選択変更のライブアナウンスメント
aria-describedbyによるインラインキーボードヘルプの説明
- ランドマークとツリー/リストセマンティクス(
技術スタック
| レイヤー | 技術 |
|---|---|
| バックエンド | |
| フロントエンド | |
| 状態管理 | |
| ビルド | |
| 国際化 |
データプライバシー
デスクトップモードはローカル優先です。 会話ファイルはローカルディスクから読み込まれ、会話データのアップロード、分析、トラッキング、テレメトリーは行いません。
サーバーモードでは、サーバーに到達できるブラウザやクライアントにローカルファイルを意図的に提供します。ローカルだけで使う場合は127.0.0.1にバインドし、ネットワークに公開する前にトークン認証を有効にしてください。
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| 「Claudeデータが見つかりません」 | ~/.claudeに会話履歴があることを確認 |
| プロバイダーが表示されない | プロバイダー表のデータパスを確認してください。追加のClaudeディレクトリは設定 → カスタムClaudeディレクトリから登録できます。Dockerではデータディレクトリを読み取り専用ボリュームとして追加してください。 |
| WebUIに接続できない | cchv-serverのデフォルトポートは3727です。起動時のURLを使い、リモート接続ではポート競合とファイアウォール/プロキシの設定を確認してください。 |
| 「Unauthorized」/ HTTP 401 | 起動時に表示されたトークン付きURLを使うか、Authorization: Bearer <token>を送信してください。固定トークンは--tokenまたはCCHV_TOKENで設定できます。 |
| パフォーマンスの問題 | 大量の履歴は初期読み込みが遅い場合あり — アプリは仮想スクロールを使用 |
| 更新の問題 | 自動更新が失敗した場合、Releasesから手動ダウンロード |
コントリビュート
コントリビュート歓迎!始め方:
- リポジトリをフォーク
- フィーチャーブランチを作成 (
git checkout -b feat/my-feature) - コミット前にチェックを実行:
pnpm exec tsc --build . # TypeScript pnpm vitest run # Tests pnpm lint # Lint just rust-check-all # Rust format, clippy, and tests pnpm run i18n:validate # Locale consistency - 変更をコミット (
git commit -m 'feat: add my feature') - ブランチにプッシュ (
git push origin feat/my-feature) - プルリクエストを開く
利用可能なコマンドの完全なリストは開発コマンドを参照。
ライセンス
MIT — 個人・商用利用無料。