Threadlens - ローカルAIセッションを検索・分析・バックアップ・整理するオープンソースツール
(github.com/hanityx)こんにちは。複数のAIツールを併用しながら不便に感じていた部分を解消しようと、ThreadLensというオープンソースツールを作っています。
最初のきっかけはCodexスレッドの整理でした。UIではarchiveしかできず、本当に削除するにはローカルファイルを直接探さなければならない状況があったからです。後で見ると、openai/codexにも「archiveではなくdeleteが必要だ」という似た要望が上がっていて、自分だけが感じている不便ではないのだと思いました。
その後、CodexやClaudeのような複数のAIを切り替えて使っているうちに、また別の問題が生まれました。「あのときAIとやり取りした会話はどこにあるんだろう?」と、各ツールの隠しフォルダを探したり、rgでtranscriptを探したりすることが頻繁にあり、ローカルのセッションログもたまり続けるので、容量整理や外部ストレージへのバックアップを毎回手作業で管理するのが面倒でした。
こうした流れを一か所で処理できるようにしたいと考えています。
- Codex, Claude, Gemini, Copilotのローカルセッションを一か所で検索
- セッションごとのtranscript、作業パス、ファイルサイズ、更新時刻を一画面で表示
- まとめてバックアップと影響分析を行ったうえで整理(影響分析はまだCodex中心)
- providerごとのセッション構造がどこでどのように読み取られているかをrouting/parserで確認
Local-Firstで、アカウントやクラウドへのアップロードはありません。 すでに自分のコンピュータにあるセッションファイルを読み取り、ローカルAPI、Web UI、デスクトップアプリ、TUIで表示する構成です。
作っていくうちに、単に「削除ボタン」だけあるのはあまりよくないと感じました。特にCodexスレッドは、消す前に「これを削除しても大丈夫か?」を先に確認したかったのです。そこで影響分析では、OpenAI/Claude側のドキュメントや実際のissueから参照できるシグナルを取り込み、スコアの重み付けは製品内で保守的に設定しました。
長いcontext、tool-heavyな履歴、cwdの有無、古いセッションだけでなく、他のセッションがこのスレッドを親/子/フォーク関係として直接参照しているか、あるいはログ内で言及しているかも合わせて見ます。そのため、削除前に孤立候補なのか、他のセッションとつながっているのか、削除しても問題なさそうかを先に確認できるようにしました。
現在はmacOS DMG、Windows exe、Linux AppImageを公開しており、ソースからも実行できます。
デスクトップビルドはまだunsignedのため、OSの警告が表示される場合があります。providerごとの探索ロジックと全体的なUXは引き続き改善中です。
フィードバックも貢献の応援も大歓迎です!! ほかのローカルAIセッション形式を使っているなら、それもぜひ教えてください。優先順位を決める助けになりそうです :)
5件のコメント
最高です! まさに今、本当に必要だったものです!!
コメントまで……こちらこそ、もっと感謝しています! UIでは日本語にも対応しており、i18nベースの多言語対応です。これからさらに一層磨き上げていきます!
@hanityx ほかのproviderを追加するためのガイドを作っていただくことはできますか?(opencodeやほかのものも追加してみたいです)
docs/PROVIDER_SUPPORT.mdの情報は直接収集されたものですか?apps/api-ts/src/domains/providers/matrix.tsにも直接追加する必要がありますか? インターフェースを分離すれば、もう少し楽になりそうだと思っています。matrix.tsを追加するだけで新しい provider を接続できる構成ではなく、provider 一覧、パスの安全性、セッション探索、transcript/search 処理、actions、health、テスト、ドキュメント生成まで含めて整合させる必要があります。docs/PROVIDER_SUPPORT.mdは直接修正する文書ではなく、shared contracts の provider registry とドキュメント生成スクリプトを基準に自動生成されます。provider ごとの対応範囲が実際のロジックとずれないようにするためです。ちょうど API 側の search/transcript ロジックがかなり大きくなってきていて、分離・整理作業を見ていたところでしたが、今回 provider を追加しやすいように内部 adapter とガイドもあわせて整理し、OpenCode についてもまずは安全な read-only サポートから検討してみます。ローカルセッションのパスやサンプル、関連情報を issue に残していただければ、引き続き確認します!
分離していただければ、
CONTRIBUTING.mdとガイドに従って、私が opencode をアップロードしてみます。