チュートリアル 8: セッション管理
Tutorial 8: Session Management — easy-to-understand guide based on official docs
チュートリアル 8: セッション管理
ターミナルを閉じた拍子に、Hermes との素晴らしい会話を失くしてしまった経験はありませんか? それとも、昨日のあの厄介なバグ修正の続きを、そのまま再開したいと思ったことは? 朗報です:Hermes はすべてを記憶しています。ひとつひとつの会話が自動的にセッションとして保存され、このチュートリアルでは、そのスーパーパワーの使い方をご紹介します。
セッションの仕組み
セッションとは、名前タグ付きのチャットログのようなものだと考えてください。CLI、Telegram、Discord、Slack、WhatsApp、その他 20 以上の対応プラットフォームのどこから Hermes に話しかけても、あなたの会話は完全な履歴付きで保存されます。
これらはすべて、~/.hermes/state.db の SQLite データベースに格納されています。各セッションについて、Hermes は以下を追跡します:
- 一意で人間が読めるタイトル
- 使用したプラットフォーム(CLI、Telegram など)
- モデルと設定
- ツール呼び出しと結果を含む完全なメッセージ履歴
- トークン数とタイムスタンプ
- 親セッション ID(長いチャットが分割された場合用)
実際にコンテキストに入るもの
よくある誤解があります:Hermes は、あなたがこれまで共有したすべてのファイルや画像を再読込するわけではありません。メディアはターンごとに処理されます。画像を送ってミームをリクエストした場合、Hermes は視覚で一度だけ解析し、以降のターンではテキストによる説明やローカルパスのみが引き継がれます — 生の JPEG ではありません。
本当のコンテキスト消費の大食漢は、冗長なテキストです:貼り付けられたトランスクリプト、巨大なログ、大きな差分。ドキュメントには素晴らしいヒントがあります:大きな成果物をチャットにコピーするのではなく、要約、ファイルパス、焦点を絞った抜粋を優先しましょう。
CLI からの会話再開
ここからが魔法の時間です。中断したところから再開する 3 つの方法を見てみましょう。
1. 最後のセッションを続行:
hermes --continue
# または短く
hermes -c
これにより、最新の CLI セッションを取得し、完全な履歴を読み込みます。
2. ターミナルごとの続行(これが新機能で素晴らしい):
単独の -c は、現在ターミナルを認識します。Hermes は各ターミナルセッションに小さなブレッドクラムファイルを配置します。つまり、2 つのターミナルペインを並べて使っている場合、それぞれが 自分自身の 会話を再開し、同じ会話を奪い合うことはありません。ペイン間のクロストークはもう起きません!
ブレッドクラムがない場合(初回使用時、または 30 日以上前のもの)、最新のセッションにフォールバックします。これは config.yaml で session.terminal_continue: false と設定することで無効化できます。
3. 名前で再開:
セッションに意味のあるタイトルを付けておけば、すぐに戻れます:
hermes -c "my project"
「my project」「my project #2」などの系列バリアントがある場合、Hermes は自動的に最新のものを取得します。
特定のセッションを再開
特定の会話に戻る必要がありますか? セッション ID を使用します:
hermes --resume 20250305_091523_a1b2c3d4
# またはタイトルで
hermes --resume "refactoring auth"
# または単に最新
hermes --resume latest
ドキュメントからのプロのヒント
/compress— セッションが長くなりすぎたときに使用します。アクティブなコンテキストを削減します(ただし、これはプライバシー削除ではないことに注意)。/new payments-refactor— タイトルを付けてすぐに新しいスレッドを開始し、後で/resumeで見つけやすくします。hermes sessions prune— 終了した古いセッションを削除したい場合のみ使用します。hermes sessions optimize—state.dbが単に大きい場合、検索インデックスをマージしてクリーンアップし、データには触れません。まずはこちらから!
まとめ
セッション管理は、あなたの記憶のスーパーパワーです。異なるターミナルで複数のプロジェクトを同時進行している場合でも、1 週間前のデバッグセッションを再開する場合でも、Hermes が対応します。重要なポイント:長いチャットには /compress を使用し、/new <名前> でセッションに名前を付け、ターミナル認識の -c でペインを整理整頓しましょう。
楽しいチャットを!
📖 公式ドキュメント
この記事は Hermes Agent の公式ドキュメントに基づいています:公式ドキュメント › user-guide/sessions