Skip to main content
Glama

Perseus Vault

AIエージェントのための、持続的で暗号化された記憶。単一のRustバイナリ、単一のファイル、クラウド不要。

Build and Test License: MIT Release Glama MCP Marketplace LangGraph CrewAI AutoGen

公開先 Official MCP Registry · Glama · mcpservers.org · Lulu MCPs · Docker (GHCR)

エージェントにセッションを超えて持続する記憶を与え、すでに学習したことを再導出する手間や、過去の過ちを繰り返すことを防ぎます。ハイブリッド検索(BM25 + 密ベクトル + RRF)、二時点履歴、保存時のAES-256-GCM暗号化を、168個の標準MCPツールとして公開し、任意のホストで動作します。レガシーな mimir_*/mneme_* エイリアスは2026-27メジャーリリースで削除され、別途カウントされません。LongMemEval公式ハーネスで73.8%(Zep 63.8%、Mem0 49.0%と比較)。 単一バイナリ。単一ファイル。Docker不要。Postgres不要。クラウド不要。 ローカルファースト、エアギャップ対応、MITライセンス。

一行インストール

curl -sSf https://raw.githubusercontent.com/Perseus-Computing-LLC/perseus-vault/main/scripts/install.sh | sh

以上です。Perseus Vault は ~/.local/bin/perseus-vault にインストールされます。起動するには:

perseus-vault serve --db ~/.perseus-vault/data/perseus-vault.db

デフォルトインストールでは暗号化が自動的に有効になります。 初回実行時に、所有者のみアクセス可能な ~/.perseus-vault/secret.key と、暗号化されたデータベースカナリアが作成されます。そのキーはバックアップしてください:復元は不可能です。明示的な --encryption-key パスは引き続きサポートされており、既存のプレーンテキストデータベースは perseus-vault init --rekey による移行のために保持されます。doctor を使用して、実際のディスク上の状態を検査してください。

macOSに関する注意(Apple Silicon)。 新しくビルドまたはコピーしたバイナリは、OSのバイナリポリシーにより、初回実行時にSIGKILLされます(Killed: 9、他の出力なし) — クォータニン属性がない場合でも同様です。一行インストーラーおよび bootstrap.sh ソースからビルドするインストーラーは、Perseus Vault をアドホックコード署名してくれます。自分でバイナリをビルドする場合は、ビルドのたびに一度署名してください:

cargo build --release
cp target/release/perseus-vault ~/.local/bin/perseus-vault
codesign --force --sign - ~/.local/bin/perseus-vault   # required on Apple Silicon; fixes "Killed: 9"

--force は既に署名されたバイナリに再署名します(ビルドのたびに必要);この手順はIntel macOSでは無害であり、Linux/Windowsでは不要です。

次に、MCPクライアントと、完全な想起/キャプチャループを1つのコマンドで接続します:

perseus-vault install-client --hooks --rules

これはClaude Code / Codex / Cursorを自動検出し(--client <name> でclaude-desktop, hermes, windsurf, vscode, zed, genericを指定可能; --all-detected で検出したすべてのクライアントを接続)、MCPサーバー登録をクライアントの設定にマージします(何も上書きせず、先に .bak-perseus バックアップを作成)、すべてのクライアントを1つの共有メモリデータベースに向け、セッションライフサイクルフック(SessionStartでの想起インジェクション、セッション終了時の衛生管理 — docs/lifecycle-hooks.md 契約を参照)を登録し、メモリ使用ルールを CLAUDE.md/AGENTS.md に追加します。再実行は何も変更しません; --dry-run を追加して、触れるすべてのファイルをプレビューできます。

または、任意のMCPホストに手動で接続します(Claude Desktop, Cursor, Hermes Agent, Perseusなど):

{
  "mcpServers": {
    "perseus-vault": {
      "command": "perseus-vault",
      "args": ["serve", "--db", "~/.perseus-vault/data/perseus-vault.db"]
    }
  }
}

Related MCP server: GroundMemory

エージェント向け:MCP経由で接続

主要なコンシューマーがエージェントである場合、インターフェースはMCPです — エージェントはMCPクライアントを介してVaultを採用し、サーバー自体を実行する以外に、マシンごとのCLIインストールは必要ありません:

# 1. Run the server (one line)
perseus-vault serve --db ~/.perseus-vault/data/perseus-vault.db &

# 2. Register it in the agent's MCP client config
#    { "mcpServers": { "perseus-vault": {
#        "command": "perseus-vault",
#        "args": ["serve", "--db", "~/.perseus-vault/data/perseus-vault.db"] } } }

# 3. Verify the agent-facing surface
perseus-vault doctor

perseus-vault install-client --hooks --rules は、Claude Code / Codex / Cursor / Hermes 向けの想起/キャプチャループ全体を1つのコマンドで接続します。エージェント向け機能マップ — どのツールがどの役割を担い、計画境界パターンを — については、docs/integration/agent-adoption.md を参照してください。

30秒クイックスタート

# Start Perseus Vault
perseus-vault serve --db memory.db &
sleep 1

# Remember a fact (via MCP JSON-RPC on stdio)
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"perseus_vault_remember","arguments":{"category":"demo","key":"hello","body_json":"{\"text\":\"Hello from Perseus Vault!\"}"}}}' | perseus-vault serve --db memory.db

# Search for it
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"perseus_vault_recall","arguments":{"query":"Hello"}}}' | perseus-vault serve --db memory.db

メモリモデルと運用上の境界

Perseus Vault は3つのプレーンを明確に区別します:

  • 暗黙的な作業コンテキスト は、ホストの現在のプロンプト、トランスクリプト、およびクライアントが注入することを選択した任意のコンテキストブロックです。これは一時的であり、ホストが所有します;Vaultがそれを返したという理由だけで永続化されるわけではありません。

  • 明示的な永続メモリ は、明示的な perseus_vault_rememberperseus_vault_capturewrite、または capture 操作によって書き込まれます。Vaultサーバーは、SQLiteレコード、履歴、ジャーナル、減衰、アーカイブ、パージのライフサイクルを所有します。

  • 派生プロジェクション には、統合または合成されたレコードやエクスポートされたMarkdownが含まれます。これらは来歴を持ちますが、永続的なソースレコードの代替ではなく、個別のクリーンアップが必要になる場合があります。

perseus-vault prepareperseus_vault_context は永続レコードを読み取り、境界がありタスクに関連するアクティブな作業コンテキストを生成します。これはローリングスナップショットであり、バックグラウンド書き込みや、クライアントがそれを保持するという約束ではありません:タスクが変わったら更新し、明示的なキャプチャ/書き込み操作が成功しない限り、プロンプトテキストを永続メモリとして扱わないでください。想起ファーストの出力は予算化されています(デフォルト1500文字、大ウィンドウホストでは6000文字、または明示的な max_context_chars)。always_on セットは最大5つに制限されています。保持とコンテキストのセマンティクス を参照してください。

