﻿---
title: "配置 Nowledge Mem 插件"
summary: "先准备 Mem 和 nmem CLI，再使用两个 --sparse 参数添加插件源。安装后运行 install_hooks.py，连接本地 Mem 服务。"
category: skills
level: starter
surfaces: [cli, app, ide]
tags: ["plugins", "Nowledge", "MCP", "hooks", "Skills"]
canonical: /tips/nowledge-mem-codex-plugin/
---

# 配置 Nowledge Mem 插件

先准备 Mem 和 nmem CLI，再使用两个 --sparse 参数添加插件源。安装后运行 install_hooks.py，连接本地 Mem 服务。

Nowledge Mem 文档包含 Codex 配置说明。桌面和 CLI 共用 `~/.codex`。先让本机 Mem 跑起来，并装好 `nmem`：`pip install nmem-cli`，或 `uvx --from nmem-cli nmem --version`。已经在用桌面时，走 Settings → Preferences → Developer Tools → Install CLI。装完跑 `nmem --version` 和 `nmem doctor`。

清单 `.agents/plugins/marketplace.json` 的 name 是 nowledge-community，插件 name 是 nowledge-mem。两个 `--sparse` 都要写，只拉元数据和 Codex 包：

```bash
codex plugin marketplace add nowledge-co/community --sparse .agents --sparse nowledge-mem-codex-plugin
codex plugin add nowledge-mem@nowledge-community
```

全量 clone 社区仓会 `git clone marketplace source timed out after 30s` 或 `early EOF`。旧文把文件拷进 `~/.codex/plugins/cache/local/…`，不要再走。也可以 `/plugins` 搜 nowledge-mem@nowledge-community。

文档仍让你在 `~/.codex/config.toml` 打开插件和钩子：

```toml
[features]
plugins = true
hooks = true

[plugins."nowledge-mem@nowledge-community"]
enabled = true
```

现行 Codex 会从已启用插件自动加载钩子。**不要**手写 `plugin_hooks = true`，让 `install_hooks.py` 检测旧主机。取缓存里最新那条脚本：

```bash
HOOK_SETUP="$(find ~/.codex/plugins/cache -path '*/nowledge-mem/*/scripts/install_hooks.py' -print 2>/dev/null | sort | tail -1)"
python3 "$HOOK_SETUP"
```

Windows 用 `py -3`。找不到脚本就先 `/plugins` 再装一次。新开会话后，SessionStart / UserPromptSubmit / Stop 要**启用且信任**，两道闸。SessionStart 注入 Context Bundle（没有再退到 Working Memory）。UserPromptSubmit 把续写、回归、先前决定这类问题导向检索。Stop 跑 `nmem t save --from codex`。

捆绑 MCP 是 `http://127.0.0.1:14242/mcp/`。用户层若写 `[mcp_servers.nowledge-mem]` 会覆盖捆绑端点，远程 Mem 或自定义端口才覆盖。**不要** `codex mcp login nowledge-mem`。那是 OAuth。本地默认不用手写 MCP 表。`codex mcp list` 显示 Not logged in 时，升级 `nmem-cli`，用桌面装 CLI，再重跑 hook setup。

远程才改客户端，密钥不要写进 `http_headers`，也不要贴进聊天：

```bash
nmem config client set url https://mem.acme.example
nmem config client set api-key
```

不要用尖括号占位（会被当 HTML）。示例主机用 acme。远程还要覆盖 MCP 端点：跑 `nmem config mcp show --host codex`，把生成的 TOML 贴进用户层，或重跑 0.1.11+ 的 hook setup。不要手抄一套和捆绑表叠成两台。

若同时开 Codex 本地 Memory：Settings → Personalization 关掉 Allow memory generation from tool-assisted tasks，或：

```toml
[memories]
disable_on_external_context = true
```

否则 Codex 会把刚从 Mem 读到的内容再写成一份本地摘要。插件 0.1.26+ 才有更强检索路由。完全关掉 Codex 本地 Memory 也是完整装法。

不要改已安装插件目录里的 `AGENTS.md`；合并进仓库根。报 `unknown field description, expected hooks` 时升到 0.1.19+。更新先 `marketplace remove nowledge-community`，再带两个 `--sparse` 加回去并 `plugin add`；`marketplace upgrade` 可能不刷新已装包缓存。WSL 要在跑 Codex 的那个 distro 里装和更新，不要让 Windows 桌面代跑。

仓库内嵌备选：把包拷到 `.agents/nowledge-mem`，marketplace name 写成 `local`，path 相对仓库根，再开 `[plugins."nowledge-mem@local"]`，hook 脚本改跑 `python3 ./.agents/nowledge-mem/scripts/install_hooks.py`。旧 prompts 包 `nowledge-mem-codex-prompts` 可删 `~/.codex/prompts/{read_working_memory,search_memory,save_session,distill}.md`。

技能仍在：`$nowledge-mem:working-memory`、`search-memory`、`save-thread`、`distill-memory`、`status`。网页 Cloud 不读取 `~/.codex/config.toml`。配置后重新打开会话。

## 来源

- [Nowledge Mem · Codex CLI](https://mem.nowledge.co/docs/integrations/codex-cli)
- [nowledge-co/community](https://github.com/nowledge-co/community)
- [Nowledge Mem · SKILL.md](https://mem.nowledge.co/SKILL.md)
