OpenClaw 插件加载修复总结
OpenClaw 插件加载修复总结
Bin Lian1. 问题现象
之前 OpenClaw Gateway 启动时无法加载 memory-lancedb-pro 插件。错误日志提示:
plugin path not found: /app/plugins/memory-lancedb-pro
2. 原因分析
(1)为什么相对路径无法识别?
在 ~/.openclaw/openclaw.json 配置中,插件的加载路径被写为了相对路径:"paths": ["plugins/memory-lancedb-pro"]。
由于 OpenClaw 是以 Docker 容器的形式运行的,程序在容器内部运行时有自己的工作目录。当程序尝试读取相对路径时,它会尝试相对于容器本身的当前工作目录去寻找,导致找不到插件源文件。
通过 docker inspect 检查 Docker 的挂载点:
- 宿主机路径:
/home/bsuperstation/.openclaw - 容器内路径:
/home/node/.openclaw
所以在宿主机中位于 ~/.openclaw/workspace/plugins/memory-lancedb-pro 的代码,在容器内正确的绝对路径应该是 /home/node/.openclaw/workspace/plugins/memory-lancedb-pro。
(2)向量维度不匹配 (Dimension Mismatch)
修复路径问题后,依然报错:
Embedding dimension mismatch: expected 1024, got 768
由于配置中指定了使用 Ollama 的 nomic-embed-text 模型作为 Embedding 模型,该模型输出的向量维度固定是 768 维,而原配置文件中错误地声明为要求 1024 维。
3. 修复步骤
第一步:修正插件加载路径为容器内的绝对路径
1 | "plugins": { |
第二步:修正向量维度参数
1 | "embedding": { |
第三步:重启服务验证
1 | docker restart openclaw-openclaw-gateway-1 |
验证成功:
[gateway] memory-lancedb-pro: initialized successfully (embedding: OK, retrieval: OK, mode: hybrid, FTS: enabled)
感谢你赐予我前进的力量|Thank you for your support!
赞赏者名单|List of supporters
因为你们的支持让我意识到写文章的价值🙏
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Bin|Brain|Bin!
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果