ライフサイクルフックとクライアントインストーラーはオプションのオーケストレーションです。これらはサーバーが所有する想起、キャプチャ、メンテナンス、リフレッシュ作業を要求します;これらが2番目のストアになったり、保持ポリシーを変更したりすることはありません。サーバーまたはフックが利用できない場合は、注入されたメモリなしでタスクを続行し、機能低下状態を表面化してください。ホスト統合には明示的に構成されたローカルフォールバックがある場合がありますが、そのフォールバックはローカルのみとラベル付けされ、永続的なVaultの想起として提示されてはなりません;失敗した明示的な書き込みが永続化されたと報告されてはなりません。アップグレード/リカバリ手順については、アップグレードと移行プレイブック を使用してください。

すべてのMCPクライアントで動作

Perseus Vault は標準のMCP stdio サーバーです — 同じ perseus-vault serve コマンドがどこでも動作します。perseus-vault doctor を実行してインストールを検証し、このマトリックスをローカルに出力します。

クライアント

ステータス

設定

Claude Desktop

claude_desktop_config.json

Claude Code / Hermes

.mcp.json / config.yaml

Cursor

.cursor/mcp.json

Windsurf

mcp_config.json

VS Code + Continue.dev

config.json

Zed

settings.json

Codex CLI

~/.codex/config.toml

各クライアントのコピーペースト用設定スニペット: docs/clients/

次に、想起 → 作業 → キャプチャ → 統合 ループをクライアントのセッションイベントに接続します(Claude Code、Codex、Cursor向けのSessionStart/Stopフック、およびポータブルなAGENTS.mdフォールバック): docs/lifecycle-hooks.md

メモリワッシャー(CoalWash)とランタイム出力コンパクター(Noisegate)と組み合わせて、エンドツーエンドのコンテキスト予算制御を行う方法: docs/integration/context-budget-stack.md

Vaultが何を、どこから、どの権限で記憶しているかを監査する方法: docs/evidence-chain-guidance.md — エビデンスチェーン、書き込み時の来歴タグ、永続メモリの継続的アテステーション。

メモリバンク(クライアントごとの分離、単一プロファイル)

同じプレイブックで50のクライアントを運用していますか?プロファイルを複製しないでください — プロジェクトごとにメモリバンクを指定し、1つのHermesプロファイル、1つのVault、1つの共有スキルライブラリを維持します:

# .hermes.md
memory_bank: acme-seo            # name → deterministic workspace hash
memory_bank_workspace: <64-hex>  # optional explicit workspace override

Hermesメモリプロバイダーhermes plugins install Perseus-Computing-LLC/hermes-plugin-perseus-vault) は、バンクをセッションごとに1回解決し、すべてのVaultの読み取りと書き込み(プリフェッチ想起、perseus_recall / perseus_remember / perseus_forget、セッション終了時のキャプチャ)を専用のワークスペースに範囲付けます。バンク名は決定論的にマッピングされるため(sha256("memory-bank:" + name))、同じ名前を指すすべてのインスタンスは、維持するレジストリなしで同じワークスペースをアドレス指定します。ワークスペースはサーバー上で第一級の存在です:範囲指定されたメンテナンス、バンク間の重複排除分離、ワークスペースごとの権限マニフェスト。ディスカバリはHermesプロジェクトコンテキストルールを反映します(最も近い .hermes.md が優先され、gitルートで境界が設定されます);ディレクティブのないコンテキストファイルはバンクなしを意味します — 構成されたワークスペースが引き続き有効です。

Perseus Vault を選ぶ理由

Perseus Vault は、MCPネイティブローカルファーストゼロ依存かつエージェントファーストを同時に満たす唯一のメモリエンジンです。

LongMemEval QA(公式ハーネス)

自前のスクリプトではなく、LongMemEvalの公式ハーネスで測定された想起品質:

メモリエンジン

QA精度

Perseus Vault

73.8%

Zep

63.8%(公開値)

Mem0

49.0%(公開値)

longmemeval_s(500問)、gpt-4o-2024-08-06回答者 + LongMemEval公式判定者;競合他社の数値は公開値です。Perseus Vaultの73.8%は3回の実行の単純平均;公式CoTでは79.0%。方法論とコンテンツハッシュ(sha256)結果 →

LOCOMO(mem0自身のハーネス)

私たちのものではなく、mem0自身のLOCOMOハーネス(私たちのフォーク)で測定 — カテゴリ1~4、1,540問、top-200、gpt-5回答者 + 判定者:

エンジン

全体

単一

時間

複数

オープンドメイン

Perseus Vault 2.20.2

87.9%

89.1

92.2

85.1

70.8

Mem0 Platform Starter

82.2%

85.0

82.9

78.0

67.7

Zep Cloud Flex

33.8%

36.9

6.9

50.0

49.0

カテゴリ5 敵対的(446問):Perseus 63.5、Mem0 55.6、Zep 49.8。私たちのMem0測定値は、公開ファイルより9.4ポイント低いです(判定者/プラットフォームのドリフト — 開示済み)。完全なリーダーボード →

二時点タイムトラベル(三軸)

私たちの最も強力な構造的差別化要因 — 完全なSQL:2011 二時点履歴 (トランザクション時間 および 有効時間) — 再現可能で完全にオフラインのガントレットに対して測定。実際に出荷されるバイナリをMCP stdio経由で駆動し、単軸の競合他社が誤る難しいケース(遡及的修正、先行的な未来日付の事実、順序不同の到着、信念と真実の乖離、閉じられた期間)を処理します:

答える質問

チェック

合格

有効時間 (valid_at)

"時刻Tにおいて世界で真実だったこと"

10

10

トランザクション時間 (as_of)

"時刻Tにおいて私たちが信じていたこと"

1

1

バイテンポラル (bitemporal)

"時刻Tの信念として、時刻Vにおいて真実だったこと"

2

2

合計

13

13 (100%)

1つのコマンドで再現(APIキー不要、ネットワーク不要、LLM不要):

cargo build --release
python benchmark/temporal/gauntlet.py --bin target/release/perseus-vault

PASS/FAILの判定は決定論的です(ウォールクロックのタイムスタンプは変動しますが、判定は変動しません)。そのため、正しいビルドを再実行すると同一のsignature_sha256になります。コミットされたgauntlet_report.jsonがリファレンスです。方法論とデータセット →

比較マトリクス

Perseus Vault

Mem0

Letta

Zep

デプロイ

単一バイナリ

クラウド + セルフホスト

Docker/Postgres

Docker/Neo4j

依存関係

なし(SQLite埋め込み)

Python + ベクトルDB

Postgres + Python

Neo4j + Go (Graphiti)

MCPネイティブ

✅ 157 canonicalツール

❌ MCPネイティブではない

❌ MCPネイティブではない

❌ MCPネイティブではない

オフライン/ローカル

✅ 完全ローカル

クラウド依存

Dockerが必要

Dockerが必要

暗号化

AES-256-GCM ✅

ハイブリッド検索

BM25 + デンス + RRF

ベクトルのみ

ベクトルのみ

ベクトル+グラフ

エンティティライフサイクル

減衰 + 昇格 + アーカイブ

エンティティグラフ

リンク + トラバース

ジャーナル監査証跡

✅ 不変

状態管理

✅ キー値 + TTL

MCPツール

103 canonical

5

8

0

ライセンス

MIT

Apache 2.0

Apache 2.0

