OpenHands是什么?
OpenHands 是一个开源软件开发代理,可以与存储库、终端、浏览器和可配置语言模型一起使用。
此 OpenHands 设置通过高级 LLM 设置保存 TokenHub 支持的 LLM 配置文件。使用 OpenAI 前缀的 LiteLLM 模型名称,并在允许更改之前验证新对话中的只读任务。 OpenHands 通过 LiteLLM 路由自定义模型,这就是为什么自定义模型值包含 OpenAI 提供程序前缀以及确切的 TokenHub 模型 ID。保存的 LLM 设置可能不会替换现有对话的配置文件,因此在允许终端或文件更改之前创建新会话并验证存储库读取。
OpenHands 的自定义模型由 LiteLLM 解析,所以配置的核心不是“选择 OpenAI”,而是按官方 Advanced LLM Settings 填写带 Provider 前缀的 Custom Model。TokenHub 的写法是 openai/YOUR_TOKENHUB_MODEL_ID。
打开 Advanced LLM Settings
- 进入 OpenHands 的 LLM Settings。
- 打开 Advanced 开关。只有高级设置会显示官方列出的 Custom Model、Base URL 和 API Key 字段。
- Custom Model 填
openai/YOUR_TOKENHUB_MODEL_ID。 - Base URL 填
https://us-api.tokenhub.com/v1。 - API Key 填 TokenHub API Key。
- 点击 Save Changes。
openai/ 是 LiteLLM 用来选择 OpenAI-compatible 路由的前缀;真正发送给 TokenHub 的模型仍是斜杠后面的 Model ID。若只写裸 ID,OpenHands 无法可靠判断应使用哪个 LiteLLM Provider。
为什么保存后要新建 Conversation
官方说明,LLM 设置默认应用到新会话。已经存在的 Conversation 想使用新模型,需要先 restart;为了排除旧 LLM Profile 的影响,首次接入建议直接新建 Conversation。
新会话的验证顺序:
- 让 OpenHands 读取并解释一个文件,不执行修改。
- 在 TokenHub 日志核对模型 ID、状态码和
/v1/chat/completions。 - 再让它执行一次明确、可回滚的文件编辑或终端命令。
OpenHands 官方同时提醒,它需要能力较强的模型才能正常工作。普通对话成功但 Agent 停在工具步骤,通常是模型的工具调用能力不足,而不是 Base URL 未保存。
对照字段排错
Model not found或 LiteLLM 路由错误:检查 Custom Model 是否为openai/准确的模型ID。- 401:重新保存 API Key,不要把
Bearer前缀一并粘贴进去。 - 404:Base URL 应以
/v1结束,不应包含/chat/completions。 - 修改配置后仍走旧模型:restart 原 Conversation,或新建 Conversation。
- 能回答但不调用工具:换用 TokenHub 中明确支持原生 Function Calling 的模型。
官方资料
推荐模型怎么选?
OpenHands 定制 LLM FAQ
如何在 OpenHands 中配置自定义 LLM?
打开设置 → LLM → 高级,将自定义模型设置为 openai/<TokenHub Model ID>,然后输入 TokenHub /v1 Base URL 和 API 密钥。
为什么 OpenHands 型号需要 openai/ 前缀?
OpenHands 使用 LiteLLM 路由。该前缀告诉 LiteLLM 通过 OpenAI-compatible 传输发送确切的以下模型 ID。
为什么现有的 OpenHands 对话保留旧模型?
保存的 LLM 设置可能不会替换现有的对话配置文件。开始或重新启动对话并检查活动的 LLM 配置文件。
哪些型号适合OpenHands?
使用具有可靠的 native tool calling 和足够的任务上下文的编码模型。仅聊天的模型无法可靠地操作终端、浏览器和文件工具。
我应该如何安全地测试OpenHands?
使用测试存储库并从只读解释或搜索开始。检查 TokenHub 日志,然后逐渐允许文件更改和命令。
配置资料
本页配置以 TokenHub 教程和官方资料为依据,最后核验于 2026-09-08。