dreamd について
dreamdは、プロジェクト内の通常ファイルに共有学習内容を保存する、コーディングエージェント向けローカルメモリーサーバーです。ファイルを直接確認してバージョン管理でき、MCPツールで検索と追記を行い、対応するハーネス間で記憶を共有します。
主な機能
- 01通常ファイルでプロジェクトの記憶を共有
- 02MCPによる検索と永続追記
- 03顕著性で順位付けするBM25検索
- 04記憶のスナップショット、ブランチ、差分
- 05エピソード記録をLESSONS.mdに整理
活用シーン
- 01コーディングハーネス間で学習内容を共有
- 02作業中にプロジェクトの過去の文脈を検索
- 03記憶のスナップショットを確認・比較
- 04エピソード記録を教訓にまとめる
MCP 対応
MCPクライアントにsearch_nodesとappend_nodeを公開します。stdioサーバーは単一書き込みのデーモンに接続でき、LinuxとmacOSではプロセス内でも動作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
dreamd
リポジトリ内のプレーンファイルが記憶になります。dreamd は、それらを読み書きするローカルサーバーです。
プロジェクトに .agent/ フォルダーを配置します。Claude Code、Cursor、Cline など、MCP 対応のハーネスがこれを共有します。あるエージェントが学んだことを、次のエージェントはすでに把握しています。すべてのバイトを cat、grep、git diff で確認できます。永続的な追記は MCP/デーモン経由で行われ、書き込み元は常に一つに保たれます。
これは「また別の記憶製品」ではありません。ストレージモデルに一石を投じるものです。ファイルシステムを信頼できる唯一の情報源とし、MCP ツール(search_nodes/append_node)はファイルに対する薄いインターフェースです。
オープンコア: 現時点では Apache-2.0 のコアのみで、セルフホスト専用です。今後、プレミアム機能が提供される可能性があります。すべての機能が永久に無料だと解釈しないでください。
npx -y dreamd-mcp setup # scaffold .agent/ and wire your harness
npx -y dreamd-mcp # MCP server (stdio) — what the harness spawns
初回実行時に、ローカル利用のみを対象とするプライバシーに関する説明が表示されます。
setupは TTY がある場合、使用するハーネスを尋ねます。
名前の意味が分かる瞬間