Apache 2.0

完全比較: Perseus Vault vs Mem0 → vs Letta → vs Zep →

ストレステスト: 100Kエンティティ

Perseus Vaultは控えめなハードウェアでも本番ワークロードを処理します。以下の数値はコミットされた成果物benchmark/scale/report.jsonからのものです。実際のリリースバイナリをMCP stdioで駆動(コーパスサイズごとに1つの永続プロセス)、AMD64 16コア、Windows 11、各書き込みは次の書き込みが送信される前に永続化されます。

メトリック

10K

100K

書き込みスループット(持続的、MCP stdio)

479 ドキュメント/秒

40 ドキュメント/秒

ハイブリッド再現率 p50

19.03 ms

79.73 ms

FTS5再現率 p50

3.14 ms

15.67 ms

完全なパーセンタイル、as_ofポイントルックアップ、テンポラル再現率、コールドスタートの数値はbenchmark/scale/にあります。

自分で実行:python benchmark/scale/run.py

スケールでの再現率精度: キーワードは崩壊、ハイブリッドは維持

速度は当然の前提です。エージェントメモリにとって重要な質問は正しいメモリが実際に表面化するのか? ということです。異なる内容のコーパス(ファーストパーティ、再現可能;benchmark/lambda/参照)で測定された、モード別のrecall@k:

100,000エンティティ(1×H100、nomic-embed-text on Ollama):

recall@k

キーワード (BM25/FTS5)

デンス

ハイブリッド (RRF)

@1

0.003

0.680

0.785

@5

0.015

0.859

1.000

@10

0.029

0.899

1.000

100Kエンティティでは、ハイブリッド再現率は**@5で完全であり、キーワード検索は約1.5%の時間しかヒットしない**約66倍の差。そしてそれはスケールに応じて拡大します:10Kエンティティではキーワードrecall@5は0.008でしたが、ハイブリッドはすでに1.000でした。キーワードのみのメモリはエージェントが履歴を蓄積するにつれて静かに劣化しますが、ハイブリッド(BM25 + デンス + 相互ランク融合)は劣化しません。これがPerseus Vaultのハイブリッド検索の核となる主張です。

直接対決、同一マシン、同一コーパス、すべて完全ローカル(1×H100、Ollama — 全システムで同一の事実セット、クエリ、および部分文字列判定器):

システム

再現率精度

p50レイテンシ

備考

Perseus Vault (ハイブリッド)

1.00

35.6 ms

単一の自己完結型バイナリ、インプロセス

Letta (アーカイブ / pgvector)

1.00

135.5 ms

サーバー + Postgres/pgvector

Mem0 (ベクトル)

0.60

37.9 ms

Python + ベクトルDB

Zep (GraphitiテンポラルKG)

0.20

49.7 ms

サーバー + Neo4j; ローカルモデルで抽出されたグラフ

すべての競合他社は、同一マシンで立ち上げられ、実行され、同一のローカルOllama(qwen2.5:14b-instruct + nomic-embed-text)に対して — クラウドなし、捏造数値なし。Lettaはletta/lettaサーバー(バンドルされたPostgres/pgvector)として実行され、Perseus Vaultと1.00で一致しました。ZepのセルフホストCommunity Editionサーバーは非推奨であり、そのzep_pythonメモリAPIは現在Zep Cloud専用であるため、Zepの実際のOSSエンジン — Neo4j上のGraphitiテンポラルKG — を、エンティティ/エッジ抽出埋め込みを同一のローカルOllamaで測定しました。その0.20は、ローカルモデルでナレッジグラフを構築する正直なコストを反映しています(構造化抽出はロスが多い:6つの事実から5エンティティ/2エッジ) — フロンティアモデルを使用するZep Cloudではありません。完全な成果物+方法論:benchmark/lambda/results/competitors.json

コールドスタート: ベアGPUボックスは最初のgrounded RAG回答を3.3秒で到達します(モデルはディスク上にステージング)。

再現:benchmark/lambda/scale_bench.py および competitors_bench.py

GPUホスト上のモデルサーバー(vLLM on MI300X/H100)の隣にデプロイする?AMD MI300Xデプロイメントリファレンスを参照 — 測定された共存数値と、/dev/shm、PID-1、バージョン固定の落とし穴(これらが実際にこれらのスタックを壊す)を含みます。

フレームワーク統合

Perseus Vaultを人気のあるAIエージェントフレームワークのデフォルトメモリバックエンドにする即使用可能なアダプター:

フレームワーク

統合

タイプ

LangGraph

PerseusVaultStore

BaseStore実装

CrewAI

PerseusVaultMemoryTool

エージェントツール

AutoGen

PerseusVaultMemory

Memory実装

各アダプター:

  • MCP stdioサブプロセスを介して接続(永続セッション)

  • フレームワークのメモリインターフェースをPerseus Vaultツールにマッピング

  • READMEクイックスタート付き(5分で動作開始)

  • モックされたMCPトランスポートで合格するテストあり

MCP互換のフレームワークはすべてPerseus Vaultと直接動作します。完全なリストはMCPクライアントとフレームワーク統合を参照してください。

150の正規MCPツール

正規の製品名とツール名。 Perseus Vaultは製品名であり、統合は正規のperseus_vault_*ツール(例:perseus_vault_remember)を使用します。レガシーのmimir_* / mneme_* / plutus_*名は2026-27メジャーリリースで削除されました — 正規名が唯一のインターフェースです。 カウントはソースレジストリ内の一意の正規ツールの数です。互換性エイリアスは呼び出し可能ですが、個別にカウントされません。 レガシーのperseus_vault_*およびperseus_vault_*名は完全に呼び出し可能のままです — すべてのプレフィックスは同じハンドラーにディスパッチします — ただし、tools/listでアドバタイズされなくなっただけです。これにより、アドバタイズされるマニフェストはツールごとに1つの名前に保たれ、3倍(3倍のエイリアス膨張)にならないため、接続されたクライアントはリクエストごとに3倍のツールスキーマペイロードをリロードしません。3つすべてのプレフィックスをアドバタイズする過去の動作を復元するには、PERSEUS_VAULT_TOOL_ALIASES=allを設定します(レガシー環境変数PERSEUS_VAULT_TOOL_ALIASESも尊重されます;PERSEUS_VAULT_が優先されます)。

