mcpField
R
run-deep-swe

run-deep-swe

github.com/davidondrej测试与质量4.2k187 次安装今天更新
代码仓库

关于 run-deep-swe

一项使用 Pier、mini-swe-agent 和 OpenRouter 上可用模型运行 DeepSWE 编码 Agent 基准测试的技能,涵盖环境配置、测试运行、抽样、全量执行和结果检查。

主要功能

  1. 01配置 Pier 和 mini-swe-agent
  2. 02通过 OpenRouter 连接模型
  3. 03运行冒烟测试和任务子集
  4. 04执行完整基准任务集
  5. 05检查基准测试结果

适用场景

  1. 01用单个任务验证 OpenRouter 模型连接
  2. 02对确定性抽样任务进行评分
  3. 03运行完整 DeepSWE 基准测试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davidondrej/skills --skill run-deep-swe

安装后在 Claude Code 中输入/run-deep-swe确认已加载。

附带文件agents/openai.yaml

详细介绍

通过 OpenRouter 运行 DeepSWE

DeepSWE(deepswe.datacurve.ai)是一个兼容 Harbor 的 113 项任务编码 Agent 基准测试。它通过 Pier(Harbor 分支)驱动 mini-swe-agent(与模型无关)运行。任何可通过 OpenRouter 访问的模型都可以参与评分。

前置条件 — 首先检查状态

which uv git docker || echo "MISSING: install uv, git, docker"
docker info >/dev/null 2>&1 || echo "MISSING: Docker daemon not running (Pier's default sandbox)"
echo "OPENROUTER_API_KEY set? ${OPENROUTER_API_KEY:+YES}"

Docker 必须正在运行 — Pier 默认会在 Docker 中为每项任务创建沙箱(云端运行则使用 --env modal)。

用户为此基准测试准备了专用的 OpenRouter 密钥,并已在 ~/.zshrc 中全局导出(设置了每周硬性消费上限作为安全保障)。新的 shell 已经可以使用 OPENROUTER_API_KEY。如果该变量意外未设置,请重新加载 shell 配置:

source ~/.zshrc && echo "key loaded? ${OPENROUTER_API_KEY:+YES}"

如果仍未设置,请询问用户 — 切勿编造密钥。

设置

git clone https://github.com/datacurve-ai/deep-swe && cd deep-swe
uv tool install datacurve-pier            # PyPI (preferred)
# or: uv tool install git+https://github.com/datacurve-ai/pier
# pier bundles mini-swe-agent as the --agent driver

所有 pier 命令都要在 deep-swe/ 目录内运行,并使用相对路径 -p tasks/...。

配置 OpenRouter(文档中未说明的部分)

mini-swe-agent 原生支持 OpenRouter 模型类。以下两种方式都会使用 OPENROUTER_API_KEY 和 OpenRouter slug(vendor/model,例如 minimax/minimax-m3):

方式 A — 原生 OpenRouter 类(首选,直接访问 openrouter.ai/api/v1):

pier run -p deep-swe/tasks --agent mini-swe-agent \
  --model minimax/minimax-m3 --model-class openrouter

方式 B — LiteLLM 提供商前缀(备用;使用相同的密钥):

pier run -p deep-swe/tasks --agent mini-swe-agent \
  --model openrouter/minimax/minimax-m3

注意:

  • Slug = 完整准确的 OpenRouter slug。运行前请在 openrouter.ai/models 上确认。
  • 免费/零成本模型:OpenRouter 的费用跟踪可能会报错。请设置 export MSWEA_COST_TRACKING=ignore_errors。
  • 标志的拼写可能因版本而异 — 请通过 pier run --help 和 mini --help 确认。

首先进行冒烟测试(1 项任务 — 在完整运行前执行)

在消耗语料库的 token 前,务必先在单项任务上验证端到端配置:

pier run -p deep-swe/tasks/<task-id> --agent mini-swe-agent \
  --model minimax/minimax-m3 --model-class openrouter
# list available task ids:
ls deep-swe/tasks

通过标准:运行完成、模型返回操作(而非身份验证/格式错误),并生成分数/轨迹。如果返回 401 → 密钥错误。如果提示“未提供提供商”/“模型未映射” → 修正 slug 或切换方式。

子集运行(确定性抽样)

pier run -p deep-swe/tasks --agent mini-swe-agent \
  --model minimax/minimax-m3 --model-class openrouter \
  --n-tasks 10 --sample-seed 0

完整的 113 项任务语料库(会消耗 token 和时间 — 请先与用户确认)

pier run -p deep-swe/tasks --agent mini-swe-agent \
  --model minimax/minimax-m3 --model-class openrouter
# add `--env modal` to run in parallel Modal sandboxes (needs Modal configured)

输出与排行榜

  • 试验结果位于 jobs/<run>/<trial_id>/。可通过 pier view jobs/<run>、pier analyze jobs/<run> 或 pier critique run jobs/<run> 检查。
  • 报告:使用的准确命令、通过/失败情况、分数及任何阻碍。
  • 将结果提交至官方排行榜:

故障模式

症状原因修复方法
HTTP 401密钥错误/缺失重新导出 OPENROUTER_API_KEY
"LLM Provider NOT provided"缺少 slug 前缀使用方式 B openrouter/...,或在方式 A 中使用 --model-class openrouter
"model isn't mapped"/费用错误模型费用未知export MSWEA_COST_TRACKING=ignore_errors
未知标志版本变化检查 pier run --help

评论

支持 Markdown