session-history.ja.md
docs/i18n/session-history.ja.md
Harness セッション履歴
<!-- translations:start -->
English · 한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch
<!-- translations:end --> Tesserae はローカルの AI エージェントトランスクリプトをインポートし、静的サイトの sessions/ セクション配下にプロジェクトメモリとしてレンダリングできます。
この機能は意図的に export harness とは分離されています:
export harnessは、Claude Code、Codex、Gemini、Cursor、Kiro、OpenCode などのツールに向けたアウトバウンドのコンテキストです。sessions ...はインバウンドの履歴です: 現在のプロジェクトの過去の Claude Code/Codex セッションを正規化し、.tesserae/harness_sessions/配下に保存し、export siteがセッションのインデックス/詳細ページを公開できるようにします。
2 つの取り込み経路: バッチインポートとライブモニタリング
セッションの取り込みはもはやバッチだけではありません。同じ正規化ストアへの 2 つの経路があります:
- バッチインポート —
sessions discover/importはオンデマンドで トランスクリプトのルートをスキャンし、ワンショットで書き込みます。このページでは以下でそのフローを説明します。 - ライブモニタリング — スーパーバイザーデーモン(
tesserae engine)はSessionTailerを実行し、このプロジェクト自身の Claude Code および Codex トランスクリプトを監視して、新しいターンが到着するたびに取り込みます。各 tick は永続化されたファイルごとのバイトオフセットにシークし、新しいバイトのみを読み取り、 完全なターンを SQLite のHarnessSessionsDB(.tesserae/sqlite.db)に保存してから、デバウンスされた再コンパイルをエンキューするため、 コンパイルは常に一貫した状態を読み取ります。tailer はプロジェクト自身の セッションにスコープされ(Claude はprojects/<slug>/*.jsonl。Codex は cwd でフィルタ)、 再起動後は保存されたオフセットから、ターンを再生することなく再開します。
ライブループの実行:
tesserae engine # watch sources, coalesce bursts, auto-recompile
tesserae engine --once # single drain cycle then exit (deterministic)
tesserae refresh は同じ ingest → compile → project パイプラインを 1 回、インプロセスで実行し、長寿命のウォッチャーは起動しません (--no-sessions を渡すと harness セッションの discovery スキャンをスキップします)。
プライバシーモデル
どちらの取り込み経路も明示的です: ライブ tailer は tesserae engine を 維持している間だけ動作し、バッチの discovery は --import を指定したときだけ書き込みます。通常の tesserae compile や tesserae export site は、 すでに正規化されたセッションを .tesserae/harness_sessions/ から、ライブレコードを .tesserae/sqlite.db から読み取りますが、勝手にプライベートな harness トランスクリプトディレクトリを不意にスクレイピングすることはありません。
インポートされたセッションレコードはローカルのプロジェクト成果物です。公開サイトを発行する前に、特にトランスクリプトにシークレット、プライベートなパス、顧客データ、未リリースのコードが含まれる可能性がある場合は、内容を確認してください。
ローカルセッションの発見とインポート
プロジェクトルートから:
tesserae sessions discover --import
discovery は、現在のプロジェクト作業ディレクトリに属するローカルの Claude Code および Codex トランスクリプトルートをスキャンします。特定の設定ディレクトリをスキャンするには --root を使い、discovery を制限するには --harness を繰り返し指定します:
tesserae sessions discover \
--root ~/.claude \
--root ~/.codex \
--harness claude-code \
--harness codex \
--import
--import なしの場合、discovery は正規化されたセッションレコードを書き込まずに、見つかったものを表示します。
正規化済み JSON の直接インポート
別のツールがすでに正規化された HarnessSession JSON を生成している場合は、1 つのファイル、またはファイルのリストをインポートします:
tesserae sessions import path/to/session.json path/to/more-sessions.json
各入力には、1 つのセッションオブジェクトまたはセッションオブジェクトのリストを含めることができます。
インポート済みセッションの一覧
tesserae sessions list
セッションは以下に保存されます:
.tesserae/harness_sessions/
manifest.json
<harness>/
<session>.json
<session>.md
ライブモニタリングされたセッションは、加えて SQLite の HarnessSessionsDB(.tesserae/sqlite.db)でも追跡され、tailer が再開に使う ファイルごとの読み取りオフセットもそこに永続化されます。tesserae sessions list は 統合されたビューを報告します。
静的セッションページのビルド
セッションをインポートしたら、サイトを再ビルドします:
tesserae export site
サイトは以下を出力します:
.tesserae/site/sessions/index.html
.tesserae/site/sessions/<project>/<session>.html
生成されたサイトは、グローバルレール、ホームの Browse カード、検索エントリ、そして各セッション詳細ページのパンくずリストから Sessions にリンクします。
高速トランスクリプト検索(memex)
サイトを tesserae serve すると、sessions ダッシュボードに、インデックス化された すべての Claude/Codex トランスクリプトを対象とする全文検索ボックスが追加されます。これは