クライアント互換性(#633)。 アドバタイズされたリストにゲートをかけるクライアント — つまり、呼び出し前にtools/listをチェックし、見えないツールをスキップする — は、呼び出し自体は成功するにもかかわらず、2.xボールトに対するレガシーのperseus_vault_*呼び出しを静かにスキップします。既知のケース:perseus CLI ≤ 1.0.22perseus_vault_recallをハードコードし、空のローカルのみの再現に劣化します。どちらかの側で修正:CLIを**≥ 1.0.23**にアップグレードする(動的フォールバックで正規名を呼び出す)、または、古いクライアントがまだデプロイされている間のブリッジとして、ボールトにPERSEUS_VAULT_TOOL_ALIASES=allを設定する。

ツールスコープ(広告階層、#1051)

デフォルトでは、tools/listはすべての正規ツールをアドバタイズします。PERSEUS_VAULT_TOOL_SCOPEを設定して、トークンと注意に制約のあるエージェントクライアント向けにアドバタイズ範囲を狭めます:

設定

アドバタイズ範囲

カウント

full (デフォルト)

すべて

150

ops

エージェント表面 + 運用グルーミング、メンテナンス、ガバナンス、エクスポート

140

agent

日常メモリ + 調整表面(recall / remember / context / handoffs / state、およびエージェント側のAAR呼び出し)

48

スコープはアドバタイズのみです:隠されたツールはtools/callを介して完全に呼び出し可能であり、認可はワークスペースバインディングと権限マニフェストに残ります。階層分類は1:1のサイドテーブル(src/mcp.rsTOOL_SCOPES)であり、scripts/registry_metadata_check.pyによってCIで強制されます — 新しいツールはすべて分類されなければなりません。admin階層のツール(migratepurgeerasevault_importauthority_set / authority_revoke / authority_set_signed)はスコープ付きリストに決して表示されません。

エンティティCRUD

ツール

説明

perseus_vault_remember

エンティティの保存/更新。(category, key) で冪等。内容の変更は以前のバージョンを履歴にスナップショットします。

perseus_vault_recall

FTS5/dense/hybrid モード、フィルター、ステミング展開による検索。クエリ契約 (#562): query="" は全件列挙("すべてをリスト" パス)。"*" およびその他のワイルドカードはリテラルな FTS5 用語であり、グロブではありません"*" は何もマッチしません。

perseus_vault_scan

カテゴリまたはストア全体の決定論的なページネーション列挙 (#562): 不変の id ASC キーセットページと next_cursor/has_more 契約により、export/sync/reset 呼び出し元は各エンティティを正確に一度だけ走査できます。読み取り専用 — 取得回数/減衰の副作用なし、オフセット上限なし。

perseus_vault_hygiene

読み取り専用の起動時メモリ衛生レポート (#675): アクティブな記憶を「アクション可能性」(具体的なアンカー — イシューキー、#refs、パス、URL、決定 — 対 曖昧/日付のみ/短い)でスコアリングし、最悪の違反者を理由とともにリストアップ。アーカイブ/統合キュレーション用。

perseus_vault_recall_layer

特定の生体模倣層(world、episodic、semantic)からの想起。

perseus_vault_recall_when

プロアクティブなジャストインタイム想起: recall_when トリガーが一致するエンティティを表面化。

perseus_vault_get_entity

ID で1つのエンティティを完全な body_json とともに取得。

perseus_vault_as_of

トランザクション時刻のタイムトラベル: 過去の瞬間に 信じられていた 事実(category + key)のバージョン。

perseus_vault_valid_at

有効時刻ルックアップ: 現在の知識に基づき、ある瞬間に 実際に世界で真だった バージョン(SQL:2011 APPLICATION_TIME)。

perseus_vault_bitemporal

完全な2軸バイテンポラルクエリ: 「トランザクション時刻 T 時点で、有効時刻 V に何が真だと信じていたか」— 正確な矩形セル。

perseus_vault_history

事実(category + key)の置き換えられたバージョンを新しい順にリスト — ページネーション付き(limit デフォルト20、offset あり)。total は完全なトレイルサイズを報告(perseus_vault_as_of のコンパニオン)。

perseus_vault_forget

ソフトデリート(archived=1)。

検索 & RAG

ツール

説明

perseus_vault_ask

RAG: コンテキストを想起し、LLM にクエリし、ソース付きの根拠のある回答を返します。

perseus_vault_embed

バンドルモデル、Ollama、または OpenAI 互換エンドポイントを介して密ベクトルを生成します。

perseus_vault_semantic_search

密ベクトルのみのセマンティック検索ショートカット — 意味でエンティティを検索し、埋め込み類似度のみでランク付け(キーワードフォールバックなし)。

perseus_vault_context

セッションインジェクション用の事前フォーマット済みマークダウンブロック。デフォルトは想起優先: query(現在のタスク/メッセージ)を渡すと、トピックに関連するエンティティのみが注入され、モデルごとの予算に制限されます。レガシーな無条件ダンプには mode: "always_inject" が必要です。

perseus_vault_ingest

コネクタ同期(GitHub、ファイルウォッチャー)をトリガー。変更のないコンテンツは包含リプレイによりスキップされます (#1050)。

perseus_vault_span_audit

抽出損失ネット (#1048): 抽出器が見逃した文を残余スパンとして、出典付きでそのまま保持します。

perseus_vault_report_refusal

抽出損失ネット (#1048): 拒否をシグナルとして — スパンをクエリと再スコアリングし、リトライペイロードを返し、損失のあるユニットにフラグを立てます。

perseus_vault_report_success

抽出損失ネット (#1048): リトライを確認 — 仮のクエリキーを添付し、同一の繰り返しクエリが初回パスとして機能するようにします。

perseus_vault_ingest_file

ドキュメントのテキストをローカルで抽出(プレーンテキスト/マークダウンは常に、DOCX/PDF は multimodal 機能で対応)し、想起可能なエンティティとして保存します。

perseus_vault_extract

テキストまたは保存されたエンティティからのローカルで決定論的なルールベースの知識抽出(事実 / 嗜好 / 時間的イベント / エピソード)。読み取り専用。

perseus_vault_capture

オプトインのセッション内キャプチャ (#520): 問題が解決された瞬間に、トランスクリプト/インサイトペイロード(テキスト、マークダウン、または JSONL)を永続的なエンティティ(根本原因 / 落とし穴 / 決定 / パターン / 教訓)に蒸留します。デフォルトはローカルルールベースの蒸留器、オプションで llm: true(グレースフルフォールバック付き)。ニアデュープマージは常にオン、さらに呼び出しごとの上限あり(フラッド防止)。CLI 動詞でもあります: perseus-vault capture

perseus_vault_memories

Anthropic メモリツール互換のファイルインターフェース(/memories 下の view/create/str_replace/insert/delete/rename)、vault エンティティによってバックアップされています。

📖 docs/retrieval-modes.md — すべての検索モード(キーワード · 密 · ハイブリッド · グラフ · GraphRAG · プロアクティブ recall_when · 時間的 as_of)の列挙されたリファレンス: メカニズム、使用タイミング、呼び出し、および例。

Tool

Description

perseus_vault_link

エンティティ間の型付き関係リンクを作成する。

perseus_vault_unlink

エンティティのリンクを削除する。

perseus_vault_traverse

設定可能な深さまでエンティティリンクグラフを辿る。

perseus_vault_communities

リンクグラフ上のGraphRAGコミュニティ検出(決定論的ラベル伝播または貪欲モジュラリティ「louvain」;純粋Rust、オフライン)。

perseus_vault_community_summary

1つのコミュニティの抽出要約(オプションでLLMで洗練)、メンバーへのevidence_forリンクを持つエンティティとして具体化。

perseus_vault_global_recall

GraphRAGグローバル検索:コミュニティ要約を広く探索し、最良のコミュニティのメンバーを深く掘り下げる—クラスター全体の総合的な回答。

perseus_vault_graph_drift

読み取り専用のグラフ/エンティティ/インデックス/レシートのドリフトレポート(#869):未証明、ぶら下がり、アーカイブ/期限切れターゲット、クロスワークスペースエッジ、古いコミュニティメンバーシップ、FTSドリフト、欠落エンティティへのジャーナル参照。

perseus_vault_graph_attest

レガシーエッジにfrom側のエンティティIDを証拠アンカーとしてスタンプし、グラフリコールアームで利用可能にする(#869);ドライランプレビュー、ジャーナル記録。

ジャーナル

Tool

Description

perseus_vault_journal

アクター属性付きの構造化イベントを追加する。

perseus_vault_check_failure_pattern

デジャブガード:再試行前に、以前記録された障害(ジャーナル+失敗/落とし穴エンティティ)に対してアクションをチェックする。読み取り専用。

perseus_vault_timeline

フィルター付きで時間範囲によるジャーナルをクエリする。

状態

Tool

Description

perseus_vault_state_set

オプションのTTL付きでキー・バリュー状態を設定する。

perseus_vault_state_get

状態値を取得する。期限切れの場合はnullを返す。

perseus_vault_state_delete

状態エントリを削除する。

perseus_vault_state_list

状態キーを一覧表示する。オプションでプレフィックスでフィルタリング。

ライフサイクル

Tool

Description

perseus_vault_decay

エビングハウス忘却曲線スコアを再計算する(1000エンティティ単位のバッチトランザクション)。

perseus_vault_prune

カテゴリ、減衰しきい値、または経過時間による一括アーカイブ。

perseus_vault_purge

アーカイブされたエンティティを完全に削除+VACUUM。破壊的操作。

perseus_vault_expire

時間ベースのライフサイクルスイープ:本文のexpires_atを過ぎたエンティティはstatus='expired'に遷移(コンテンツは保持、ドライラン対応)。

perseus_vault_redact

コンテンツ編集:ワークスペーススコープのエンティティの本文をハッシュのみのマーカーに削除し、履歴+FTSテキストを削除、メタデータは保持(再取り込み可能)。明示的なworkspace_hashが必要。

perseus_vault_erase

ワークスペーススコープのエンティティをすべての派生レイヤー(FTS、履歴、コミュニティ、リンク、ジャーナル)から物理的に消去+永続的な再取り込み抑制。明示的なworkspace_hashが必要;ドライラン対応。

perseus_vault_cohere

自律的な一貫性グルーミングパス—昇格、減衰、リンク、アーカイブ。

perseus_vault_autocohere

完全な原子的グルーミング:cohere → decay → compactを1パスで実行(ドライラン対応)。

perseus_vault_compact

減衰しきい値以下のエンティティをアーカイブする。

perseus_vault_reindex

entitiesテーブルからFTS5検索インデックスを再構築する。

perseus_vault_consolidate

カテゴリ内の重複/重複エンティティを、耐久性のある証跡付き観測に統合(perseus_vault_conflictsの鏡像)。

perseus_vault_dream

睡眠時LLM統合:設定されたLLMを介して関連するエピソード記憶のクラスターを熟考し、すべてのソースに provenance リンクされた耐久性のある意味的洞察を書き戻す。冪等(証拠セットハッシュ)、矛盾認識、制限付き;--llm-endpointが必要。

品質

Tool

Description

perseus_vault_score

品質スコア(0.0-1.0)を割り当てる。

perseus_vault_conflicts

トライグラム類似度による競合エンティティの検出;オプトインのresolve=trueで低確信度側を履歴に無効化(可逆、デフォルトでドライラン)。

perseus_vault_correct

エラーから学習するための構造化訂正キャプチャ。

perseus_vault_supersede

新しい事実を古い事実を置き換えるものとしてマーク(古いエンティティをdeprecatedに設定)。

perseus_vault_follow

エンティティが実際にFOLLOWEDかMISSEDかを記録—減衰スコアリングと結果加重リコールランキングの両方に供給されるフォロー率効果シグナル(#681)。

キーストーン(ポリシールール)

Tool

Description

perseus_vault_keystone_set

キーストーンを作成する—コンテキスト圧縮後も存続する必須ポリシールール(#683)。スコープ付き(テナント/フリート/エージェント)、重量順位付け、すべての変更で暗号チェーン;作成は信頼階層でゲート制御。

perseus_vault_keystone_get

スコープのマージされたキーストーンを取得、重量順(高い順)次にスコープ特異性順—リコールに対する決定論的セッション開始対応物。レンダラーはこれらを他のすべてのコンテキストより先に注入する。

perseus_vault_agent

マルチエージェントレジストリでエージェントを登録/更新または検索(#684):アイデンティティ+信頼階層(0-3)+フリート。信頼階層は機密操作をゲート制御(例:キーストーン作成には階層≥2が必要)し、リコール時の可視性強制を駆動する。

金庫とフェデレーション

ツール

説明

perseus_vault_vault_export

エンティティをYAMLフロントマター付きの.mdファイルにエクスポートします。

perseus_vault_vault_import

.mdボールトディレクトリからインポートします(冪等)。

perseus_vault_federate

エンティティをワークスペース間でコピーします。これはローカルエクスポート/ワークスペース名変更/再インポートです(ファイルベースで、ネットワークピアはありません)。Windowsで安全なデフォルトパスは#704で追跡されています。

perseus_vault_share

1つのエンティティ(カテゴリ+キー指定)を別のワークスペースに共有し、コンテンツを保持します。

perseus_vault_workspace_list

すべての異なるエンティティカテゴリを一覧表示します。

メトリクスと運用

ツール

説明

perseus_vault_stats

全テーブルにわたる完全なDB統計。

perseus_vault_health

サーバーとDBのヘルスチェック。

perseus_vault_bench

パフォーマンスベンチマークの追跡。

perseus_vault_maintenance

DBメンテナンス:重複排除、孤立検出、VACUUM、FTS5再インデックス(ドライラン対応)。

perseus_vault_synthesize

LLMセッションの統合 — トランスクリプトから教訓を抽出します。

perseus_vault_migrate

v0.1.xのDBを現在のスキーマに移行します。

ジョブ別ツール(エージェントチートシート)

カテゴリ一覧ではありません。ジョブ一覧です。エージェントが実行しようとしている内容に該当する行を選んでください:

ジョブ

ツール

永続的な事実/決定/修正を記憶する

remembercapturejournalcorrect

計画前に思い出す

recallrecall_batchrecall_whencontextask

開発のナラティブを再構築する(意図の軌跡、次の作業)

handoff_packinclude_intent_trail / include_next_work付き)、delegation_brieftimelinetraverse

決定:上書きと権限

supersedehistoryauthority_getaction_receipt_getkeystone_get

「当時は何を信じていたか?」と問う

as_ofvalid_atbitemporalhistory

記録の修正/矛盾の表面化

correctsupersedeconflictsreject_value

圧縮に耐えるポリシー

keystone_getkeystone_set

運用、信頼、スコープ

healthstatsagentworkspace_statusdoctor(CLI)

CLI

# Server
perseus-vault serve --db /data/perseus-vault.db
perseus-vault serve --web --port 8767 --encryption-key ~/.perseus-vault/secret.key
perseus-vault serve --llm-endpoint http://localhost:11434/api/generate --llm-model llama3
perseus-vault serve --transport sse --port 8787 --mcp-token my-secret-token

# Maintenance (operate directly on DB, no server needed)
perseus-vault stats          --db /data/perseus-vault.db
perseus-vault forget         --db /data/perseus-vault.db --category decision --key stale-choice --reason "superseded"
perseus-vault prune          --db /data/perseus-vault.db --category junk --min-decay 0.1 --dry-run
perseus-vault purge          --db /data/perseus-vault.db --dry-run
perseus-vault decay          --db /data/perseus-vault.db
perseus-vault reindex        --db /data/perseus-vault.db
perseus-vault vault-export   --db /data/perseus-vault.db --vault-dir ./export/
perseus-vault vault-import   --db /data/perseus-vault.db --vault-dir ./export/
perseus-vault obsidian-sync  ~/obsidian-vault/Perseus Vault/          # one-shot export to an Obsidian vault
perseus-vault obsidian-sync  ~/obsidian-vault/Perseus Vault/ --watch  # continuous sync on every memory change

# Key management
perseus-vault keygen --key-file ~/.perseus-vault/secret.key

# #918: read-only TUI inspector (retrieval telemetry, claim cards, entity
# state, decay, bi-temporal history). Never writes; repairs go through the
# governed MCP tools. Requires the default `tui` feature.
perseus-vault inspect --db /data/perseus-vault.db --key-file ~/.perseus-vault/secret.key

セッションを再起動せずにライブ更新

perseus-vault serve は、自身のバイナリがセッション中にディスク上で置き換えられた(通常の cargo build / 再インストールの流れ)ことを検出し、古いプロセスイメージからの結果提供を拒否します — すべてのツールは空の結果に劣化する代わりに、明示的なエラーメッセージを返します(#858、#1045)。同じ stdio 接続上で2つの復旧パスがあります(クライアントの再起動は不要):

  • 明示的: perseus_vault_handoff_restart {"confirm": true} を呼び出すと、プロセスが新しいバイナリにホットスワップされ、MCPセッション状態(初期化 + エージェントID)を保持したままセッションが継続します。

  • 自動(オプトイン): PERSEUS_VAULT_AUTO_HANDOFF=1 を設定してサーバーを起動すると、次のツール呼び出し時に透過的にスワップが行われ、新しいバイナリが直接応答します。

macOS/Linuxでは、スワップは真の exec(同じPID、同じパイプ)です。Windowsでは実行中の実行ファイルがロックされるため、セッション途中での置き換えは不可能です。セッション境界をまたいで更新を行ってください。完全な契約とローカル開発ワークフローは docs/specs/live-update-handoff.md を参照してください。

手動DB編集。 上記のメンテナンス動詞と通常のMCP書き込みパスは、FTS5インデックスを自動的に同期します。entities テーブルを sqlite3直接編集する(手動の DELETE/UPDATE)と、その同期をバイパスし、孤立したインデックス行が残る可能性があります — すでに存在しないコンテンツに対する「ゴースト」再現ヒットです。直接SQL編集を行った後は、perseus-vault maintain --db <path>(または perseus-vault reindex)を実行してFTSインデックスを調整してください。

フラグ

フラグ

説明

--db

SQLiteデータベースパス(デフォルト:~/.perseus-vault/data/perseus-vault.db

--web

Webダッシュボードを起動

--port

ダッシュボードのポート(デフォルト:8767)

--web-bind

ダッシュボードのバインドアドレス(デフォルト:127.0.0.1)

--transport

MCPトランスポート:stdio(デフォルト)、sse、または http

--mcp-token

SSE/HTTPトランスポート認証用のBearerトークン

--encryption-key

AES-256-GCMキーファイルのパス

--llm-endpoint

perseus_vault_ask および埋め込み用のLLM APIエンドポイント

--llm-model

LLMモデル名(デフォルト:llama3)

--llm-api-key

LLMエンドポイント(OpenAI、Azureなど)のAPIキー

--embedding-endpoint

OpenAI互換の埋め込みエンドポイント

--connectors-config

connectors.yamlへのパス

データベースの場所

正規のデータベースパスは:

~/.perseus-vault/data/perseus-vault.db

スクリプト、MCPホスト設定、cron/ハーベストジョブでは常に --db を渡す(または $PERSEUS_VAULT_DB_PATH を設定する)ことで、すべての呼び出しが同じファイルを対象にします。どちらも設定されていない場合、Perseus Vault は以下の順序でデフォルトを解決し、既に存在する最初のものを使用します(そのため、アップグレードユーザーや従来のシングルユーザーインストールが空の状態でサイレントに起動されるのではなく、検出されます):

  1. ~/.perseus-vault/data/perseus-vault.db — 正規(現在の名前)

  2. ~/.perseus-vault/data/perseus-vault.db — 名前変更前

  3. ~/.perseus-vault/data/perseus-vault.db — 名前変更前

  4. ~/perseus-vault.db — 従来のシングルユーザーインストール場所

いずれも存在しない場合は、~/.perseus-vault/data/perseus-vault.db を作成します。これらのうち複数が存在し、かつ --db/$PERSEUS_VAULT_DB_PATH を渡していない場合、Perseus Vault は選択したファイルと無視した他のファイルをstderrに警告として出力するため、あいまいなマルチデータベース状態がサイレントではなく表示されます。--db または $PERSEUS_VAULT_DB_PATH を明示的に設定すると常に優先され、警告は抑制されます。

Obsidian でのAIメモリ

Perseus Vault はAIエージェントの長期記憶であり、同時にあなたの第二の脳としても機能します。エージェントが記憶したすべてのエンティティは、YAMLフロントマター付きのプレーンなMarkdownノートとしてエクスポートされるため、AIの記憶は、すでに使用しているObsidian、Logseq、Notionなどのツール内でナビゲート可能なパーソナルナレッジベースになります。

# Export your entire memory to an Obsidian vault as linked Markdown notes
perseus-vault obsidian-sync ~/obsidian-vault/Perseus Vault/

# Keep it live — re-export automatically on every memory change
perseus-vault obsidian-sync ~/obsidian-vault/Perseus Vault/ --watch

ボールトをObsidianで開くと、エージェントの知識のグラフが表示されます。

WikiLinkバックリンク。 あるエンティティが別のエンティティにリンクしている場合(perseus_vault_link または depends_on / implements / references 関係を介して)、エクスポートされたノートには ## Links セクションが追加され、[[WikiLink]] バックリンクがObsidianのグラフビューでネイティブに解決されます:

---
id: cli-de8dfb8364b6
category: architecture
key: api
type: insight
decay_score: 0.5000
---

{"content":"axum service"}

## Links

- [[cli-99756b494c7d|database]] (depends_on)

リンクはエンティティIDで解決されます(ノートは <id>.md として書き込まれる)ため、壊れることはなく、Obsidianはリンクラベルとして人間が読める key を表示します。グラフビューを開けば、エージェントのアーキテクチャ、決定、洞察がクリック可能なナレッジマップになります。

--watch は、安価で決定論的な状態ダイジェストを一定間隔でポーリングし、メモリが実際に変更された場合にのみ再エクスポートします。ファイルシステム監視の依存関係やサーバーとの結合なしに、すべての perseus_vault_remember 書き込みを自然にキャッチします。間隔は PERSEUS_VAULT_SYNC_INTERVAL_SECS で調整できます(デフォルト:2秒)。

その他のPKMツール

ツール

方法

Obsidian

perseus-vault obsidian-sync <vault> — WikiLinksはグラフビューでそのまま解決されます。

Logseq

obsidian-sync をLogseqのグラフディレクトリに向けてください。Logseqは同じ [[WikiLink]] 構文とMarkdownフロントマターを読み取ります。

Notion

perseus-vault vault-export を実行し、Notionの インポート → Markdown & CSV を使用してノートを取り込みます。

クラウド専用の「第二の脳」ツールとは異なり、Perseus Vault は100%ローカルで動作し、Rust で書かれ、AES-256-GCM で保存時に暗号化し、減衰スコアリングを適用して古い記憶を薄れさせます — 知識ベースはあなたのものであり、新鮮さを保ちます。

機能

セマンティック検索(デフォルトでオン)

  • バンドル済みインプロセス埋め込み — 量子化された all-MiniLM-L6-v2 モデル(384次元)がバイナリにコンパイルされているため、密ベクトル/意味検索は設定不要かつネットワーク不要で動作します:Ollama、APIキー、モデルのダウンロードは一切不要です。これがデフォルトのビルド(bundled-embeddings フィーチャー)です。

  • 書き込み時の自動埋め込み(#271)perseus_vault_remember は、新しい(または内容が変更された)エンティティを書き込み時に同期的に埋め込み、バンドルモデルを使用します。単一エンティティの埋め込みは決定論的でLRUキャッシュされるため、処理は軽量でバックグラウンドタスクは追加されません。埋め込みの失敗は致命的ではありません(stderrにログ出力);書き込みは常に成功します。

  • ハイブリッドがデフォルトの検索モード(#271)mode フラグなしの perseus_vault_recall(query=...) は、埋め込みが存在する場合は自動的にハイブリッド(RRFで融合された密ベクトル+キーワード)を選択し、埋め込みがない場合は透過的に fts5 キーワード検索にフォールバックします。手動の perseus_vault_embed ステップや覚えるべきフラグは不要です。

  • perseus_vault_semantic_search(query, limit) — 「これに似たものを見つける」だけを行いたい場合の、純粋な密ベクトルベースの意味検索(キーワードフォールバックなし)のためのワンツールショートカット。

  • オプションの代替埋め込みエンジン — バンドルモデルの代わりにOllamaまたはOpenAI互換の /v1/embeddings エンドポイントを使用するには、--llm-endpoint(および必要に応じて --embedding-endpoint / --llm-api-key)を設定します。これは完全にオプションです;デフォルトではバンドルモデルが使用されます。

  • cargo build --no-default-features でバンドル埋め込みなしの軽量バイナリをビルド — その場合、リモート埋め込みエンジンが設定されていない限り、検索はデフォルトでキーワード検索になります。

ハイブリッド検索の内部

  • FTS5キーワード検索 — LIKEフォールバックとPorterステミング展開を備える

  • 密ベクトル検索 — 保存された埋め込みに対するコサイン類似度による

  • 相互ランク融合(RRF) — キーワードとベクトルの結果を結合

  • クエリ拡張 — より広範な検索のための自動ステミングバリアント

メモリライフサイクル

Perseus Vaultは、人間の記憶経路に着想を得た3つの生体模倣層を使用してメモリをモデル化します:

  • 世界(コア) — 減衰が遅い、環境に関するグローバルな事実。

  • エピソード(バッファ) — 減衰が速い、セッション固有の対話履歴。

  • 意味(ワーキング) — 減衰が中程度の、一般的な知識と学習された概念。

これらの層とは、perseus_vault_recall_layer ツールを使用するか、perseus_vault_rememberlayer パラメータを指定することで直接対話できます。

  • エビングハウスの忘却曲線 — 記憶は取得されない限り自然に薄れます(アクセス時にリフレッシュ)

  • 層の昇格 — アクセス頻度に基づいてバッファ → ワーキング → コアへ昇格

  • 自動アーカイブ — 古いエンティティはアーカイブ;パージで完全に削除+VACUUM

  • 常時オンエンティティ — セッションインジェクションのためにアイデンティティに重要なメモリを固定(検索ファーストではハードキャップあり;recall_when トリガーを推奨)

  • プロスペクティブクエリヒント(#919) — エンティティごとにオプションで1~3の自然言語フレーズ(perseus_vault_rememberhints)を本文とともにFTS5にインデックス化し、平易なクエリと保存された表現の間の語彙ギャップを埋めます。デフォルトではオフ(PERSEUS_VAULT_HINTS_ENABLED=1);無効時は拒否されます。詳細は docs/specs/prospective-query-hints.md を参照。

検索ファーストコンテキストインジェクション

Vaultはクエリ層です — ターンに必要な少数の事実を取得し、ホストにすべてのシステムプロンプトに貼り付けるための固定ブロブを渡すことはしません。 perseus_vault_contextperseus-vault prepareデフォルトで検索ファーストです:

  • 関連性ゲーティングquery(現在のタスク/メッセージ)を渡すと、その recall_when トリガーまたはインデックス化されたコンテンツが一致するエンティティのみが注入されます。クエリがない場合、トピックに基づく注入は行われません:ブロックはコンパクトな検索ポインタとなり、無関係なVault書き込み間でバイト安定(プレフィックスキャッシュに優しい)。

  • モデルごとの検索予算 — 出力はホストモデルから解決された文字数予算に制限されます:デフォルト/リーンプロファイルは1500文字;大ウィンドウ(「opus」)プロファイルは6000文字;max_context_chars は両方を上書きします。

  • 上限付き常時オンalways_on: true はアイデンティティに重要な事実に対して引き続き機能しますが、検索ファーストセットはハードキャップ(上位5件)され、オーバーフロー時には recall_when トリガーを促す警告が出力されます。

  • レガシーオプトイン — 古い無条件のトップNダンプは、mode: "always_inject"prepare の場合は --legacy-context)で引き続き利用可能で、予算を渡さない限り制限はありません。

perseus-vault prepare --task "deploying the payments service" --model claude-sonnet-4-6
perseus-vault prepare --task "..." --max-context-chars 800     # explicit budget
perseus-vault prepare --task "..." --legacy-context            # old dump, opt-in

RAGと埋め込み

  • perseus_vault_ask — 任意のLLM(Ollama、OpenAIなど)を介した、保存されたメモリに対する自然言語Q&A

  • perseus_vault_embed — OllamaまたはOpenAI互換の /v1/embeddings を介した密ベクトルの生成と保存

  • 単一エンティティおよびバッチカテゴリの埋め込みをサポート

暗号化

  • AES-256-GCM によるエンティティ body_json の透過的暗号化

  • 新規インストールではデフォルトで有効 — 標準キーは最初の書き込み時に ~/.perseus-vault/secret.key に自動生成されます

  • 明示的なキーには --encryption-key フラグ;カスタムキー生成には perseus-vault keygen

  • 既存の平文データベースは、init --rekey 移行パス(または明示的な PERSEUS_VAULT_ALLOW_PLAINTEXT=1)でクローズドに失敗します

  • FTS5インデックスは検索のために平文のままです

Webダッシュボード

  • 組み込みのAxum HTTPサーバー(perseus-vault serve --web --port 8767

  • ダークテーマのダッシュボード:検索、エンティティテーブル、vis.jsグラフ、タイムライン

  • デフォルトのバインド:127.0.0.1(公開するには --web-bind 0.0.0.0 を使用)

  • 同時読み取りのためのWALモードの個別SQLite接続

外部コネクタ

  • GitHub issuesコネクタ — リポジトリごとにIssue/PRを取り込み、レート制限対応

  • ファイルウォッチャー — コンテンツハッシュによる重複排除で .md/.txt/.json ファイルのディレクトリをスキャン

  • YAMLベースのコネクタ設定(--connectors-config 経由)

マルチトランスポート

  • stdio(デフォルト) — 設定不要、任意のMCPホストで動作

  • SSE — HTTPベースのMCPクライアント向けサーバー送信イベント

  • HTTP — REST形式のMCPエンドポイント

  • Bearerトークン認証 — SSE/HTTPトランスポート用

Perseus統合

Perseus Vaultは、Perseus のデフォルトメモリバックエンドです:

perseus_vault:
  enabled: true
  transport: "stdio"
  command: ["perseus-vault", "serve", "--db", "~/.perseus-vault/data/perseus-vault.db"]
  timeout_s: 30.0
  merge_strategy: "local_first"
  fallback_to_local: true
  context_categories: ["decision", "architecture", "convention"]
  context_limit: 10

政府および連邦調達

Perseus Vaultは、政府での展開を前提にゼロから構築されています。

機能

ステータス

ライセンス

MIT — コピーレフトなし、GPL/AGPLなし

SBOM

公開済み — NTIA最小要素

エアギャップ対応

完全オフライン — デフォルトではテレメトリ、APIコール、ネットワークなし

保存時の暗号化

ボディに対するAES-256-GCM、新規インストールではデフォルトで有効

監査証跡

チェーン・オブ・カストディを備えた不変ジャーナル

サプライチェーン

SLSAアテステーション進行中

連邦政府の購入者向け: 調達情報、コンプライアンスステータス、展開モデル(エアギャップ、オンプレミス、機密環境)については docs/federal-buyers.md を参照してください。

Perseus Computing LLCは米国所有の小規模企業です。SAM.gov登録進行中。 NAICS: 541715, 541511, 541512。

プライバシーポリシー

Perseus VaultはローカルファーストのMCPサーバーです — 完全にあなたのマシン上で動作します。

データ収集

  • データ収集は行いません。 Perseus Vaultは、ユーザーデータ、使用統計、テレメトリを収集、送信、またはホームコールすることはありません。

  • すべてのデータはローカルのSQLiteデータベースファイルに残ります。

データの使用と保存

  • すべてのメモリエンティティ、ジャーナルエントリ、状態は、--db で指定したパスのローカルSQLiteデータベースに保存されます。

  • オプションの保存時のAES-256-GCM暗号化が利用可能です — 有効にすると、エンティティのボディは保存前に暗号化されます。

  • Perseus Computing LLCまたは第三者とデータが共有されることはありません。

第三者との共有

  • なし。 Perseus Vaultはデフォルトで完全にエアギャップされています。APIコール、クラウドサービス、外部ネットワークリクエストはありません。

  • オプションの密ベクトル埋め込み機能は、ローカルでコンパイルされたモデルを使用します — 外部の埋め込みAPIは呼び出されません。

データ保持

  • 4つの異なるライフサイクル操作で保持を制御します(詳細は docs/specs/data-boundaries-retention-lifecycle.md を参照):ソフトデリート(perseus_vault_forget、コンテンツは復元可能)、期限切れ(perseus_vault_expire、時間ベースの status='expired'、コンテンツは保持)、編集(perseus_vault_redact、コンテンツはハッシュのみにスクラブ、メタデータは保持)、物理的消去(perseus_vault_erase、すべての派生層から削除、永続的な再取り込み抑制)。perseus_vault_purge はアーカイブされた行からスペースを再利用します。

  • 自動的なマシン外へのバックアップは実行されません。

連絡先

リリース検証

リリースバイナリは、GitHub Actions を介してタグ付けされたコミットからビルドされます。すべてのリリースには以下が含まれます:

アーティファクト

説明

検証

perseus-vault-<target>.tar.gz

フルビルド(バンドル埋め込み、glibc)

.sha256 サイドカー内のSHA-256チェックサム

perseus-vault-lite-<target>.tar.gz

軽量ビルド(--no-default-features、musl/static)

.sha256 サイドカー内のSHA-256チェックサム

SLSA provenance attestation

Sigstore署名のビルド証明

gh attestation verify <archive> --repo Perseus-Computing-LLC/perseus-vault

リリースバイナリの検証

# 1. Verify SHA-256 checksum
sha256sum -c perseus-vault-lite-x86_64-unknown-linux-musl.tar.gz.sha256

# 2. Verify SLSA build provenance (requires gh CLI + OIDC session)
gh attestation verify perseus-vault-lite-x86_64-unknown-linux-musl.tar.gz \
  --repo Perseus-Computing-LLC/perseus-vault

# 3. Confirm the binary identity
./perseus-vault --version
# Should show both the release version AND the git commit hash, e.g.:
#   perseus-vault 2.20.2 (v2.20.2-0-gabcdef1)

# 4. Confirm the doctor reports the same identity
./perseus-vault doctor --db /tmp/test.db | head -1
#   perseus-vault doctor — v2.20.2 (v2.20.2-0-gabcdef1)

ソースからの再現可能なビルド

# The exact same binary (bit-for-bit) requires matching:
#   - Rust toolchain version (see rust-toolchain.toml)
#   - Locked dependencies: `cargo build --locked`
#   - Build flags: `--release` for release builds

cargo build --locked --release
./target/release/perseus-vault --version

ライセンス

MIT — LICENSE を参照。

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
2hResponse time
1dRelease cycle
39Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    A
    quality
    B
    maintenance
    Self-hosted MCP-native agent memory server. Gives AI agents persistent, decay-weighted memory via 83 MCP tools — no cloud, full control. RocksDB+HNSW backend. Works with Claude Code, Cursor, and any MCP-compatible agent.
    14
    8
  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP-native, local-first memory server that gives AI agents persistent, structured memory across sessions and tools, enabling them to maintain identity and context without reconfiguration.
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Persistent memory for AI coding agents. Enables agents to save and recall decisions, patterns, bugs, and context across sessions via an MCP server with local SQLite storage.
    45
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server providing persistent AI memory with four-tier retrieval (SQLite FTS5, graph, vector, LLM agent) to give AI assistants structured, long-term memory without RAG.
    1
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Persistent memory for AI agents — verbatim conversations, searchable by meaning.

  • Persistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.

  • Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Perseus-Computing-LLC/perseus-vault'

If you have feedback or need assistance with the MCP directory API, please join our Discord server