跳到主要内容

调试

以下内容旨在作为开发目的调试 OpenHands 的入门指南。

服务器 / VSCode

以下 launch.json 将允许调试代理、控制器和服务器元素,但不包括沙盒(在 Docker 内运行)。它将忽略 workspace/ 目录内的任何更改:

{
"version": "0.2.0",
"configurations": [
{
"name": "OpenHands CLI",
"type": "debugpy",
"request": "launch",
"module": "openhands.core.cli",
"justMyCode": false
},
{
"name": "OpenHands WebApp",
"type": "debugpy",
"request": "launch",
"module": "uvicorn",
"args": [
"openhands.server.listen:app",
"--reload",
"--reload-exclude",
"${workspaceFolder}/workspace",
"--port",
"3000"
],
"justMyCode": false
}
]
}

可以指定包含更多参数的更具体的调试配置:

    ...
{
"name": "Debug CodeAct",
"type": "debugpy",
"request": "launch",
"module": "openhands.core.main",
"args": [
"-t",
"Ask me what your task is.",
"-d",
"${workspaceFolder}/workspace",
"-c",
"CodeActAgent",
"-l",
"llm.o1",
"-n",
"prompts"
],
"justMyCode": false
}
...

上面代码片段中的值可以更新,使得:

  • t:任务
  • d:openhands 工作空间目录
  • c:代理
  • l:LLM 配置(在 config.toml 中预定义)
  • n:会话名称(例如 eventstream 名称)