
告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度1. 目标与产物用 OpenHands 跑通 3 个 SWE-bench Verified 实例本文的目标很具体在一台本地开发机上用开源 Agent 框架 OpenHands 驱动模型依次挑战 3 个 SWE-bench Verified 实例并记录从安装、仓库检索、生成补丁到验证的完整链路是否跑通。产物包括三部分一份可复制的运行命令清单、一张实例 ID 与通过/失败状态表、以及一份接入 TaoToken 的配置说明。需要先说明的是本文不含任何排行分数也不对模型能力做评测排名所有结论只围绕“流程是否跑通”展开。模型侧通过 TaoToken 接入官网入口为 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerate API 基址为 https://taotoken.net/api 。如果你更关注长期 Agent 开发而非单次跑通可以顺带了解 Coding Plan 页面若只是接入排障则 API Keys 与接入文档更直接。SWE-bench Verified 是 SWE-bench 的一个经过人工筛选的子集共 500 个实例每个实例对应一个真实 GitHub 仓库的 issue 与对应修复补丁。OpenHands前身 OpenDevin是一个开源 Agent 运行时它能在容器化环境中读写文件、执行命令、运行测试。把这两者结合本质是让 Agent 在受控沙箱里完成“读 issue → 定位代码 → 改文件 → 跑测试”的闭环。本文选取 3 个实例作为样例目的是验证链路而不是刷榜。2. 安装 OpenHands 与准备运行环境OpenHands 官方推荐用 Docker 运行因为它需要隔离的运行时来执行命令。下面给出本地安装步骤命令均可在 Linux/macOS 终端执行。Windows 用户建议在 WSL2 下操作。# 1. 确认 Docker 可用 docker --version docker compose version # 2. 拉取 OpenHands 运行镜像版本号以官方 release 为准 docker pull docker.all-hands.dev/all-hands-ai/runtime:latest # 3. 克隆 OpenHands 仓库 git clone https://github.com/All-Hands-AI/OpenHands.git cd OpenHands # 4. 创建 Python 虚拟环境并安装依赖 python3 -m venv .venv source .venv/bin/activate pip install -e . # 5. 启动 OpenHands 服务 make run启动后默认在http://localhost:3000提供 Web 界面。若只想用 CLI 模式也可以直接调用python -m openhands.core.main。安装阶段最容易出问题的是 Docker 权限与镜像拉取如果docker pull超时可先配置镜像加速再重试。环境变量方面OpenHands 通过LLM_*系列变量读取模型配置。核心变量包括LLM_MODEL、LLM_API_KEY、LLM_BASE_URL。这三者决定了 Agent 调用哪个模型、用哪把 Key、走哪个网关。接下来进入拿 Key 与接入环节。3. TaoToken 接入与配置把 Base URL 写进环境变量TaoToken 在这一步出现到官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerate 注册账号然后在控制台创建 API Key。创建完成后把 Base URL 设为https://taotoken.net/api并把 Key 填入 OpenHands 的模型环境变量。注意 Base URL 不带任何 UTM 参数保持干净。# 写入 OpenHands 的模型环境变量 export LLM_MODELanthropic/claude-sonnet-4-5 # 模型 ID 以官网当前可选列表为准 export LLM_API_KEYYOUR_TAOTOKEN_API_KEY export LLM_BASE_URLhttps://taotoken.net/api # 验证网关连通性不涉及具体模型能力仅确认鉴权与路由 curl -sS https://taotoken.net/api/v1/models \ -H Authorization: Bearer $LLM_API_KEY | head -c 400如果你用的是 Claude Code 而非 OpenHands配置方式不同Claude Code 读取settings.json中的ANTHROPIC_BASE_URL与ANTHROPIC_API_KEY把 Base URL 指向 TaoToken 的 API 地址即可。Codex 则写入config.toml在model_providers段落里配置base_url与api_key。若你同时管理多个供应商可以用 CC Switch 三件套供应商配置、Key 管理、切换脚本来避免手改环境变量。这些配置的细节都可以在接入文档里找到对应说明。需要提醒的是模型 ID 会随供应商上下架变化务必以官网当前展示为准不要照抄本文示例中的字符串。TaoToken 本身不是 SWE-bench 的参赛方它只是模型调用的通道本文也不对任何模型在 SWE-bench 上的分数做断言。4. 运行 3 个实例命令、状态表与失败分支OpenHands 提供了 SWE-bench 相关的运行脚本通常在evaluation/目录下。下面给出一个通用的运行命令模板实例 ID 通过参数传入。# 在 OpenHands 仓库根目录执行 python evaluation/run_infer.py \ --agent-cls CodeActAgent \ --llm-config $LLM_MODEL \ --max-iterations 50 \ --eval-num-workers 1 \ --data-split test \ --instance-ids django__django-11099 \ --eval-output-dir ./outputs把--instance-ids换成目标实例即可。本文选取的 3 个样例实例 ID 如下均为 SWE-bench Verified 中的公开实例实例 ID仓库任务类型本次状态django__django-11099django/django表单校验修复待运行sympy__sympy-20590sympy/sympy符号计算修复待运行scikit-learn__scikit-learn-13496scikit-learn/scikit-learn估计器参数修复待运行上表中的“本次状态”一栏在本文写作时并未填入实测通过/失败结果因为本文不含实测数据只给配置不造分数。如果你在自己的机器上跑建议把状态列替换为PASS/FAIL/ERROR三态并记录耗时与迭代次数。这样得到的表才是可复现、可追溯的。失败分支主要有四类遇到时按顺序排查第一类是鉴权失败表现为 401。检查LLM_API_KEY是否有多余空格Base URL 是否误加了路径后缀。第二类是模型不存在表现为 404 或明确的 model not found。此时回到官网核对模型 ID不要沿用旧文档里的名称。第三类是容器启动失败通常是 Docker 镜像未拉全或端口占用重跑docker pull并检查docker ps。第四类是 Agent 迭代超限表现为max-iterations用尽仍未出补丁这属于任务难度问题不是接入问题可以调大迭代数或换更合适的模型。验证补丁是否生效靠的是实例自带的测试命令。OpenHands 在生成补丁后会尝试应用并运行 FAIL_TO_PASS 与 PASS_TO_PASS 测试集。如果测试通过实例状态记为 PASS如果补丁无法应用或测试失败记为 FAIL。这一步的输出会落在--eval-output-dir指定的目录里可以用grep快速筛查。5. 限制、成本与模型选择以官网为准先说限制。SWE-bench Verified 的实例来自真实仓库依赖版本、Python 版本、系统库都可能影响复现。OpenHands 的沙箱镜像虽然预装了常见依赖但并非覆盖所有仓库。遇到依赖缺失时Agent 需要自行安装这会消耗额外迭代次数。此外Agent 的检索能力受上下文窗口限制大仓库里定位到正确文件本身就是难点。再说成本。成本由两部分构成模型调用的 token 费用以及本地运行 Docker 的算力开销。token 费用取决于你选择的模型与实例难度不同模型单价差异较大具体价格以官网当前标价为准。需要特别说明Artificial Analysis 等榜单上标注的价格不等于 TaoToken 的售价两者不是同一口径不要混用。Hugging Face 上的下载量或热度也不等于跑分只能作为参考。模型选择上建议遵循两条原则一是优先选上下文窗口足够大的模型便于容纳仓库检索结果二是优先选在代码任务上表现稳定的模型而不是只看单价。具体可选模型列表与版本请以官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_generateutm_mediumcsdnutm_campaigngenerate 展示为准。如果你打算把这类 Agent 流程用于长期开发而不是一次性跑通Coding Plan 会比按量调用更省心如果只是接入与排障直接看 API Keys 与接入文档即可。最后回到本文的定位它是一份 Agent 实战的配置与流程记录不是评测报告。本文不含排行分数也不对任何模型在 SWE-bench 上的名次做判断。你要做的是把上面的命令复制到本地填入自己的 Key跑一遍然后把状态表填成你自己的数据。 告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度