sessionhub は、複数のマシンに散らばった Claude Code・Codex セッションを一か所に集めて検索するためのツールです。
デスクトップとノート PC を行き来し、ときどきサーバーでも開発しているのですが、「これ前にやったはず」と思う作業がどのマシンにあったのか、よく分からなくなっていました。Claude Code と Codex のセッションは各マシンの ~/.claude/projects、~/.codex/sessions に JSONL で蓄積されるものの、ファイルはあっても検索できないので、結局は複数のマシンに SSH で接続して一つずつ掘り返すことになっていたんです。
探すときはキーワードで検索します。sessionhub search "connection pool" で見つけて、sessionhub raw <id> でそのときの会話を見ます。
最近いちばん便利に使っているのはエージェント連携です。インストールすると Claude Code と Codex にスキルも一緒に入るので、作業中に「前はこれどうやってたっけ」が必要になった瞬間、エージェントが関連セッションを探してコンテキストとして持ってきます。
# Claude Code
/sessionhub 저번에 커넥션 풀 터지던거 어떻게 고쳤더라
# Codex
$sessionhub 저번에 커넥션 풀 터지던거 어떻게 고쳤더라
動作はシンプルです。ハブを 1 台決めておくと、ほかのマシンのセッションが 15 分ごとに SSH で集まり、ハブ以外のマシンから検索するとハブが代わりに探してくれます。重いログをあちこちにコピーする必要はありません。
容量も軽量です。自分のログを調べてみると、99.7% は tool 呼び出し・ストリーミングフレーム・トークン計算のような機械向けデータで、実際にあとで探し直す会話は 0.3% ほどしかありませんでした。そこで会話だけを抽出して圧縮し、インデックスに入れています。私の場合、約 10GB の原文が数百 MB まで減りました。元の完全なデータは元々あったマシンにそのまま置いてあるので、必要ならそのとき開けば済みます。
インストールすると setup がハブ設定とスキルのインストールまで案内してくれます。
uv tool install git+https://github.com/esc5221/sessionhub
sessionhub setup
最近は、エージェントに長期記憶を持たせる試みが多くあります。過去の会話を要約・抽出して別メモリに蓄積し、次のセッションで参照させる方式ですが、私もこうしたアプローチは好きな一方で、いつも二つ気になる点がありました。要約した瞬間に元の文脈が少しずつ削られてしまうこと、そして蓄積されたメモリは時間が経つと stale になって継続的に手を入れる必要があり、それが面倒だということです。
そこで私は要約を別に作らず、原文をそのまま残したまま、必要なときにその会話をもう一度取り出して見ます。memory-centric より compute-centric に近いやり方です。
この問題(エージェントに過去のコンテキストを古くならない形で、しかも損失なく渡すこと)を別の形で解いている方や、もっと良い方法があれば気になります。コメントでもぜひ意見をいただけるとうれしいです。
まだコメントはありません。