mcpField
S
sessionwiki

sessionwiki

ローカル
github.com/necrozメモリ・ナレッジ01 日前に更新

sessionwiki について

sessionwikiは、ローカルのAIコーディングセッション記録を検索・相互リンク可能なWikiにまとめるツールです。複数のコーディングエージェントを使う開発者向けに、LLMによる要約、セッションのグラフ、静的サイト、過去の判断を探すMCPツールを提供します。

主な機能

  1. 01複数のコーディングエージェントからセッションを取り込む
  2. 02記録をマスキングして自動同期
  3. 03セッションとプロジェクトのWikiページを生成
  4. 04検索可能な静的サイトとセッショングラフを構築
  5. 05AI向けおよび各種フィード向けにエクスポート
  6. 06Wikiアクセス用のMCPツールを12種類提供

活用シーン

  1. 01過去のコーディングセッションから解決策を探す
  2. 02過去のプロジェクト判断をエージェントに伝える
  3. 03プロジェクト、モデル、日付でセッション履歴を閲覧
  4. 04公開前にマスキング済みのセッションデータを確認

MCP 対応

stdioのMCPサーバーが、Wikiの検索、読み取り、同期、lint、エクスポートなど12種類のツールを提供します。エージェントはWikiページを検索し、必要に応じて元のセッション記録も検索できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"necroz-sessionwiki": {
"command": "uvx",
"args": [
"sessionwiki"
],
"env": {
"SESSIONWIKI_HOME": "<SESSIONWIKI_HOME>"
}
}
}
}
起動コマンドuvx sessionwiki
設定が必要な環境変数
SESSIONWIKI_HOMEFolder with raw/ and wiki/. Run `sessionwiki sync` there first.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypisessionwiki2.1.0

ツール

12

掲載時のツール一覧 · 1 日前に更新

パラメーター型必須説明
questionstringはい検索する自然言語の質問またはキーワード。
max_pagesintegerいいえ返すページの最大数(デフォルトは 5)。
include_rawbooleanいいえ生のセッショントランスクリプト:true = 常に一緒にランク付けし、false = ランク付けしません。省略すると、wiki ページが一致しない場合にのみ読み取ります。

詳細

sessionwiki

AI コーディングセッションを、検索・相互リンク可能な Wiki にまとめます — Claude Code、Codex CLI、Cursor、Gemini CLI、Copilot、ZCode、OpenCode に対応しています。ローカルファーストで、LLM による統合、セッションのグラフ、エージェントが解決済みの問題を参照できる MCP サーバーを備えています。

License: MIT Python 3.9+ Version Tests CI Link check Wiki checks Docker

👉 ライブデモ:necroz.github.io/sessionwiki

5つのプロジェクトと7つのエージェントにまたがる27件の合成セッション(2026年8月〜11月)— 個人データは含まれていません。masterへのプッシュごとにexamples/demo-sessions/から再構築されます。

sessionwiki ホーム:アクティビティヒートマップ、トークン統計、プロジェクトカード


理由

利用するすべてのエージェントは、計画、行き詰まった点、修正、判断の根拠を含む完全なトランスクリプトをディスクに書き込みます。形式は5種類あり、何百件も蓄積されますが、あとから見返すことはありません。

sessionwiki は、その履歴をナレッジベースに変えます。

  • すべてのエージェントをひとつの場所に。 Claude Code、Codex CLI、Cursor、Gemini CLI、Copilot、ZCode、OpenCode のセッションを同じ Wiki に集約し、エージェント、プロジェクト、モデル、日付でタグ付けします。
  • 常に最新の状態に。 フック、OpenCode プラグイン、夜間タイマーによって、何も実行しなくても同期されます。
  • 読みやすく。 LLM による統合で各セッションの要約ページを作成し、有用な情報の少ないセッションは Wiki を煩雑にしないよう、クラスターページにまとめます。
  • エージェントが活用できます。 組み込みの MCP サーバーを使えば、Claude Code、ZCode、その他の MCP クライアントが、同じ問題に再び取り組む前に過去の判断を検索できます。
  • データはあなたのものです。 すべてローカルで実行され、トランスクリプトは取り込み時に機密情報が伏せられます。また、sessionwiki auditで公開前に出力を確認できます。

