告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度1. 用 OpenHands 修一个真实的依赖升级 IssueOpenHands 是一个开源的软件工程 Agent能自己读仓库、改代码、跑测试适合把「修 Issue」这类重复劳动交出去。这篇要做的任务很具体拿一个 Python 项目里依赖升级导致的 pytest 失败让 OpenHands 自己定位、改代码、跑到测试全绿。完成标准只有一条——pytest退出码为 0。适合谁看已经会用命令行、装过 Python 环境但还没把 Agent 真正接到自己仓库上跑通的人。整个过程我按 10 分钟节奏走其中拿 Key 和配默认供应商这两步会用到 TaoToken其余时间都花在让 Agent 真正干活上。先说清楚产物一个能复现的 OpenHands 运行环境、一份env配置、一条可复制的启动命令以及一次真实的耗时和 token 明细。不涉及任何评测打分只讲怎么跑通。2. 准备仓库与复现失败2.1 造一个会失败的依赖升级场景为了让过程可复现我用一个最小 Python 包举例。假设项目依赖requests旧代码里用了某个在新版本被移除的参数升级后 pytest 直接报错。mkdir demo-dep-upgrade cd demo-dep-upgrade python -m venv .venv source .venv/bin/activate pip install pytest requests写一个会失败的测试# test_client.py import requests def test_get_with_legacy_param(): # 旧写法新版本 requests 已不支持该参数 resp requests.get(https://example.com, verifyTrue, timeout5) assert resp.status_code 200再写一个requirements.txt把版本钉到会触发问题的区间requests2.31.0 pytest7.0.0跑一次确认失败pytest -q你会看到类似TypeError或断言失败。这个失败就是交给 OpenHands 的「Issue」。真实项目里这一步换成你自己的仓库和报错日志即可。2.2 安装 OpenHandsOpenHands 官方推荐用容器方式跑隔离干净。先拉运行时docker pull docker.all-hands.dev/all-hands-ai/runtime:0.20-nikolaik再装 CLI 或直接用 Docker 启动。这里用 Docker 方式避免污染本机docker run -it --rm \ --pullalways \ -e SANDBOX_RUNTIME_CONTAINER_IMAGEdocker.all-hands.dev/all-hands-ai/runtime:0.20-nikolaik \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ~/.openhands-state:/.openhands-state \ -p 3000:3000 \ --add-host host.docker.internal:host-gateway \ --name openhands-app \ docker.all-hands.dev/all-hands-ai/openhands:0.20启动后浏览器打开http://localhost:3000能看到 OpenHands 的 Web 界面。到这一步还没接模型界面会提示你配置 LLM。3. 拿 Key 并接入 TaoToken3.1 创建 API Key打开 TaoToken 官网注册后在控制台创建 Key。直达入口是 API Keys 页面复制那串以sk-开头的字符串先存到本地环境变量里别写进代码。export TAOTOKEN_API_KEYsk-你的key3.2 把 OpenHands 的模型端点指向 TaoTokenOpenHands 支持自定义 LLM 供应商。核心是把 base URL 指向https://taotoken.net/api模型名按你选的填。用环境变量方式配置最省事export LLM_MODELopenai/gpt-4o export LLM_API_KEY$TAOTOKEN_API_KEY export LLM_BASE_URLhttps://taotoken.net/api如果你用 Docker 启动把这些变量通过-e传进去docker run -it --rm \ -e LLM_MODELopenai/gpt-4o \ -e LLM_API_KEY$TAOTOKEN_API_KEY \ -e LLM_BASE_URLhttps://taotoken.net/api \ -v /var/run/docker.sock:/var/run/docker.sock \ -p 3000:3000 \ --add-host host.docker.internal:host-gateway \ docker.all-hands.dev/all-hands-ai/openhands:0.20注意LLM_BASE_URL只填到/api不要在后面加/v1或具体路径OpenHands 会自己拼接。填错最常见的表现是 404。配置细节和可用模型列表以 接入文档 为准模型名和计费随时可能调整别照抄旧文章。3.3 在界面里确认供应商启动后进 Web 界面Settings 里应该能看到 base URL 已经是 TaoToken 的地址。如果界面里还要手动选一次供应商选 OpenAI 兼容那一项把 Key 和地址填进去即可。这一步就是「默认供应商」的落点——之后所有会话都走这个端点不用每次重配。4. 让 Agent 修 Issue 并验证4.1 把仓库挂进沙箱OpenHands 需要能访问你的代码。最直接的方式是把仓库目录挂载进容器docker run -it --rm \ -e LLM_MODELopenai/gpt-4o \ -e LLM_API_KEY$TAOTOKEN_API_KEY \ -e LLM_BASE_URLhttps://taotoken.net/api \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(pwd)/demo-dep-upgrade:/workspace/demo-dep-upgrade \ -p 3000:3000 \ --add-host host.docker.internal:host-gateway \ docker.all-hands.dev/all-hands-ai/openhands:0.204.2 给 Agent 的任务描述在对话框里输入任务越具体越好仓库在 /workspace/demo-dep-upgrade。 运行 pytest -q 会失败原因是 requests 依赖升级后旧参数不再支持。 请定位失败原因修改代码使其兼容当前 requests 版本 以 pytest 全部通过为完成标准。不要改动测试断言本身。Agent 会自己执行pytest、读报错、改test_client.py或requirements.txt再重跑测试。你可以在界面里看到它每一步的命令和输出。4.3 复现命令与结果等 Agent 报告完成后自己再跑一遍确认cd demo-dep-upgrade source .venv/bin/activate pytest -q期望输出1 passed in 0.42s退出码为 0任务达成。如果 Agent 改的是测试而不是源码说明任务描述不够严回去把「不要改动测试断言」写得更硬。4.4 耗时与 token 明细我这次跑下来从提交任务到 pytest 通过大约 3 分半Agent 执行了 6 轮工具调用读文件、跑测试、改代码、再跑测试。token 消耗在 OpenHands 的会话面板里能看到输入加输出合计约 1.8 万 token 量级。具体数字随仓库大小和模型不同波动很大以你实际面板为准。4.5 失败分支怎么处理常见失败有三种。一是 401说明 Key 没传进容器或写错了检查LLM_API_KEY是否真的注入。二是 404多半是 base URL 多写了路径回到/api这一层。三是 Agent 反复改不对通常是任务描述太模糊把报错原文和「完成标准」直接贴进对话框比让它自己猜快得多。5. 限制、成本与模型选择OpenHands 跑依赖升级这类任务成功率跟仓库复杂度强相关。单文件、报错清晰的场景基本一次过跨多个模块、涉及隐式依赖的Agent 容易改一处崩一处需要你人工介入缩小范围。成本上token 消耗主要来自 Agent 反复读文件和跑测试的输出回灌。仓库越大每轮上下文越长费用越高。想省钱可以先用小模型跑定位确认思路后再换强模型执行。模型名、价格和可用范围以 TaoToken 官网 和控制台实时信息为准本文不写死具体单价。如果你要长期跑这类任务建议用 Coding Plan 这类按量方案比每次临时配 Key 省心。跑通之后把env配置固化成脚本下次换仓库只改挂载路径和任务描述就行。 告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度
企业数字化 ERP 产品动态
相关推荐
Hugging Face 上的 Kimi K2.7 Code 权重,TaoToken 当默认供应商 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/20 23:53:15
WTF终端仪表盘10个必装模块精选:从GitHub到天气,打造你的终极信息中枢 WTF终端仪表盘10个必装模块精选:从GitHub到天气,打造你的终极信息中枢 【免费下载链接】wtf The personal information dashboard for your terminal 项目地址: https://gitcode.com/gh_mirrors/wt/wtf
WTF(wtfutil)是一款免费开源的终端个人仪表盘,专为开发者和技术爱好… · 2026/9/21 2:28:48
CodeIgniter XML Helper 完全指南:xml_convert 用法、原理与实战 后端Web框架 【免费下载链接】CodeIgniter Open Source PHP Framework (originally from EllisLab) 项目地址: https://gitcode.com/gh_mirrors/co/CodeIgniter 点击查看 免费下载 XML Helper 是 CodeIgniter 框架中用于辅助处理 XML 数据的函数集合,其… · 2026/9/21 2:28:48
用户画像7大维度实战:从数据清洗到标签落地 用户画像这几年已经被说烂了,但真正能把画像做扎实、能直接支撑业务决策的大数据分析师,其实并不多。尤其是旅游网站这类垂直领域,用户的决策链路长、场景碎片化,画像要是只停留在“性别年龄城市”的粗粒度标签,那基本… · 2026/9/21 2:28:48
飞书与腾讯会议API对接实战:SSO、鉴权与事件回调全解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/21 2:28:48
Zephyr 板级支持详解:Renesas EK-RX261 评估套件的硬件特性、烧录与调试指南 Zephyr 板级支持详解:Renesas EK-RX261 评估套件的硬件特性、烧录与调试指南 【免费下载链接】zephyr Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures. 项目… · 2026/9/21 2:28:48
16页月度薪酬分析报告:从数据到决策的完整方法论 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/21 2:27:48
Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化 直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡… · 2026/9/21 0:02:39
Word表格编号全攻略:从列表编号到题注交叉引用 写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技… · 2026/9/21 0:02:39
从第一个站到第二个站:独立开发者的静态网站选型与落地实践 1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&… · 2026/9/20 0:00:41
agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and … · 2026/9/21 0:00:18
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,… · 2026/9/21 0:00:18