本文将完整介绍如何为OpenHands v0.39配置本地大语言模型(LLM),从而彻底摆脱网络依赖、规避API密钥限制并杜绝数据外泄风险,真正实现全流程本地化的AI推理。
确认OpenHands支持本地模型
请留意:您实际需要配置的是OpenHands(2025年由All Hands AI团队从OpenDevin更名而来),并非OpenClaw(该项目尚未正式发布)。OpenHands v0.39已明确支持本地LLM接入,本文所有操作均基于此版本展开。
修改config.toml启用本地模型
OpenHands启动后会默认加载config.toml,该配置文档必须存在且路径设置正确,否则系统将回退至环境变量或UI设置,导致本地模型配置无法生效。
- 第一步:进入OpenHands项目根目录(若采用Docker单容器部署,需提前挂载配置目录)。
- 第二步:复制模板配置文件,执行
cp config.template.toml config.toml。 - 第三步:使用文本编辑器打开
config.toml,定位到[llm]区块。 - 第四步:删除
api_key = ""这一行——本地模型无需API密钥,若留空或保留该行,OpenHands会尝试调用OpenAI接口进而引发错误。 - 第五步:填写本地模型相关参数,以对接Ollama服务为例:
model = "llama3:8b"
base_url = "http://host.docker.internal:11434/v1"
api_key = "ollama"

启动容器时挂载配置文件
方法一:使用-v挂载方式(推荐)
在docker run命令中添加:-v $(pwd)/config.toml:/app/config.toml
小提示: 请确保config.toml所在目录具备读取权限,且路径使用绝对路径(如/home/user/openhands/config.toml),相对路径在容器内会导致挂载失效。
方法二:通过环境变量覆盖(临时调试用)
添加以下两个环境变量:
-e LLM_MODEL=llama3:8b-e LLM_BASE_URL=http://host.docker.internal:11434/v1
验证本地模型是否生效
- 启动容器后,访问
http://localhost:3000 - 首次进入页面将弹出LLM设置弹窗,此时点击右上角齿轮图标 → Settings → Advanced → 勾选“Use custom LLM”
- 手动填入Model Name与Base URL(内容需与config.toml保持一致),点击Save
- 新建对话,输入“请输出‘Hello from local LLM’”,若响应内容不含API错误提示且输出结果正确,则说明本地模型已成功接管推理流程。
常见问题
- Q:为什么必须删除api_key行?
A:本地模型不需要API密钥,若保留或留空,OpenHands会尝试调用OpenAI接口从而导致连接失败。删除该行可确保配置环境纯净。 - Q:base_url中的host.docker.internal是什么?
A:这是Docker容器内用于访问宿主机服务的特殊DNS名称,主要用来连接宿主机上运行的Ollama等本地服务。若使用Linux系统,可替换为172.17.0.1。 - Q:Web UI勾选“Use custom LLM”后还需修改config.toml吗?
A:建议两者均进行配置。config.toml属于持久化设置,UI勾选仅用于临时覆盖。若不修改config.toml,每次重启容器后都需要重新设定。
通过以上步骤,您即可在OpenHands中无缝使用本地大语言模型,享受低延迟、无密钥依赖且数据安全交互的完整体验。
