OpenHands 组合用法:从输入到交付的完整链路
在「编程与开发」类工具里,OpenHands 的定位是:开源的软件开发智能体平台(原 OpenDevin)。
单独用一个工具往往只解决一段问题,这篇讲怎么把它和上下游工具串起来。
推荐组合:OpenHands + MinerU
MinerU 的定位是:开源的 PDF 高精度解析工具,常用于中文文档入库。两者分工可以是:OpenHands 负责「修复报错」这一步,MinerU 负责检索资料、核对来源或管理知识库。
工作流步骤
- 明确交付物和验收标准,例如:修改范围足够小。
- 准备输入:一段报错堆栈和相关代码,先去掉敏感信息。
- 在 OpenHands 中执行核心步骤(提示词见下文)
- 把结果交给 MinerU 做下一步处理,或从 MinerU 取得所需材料。
- 人工检查关键事实与格式,记录发现的问题。
- 把这次用到的提示词和设置保存为模板,下次复用。
修复报错
准备材料:一段报错堆栈和相关代码。
这是报错信息和相关代码。请先解释报错原因,给出最小修改方案,并说明为什么这个修改不会影响其他调用方。
验收标准:修改范围足够小。
交接时最容易出问题的地方
- 格式不兼容:两边导入导出的格式提前测试一次。
- 信息丢失:每次交接附上来源和版本号。
- 责任不清:约定哪一步由谁做最终确认。
- 权限分散:两边的账号和分享范围分别检查。
如果暂时不想引入第二个工具,也可以先用 SWE-agent 等同类产品替代其中一环,跑通流程后再决定。
延伸练习
写技术文档
适用情况:手头有一个模块的源码时。
根据源码为这个模块写 README:用途、安装、最小示例、配置项表格和常见问题。示例代码必须能直接运行。
验收标准:示例代码可运行。
代码审查
适用情况:手头有一个 Pull Request 的改动时。
审查这个改动,按「必须修改 / 建议修改 / 可以忽略」三级列出问题,每条附上文件和行号,重点关注安全、并发和错误处理。
验收标准:问题定位到行。
补单元测试
准备材料:一个缺少测试的函数或模块。
为【函数名】编写单元测试,覆盖正常输入、边界值和异常输入,使用项目现有的测试框架,不要修改被测代码。先列测试用例再写代码。
交付前确认:测试能在本地通过。
常见问题:测试全绿但功能不对
人工补充关键用例,检查测试是否真正断言了结果。
常见问题:越改越乱
回滚到上一个可用提交,把需求拆小后重新开始。
常见问题:泄露密钥的风险
把密钥放在环境变量,规则文件中禁止读取 .env 等敏感文件。
概念补充:上下文索引
把代码库建立索引,让 AI 回答时能引用相关文件。
概念补充:规则文件
放在仓库里的说明文件,告诉 AI 项目约定和禁止事项。
适合人群:软件工程师
软件工程师可以用 OpenHands 处理代码阅读与重构、测试与排错等工作。需要注意:不要把密钥和未开源代码上传到未授权工具,合并前审阅每处改动。
使用提醒
涉及个人信息、商业机密或受监管数据时,先确认 OpenHands 的数据处理条款,再决定能否使用。
文中提示词和示例仅作示意,实际效果取决于你的材料和 OpenHands 当前版本,重要内容请人工核对后再使用。