models.providers.<id>.localService 会按需启动由提供方拥有的本地模型服务器。当某个模型或嵌入请求选择了该提供方时,OpenClaw 会探测健康检查端点;如果进程已停止则启动它,等待其就绪,然后发送请求。可用它来避免让昂贵的本地服务器全天运行。
工作原理
- 模型或嵌入请求会解析到一个已配置的提供方。
- 如果该提供方具有
localService,OpenClaw 会探测healthUrl。 - 探测成功后,OpenClaw 使用已经运行中的服务器。
- 探测失败后,OpenClaw 使用
args启动command。 - OpenClaw 会轮询健康检查端点,直到
readyTimeoutMs过期。 - 请求通过正常的模型或嵌入传输流程。
- 如果 OpenClaw 启动了该进程并且设置了
idleStopMs,它会在最后一个进行中的请求空闲达到该时长后停止该进程。
command/argument/env 集合进行串行化,因此针对同一服务的并发聊天和嵌入请求不会启动重复的服务器。每个请求都会持有自己的租约,直到响应处理完成,因此空闲关闭会等待所有进行中的模型和嵌入请求。已配置的提供方别名保持彼此独立:两个别名可以指向不同的 GPU 主机,而不会合并到同一个 Ollama、LM Studio 或 OpenAI 兼容适配器 id 上。
如果另一个 OpenClaw 进程已经在相同的 healthUrl 上有一个健康的服务器,则此进程会复用它,但不会接管它(每个进程只管理它自己启动的子进程)。启动和退出日志会包含有上限、已脱敏的子进程输出尾部,以及耗时和退出详细信息;已配置的环境变量值绝不会被输出。
配置结构
timeoutSeconds 设置在 provider 条目上(而不是 localService) ,这样较慢的冷启动和较长的生成过程就不会触发默认的模型请求超时。只要你的服务器在除基础 URL 的 /models 之外的其他位置暴露就绪检查,就请显式设置 healthUrl。
字段
Inferrs 示例
Inferrs 是一个自定义的 OpenAI 兼容/v1 后端,因此相同的 localService API 可以与 inferrs provider 条目一起使用:
command 替换为在运行 OpenClaw 的机器上执行 which inferrs 的结果。完整的 inferrs 设置: Inferrs。
ds4 示例
相关内容
本地模型
本地模型设置、提供者选择和安全指导。
Inferrs
通过 inferrs 兼容 OpenAI 的本地服务器运行 OpenClaw。