Weasley DeepMind について
Weasley DeepMindは、AIエージェント向けのセルフホスト可能なメモリーサーバーです。型付きの断片と関連エビデンスを保存し、会話全体を再入力せずにトークン予算内で順位付けされたコンテキストを取得します。
主な機能
- 01出典情報付きの型付きメモリー断片
- 02キーワード・グラフ・ベクトル検索
- 03トークン予算に応じたコンテキスト取得
- 04メモリーの関連付けとライフサイクル管理
- 05stdioとStreamable HTTPのトランスポート
活用シーン
- 01エージェントのタスクに関連する情報の再取得
- 02決定事項や手順の保存と再利用
- 03メモリー断片間のつながりの探索
- 04セルフホスト型エージェントメモリーの運用
MCP 対応
ローカルstdioまたは`/mcp`のStreamable HTTP経由で、remember、recall、link、contextなどのメモリーツールをMCPクライアントに提供します。HTTPリクエストではデフォルトでアクセスキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y weasley-deepmindDATABASE_URLシークレットPostgreSQL connection URL for a database with pgvector installed.WEASLEY_DEEPMIND_AUTO_MIGRATEApply pending database migrations before starting the stdio server.EMBEDDING_API_KEYシークレットOptional embedding provider API key for semantic recall.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
20掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| goal | string | いいえ | エピソード断片の目標(episode タイプを推奨) |
| type | enum | はい | 断片の種類。fact=事実、decision=意思決定、error=エラー、preference=ユーザー設定、procedure=手順、relation=関係、episode=エピソード(1000文字)。episode 以外のタイプは300文字を超えると切り捨てられます。fact | decision | error | preference | procedure | relation | episode |
| phase | string | いいえ | 作業フェーズ(例:planning、debugging、verification) |
| scope | enum | いいえ | 保存範囲。permanent=長期記憶(デフォルト)、session=セッション作業メモリ(セッション終了時に消去)permanent | session |
| topic | string | はい | 断片のトピック識別子。recall 時の topic フィルターとして使用され、TemporalLinker が同じ topic の±24h以内の断片間に時間リンクを自動作成します。プロジェクト名またはドメイン単位での指定を推奨します(例:weasley-deepmind、authentication、deployment)。 |
| affect | enum | いいえ | 感情タグ(migration-034-v2.16.0-bundle)。frustration=失敗の反復/フラストレーション、confidence=検証合格/確信、surprise=予想外の結果、doubt=不確実、satisfaction=解決/満足。デフォルトは neutral です。許可されていない値は neutral に強制設定されます。neutral | frustration | confidence | surprise | doubt | satisfaction |
| caseId | string | いいえ | この断片が属する作業/ケースの識別子。未設定の場合、現在の session_id が自動設定されます。推奨形式:{debug|feat|incident}-{topic}-{YYYY-MM-DD}。caseId を指定する場合は、resolutionStatus(open|resolved|abandoned) も指定することを推奨します(未指定の場合、caseIdHasResolutionStatus 警告が出ます)。 |
| dryRun | boolean | いいえ | true に設定すると変更は実際には適用されず、実行計画のみが返されます。断片を作成せずに、割り当て量と競合チェックの結果を事前確認できます。 |
| source | string | いいえ | ソース(セッション ID、ツール名など) |
| agentId | string | いいえ | エージェント ID(RLS 分離用) |
| content | string | はい | 記憶する内容(1~3文、300文字以内を推奨)。 GOOD の例: - 'ユーザー認証 API の応答時間を500msから120msに改善(ORM の N+1 クエリを単一の JOIN クエリに変更)' - 'ログイン失敗の原因:JWT 有効期限検証の timezone 不一致 → サーバーとクライアントの両方を UTC に統一して解決' - 'ユーザー設定:コミットメッセージで絵文字を使用しない' - '注文決済フローのアーキテクチャ決定:同期 REST から Kafka イベント駆動方式に移行(再試行の保証を優先)' BAD の例(保存前に必ず書き直すこと): - 'それが遅かったので改善した' — 主体・対象・数値が不明 - '以前のエラーを解決した' — どのエラーか特定できない - 'セッション自動要約:ツール呼び出し3回、断片を2件処理' — メタ情報・自己参照であり、事実がない - 'フロントエンドを修正し、API も直した' — 独立したトピックが2つあるため、別々に呼び出す必要がある - 'この会話でユーザーが依頼したとおりに処理した' — メタ情報への言及であり、事実がない |
| outcome | string | いいえ | エピソード断片の結果 |
| isAnchor | boolean | いいえ | 重要な断片を固定するかどうか。true の場合、重要度の減衰(decay)および期限切れによる削除の対象外になります。 |
| keywords | array | いいえ | 検索用キーワード(未指定の場合は自動抽出)。3~5個を指定することを推奨します。プロジェクト名、ホスト名、トピックを含めると検索精度が向上します。未指定の場合、自動抽出の品質が低くなり、検索で見落とされることがあります。 |
| linkedTo | array | いいえ | 関連付ける既存の断片 ID の一覧 |
| sessionId | string | いいえ | 現在のセッション ID。同じセッションの断片を時間的に近接したバンドルにまとめるために使用します。 |
| workspace | string | いいえ | ワークスペース名(例:'weasley-deepmind'、'personal'、'client-acme')。未指定の場合、キーの default_workspace が適用されます。グローバルメモリー(すべてのワークスペースから検索可能)として保存するには、この項目を指定せず、キーにも default_workspace が含まれないようにしてください。 |
| importance | number | いいえ | 重要度 0~1(未指定の場合は type ごとのデフォルト値)。推奨値:preference=0.9、error/procedure=0.8、decision=0.7、fact=0.6。0.5 以下は検索時の優先度が低くなるため、重要な情報には必ず 0.6 以上を指定してください。 |
| supersedes | array | いいえ | 置き換える既存の断片 ID の一覧。指定した断片には valid_to が設定され、importance が半減します。 |
| contextSummary | string | いいえ | この記憶が生じた文脈・背景の要約(1~2文)。recall 時に併せて返され、前後関係を復元します。 |
| idempotencyKey | string | いいえ | 安全な再試行のための識別子。同じ key_id の範囲内で同じ値を指定して remember を繰り返し呼び出すと、新しい断片を作成せず、既存の断片 id を返します。クライアントの再試行やネットワークによる重複を防ぐために使用します。推奨形式:{작업명}-{날짜}-{순번} |
| assertionStatus | enum | いいえ | 断片の信頼度レベル。デフォルト:observed。inferred=推論(未検証)、verified=検証済み、rejected=棄却。observed | inferred | verified | rejected |
| resolutionStatus | enum | いいえ | タスクの解決状態open | resolved | abandoned |
詳細