主な特長

8つのソースClaude Code、Codex CLI、Cursor、Gemini CLI、Copilot Chat / CLI、ZCode、OpenCode、Obsidian。それぞれに専用のエージェントバッジが付きます
自動同期Claude Code の Stop フック、ZCode の Stop フックと nightly の systemd / launchd / Task Scheduler ジョブ、OpenCode の session.idle プラグイン
要約バックエンドOllama、OpenAI 互換サーバー全般(vLLM、SGLang、LM Studio、LiteLLM、ホスト型)、エージェント委任、オフラインダミー
ノイズを抑えてシグナルを抽出シグナルの少ないセッションの統合、ウィキリンクの整理、同時実行制御、コストの --estimate
静的サイト365日間のヒートマップ、トークンとキャッシュの統計、フィルタ可能なセッション一覧、コードをハイライト表示するセッションページ、トピック付きのプロジェクトページ、セッション ↔ プロジェクトのグラフ、⌘K 検索、ダークモード
MCP サーバー12個のツール:クエリ、検索、読み取り、ソース一覧表示、lint、同期、エクスポート、ダッシュボードなど
AI 向けエクスポートllms.txt、llms-full.txt、JSON-LD グラフ、ページごとの .txt / .json、サイトマップ、RSS
デフォルトで安全ユーザー名と17種類のシークレットパターンのマスキング、読み取り専用のデータベースエクスポート、OS のファイルロックとアトミックな状態書き込み、doctor と audit

スクリーンショット

すべてのスクリーンショットはライブデモから取得したもので、scripts/regen_docs_screenshots.pyで再生成されます。

すべてのセッション、すべてのエージェント — プロジェクト、モデル、日付で絞り込めます。各行にはエージェントバッジが表示されます。

Claude、ZCode、Codex、OpenCode のバッジが付いたセッション一覧

セッションページ — 要約、会話、ハイライト表示されたコード、実行されたツールに加え、トークンとキャッシュの使用状況も表示します。

Go コードブロックとツール呼び出しがハイライト表示されたセッションページ

プロジェクト — プロジェクトごとのトピック、説明、アクティビティ、ツールの使用状況を表示します。インデックスには鮮度バッジが付きます。

infra-stack のプロジェクトページ鮮度バッジ付きのプロジェクト一覧

グラフと検索 — セッションをプロジェクトごとにまとめて表示します。⌘K ですべてのページを瞬時に検索できます。

セッションとプロジェクトのグラフ"redis" のコマンドパレット検索

クイックスタート

git clone https://github.com/necroz/sessionwiki.git
cd sessionwiki
./setup.sh                 # Windows: setup.bat — creates .venv, detects your agents
./sync.sh                  # convert new sessions into raw/
./build.sh && ./serve.sh   # build the site and open http://127.0.0.1:8765

setup はチェックアウト内に .venv を作成し、パッケージをインストールして、raw/、wiki/、site/ を用意します。検出されたエージェントのアダプターを有効にし、sessionwiki doctor を実行します。ラッパースクリプトは venv を自動的に使用します。CLI の場合は venv を有効化する(source .venv/bin/activate)か、.venv/bin/sessionwiki を実行してください。

公開済みパッケージをインストールする場合は、次のいずれかを選んでください。

uv tool install sessionwiki          # uv: CLI in its own isolated environment
uvx sessionwiki --help               # uv: run without installing
pip install sessionwiki              # pip, inside a virtualenv
pip install 'sessionwiki[graph]'     # + graphify graph engine (also works with uv tool install)

Docker — ビルド済みのサイトを配信します(イメージ ghcr.io/necroz/sessionwiki。docker compose とコンテナ内での CLI コマンド実行についてはDocker デプロイを参照してください)。

docker run --rm -p 8765:8765 -v "$PWD/site:/wiki/site:ro" ghcr.io/necroz/sessionwiki

スクリーンショット付きの手順を追ったガイドは、セットアップガイドを参照してください。

エージェントを接続する

Claude Code、Codex CLI、Cursor、Gemini CLI、Copilot — sessionwiki sync を実行すると、それぞれのセッションフォルダーから直接読み込みます。Claude Code の返信ごとに同期するには、~/.claude/settings.json に Stop フックを追加します。

