【免费下载链接】skill
PinchBench is a benchmarking system for evaluating LLM models as OpenClaw coding agents. Made with 🦀 by the humans at https://kilo.ai
PinchBench 是一个用于评估 LLM 模型作为 OpenClaw coding agent 表现的基准测试系统,仓库直接提供了官方 Runner 镜像(Dockerfile.benchmark),预装好 OpenClaw 和全部依赖,让你用 Docker 一条命令跑起基准测试,并轻松接入 CI 流水线。本文是面向新手的 Docker 部署与 CI 集成完整指南。
为什么用 Docker 部署 PinchBench
在本地裸机运行基准测试,需要手动准备 Python 3.10+、uv包管理器、Node 环境和 OpenClaw,步骤繁琐且容易版本冲突。官方 Runner 镜像把这些工作全部封装好了:
- ✅环境一致:同一镜像在本地、CI 中行为完全一致,结果可复现
- ✅开箱即用:镜像内已全局安装 OpenClaw,无需额外配置
- ✅隔离干净:每个测试任务都在独立会话中执行,互不污染
快速开始:构建并运行 PinchBench Runner 镜像
第 1 步:获取仓库
git clone https://gitcode.com/gh_mirrors/skill1/skill cd skill第 2 步:构建镜像
Dockerfile.benchmark 位于仓库根目录:
docker build -f Dockerfile.benchmark -t pinchbench-runner .第 3 步:容器内跑通第一个基准测试
docker run --rm -it \ -e OPENROUTER_API_KEY=your_key \ -v $(pwd):/workspace \ pinchbench-runner \ "cd /workspace && ./scripts/run.sh --model openrouter/anthropic/claude-sonnet-4 --no-upload"看到Ready for benchmarks的启动提示后,镜像即宣告就绪。scripts/run.sh 只是 scripts/benchmark.py 的便捷封装,最终用uv执行真正的基准编排逻辑。
Dockerfile 逐层解读:Runner 镜像里装了什么
官方镜像基于node:22-bookworm,逐层安装了基准测试所需的全部组件:
| 层 | 内容 | 用途 |
|---|---|---|
| 基础镜像 | node:22-bookworm | 提供 Node 22 运行时,OpenClaw 依赖 Node |
| 系统依赖 | python3、git、curl、jq | Python 运行环境 + JSON 结果解析 |
| 包管理器 | uv | PinchBench 用uv run管理 Python 依赖 |
| Agent 框架 | npm install -g openclaw | 全局安装 OpenClaw agent 运行时 |
| 工作目录 | WORKDIR /workspace | 挂载仓库代码的入口 |
| 配置目录 | /root/.openclaw | 预创建 OpenClaw 配置目录 |
镜像默认ENTRYPOINT为/bin/bash -c,CMD是版本自检命令openclaw --version,方便你在 CI 里先跑一次冒烟检查。所有构建细节见 Dockerfile.benchmark。
关键环境变量配置清单
基准测试需要模型 API Key,镜像本身不内置任何密钥,需通过-e或.env注入。根据被测/评判模型的提供方前缀选择对应变量(参见 lib_agent.py):
| 环境变量 | 何时需要 |
|---|---|
OPENROUTER_API_KEY | 使用openrouter/前缀模型时(默认路由方式) |
OPENAI_API_KEY | 评判模型走openai/直连 API |
ANTHROPIC_API_KEY | 评判模型走anthropic/直连 API |
KILO_API_KEY | 评判模型走kilo/网关 |
OPENCLAW_PATH | 自定义 OpenClaw 可执行文件路径 |
PINCHBENCH_OFFICIAL_KEY | 标记提交为官方结果(可选) |
💡CI 安全提示:密钥一律通过 CI 平台的 Secrets 机制注入,切勿写进镜像或提交到仓库。
在 CI 中集成基准测试
推荐的 GitHub Actions 流水线
将镜像推送到镜像仓库后,一条 workflow 即可完成「构建镜像 → 冒烟检查 → 跑基准 → 归档结果」:
name: PinchBench on: push: branches: [main] workflow_dispatch: jobs: benchmark: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Smoke test run: docker run --rm pinchbench-runner - name: Run PinchBench run: > docker run --rm -e OPENROUTER_API_KEY=${{ secrets.OPENROUTER_API_KEY }} -v ${{ github.workspace }}/results:/workspace/results pinchbench-runner "cd /workspace && ./scripts/run.sh --model openrouter/anthropic/claude-sonnet-4 --suite automated-only --output-dir results" - name: Upload results if: always() uses: actions/upload-artifact@v4 with: name: pinchbench-results path: results/三个要点:
--suite automated-only:CI 中先跑自动评分任务,速度快、无 LLM 评判成本,适合回归门禁-v挂载 results 目录:结果 JSON 和会话转录(*_transcripts/)落盘到宿主机,再上传为 artifact 留档if: always():即使基准失败也归档结果,便于定位问题
结果解读小技巧
运行结束后用jq快速查看分数分布:
# 查看各任务平均分 jq '.tasks[] | {task_id, score: .grading.mean}' results/*.json # 找出得分低于 0.5 的失败任务 jq '.tasks[] | select(.grading.mean < 0.5)' results/*.json参考仓库中的 CI 调试案例
仓库自带一个典型的 CI 排障任务素材 assets/broken_ci.yml,对应任务 tasks/task_cicd_pipeline_debug.md:其中包含 runner 标签拼写错误、矩阵条件字符串比较、artifact 下载缺失、secret 双重暴露等四类常见 CI 陷阱。在给自己的 PinchBench 流水线排错时,这份文件是很好的对照清单。
常见问题排查
| 症状 | 原因与解法 |
|---|---|
OPENROUTER_API_KEY not set | 未注入环境变量;确认-e OPENROUTER_API_KEY=...或 CI secrets 配置正确 |
openclaw: command not found | 镜像构建时npm install -g openclaw失败;重新构建并检查构建日志 |
| 模型 ID 报错 | 模型名必须带提供方前缀,如openrouter/anthropic/claude-sonnet-4 |
| CI 中结果丢失 | 忘记挂载 results 卷;加-v $PWD/results:/workspace/results |
| 慢模型超时 | 加--timeout-multiplier 2放大超时时间 |
总结
- 用 Dockerfile.benchmark 构建
pinchbench-runner镜像,一次性解决 OpenClaw、uv、Python 依赖等环境问题 - 通过 scripts/run.sh 进入容器执行基准测试,用
-v挂载结果目录持久化输出 - CI 中推荐
--suite automated-only做回归门禁,结果以 artifact 归档,密钥走平台 Secrets - 任务清单见 tasks/manifest.yaml,当前基准版本为 2.0.0(BENCHMARK_VERSION),项目采用 MIT 协议(LICENSE)
按以上步骤走一遍,你的 PinchBench 基准测试就能稳定跑在任意 Docker 环境或 CI 流水线里了 🦀
【免费下载链接】skill
PinchBench is a benchmarking system for evaluating LLM models as OpenClaw coding agents. Made with 🦀 by the humans at https://kilo.ai
相关推荐
Zipkin Docker 镜像完全指南:生产镜像、docker-compose 部署与配置实战
Zipkin Docker 镜像完全指南:生产镜像、docker compose 部署与配置实战 导读 本文以 Zipkin 仓库 docker/README.
可观测性后端微服务Laravel Lang与GitLab CI集成:自动化测试与部署配置
Laravel Lang与GitLab CI集成:自动化测试与部署配置 你还在手动测试多语言文件兼容性?还在为版本迭代时的部署流程繁琐而烦恼?本文将带你一文搞定
后端Bonita Docker 官方镜像实战指南:快速部署、PostgreSQL 集成与生产级配置
Bonita Docker 官方镜像实战指南:快速部署、PostgreSQL 集成与生产级配置 本篇指南以 Docker Official Images 仓库中
文档
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考