用途:该技能是 OpenHands CLI 的无头模式封装,用于把编码任务批量或一次性委派给 OpenHands。OpenHands 模型无关,支持任意 LiteLLM 提供商(OpenAI、Anthropic、OpenRouter、DeepSeek、Ollama、vLLM 等)。交互式文本 UI 不在 Hermes 中使用。
适用场景:用户明确要求把编码任务交给 OpenHands;需要运行在非 Anthropic/非 OpenAI 提供商(DeepSeek、Qwen、Ollama、vLLM、Nous 等)上的编码代理;在工作区内进行多步文件编辑与 shell 命令。若需 Claude 原生用 claude-code,OpenAI 原生用 codex,Hermes 原生子代理用 delegate_task。
前置条件:需 Python 3.12+ 与 uv,安装命令为 uv tool install openhands --python 3.12,用 openhands --version 验证。设置环境变量:LLM_MODEL(LiteLLM 完整 slug,如 openrouter/openai/gpt-4o-mini、anthropic/claude-sonnet-4-5、openai/gpt-4o-mini)、LLM_API_KEY、LLM_BASE_URL(原生 OpenAI 可省略)。建议 export OPENHANDS_SUPPRESS_BANNER=1 抑制启动横幅。
使用方式:始终通过终端工具调用,自动化时传 --headless --json --override-with-envs --exit-without-confirmation。一次性任务用 -t 传提示;长任务可后台运行并轮询;用 --resume <dashed-uuid> 恢复会话。--json 输出 JSONL 事件流,kind 字段区分 MessageEvent、ActionEvent、ObservationEvent,FinishAction 的 action.message 为最终消息。
限制:无 --model、--max-iterations、--workspace、--sandbox 等标志,模型用 LLM_MODEL,工作区为 workdir,沙箱用 RUNTIME 与 SANDBOX_VOLUMES。--override-with-envs 对自动化必需,否则回退到 ~/.openhands/settings.json 并可能挂起。模型 slug 必须用 LiteLLM 格式。pip install openhands-ai 是旧版错误包。无头模式忽略 --llm-approve。上游不支持 Windows,需 WSL。安装较重(约 200 个包),建议用 uv 隔离环境。每次运行会在 ~/.openhands/conversations/<id>/ 累积轨迹。