Weasley DeepMind
Weasley DeepMind は、AI エージェント向けのセルフホスト可能なメモリーサーバーです。小さく型付けされたメモリーフラグメントを保存し、関連するエビデンスをリンクして、会話履歴全体を毎回プロンプトに含めることなく、MCP を通じて適切なコンテキストを呼び出します。
Weasley Open Source ファミリーの一員であり、Apache-2.0 ライセンスで公開されています。
DeepMind を選ぶ理由
- 会話履歴のダンプではなく、役立つ情報を呼び出します。 キーワード検索、PostgreSQL GIN 検索、グラフ近傍検索、オプションの pgvector 検索を統合し、トークン予算内で順位付けします。
- 構造化されたメモリー。 事実、決定事項、手順、好み、エピソード、エラーには、出所、重要度、リンク、ライフサイクルの状態が保持されます。
- MCP ネイティブ。 ローカルの stdio プロセス、または
/mcpの Streamable HTTP エンドポイントを使用できます。 - フェイルクローズ方式の HTTP セキュリティ。 アクセスキーが設定されていない場合、HTTP サーバーはリクエストを拒否します。認証を無効にできるのは、ローカル開発用に明示的に設定した場合のみです。
- セルフホスト可能なデータ。 PostgreSQL が信頼できる唯一のデータソースです。Redis と外部の埋め込みモデルまたは LLM プロバイダーはオプションです。
- 運用にすぐ使えます。 PostgreSQL のアドバイザリロックでマイグレーションを直列化し、ログからシークレットを秘匿します。また、変更のある Git チェックアウトでは更新を拒否します。
要件
- Node.js 20.19 以降
pgvector拡張機能を備えた PostgreSQL 15 以降- Redis 7(オプション。キャッシュと低レイテンシのキーワード検索用)
npm からインストールする
npm install --global weasley-deepmind
pgvector を使って PostgreSQL データベースを作成し、接続を設定します。
export DATABASE_URL='postgresql://postgres:password@localhost:5432/weasley_deepmind'
export WEASLEY_DEEPMIND_ACCESS_KEY='replace-with-a-long-random-secret'
weasley-deepmind migrate
weasley-deepmind serve
HTTP サーバーはデフォルトで http://127.0.0.1:57332 をリッスンします。MCP エンドポイントは http://127.0.0.1:57332/mcp です。
MCP クライアントに追加する
npm パッケージには、改行区切りの stdio トランスポートが含まれています。一般的な MCP クライアント設定は次のようになります。
{
"mcpServers": {
"weasley-deepmind": {
"command": "npx",
"args": ["-y", "weasley-deepmind", "stdio"],
"env": {
"DATABASE_URL": "postgresql://postgres:password@localhost:5432/weasley_deepmind",
"WEASLEY_DEEPMIND_AUTO_MIGRATE": "true"
}
}
}
}
すでに実行中の HTTP 環境では、クライアントの接続先を /mcp に設定し、Authorization: Bearer <WEASLEY_DEEPMIND_ACCESS_KEY> を送信します。
リポジトリをローカルで実行する
git clone https://github.com/potatohoney-p/weasley-deepmind.git
cd weasley-deepmind
npm ci
docker compose -f docker-compose.dev.yml up -d
cp .env.example.minimal .env
npm run migrate
npm start
開発用 Compose ファイルは、PostgreSQL を localhost:35432、Redis を localhost:36379 で公開します。サーバーを起動する前に、.env をこれらのポートに合わせて更新してください。
基本的なフロー
flowchart LR
Agent["AI agent"] --> MCP["stdio or Streamable HTTP"]
MCP --> Tools["remember · recall · reflect · context"]
Tools --> Rank["keyword + graph + vector ranking"]
Rank --> Postgres["PostgreSQL + pgvector"]
Rank -. optional cache .-> Redis["Redis"]
主なツールセットには、remember、batch_remember、recall、forget、amend、link、reflect、context、memory_stats、memory_consolidate、graph_explore、fragment_history、reconstruct_history、search_traces が含まれます。API キーの権限と動作モードによって、利用できるツールを制限できます。
設定
| 変数 | 用途 | デフォルト |
|---|---|---|
DATABASE_URL | PostgreSQL 接続 URL | POSTGRES_* から導出 |
WEASLEY_DEEPMIND_ACCESS_KEY | HTTP モードで必須のベアラーシークレット | なし。HTTP はフェイルクローズ方式 |
WEASLEY_DEEPMIND_AUTH_DISABLED | 明示的に認証を無効化(ループバックのみ)。ループバック以外のリスナーでは起動を拒否 | false |
WEASLEY_DEEPMIND_AUTO_MIGRATE | stdio 起動前にマイグレーションを実行 | false(server.json では true を推奨) |
WEASLEY_DEEPMIND_HOME | CLI キャッシュとローカル状態のディレクトリ | ~/.weasley/deepmind |
WEASLEY_DEEPMIND_HOST | HTTP リッスンアドレス | 127.0.0.1 |
PORT | HTTP ポート | 57332 |
REDIS_ENABLED | Redis を利用する機能を有効化 | false |
EMBEDDING_PROVIDER | openai、gemini、ollama、localai、cloudflare、transformers(オプションのインストール)、または custom | openai |
EMBEDDING_API_KEY | オプションの埋め込みプロバイダー用シークレット | なし |
設定の一覧については、.env.example、設定、インストールガイドを参照してください。
ローカルのトランスフォーマー埋め込みは、オプションのネイティブ画像依存関係がコア MCP サーバーに追加されないよう、デフォルトのインストールから意図的に除外しています。EMBEDDING_PROVIDER=transformers を選択する前に、docs/embedding-local.md の固定された手順に従ってください。
CLI
weasley-deepmind serve Start the HTTP MCP server
weasley-deepmind stdio Start the local stdio MCP server
weasley-deepmind migrate Apply pending database migrations
weasley-deepmind health Check database, Redis, and embeddings
weasley-deepmind recall Search memory from the terminal
weasley-deepmind remember Store a memory fragment
weasley-deepmind update Preview or apply an update
weasley-deepmind --help を実行するか、すべてのコマンドについては CLI リファレンスを参照してください。
セキュリティのデフォルト設定
- 信頼できるリバースプロキシと明示的なオリジン許可リストがある場合を除き、HTTP リスナーはループバックに設定してください。
- 一意でエントロピーの高い
WEASLEY_DEEPMIND_ACCESS_KEYを使用し、.envは決してコミットしないでください。 - Stdio モードではローカルの MCP ホストプロセスを信頼します。ホストアカウントとデータベースの認証情報を適切に保護してください。
- 脆弱性は SECURITY.md の手順に従って非公開で報告してください。
開発
npm ci
npm test
npm run lint
npm run lint:migrations
npm pack --dry-run
アーキテクチャと運用の詳細は、docs/architecture.en.md と docs/operations をご覧ください。CONTRIBUTING.md からの貢献を歓迎します。
ライセンス
Copyright 2026 Weasley Open Source.
Apache License 2.0 に基づいてライセンスされています。著作権表示については NOTICE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。