Nowledge FS API
Tree、nmem fs、エージェント連携向けのプレビューAPI。
Nowledge FS APIは、Knowledge Treeを支えるプレビューAPIです。
Memを安定したツリーとして投影し、アプリのTreeビュー、nmem fs CLI、mem_fs MCPツールで使われているのと同じサーフェスです。
連携やエージェントが、メモリ、スレッド、wikiページ、ワーキングメモリ、アクティビティ、ソース、アーティファクトをパス経由で閲覧したい場合に使用します。
初回リリースの範囲
これはまだマウントされたファイルシステムではありません。 パスはMem APIの識別子であり、ローカルOSのパスではありません。 マウント、ソースフラグメント、SQL/Cypher、リプレイ、tailは今後のフェーズで計画されています。
読み取り
curl "http://127.0.0.1:14242/fs/capabilities"
curl "http://127.0.0.1:14242/fs/ls?path=/"
curl "http://127.0.0.1:14242/fs/cat?path=/memories/by-id/mem_abc.memory.md"
curl "http://127.0.0.1:14242/fs/cat?path=/sources/report_abc.pdf&line=120&lines=80"
curl "http://127.0.0.1:14242/fs/stat?path=/memories/by-id/mem_abc.memory.md"| エンドポイント | 目的 |
|---|---|
GET /fs/capabilities | サポートされるルート、動詞、制限、エントリポイント、フィーチャーフラグを検出します。アダプタを書く前にこれを使用してください。 |
GET /fs/ls?path=/...&limit=200&cursor=... | ディレクトリを一覧表示します。カーソルは不透明です。 |
GET /fs/cat?path=/...&line=...&lines=... | レンダリングされたファイル本文とフロントマター、または小さな行ウィンドウを読み取ります。 |
GET /fs/stat?path=/... | 本文を読み込まずにメタデータを読み取ります。 |
検索
curl "http://127.0.0.1:14242/fs/find?path=/memories&type=memory&label=decisions"
curl "http://127.0.0.1:14242/fs/grep?path=/memories&q=JWT%20rotation"
curl "http://127.0.0.1:14242/fs/grep?path=/threads&q=JWT%20rotation"
curl "http://127.0.0.1:14242/fs/grep?path=/sources&q=JWT%20rotation"
curl "http://127.0.0.1:14242/fs/grep?path=/threads&q=JWT%7Ctoken®ex=true"
curl "http://127.0.0.1:14242/fs/recall?path=/memories&query=session%20token%20strategy&k=5"| エンドポイント | 目的 |
|---|---|
GET /fs/find | 構造検索。型、ラベル、日付、メンションの制約にはこれを使用します。 |
GET /fs/grep | メモリ、スレッドメッセージ、解析済みLibraryドキュメントに対する完全一致文字列検索。正規表現にはregex=trueを追加します。 |
GET /fs/recall | パスを返すセマンティック検索。 |
findとrecallはpathsを返します。
grepはパスと行番号を含むmatchesを返します。
Grepはデフォルトで大文字と小文字を区別しません。
大文字と小文字を区別する必要がある場合はcase_sensitive=trueを、JWT|tokenのようなパターンにはregex=trueを渡してください。
エージェントは返されたパスをstat、ls、またはcatに渡す必要があります。
長いファイルの場合は、catをlineとlinesとともに使用して、有用なウィンドウだけを読み取ってください。
書き込み
curl -X POST "http://127.0.0.1:14242/fs/write" \
-H "Content-Type: application/json" \
-d '{"path":"/memories/by-id/mem_abc.memory.md","body":"Updated note"}'
curl -X POST "http://127.0.0.1:14242/fs/delete" \
-H "Content-Type: application/json" \
-d '{"path":"/memories/by-id/mem_abc.memory.md"}'書き込みは意図的に限定的です。 正規の書き込み可能パスは、既存のMem APIを通じて書き込みます。 エイリアスパス、派生wikiページ、実装ビューは読み取り専用です。
| コード | 意味 |
|---|---|
ENOENT | パスが存在しません。 |
EROFS | 派生パスは読み取り専用です。 |
EXDEV | エイリアスパスには直接書き込めません。正規パスを使用してください。 |
EINVAL | 無効なパス、引数、または本文です。 |
ENOTSUP | 設計済みですが、このリリースでは実装されていません。 |
エージェントパターン
recall "what did we decide about auth?" --in /memories
cat /memories/by-id/<id>.memory.md
ls /memories/by-label/auth
stat /wiki/entities/PostgreSQL--<id>.entity.md重要な特性は、すべての結果がナビゲート可能であることです。 検索はツリーへのエントリポイントであり、スニペットの終端リストではありません。