{
  "hooks": {
    "Stop": [{ "hooks": [{ "type": "command",
      "command": "cd /path/to/sessionwiki && .venv/bin/python -m sessionwiki sync --no-auto-build >/dev/null 2>&1 &" }] }]
  }
}

フックを並列実行しても問題ありません。sync と synthesize は OS のファイルロックを取得し、状態をアトミックに書き込みます。

ZCode はセッションを SQLite に保存します。sessionwiki は読み取り専用でセッションをエクスポートし、フックと夜間ジョブをインストールします。

sessionwiki zcode install --dry-run   # show what will be written
sessionwiki zcode install             # Stop + SessionStart hooks, systemd / launchd / Task Scheduler

OpenCode(V2、opencode.db)には、セッションがアイドル状態になったときに自動同期を実行するサーバープラグインが用意されています。

sessionwiki opencode install --dry-run
sessionwiki opencode install          # honours $XDG_CONFIG_HOME

フックによる実行では、すでに処理サイクルが実行中の場合、キューに追加せずスキップします。スケジュールされた実行では待機して追いつきます。詳細はZCODE.md、docs/adapters/opencode.md、および全アダプターの一覧を表示する sessionwiki adapters をご覧ください。

LLM による合成

sync は raw/ に、機密情報を除去したトランスクリプトを保存します。synthesize はそれらを Wiki ページに変換します。各セッションの要約、プロジェクトページ、相互リンクが作成されます。config.local.json で任意のバックエンドを指定できます。

{
  "synthesis": {
    "backend": "openai",
    "base_url": "http://127.0.0.1:8000/v1",
    "model": "qwen3-coder",
    "max_concurrency": 8,
    "coalesce_low_signal": true
  }
}
sessionwiki synthesize --estimate     # what it will cost before you run it
sessionwiki synthesize                # new sessions only; idempotent
sessionwiki all --with-synth          # synthesize → build → graph → export → lint

バックエンド:ollama(ローカル)、openai(vLLM、SGLang、LM Studio、LiteLLM、ホスト型 API など、任意の OpenAI 互換 /v1)、agent-delegate(コーディングエージェントにページの作成を任せる)、dummy(オフライン用スタブ)。base_url がループバック以外を指し、トランスクリプトがマシン外に送信される場合、sessionwiki が警告します。docs/modes/api/ をご覧ください。

エージェントから Wiki に質問する(MCP)

Claude Code プラグイン — MCP サーバー、Wiki を検索するタイミングをエージェントに伝えるスキル、プロジェクトの最近のセッションをコンテキストに追加する SessionStart フックが含まれます。インストール時に sessionwiki フォルダーの場所を尋ねます。

/plugin marketplace add necroz/sessionwiki
/plugin install sessionwiki@sessionwiki

任意の MCP クライアント — 公開パッケージを uvx で実行し、SESSIONWIKI_HOME に raw/ と wiki/ があるフォルダーを指定します(先にそのフォルダーで sessionwiki sync を実行してください)。

{
  "mcpServers": {
    "sessionwiki": {
      "command": "uvx",
      "args": ["sessionwiki", "mcp"],
      "env": { "SESSIONWIKI_HOME": "/path/to/your/sessionwiki" }
    }
  }
}

ソースをチェックアウトした場合は、"command": "/path/to/sessionwiki/.venv/bin/sessionwiki" と "args": ["mcp"] を使用します。チェックアウト先がデータルートになるため、env は不要です。

Claude Code、Claude Desktop、ZCode、または任意の MCP クライアントに追加できます。ツールには wiki_query(あらゆる言語の Wiki ページを順位付けして検索し、該当する結果がなければ raw トランスクリプトを検索)、wiki_search(完全一致検索。raw トランスクリプトも検索対象に指定可能)、wiki_read_page、wiki_list_sources、wiki_lint、wiki_sync、wiki_export、wiki_dashboard など、合計 12 個があります。stdio トランスポートを使用し、SDK への依存はなく、パストラバーサル対策が施されています。

CLI リファレンス

