Install
openclaw skills install windows-local-embedding在 Windows 上为 OpenClaw 配置本地 embedding / 本地记忆检索时使用。适用于:下载并接入 `nomic-embed-text-v1.5.Q8_0.gguf`、把 `memorySearch.provider` 改成 `local`、检查 `openclaw memory status...
openclaw skills install windows-local-embedding处理 Windows 环境下的 OpenClaw 本地 embedding / 本地记忆检索。
不是因为本地 embedding 只能在 Windows 上用,而是因为这次最真实、最紧急的使用场景就是:
所以先把它做成 Windows 定向 skill,是为了先解决最容易卡住的真实问题。
nomic-embed-text-v1.5.Q8_0.gguf 并接到 OpenClaw → 用本 skillprovider 不是 local / 不生效 → 用本 skill默认目标不是 QMD,也不是复杂的外部向量数据库,而是:
memorySearchprovider = localnomic-embed-text-v1.5nomic-embed-text-v1.5.Q8_0.gguf下载完之后验证文件头是否为 GGUF(正确的 gguf 文件头部4字节是 ASCII 的 "GGUF"):
$fs = [System.IO.File]::OpenRead("你的文件路径\nomic-embed-text-v1.5.Q8_0.gguf")
$buf = New-Object byte[] 4
$fs.Read($buf, 0, 4) | Out-Null
$fs.Close()
[System.Text.Encoding]::ASCII.GetString($buf) # 应该输出 GGUF
应用商店版 OpenClaw 没有打包 node-llama-cpp,必须手动安装,否则本地 embedding 无法运行。
cd "D:\Program Files\OpenClaw\resources\openclaw"
npm install node-llama-cpp
安装过程较慢(需要下载预编译二进制,约 10-40 分钟),耐心等待。
出现 added xxx packages 即为成功,warn 和 vulnerabilities 提示可以忽略。
在 C:\Users\Administrator\.openclaw\openclaw.json 中确认以下配置:
"memorySearch": {
"provider": "local",
"fallback": "none",
"local": {
"modelPath": "D:\\你的路径\\nomic-embed-text-v1.5.Q8_0.gguf"
}
}
注意 Windows 路径里反斜杠要转义成 \\。
不是点 Dashboard 里的"连接"按钮——那只是重连 Dashboard,不会重载配置。
需要完全关闭 OpenClaw 应用再重新打开。
重启后用以下脚本验证(因为 openclaw memory status --deep CLI 在 Windows 上无输出,用这个代替):
// check_memory.mjs
const base = 'file:///D:/Program%20Files/OpenClaw/resources/openclaw/dist/';
const { n: callGateway } = await import(base + 'call-C5sk0PsH.js');
const result = await callGateway({
method: 'doctor.memory.status',
params: { deep: true },
timeoutMs: 15000
});
console.log(JSON.stringify(result, null, 2));
node check_memory.mjs
成功的输出:
{
"agentId": "main",
"provider": "local",
"embedding": {
"ok": true
}
}
装好之后,它不会自动让记忆"变聪明",而是让 记忆检索底层改为本地运行。
MEMORY.md 和 memory/ 里本来就有内容node-llama-cpp is missing应用商店版 OpenClaw 必须手动安装:
cd "D:\Program Files\OpenClaw\resources\openclaw"
npm install node-llama-cpp
优先排查:
\\provider 不是 local优先排查:
embedding 负责"找记忆",不负责"发明记忆"。MEMORY.md 和 memory/ 里没内容,再好的 embedding 也没用。