user icon

Claude CLIの会話履歴をチャット風に表示するプログラム

タイトルオンリーでも良いのですが、作りましたので少し書いておきます。

リポジトリはこちらになります。
https://github.com/lancard-aikawa/ClaudeHistoryViewer

画面はこんな感じで、左にフォルダ・セッションの一覧が表示され、セッションをクリックすると右にチャット風に表示されます。
※起動の仕方が分からなくても、Claudeに頼めば何とかしてくれるので楽で良いですね。

制限など

・Claudeが思考中に入力した内容は、履歴に保存されないため、表示されません。
(これは履歴に残さない方針なのか、残せない時が有るのか分かりませんが)
・compact等でファイルが分かれたり、そもそも前段が失われたりするかも知れません。履歴に残らないものがあるので、全てを再現は無理です。

・ユーザルートの~/.claude/フォルダを読み込んでいるだけなので、会話履歴フォルダを変更出来るようであれば、履歴一覧は表示出来なくなります。
・あと、GUIベースの会話は、サーバに保存されてるのか表示出来ませんでした、残念。

・Windowsでしか確認してないので、他OSでは調整必要かも。

設定 settings.json

settings.json.sample を settings.jsonにコピーして使います。
設定の分類は主に3つ。
・起動時のポートと、起動時にブラウザを立ち上げるか。
・折り返し表示の行数や文字数。
・何を表示するか、しないかを設定します。
ポートはデフォルトで余り被らないようなポートにしています。

折り返しについては特に言う事は無いので、表示するしないの項目について。
show_thinkingはClaudeのthinkingプロセスを表示します。
折り畳まれているのでクリックで展開出来ます。
show_tool_chipsはClaudeのコマンドやファイル読み込み等を表示します。
単純なやり取りを見たいなら、これらはfalseに設定するのが良いと思います。

会話のピン留め(スター)

ここは後で見返せるようにしておきたい、と言う箇所がある時に使えます。
チャット部分にフォーカスすると右下にアイコンが出るので、その中のスターを押します。
付くとこんな感じ。
ついでに右横のメモアイコンで何の会話だったかヒントを残しておけます。
ヘッダー部分のスターを押すと一覧で表示されます。
スターはセッションとメッセージ両方使えますので、セッション(一連の会話)ごとスターを付けたい場合は、チャット上部のアイコンから出来ます。
ちなみにプロジェクト(フォルダ)にも右クリックでスターを付けられますが、こっちはスターを表示するだけで、それ以外何も変わりません。

全文検索(力押し)

会話ファイルに対してフルスキャンをするだけなので、ファイル数が多かったりアクセスが遅かったりすると、非常に時間が掛かりますが、一応可能です。
あと設定のmax_search_resultはここで検索する最大数です。

共有したい

結果でなく過程を共有したいとか、会話がよく出来ているので、こ、これだよ我々が求めていたのはとか、他人に見せたい場合にHTMLまたはMarkdownとして出力出来ます。
※共有する時はどこかにアップロードが必要です。
まあ、大体はClaudeとの会話なんて誰にも見せたくないかも知れませんが・・・。

会話一覧上部の右💾を押すと、ダウンロード出来ます。Markdownを出力したい場合、HTMLでなくMarkdownに切り替えます。
HTMLはこんな感じで出力されます。
Markdownの方は、HTMLに比べかなり一本調子になるので、AIに読ませたり、mdしか表示出来ない環境での用途として使えるでしょうか。

要らないプロジェクトフォルダを表示しない

プロジェクト的に失敗したなと思うものや、不要になったフォルダはリストにあってもノイズになるので非表示にしておけます。

プロジェクトを右クリックで非表示にするを選びます。
再度戻したい場合は、非表示を表示を押し、右クリックで再表示を選びます。

他・・・?

他にも細かい機能はありますが、大体やりたい内容は説明出来たので、後は省略します。
Facebooktwitterlinkedintumblrmail