sessionwiki init                    # scaffold raw/ wiki/ site/
sessionwiki sync                    # export ZCode/OpenCode + convert transcripts to markdown
sessionwiki synthesize              # LLM summaries into wiki/ (--estimate, --coalesce-only, --force)
sessionwiki build                   # static site + AI exports
sessionwiki serve                   # local server on 127.0.0.1:8765
sessionwiki all                     # build → graph → export → lint (add --with-synth)
sessionwiki query "<question>"      # ask the wiki a question from the terminal
sessionwiki graph                   # session/project and wikilink graph
sessionwiki lint                    # wiki lint rules
sessionwiki export                  # llms.txt, JSON-LD, sitemap, RSS, …
sessionwiki candidates              # review candidate pages
sessionwiki adapters                # available adapters and their state
sessionwiki doctor                  # check Python, deps, config, agent paths
sessionwiki audit                   # scan raw/ wiki/ site/ for usernames and secrets
sessionwiki zcode                   # export · autosync · install
sessionwiki opencode                # export · autosync · install
sessionwiki mcp                     # MCP server on stdio
sessionwiki recall                  # a project's recent sessions, for a SessionStart hook
sessionwiki version

すべてのサブコマンドで --help を使用できます。完全なリファレンスはdocs/reference/cli.mdをご覧ください。

設定

設定は階層化されており、後のファイルほど優先されます。

examples/sessions_config.json  →  config.json  →  config.local.json
   (shared defaults)              (gitignored)      (gitignored, machine-local)

合成バックエンドとキー、秘匿化パターン、プロジェクトのルート、アダプターの有効・無効など、マシン固有の値は config.local.json に記述します。リファレンスはdocs/configuration-reference.mdをご覧ください。プロジェクトやセッションを除外するには.llmwikiignoreを使用します。

仕組み

 Claude Code · Codex · Cursor · Gemini · Copilot       ZCode · OpenCode (SQLite)
              │ JSONL                                          │ read-only export
              └──────────────────────┬─────────────────────────┘
                                     ▼
                       sync  →  raw/sessions/*.md          redacted, immutable
                                     │
                       synthesize    ▼
                                  wiki/                    sources · projects · entities · concepts
                                     │
                    ┌────────────────┼──────────────────┐
                    ▼                ▼                  ▼
                 build → site/   MCP server        exports (llms.txt, JSON-LD)

Karpathy の LLM Wiki パターンに従った 3 層構造です。raw/ は不変の信頼できる情報源、wiki/ は LLM が管理し、site/ は生成されます。raw/ と wiki/ は Git の追跡対象外のため、データがリポジトリに入ることはありません。

プライバシー

  • 変換時にトランスクリプトを秘匿化します。ユーザー名、ホームディレクトリのパス、17種類のキーとトークンに加え、独自に設定したパターンも対象です。
  • ZCode と OpenCode のデータベースは読み取り専用で開きます。
  • リモート合成バックエンドを設定しない限り、データがマシンの外部に送信されることはありません。設定した場合は sessionwiki が警告します。
  • サイトを公開する前に、sessionwiki audit で raw/、wiki/、site/ をスキャンします。

docs/privacy.md と SECURITY.md をご覧ください。

ドキュメント

llmwiki をベースにしています

sessionwiki は v1.3.82 の Pratiyush による llmwiki(MIT)からフォークして始まり、そのすべての履歴を引き継いでいます。コンバーター、サイト、リンター、MCP の基盤の大部分は、Pratiyush によるものです。sessionwiki では、ZCode と OpenCode の自動同期対応ソース、OpenAI 互換の合成バックエンド、セッションの統合、ロックとアトミックな状態管理、doctor と audit、セッショングラフ、および多数の修正を追加しています。違いについてと移行方法をご覧ください。

LLM Wiki のアイデアを提案した Andrej Karpathy、Python Markdown、highlight.js、vis-network にも感謝します。

コントリビューション

CONTRIBUTING.md をお読みください。PR は1つの変更内容に絞り、タイトルには feat: / fix: / docs: / chore: / test: を使用してください。feat と fix には CHANGELOG の項目を追加し、実際のセッションデータは決してコミットしないでください。CI がすべて成功している必要があります。

ライセンス

MIT © 2026 Igor Lashkevich (sessionwiki) · © 2026 Pratiyush (llmwiki の原作)。NOTICE をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。