ライブ録画を 1.5 倍速にしています。Claude Code が教訓を書き込み、OpenCode が同じ .agent/ フォルダーを通じて読み返します。録画データ:docs/assets/demo.tape。
説明し直す必要も、貼り直す必要もありません。どのハーネスでも、同じ .agent/ フォルダーを使います。
インストール
npm(推奨)
npx -y dreamd-mcp setup # scaffold .agent/ + write the harness MCP config
npx -y dreamd-mcp # MCP server (stdio) — your harness spawns this
デフォルトのトランスポートは stdio です。dreamd mcp --bind 127.0.0.1:<port> を指定すると、オプトインの Streamable HTTP サーバーが /mcp で起動します。認証はなく、--features mcp-http を使ったソースビルドでのみ利用できます。詳しくは docs/mcp-transports.md を参照してください。
プロジェクトルートを示すセンチネル(.git/、Cargo.toml、package.json、または pyproject.toml)が必要です。
TTY がある場合、setup がプロンプトを表示します。スクリプトや非対話型シェルでは、--yes --harness claude|cursor|both を指定してください(--harness none または --no-write-mcp を指定すると、MCP 設定に触れずにひな形を作成します)。
Cargo/ソースからのビルド
git clone https://github.com/botzrDev/dreamd.git
cd dreamd
cargo install --path crates/dreamd-cli
開発環境のセットアップ全体については、CONTRIBUTING.md を参照してください。
クイックスタート(30 秒未満)
~/your-project が新しいフォルダーの場合は、まず git init を実行してください(または、対応するルートセンチネルのいずれかが含まれていることを確認してください)。
cd ~/your-project
npx -y dreamd-mcp setup
# Optional: shared daemon (recommended when several agents write)
npx -y dreamd-mcp watch
ハーネスを再読み込みしてください。setup によって dreamd MCP サーバーの設定は済んでいるため、ハーネスが npx -y dreamd-mcp を自動で起動します。手動でコピーする設定はありません。
エージェントに、今学んだことについて記憶を検索するよう依頼してください。エージェントは search_nodes を呼び出し、以前のコンテキストを思い出します。
cat .agent/episodic/AGENT_LEARNINGS.jsonl
npx -y dreamd-mcp doctor
npm の shim は dreamd を PATH に追加しません。npm 経由では npx -y dreamd-mcp <cmd> を使うか、dreamd バイナリが必要な場合は cargo install --path crates/dreamd-cli を実行してください。shim が転送するサブコマンドは一部のみです(npx -y dreamd-mcp --help に一覧が表示されます)。recall、score、status、archive、migrate には dreamd バイナリが必要です。
アダプター:Claude Code · Cursor · Cline
dreamd が書き込む内容
| 場所 | 内容 | コミットする? |
|---|---|---|
<project>/.agent/ | エピソード JSONL、セマンティックな教訓、個人設定 | はい(これが共有メモリです) |
<project>/.agent/.dreamd/ | ローカルインデックス、デーモンの状態、設定テンプレート、メモリブランチ、来歴台帳 | いいえ(init によって Git の追跡対象から除外されます) |
~/.agent/registry.toml | ストアがあるプロジェクトの一覧 | いいえ |
~/.agent/dreamd.sock | デーモン API ソケット(実行中) | いいえ |
npx -y dreamd-mcp setup(または cargo install 後の dreamd setup)は、init を呼び出してストアのひな形を作成し、その後、ハーネスの MCP 設定を書き込みます。init はひな形を作成する基本コマンドであり、MCP 設定に手を加えずにストアだけを用意したい場合は、単独でも引き続き使用できます。どちらも冪等です。マシンからアンインストールするには、ローカルサーバーを停止し、ソケットを削除し、現在のプロジェクトの登録を解除して、キャッシュを消去する npx -y dreamd-mcp uninstall を実行します(プロジェクトの .agent/ ストアはそのまま残ります)。上級者向けのレジストリのみの操作:npx -y dreamd-mcp init --uninstall-project は、現在のプロジェクトの登録を解除し、それ以外には何も手を加えません。
メモリの確認と編集
MCP の機能は 2 つのツールです。それ以外はすべて CLI で、同じファイルを対象に実行します。特に記載がない限り、これらの使用には dreamd バイナリが必要です。フラグについては dreamd <cmd> --help を参照してください。
| コマンド | 機能 |
|---|---|
dreamd recall <query> | 関連度順の検索結果を Markdown テーブルで表示します。--explain は各ヒットの重要度要因を出力します。--without <id> / --without-cluster <prefix> は、top-k の処理前にヒットを除外します(1.0.0)。 |
dreamd blame <query> | クエリの順位付けに影響した保存済みメモリを表示します:id、timestamp、skill_action、bm25、salience、total、layer。--json を指定すると、コンパクトな配列を 1 つ出力します。1.0.0 で追加。npm シム経由でも利用できます。 |
dreamd score | クエリを使わず、重要度のみで上位のメモリを表示します。 |
dreamd salience-drift | 重要度の分布、上位クラスター、ちょうど 7 日前のスナップショットとの変化を表示します。1.0.0 で追加。npm シム経由でも利用できます。docs/observability.md を参照してください。 |
dreamd dream --dry | 次のサイクルで書き込まれる LESSONS.md を、実際には書き込まずに表示します。 |
dreamd memory branch|checkout|branches|delete|diff|bisect | メモリファイルのスナップショットに名前を付けて切り替えたり、2 つのスナップショットを比較したり、自動生成された snap-* スナップショットを二分探索したりします。1.0.0 で追加。npm シム経由でも利用できます。dreamd watch がライブログを保持している間は、checkout と bisect は実行できません。Linux と macOS ではソケットファイルが存在する間(古いソケットの場合も含む)、Windows では server.json へのループバック接続が成功する間が該当します。docs/branching-guide.md を参照してください。 |
dreamd forget <event-id> | 1 つのエピソードイベントと、それを参照している教訓の状態を削除します。--dry-run は何も書き込みません。--proof <path> は forget-receipt/1.0 JSON ファイルを書き込みます(署名付き証明ではなく、受領書です)。デーモン実行中は実行できません。1.0.0 で追加。npm シム経由でも利用できます。 |
dreamd doctor --provenance | 来歴台帳の Merkle ルートを再計算し、孤立したエッジ、欠落したエッジ、破損した行を一覧表示します。読み取り専用です。1.0.0 で追加。docs/provenance.md を参照してください。 |
アーキテクチャ(1 段落)
エージェントは MCP(search_nodes、append_node)を介して dreamd と通信します。Linux と macOS では、MCP サーバーは Unix ドメインソケット上の HTTP 経由で単一ライターのデーモン(dreamd watch)にプロキシするか、デーモンが存在しない場合はプロセス内で実行されます。Windows では、ループバック上の dreamd watch にプロキシし、そのデーモンが停止している場合は終了コード 2 で終了します。プロセス内サーバーはありません。コーディネーターは AGENT_LEARNINGS.jsonl に追記し、Tantivy BM25 インデックスにデータを渡します。想起では、クエリ時の重要度計算式(BM25 × 経過時間による減衰 × 苦痛度 × 重要度 × 再発頻度)でヒットをランキングします。各ヒットには source_harness と skill_action が含まれるため、ハーネスをまたいで想起元を特定できます。ドリームサイクルは、WAL による保護のもとでエピソード的な学習内容を LESSONS.md に統合します。
想起は意図的に語彙ベース(BM25 + 重要度)であり、エピソードイベントとともにインデックス化される LESSONS.md ドキュメント層も含みます。これは対象範囲の選択であり、スコアボードに関する主張ではありません。ベクトル/埋め込みによる想起は提供していません。オプションの vectors Cargo 機能(デフォルトではオフで、リリースバイナリには含まれません)はモデルをダウンロードするだけで、ランキングには使用されません(docs/vectors.md)。
詳細:ARCHITECTURE.md · SPEC.md · docs/http-api.md
FAQ
これは初の/唯一のハーネス横断メモリですか? いいえ。他にもプロジェクトが存在します(大規模なものも含みます)。dreamd が担うのはストレージモデルという領域です。すでにバージョン管理しているプレーンファイルを使うものであり、カテゴリ全体を代表するという主張ではありません。
Rust は必要ですか? 推奨される方法では必要ありません。npx -y dreamd-mcp がビルド済みバイナリをダウンロードします。Rust が必要なのは、ソースからビルドする場合のみです。
メモリはどこに保存されますか? <project>/.agent/ に保存されます。.agent/.dreamd/ 内のデーモンとインデックスはローカルに置かれ、gitignore の対象です。JSONL/Markdown は手動で読み書きできますが、書き込みを単一ライターに保つため、永続化する追記はデーモン/MCP 経由で行ってください。
すべてを完全に消去したい場合はどうすればよいですか? ストアを完全に初期化するを参照してください。dreamd reset --all はありません。dreamd 自体をアンインストールするには、dreamd uninstall を実行してください。詳細はpackages/dreamd-mcp/README.mdを参照してください。実行中のプロセスを停止し、キャッシュを消去します。ユーザーごとの サービス エントリー(systemd ユニット、LaunchAgent、または Windows タスクスケジューラのログオンタスク)の削除は、別コマンドの dreamd service uninstall で行います。オプションの --purge はデーモンのホームディレクトリ ~/.agent/ を削除しますが、プロジェクトごとの .agent/ ストアは削除しません(docs/install.md)。
Windows では? 一部のみ対応しています。dreamd watch は、auth.json のベアラートークンを使ってループバック TCP 上で HTTP API を提供します。POST /api/v1/learn は動作します。ドリームサイクルと Tantivy インデックスは動作しません。io::write_atomic はまだ Unsupported を返すためです。統合と検索には、WSL2 または Linux/macOS ホストを使用してください。npm シムがダウンロードするビルド済みバイナリは Linux x86_64 と macOS(x86_64/arm64)のみのため、Windows ネイティブ環境では cargo によるビルドが必要です。詳細はdocs/windows.mdを参照してください。
すべて永久に無料ですか? Apache-2.0 のコア部分はオープンです。将来的にプレミアム版が登場する可能性があります。セルフホスト専用です(ホステッド SaaS はありません)。
その他のトラブルシューティング:docs/troubleshooting.md。
ロードマップ
| 時期 | 内容 |
|---|---|
| v0.1.0 (2026-08-05) | BM25 の語彙的な想起、Linux + macOS、決定論的なドリームサイクル、npm dreamd-mcp |
| v0.1.1 (2026-09-14) | LLM ドリームサイクル、LESSONS.md のセマンティックレイヤー(引き続き BM25 × 顕著度であり、埋め込みではありません)、Windows の監視と学習、Linux/macOS/Windows での dreamd service |
| v1.0.0 (2026-10-02) | v0.1.1 からのツリーの安定版リリース:dreamd memory のブランチ/diff/bisect、来歴台帳 + doctor --provenance、dreamd forget、dreamd blame、recall --without、salience-drift、HTTP 想起での explain=1 引用。想起は引き続き BM25 × 顕著度です |
| v1.0.1 (2026-10-21) | パッチ:依存関係のセキュリティ修正(rustls、rustls-webpki、webpki-roots、quinn-proto)および 1.0.0 のツリーと一致する出力文字列。想起に変更はありません |
| 次回 | Windows のアトミック書き込み(ドリームサイクル + インデックス)、ベクトル想起、WasTrue ベンチマークの公開 |
ドキュメント
| ドキュメント | 内容 |
|---|---|
| GUIDE.md | 20 分のチュートリアル |
| docs/README.md | ドキュメントの完全な目次 |
| docs/http-api.md | REST API(Unix ソケット/Windows ループバック TCP) |
| docs/configuration.md | TOML 設定と環境変数 |
| docs/troubleshooting.md | よくある問題 |
| docs/glossary.md | ドメイン用語 |
| SPEC.md | ディスク上の仕様 |
| docs/salience.md | 顕著度の計算式の詳細 |
| docs/branching-guide.md | メモリブランチ:branch、checkout、diff、bisect |
| docs/provenance.md | 来歴台帳の形式と doctor --provenance のチェック内容 |
| docs/observability.md | 想起の引用(explain=1)と顕著度の変動 |
| docs/spec/ | この仕様をまとめた 2 ページの .agent/ |
| ARCHITECTURE.md | エンジニアリング上の判断 |
| CONTRIBUTING.md | 開発環境のセットアップと RFC プロセス |
| SECURITY.md | 脅威モデル |
| docs/marketing.md | 製品のストーリーとポジショニング |
ウォーム状態での想起レイテンシの数値(ローカルの Criterion ベンチマーク)は、必要であれば PERF.md をご覧ください。これらは製品の売り文句ではありません。ベンチマークを自分で再実行するには、docs/benchmarks.md をご覧ください。
ステータス
v1.0.1 がリリースされました(GitHub タグ v1.0.1、2026-10-21;npm の dreamd-mcp 1.0.1 は latest と next)。パッチリリースです。依存関係のセキュリティ修正と、表示文字列の修正が含まれますが、新しいコマンドはありません(CHANGELOG.md)。MCP Registry のエントリー io.github.botzrDev/dreamd は、別途人手で公開するものです(RELEASING.md)。上記で「1.0.0 で新登場」と記されたコマンドには、1.0.0 以降が必要です。CLI コマンド:setup、init、watch、mcp、dream、doctor、status、service、recall、blame、score、salience-drift、memory、forget、archive、migrate、reset workspace、vectors、uninstall、update、version(全一覧は dreamd --help を参照してください。npm 経由では npx -y dreamd-mcp <cmd> を使用します。shim は一部のコマンドを転送します。詳細は packages/dreamd-mcp/README.md を参照してください)。デフォルトのビルドでは vectors enable は終了コード 2 で終了し、想起に変更は加えません。Linux、macOS、および部分的な Windows 対応(watch と learn。dream サイクルとインデックスには非対応)。cargo でインストールしたバイナリをその場でアップグレードする場合(cargo install --path crates/dreamd-cli)、ユーザー単位のサービスとしてデーモンを実行しているなら、その後 dreamd service restart で再起動し、スーパーバイザーに新しいバイナリを認識させてください(docs/install.md)。
| レイヤー | ステータス |
|---|---|
SPEC.md v0.1 | リリース済み |
| リファレンス実装(デーモン、HTTP API、dream サイクル、Tantivy による想起) | リリース済み |
MCP サーバー(dreamd mcp + npx dreamd-mcp shim) | npm でリリース済み |
| CI/クロスプラットフォームマトリックス | Lint、テスト、ビルド、バイナリサイズのゲート、DCO(Windows のジョブは参考情報です) |
| 適合性 | リファレンス実装のアルファスイート(scripts/alpha/);正式な認証はありません |
WasTrue ベンチマーク
後から変更される事実をメモリシステムが更新するかどうかを評価する、独立したテストです。このリポジトリのハーネスは足場であり、結果の表はここでは公開していません。その表の公開は、上記の「次の予定」に記載しています。足場の方法論については、scripts/benchmark/README.md を参照してください。
コーディング想起オラクル
トークンは空白で区切られた単語です。各チャンクは分割せずに詰め込み、次のチャンクを加えると予算を超える場合はそこで止めます。Stuffing では、新しい順にノイズを詰め込みます。Dreamd は dreamd dream --no-llm を 1 回実行し、その後 k=32 の想起を同じ予算に詰め込みます。
python3 scripts/benchmark/coding_oracle.py の出力は dreamd_only=12 both=0 stuffing_only=0 neither=0 n=12 budget_tokens=36 でした。
プラットフォーム
Linux と macOS(フル対応)。Windows では、ループバック TCP 経由で watch と learn を利用できます。アトミック書き込みが実装されるまでは、dream サイクルと Tantivy インデックスは Unix 専用です。docs/windows.md を参照してください。
dreamd の位置付け
dreamd は、1 つの製品を構成する 3 つの姉妹リポジトリの 1 つです。その製品は dreamOS、すなわち 鍵を預けられる初めてのコンピューター です。dreamOS はあなたに代わって動作し、許可していないことを構造上実行できず、何を行ったかを証明できます。その下にあるカーネルが momo で、隣にあるサンドボックスが aegis です。momo の憲章(RFC-009。RFC-011 により改訂、2026-09-26 承認)では、製品の柱の 1 つである「人が所有するプレーンファイルとしてのメモリと、その来歴」を、dreamd が Linux ホスト上で実証すると記されています。製品の言葉では、これが The Memory です。同じ改訂では、来歴台帳が目指す規則――あらゆる作用を、それを引き起こしたデータまでたどることができ、どのデータも自身の信頼ラベルを超える作用を引き起こせない――について、まず独自の仕様を策定する設計として名付けています。リリース済みの実装に信頼ラベルはありません。source_harness は呼び出し元によって申告され、来歴台帳(docs/provenance.md)が記録するのは派生関係であり、信頼ではありません。署名されておらず、何もこれを基準に制御されません。また、SECURITY.md には、注入されたレッスンがフィルタリングされないことが明記されています。カーネルの初回公開までは momo リポジトリは非公開で、製品は v1 の前に発表、プレビュー、マーケティングされません。この段落は参照先を示すものであり、ローンチ告知ではありません。
貢献
CONTRIBUTING.mdをご覧ください。参加することで、行動規範に同意したものとみなされます。セキュリティに関する報告はSECURITY.mdをご覧ください(脆弱性について公開の課題を作成しないでください)。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。