inferrs
inferrs 可以通过兼容 OpenAI 的/v1 API 为本地模型提供服务。OpenClaw 可通过通用的 openai-completions 路径与 inferrs 配合使用。
当前最好将 inferrs 视为自定义自托管的兼容 OpenAI 后端,而不是专用的 OpenClaw 提供商插件。
快速开始
- 使用模型启动
inferrs。
- 验证服务器可访问。
- 添加一个显式的 OpenClaw 提供商条目,并将你的默认模型指向它。
完整配置示例
此示例在本地inferrs 服务器上使用 Gemma 4。
为什么 requiresStringContent 很重要
某些 inferrs Chat Completions 路由仅接受字符串形式的 messages[].content,不接受结构化的内容分片数组。
如果 OpenClaw 运行失败,并出现类似这样的错误:
Gemma 与工具 schema 注意事项
某些当前的inferrs + Gemma 组合可以接受较小的直接 /v1/chat/completions 请求,但在完整的 OpenClaw 智能体运行时轮次中仍然会失败。
如果出现这种情况,先尝试这样设置:
inferrs 内部崩溃,那么剩余问题通常是上游模型或服务器行为导致的,而不是 OpenClaw 的传输层问题。
手动冒烟测试
配置完成后,同时测试这两层:故障排除
curl /v1/models失败:inferrs未运行、无法访问,或未绑定到预期的主机/端口。messages[].content ... expected a string:设置compat.requiresStringContent: true。- 直接的小型
/v1/chat/completions调用通过,但openclaw infer model run失败:尝试设置compat.supportsTools: false。 - OpenClaw 不再出现 schema 错误,但
inferrs在更大的智能体轮次中仍然崩溃:将其视为上游inferrs或模型的限制,并减少提示词压力,或切换本地后端/模型。
代理式行为
inferrs 被视为代理式的兼容 OpenAI /v1 后端,而不是原生 OpenAI 端点。
- 原生 OpenAI 专用的请求整形不适用于这里
- 没有
service_tier、没有 Responsesstore、没有提示词缓存提示,也没有 OpenAI reasoning 兼容载荷整形 - 在自定义
inferrsbase URLs 上,不会注入隐藏的 OpenClaw 归因请求头(originator、version、User-Agent)