Nowledge FS
Knowledge Tree、エージェント、スクリプト、/fsの背後にあるパス優先のレイヤーです。
Nowledge FSは、人、エージェント、スクリプトのためのMemのプレビュー版パス優先レイヤーです。
アプリ内では、これはKnowledge Treeとして現れます。 あなたが知っているすべてが、見慣れた1つのツリーに表示されます。 メモリ、会話、wikiページ、Working Memory、アクティビティ、ソース、アーティファクトは、それぞれ本来の動作を保ちます。 このツリーは、生の実装ファイルが詰まったフォルダではありません。 Memそのものの上に広がる、落ち着いた地図です。 だからこそ、1つの項目を開き、適切なプレビューを確認して、そのまま作業を続けられます。
エージェントには、同じ地図が仮想ファイルシステムとして見えます。 ここが重要な転換点です。 人はアプリで閲覧でき、スクリプトやエージェントはパスによって、正規の書き込み可能オブジェクトを一覧表示、読み取り、検索、想起、更新できます。
プレビュー
これはKnowledge TreeとNowledge FSの最初の公開形です。 アプリ、CLI、API、MCPですぐに試せますが、マウント、ソースフラグメント、SQL/Cypher、リプレイ、tailの各フェーズはまだ設計中です。
いつ使うか
場所の感覚が欲しいときにKnowledge Treeを使います。
- 何かが存在することは覚えているけれど、それがメモリだったか、スレッドだったか、wikiトピックだったか、ソースだったか思い出せない。
- いくつもの異なるビューを開かずに、種類、日付、ラベル、トピックでざっと見渡したい。
- エージェントに、大きなオブジェクトを読み込む前に周辺のコンテキストを調べさせたい。
- コマンド、スクリプト、プロンプト、MCP呼び出しにコピーできるパスが欲しい。
ただ1つの質問をしたいだけなら、検索で十分です。 Knowledge Treeは、ナビゲーション、位置把握、制御された調査のためのものです。
最初の有用なループ
- アプリのサイドバーでTreeを開きます。
- Memories、Threads、Wiki、Working Memory、Activities、Artifactsのいずれかのブランチを開きます。
- 1つの項目をクリックします。 プレビューはMemの他の部分と同じように感じられるはずです。 メモリはメモリのコンテキストとして開き、スレッドは読める会話として、wikiページはwikiページとして、アクティビティはTimeline形式のイベントとして開きます。
- CLIを使う場合は、次を実行します。
nmem fs ls /
nmem fs recall "what did we decide about auth?" --in /memories -k 5良い結果は、長々としたテキストの塊ではありません。 次に調べられるパスです。
nmem fs stat /memories/by-id/<id>.memory.md
nmem fs cat /memories/by-id/<id>.memory.mdパスについてどう考えるか
パスはMemのアドレスであり、ディスク上のファイルではありません。
/memories/by-id/<id>.memory.md
/threads/<source>/<thread>/messages.jsonl
/wiki/entities/<topic>.entity.md
/working-memory/today.md
/feed/2026-05-15/<event-id>.feed.jsonl
/artifacts/imports/<document>.artifact.pdf一部のパスは正規です。 これらは、オブジェクト自体が書き込み可能な場合に更新できます。 他のパスはエイリアスで、ラベルや日付ブランチの下に表示されるメモリのようなものです。 エイリアスは閲覧用であり、正規のパスを通して編集する必要があります。
エージェントがすべきこと
エージェントは、ツリーを小さなステップで進むべきです。
- あいまいなメモリの質問には
recallを使います。 - 種類、ラベル、日付、メンションなどの構造的な制約には
findを使います。 - 正確なフレーズには
grep、明示的な正規表現にはgrep -Eを使います。 - 大きなオブジェクトを読み込む前に
statを使います。 - 有用なパスが見つかった後にのみ
catを使います。
これによりコンテキストが小さく保たれ、エージェントの作業が検査可能になります。 同じパスを、アプリ、CLI、API、MCPツールで確認できます。
nmem fs recall "why did we change token refresh?" --in /memories -k 5
nmem fs ls /memories/by-label/auth
nmem fs cat /memories/by-id/<id>.memory.md長い会話やドキュメントでは、エージェントは最初にファイル全体を読み込むべきではありません。 ブランチを検索し、小さな行範囲を読み取ります。
nmem fs grep "JWT rotation" /threads
nmem fs cat /threads/<source>/<thread>/messages.jsonl --line 42 --lines 12
nmem fs grep "rate limit" /sources
nmem fs cat /sources/<document>.pdf --line 120 --lines 80スレッドのトランスクリプトはJSONLです。
1行が1つのメッセージです。
解析済みのLibraryドキュメントはmarkdownとしてレンダリングされるため、grepの行番号をそのままcat --lineに渡せます。
grepはデフォルトで大文字と小文字を区別しない固定文字列検索です。
大文字と小文字を正確に区別するには--case-sensitiveを、JWT|tokenのような正規表現の選択が必要な場合は-Eを使います。
このプレビューでは、recallはメモリに支えられています。
スレッドと解析済みのLibraryドキュメント内で正確に検索するにはgrepを使います。
MCPクライアントは、mem_fsを通して同じ動詞を使えます。
Codex、Claude、Cursor、Gemini、OpenClaw、その他のエージェントは、この共有されたMemの形の単なる利用者です。
どの単一の統合もこれを所有しません。
具体的なエントリポイントは、ホストに優しい短い名前を保ちます。
CLIではnmem fs、APIでは/fs/*、MCPではmem_fsです。
ツールやアダプタについては、まずこのサーバーが何をサポートしているかをMemに尋ねることから始めます。
nmem fs capabilities --json応答には、現在のルート、動詞、制限、機能フラグが含まれます。 これにより、マウント、ソースフラグメント、SQL、Cypher、リプレイ、tailといった将来のサーフェスがまだ出荷されているかどうかを、統合側が推測せずに済みます。
まだ気にしなくてよいこと
- 何かをマウントする必要はありません。
- グラフスキーマを理解する必要はありません。
- TreeとLibraryのどちらかを選ぶ必要はありません。 Libraryは引き続き、リッチなドキュメントとwikiの閲覧サーフェスです。 Treeは、すべてのMemオブジェクトにまたがる1つの地図を与えます。
- プレビュー版ではSQLやCypherは必要ありません。 これらのクエリサーフェスは、安全制限と結果の形が固まった後の、後のフェーズに属します。
成功チェック
Knowledge Treeは、次の場合に機能しています。
- アプリが、生の実装ファイルなしで主要なブランチを表示する。
- 項目をクリックすると、一般的なテキストダンプではなく、ネイティブのMemプレビューが開く。
nmem fs ls /が、アプリと同じトップレベルの考えを返す。nmem fs recall ...がパスを返す。- webクライアントとリモートクライアントが、デスクトップと同じ
/fs/*APIの形を使える。
