Copilot CLI
GitHub Copilot CLI 的专属插件路径,提供 Working Memory 启动、检索引导,以及增量会话捕获到 Mem。
copilot plugin marketplace add nowledge-co/community
copilot plugin install nowledge-mem@nowledge-community
bash "$HOME/.copilot/installed-plugins/nowledge-community/nowledge-mem/scripts/install-hooks.sh"原生插件路径
Copilot CLI 支持插件和生命周期钩子。安装一次插件、确保本地能调用
nmem,Copilot 就可以在开局读取 Working Memory,在需要时
搜索过去上下文,并把会话持续追加进 Mem。
这是 GitHub Copilot CLI 对应的专属 Nowledge 路径。它比通用 MCP 更完整:
插件自带 hooks、skills 和会话捕获运行时。但它又不像 OpenClaw 那样几乎把
行为都塞进宿主生命周期里,Copilot 仍然需要依赖模型去决定何时调用技能。
所以如果你希望它更主动地检索和蒸馏,项目里的 AGENTS.md 依然很重要。
怎样算安装成功
启动一个新的 Copilot 会话,问一句 What was I working on?。
如果能看到最近的重点和优先事项,再让 Copilot 保存或 checkpoint 当前会话,
并确认这条线程出现在 Mem 里,这条路径就接通了。
开始之前
- Nowledge Mem 已在本地运行(安装指南),或你已经有可访问的远程 Mem 服务
- 已安装 GitHub Copilot CLI
nmemCLI 在你的PATH中
设置
安装 nmem
# 方式一:使用 Mem 桌面应用附带的 CLI
# Settings -> Preferences -> Developer Tools -> Install CLI
# 方式二:pip
pip install nmem-cli
# 方式三:pipx
pipx install nmem-cli然后先确认:
nmem status如果你在 Windows 或 Linux 上使用 Nowledge Mem 桌面应用,nmem 一般已经随应用提供。
安装插件
copilot plugin marketplace add nowledge-co/community
copilot plugin install nowledge-mem@nowledge-community
bash "$HOME/.copilot/installed-plugins/nowledge-community/nowledge-mem/scripts/install-hooks.sh"安装完成后重启 Copilot CLI。
这个安装脚本会把会话捕获运行时复制到 ~/.copilot/nowledge-mem-hooks/。
以后升级插件时,也可以安全地重复执行。
在 WSL 里桥接 nmem(按需)
如果 Copilot CLI 跑在 WSL 里,而 nmem 是通过 Windows 上的 Mem 桌面应用提供的,
就在 WSL 中创建下面这个桥接脚本:
mkdir -p ~/.local/bin && cat > ~/.local/bin/nmem << 'SHIMEOF'
#!/bin/bash
python3 - "$@" <<'PY'
import subprocess
import sys
cmd = subprocess.list2cmdline(["nmem.cmd", *sys.argv[1:]])
raise SystemExit(subprocess.run(["cmd.exe", "/s", "/c", cmd]).returncode)
PY
SHIMEOF
chmod +x ~/.local/bin/nmem这样 WSL 里的 Copilot 也能干净地调用 Windows 侧的 nmem。
想让 Copilot 更主动时,加上项目引导
插件会自己处理 Working Memory 启动和会话捕获。如果你还希望 Copilot 在
这种经常续接历史任务的仓库里更主动地搜索或蒸馏,把插件里的 AGENTS.md
合并到项目根目录:
git clone https://github.com/nowledge-co/community.git /tmp/nowledge-community
cp /tmp/nowledge-community/nowledge-mem-copilot-cli-plugin/AGENTS.md ./AGENTS.md
rm -rf /tmp/nowledge-community如果仓库里已经有 AGENTS.md,请合并 Nowledge 相关部分,而不是直接覆盖。
需要远程 Mem 时配置
nmem config client set url https://mem.example.com
nmem config client set api-key nmem_your_key这会写入插件和 nmem 共用的本地客户端配置。
自动发生的事
插件会通过 Copilot CLI hooks 做四件事:
- SessionStart 在 startup、resume、clear 时:用
nmem --json wm read读取 Working Memory - SessionStart 在 compaction 后:重新读取 Working Memory,并提醒 Copilot 保存重要进展
- UserPromptSubmit:把搜索与保存提示放到每一轮附近
- Stop:在每次回复结束后,异步捕获当前 Copilot 会话
Stop hook 只会追加新的对话内容,不会每次都把整段历史重新导入。
Skills
Copilot 这条集成刻意保持了一个更简单的用户表面。它不再额外附带一层独立的
命令文档,而是依赖 skills 和底层的 nmem CLI。
| Skill | 什么时候有用 | 它做什么 |
|---|---|---|
read-working-memory | 会话开始,“我最近在做什么?” | 读取当天的 Working Memory 简报 |
search-memory | 需要过去工作、过去理由、过去讨论时 | 搜索持久记忆和历史线程 |
distill-memory | 出现了真正值得留下的决策或经验 | 把长期知识保存进 Mem |
save-thread | “Save this session”“Checkpoint this” | 在明确请求时保存一条简洁的会话摘要线程 |
如果你只是想直接排查连接问题,可以在终端里运行 nmem status。
更新
copilot plugin marketplace update nowledge-community
copilot plugin update nowledge-mem
bash "$HOME/.copilot/installed-plugins/nowledge-community/nowledge-mem/scripts/install-hooks.sh"然后重启 Copilot CLI。
安全地自定义
优先使用 Copilot 自己的 instruction files,而不是去改已安装插件:
- 仓库共享规则放
.github/instructions/*.instructions.md - 跨仓库的个人规则放
~/.copilot/instructions/*.instructions.md
完整对照表见 安全地自定义集成行为。
常见问题
找不到 nmem
用 pip 或 pipx 安装 nmem-cli,或者直接使用 Mem 桌面应用附带的 CLI。
看不到 Working Memory
安装后先重启 Copilot CLI。然后运行 nmem status,确认本地客户端确实能连到 Mem。
线程没有出现在 Mem 里
重新执行一次 install-hooks.sh,再检查 ~/.copilot/nowledge-mem-hooks/hook-log.jsonl。
这条捕获路径本来就是幂等的,所以重复执行安装脚本是安全的。
Copilot 只会读取 Working Memory,不太会继续搜索或蒸馏
这通常说明启动钩子已经正常工作,但仓库里给 Copilot 的行为引导还不够强。
把插件里的 AGENTS.md 合并到项目根目录,再用 continuation 型问题重试。