Skip to main content
Nowledge MemNowledge Mem

Nowledge FS

支撑知识树、Agent、脚本和 /fs 的路径层。

Nowledge FS 是 Mem 预览中的路径层,同时服务人、Agent 和脚本。

在应用里,人看到的是知识树:把你知道的东西放进一个熟悉的树状视图里。记忆、对话、Wiki、工作记忆、动态、来源和产物仍然保持各自原本的体验。知识树不是把底层实现文件暴露给你看,而是给 Mem 本身加了一张安静的地图:点开一个对象,就进入它应该有的预览。

Agent 看到的则是同一张地图的虚拟文件系统形态。这才是它真正重要的地方:人可以在应用里浏览,脚本和 Agent 可以按路径列出、读取、搜索、召回,并更新可写对象的正式路径。

预览版

这是知识树和 Nowledge FS 的第一个公开形态。应用、CLI、API 和 MCP 已经可以试用;真正挂载成系统文件夹、来源片段、SQL/Cypher、replay 和 tail 会在后续阶段继续设计。

什么时候用它

当你需要“知道东西在哪里”时,用知识树。

  • 你记得某件事存在,但不确定它是在记忆、对话、Wiki 还是来源里。
  • 你想按类型、日期、标签或主题扫一遍,而不是来回切换多个页面。
  • 你希望 Agent 先看周围上下文,再决定是否读取大内容。
  • 你需要能复制进命令、脚本、提示词或 MCP 调用的路径。

如果只是问一个问题,搜索仍然可以。知识树更适合导航、定位和逐步检查。

第一次有用的循环

  1. 在应用侧边栏打开 Tree。
  2. 打开一个分支,比如 Memories、Threads、Wiki、Working Memory、Activities 或 Artifacts。
  3. 点开一个对象。预览应该像 Mem 里原本的对象:记忆是记忆上下文,对话是可读的会话,Wiki 是 Wiki 页面,动态是 Timeline 风格事件。
  4. 如果你用 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

有些路径是对象的正式位置,可以在对象可写时更新。另一些路径是别名,比如同一条记忆出现在标签或日期分支下。别名适合浏览;真正修改时应回到正式路径。

Agent 应该怎么用

Agent 应该一步一步在树里走:

  1. 模糊的记忆问题用 recall。
  2. 类型、标签、日期、提及对象等结构化条件用 find。
  3. 精确短语用 grep;需要正则时再用 grep -E。
  4. 读取大内容前先用 stat。
  5. 找到有价值的路径后再用 cat。

这样既节省上下文,也更容易检查 Agent 做了什么。你在应用、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

遇到很长的对话或文档时,Agent 不应该一上来读取全文。先搜索分支,再只读取相关行附近的一小段:

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,一行就是一条消息。资料库里已解析的文档会以 Markdown 呈现,所以 grep 返回的行号可以直接交给 cat --line。grep 默认是忽略大小写的固定字符串搜索;需要严格大小写时用 --case-sensitive,需要 JWT|token 这类正则时用 -E。

在这个预览版里,recall 主要面向记忆搜索。对话和已解析的资料库文档请先用 grep 做精确搜索。

MCP 客户端可以通过 mem_fs 使用同样的动词。Codex、Claude、Cursor、Gemini、OpenClaw 和其他 Agent 都只是这套 Mem 视图的使用者;它不属于某一个集成。

具体入口保持简短:CLI 里是 nmem fs,API 里是 /fs/*,MCP 工具里是 mem_fs。

如果你在写工具或适配器,先让 Mem 告诉你当前服务器支持什么:

nmem fs capabilities --json

返回结果会包含当前根目录、可用动词、限制和功能开关。这样集成就不需要猜测本地挂载、来源片段、SQL、Cypher、replay 或 tail 是否已经发布。

现在还不用关心什么

  • 你不需要先挂载成本地文件夹。
  • 你不需要理解图谱 schema。
  • 你不需要在知识树和 Library 之间二选一。Library 仍然是阅读文档和 Wiki 的丰富界面;知识树是跨所有 Mem 对象的地图。
  • 预览版不要求你使用 SQL 或 Cypher。那些查询入口要等安全边界和结果形态确定后再进入后续阶段。

如何确认可用

知识树正常工作时,你应该看到:

  • 应用里出现主要分支,而不是底层实现文件;
  • 点开对象后进入原生 Mem 预览,不是普通文本 dump;
  • nmem fs ls / 返回和应用里一致的顶层结构;
  • nmem fs recall ... 返回路径;
  • Web 端和远程客户端可以使用和桌面端相同的 /fs/* API。

下一步

On this page