【免费下载链接】Repo2RLEnv
Turn any repository into verifiable RL environments for coding agents - Harbor tasks you can train on, evaluate and share on the Hugging Face Hub
Repo2RLEnv 是一款把任意代码仓库转换为可验证 RL 训练环境的开源工具,输出的每个任务都是 Harbor 可直接运行的环境。这篇文章是一份完整的安装与环境配置清单:涵盖 pip 安装基础包、Harbor 扩展、以及 GitHub、LLM、Hugging Face 等全部凭据设置,照做即可一步到位。
1️⃣ 安装前环境要求:6 项清单一次核对
不同使用路线对环境的要求不同,按下表核对即可,只需装你用得到的部分:
| 要求 | 用于 | 什么时候必需 |
|---|---|---|
| Python 3.12+ | 所有功能 | 必装 |
| Git | 克隆源仓库 | 必装 |
GitHub CLI(gh) | 生成时所有 GitHub API 调用 | 必装 |
| Docker | pr_runtime、commit_runtime、code_instruct、equivalence_tests、cve_patches等本地运行时管线,以及harbor run --env docker | 用pr_diff生成则不需要 |
| Modal 或 Daytona 账号 | 研究配方、Tasksmith、quality loop(在远程 worker 上执行,无本地 Docker 回退) | 跑远程路线才需要 |
| Node.js 22.19+ | Tasksmith 的 Pi / OpenCode 适配器 | 跑 Tasksmith 才需要 |
💡 平台支持:Linux 与 macOS 全功能支持;Windows 仅覆盖 CLI 启动与静态校验。Tasksmith、研究配方和 quality loop 依赖 POSIX 权限与进程清理,请在 Linux / macOS / WSL 上运行。
2️⃣ pip 安装 Repo2RLEnv:两条命令搞定
基础安装覆盖本地生成、校验与发布,内置 LiteLLM(模型调用)和 Hugging Face Hub 客户端(push/pull):
pip install repo2rlenv偏好 uv 工具链的用户可以用:
uv tool install repo2rlenv按需添加 extras:Harbor 扩展等 5 个可选件
extras 用方括号追加在包名后,例如"Tasksmith + Daytona + Harbor"三件套:
pip install 'repo2rlenv[tasksmith,daytona,harbor]'各 extras 的分工一览(定义见 pyproject.toml):
| Extra | 引入内容 | 什么时候需要 |
|---|---|---|
harbor | 锁定harbor==0.24.0,任务模型与试跑器在进程内运行 | 研究配方、Tasksmith、quality loop、release |
modal | modal+dockerfile-parse | 远程 provider 选 Modal |
daytona | daytona | 远程 provider 选 Daytona |
tasksmith | langgraph+ SQLite 检查点 | 运行 Tasksmith |
mutation | libcst+pyflakes | 运行swe_smith配方 |
从源码检出安装(进阶路线)
研究配方、Tasksmith 和 quality loop 会把 Repo2RLEnv 的运行时 wheel 上传到远程 worker,且要求 wheel 与控制端包版本完全一致,因此建议从检出构建:
git clone https://gitcode.com/gh_mirrors/re/Repo2RLEnv cd Repo2RLEnv uv sync --extra modal --extra harbor uv build --wheel uv run repo2rlenv --versionuv build --wheel会生成dist/repo2rlenv-<version>-py3-none-any.whl,配方配置里的--runtime-wheel就指向它;需要哪个 extra 就传一个--extra。
3️⃣ 全部凭据设置清单:只配你用到的
Repo2RLEnv 从环境变量读取密钥,且绝不把 token 值写进任务目录或日志。按下表对号入座:
| 服务 | 认证方式 | 被谁使用 |
|---|---|---|
| GitHub | gh auth login,或设置GITHUB_TOKEN | generate(克隆、挖掘 PR 与 commit)、Tasksmith 采集 |
| LLM 提供商 | ANTHROPIC_API_KEY、OPENAI_API_KEY、HF_TOKEN、TOGETHER_API_KEY、GROQ_API_KEY(经 LiteLLM 解析) | generate --llm、bootstrap、含模型阶段的配方、Tasksmith、quality run |
| Hugging Face Hub | hf auth login,或带写权限的HF_TOKEN | push、私有数据集pull、release publish |
| Modal | modal setup,或MODAL_TOKEN_ID+MODAL_TOKEN_SECRET | workers start --provider modal、quality run、tasksmith run --provider modal |
| Daytona | DAYTONA_API_KEY | workers start --provider daytona、quality run --provider daytona |
| 容器镜像仓库 | GHCR 用GHCR_TOKEN(缺省回退GITHUB_TOKEN);Docker Hub 用DOCKER_USERNAME+DOCKER_TOKEN | 推送含 bootstrap 镜像的_runtime数据集;未配置时自动回退内联 Dockerfile 模式 |
GitHub 凭据的解析顺序值得记住(实现见 src/repo2rlenv/auth.py):repo.auth_token_env(配置里指定的变量名)→gh auth token→GITHUB_TOKEN。三种方式等价可用,多 token 场景(不同组织、不同权限范围)才需要用第一种显式指定,且配置里只写变量名、不写值。完整规则见 docs/reference/AUTH.md。
🔑 在 Harbor 中运行的 agent 和验证器不读上面的 shell 凭据,而是通过
harbor run --ae与--ve传参,例如--ve ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY为验证器开启 LLM judge。
用 .env 文件统一管理:复制模板即生效
CLI 会自动加载.env文件:从命令所在目录逐级向上查找,不覆盖shell 中已设置的变量。仓库提供了完整模板,包含 LLM 密钥、E2B_API_KEY、GITHUB_TOKEN等全部可选变量:
cp .env.example .env模板见 .env.example。几个实用细节:tasksmith run/batch/bootstrap与quality run额外支持--env-file PATH精确指定文件;CI 场景可用PYTHON_DOTENV_DISABLED=1关闭自动加载。变量全表见 docs/reference/ENV.md。
4️⃣ 远程执行扩展:Modal 与 Daytona 凭据配置
如果你要走 Tasksmith、研究配方或 quality loop 的远程路线,凭据配置只需一步:
# Modal(token 存入 ~/.modal.toml) uv run modal setup # Daytona:写入 .env # DAYTONA_API_KEY=...然后启动 worker 并让 Tasksmith 装好 Node.js 运行时:
repo2rlenv workers start --provider modal repo2rlenv tasksmith install-runtime⚠️ 远程路线没有本地 Docker 回退:worker 不可用时任务会在分发前停止。预算(campaign budget)与 runtime wheel 的完整配置见 docs/guides/remote-execution.mdx。
5️⃣ 验证安装是否成功:3 个检查命令
repo2rlenv --version # 应输出 repo2rlenv 0.9.4 repo2rlenv pipelines list # 列出全部原生管线与研究配方及状态 gh auth status # 确认 GitHub 已登录 docker info # 本地运行时管线需要 Dockerpipelines list会打印每张管线的 Recipe、Status 与 Source 类型,例如:
┃ Pipeline ┃ Recipe ┃ Status ┃ Source ┃ │ pr_diff │ native │ stable │ repository │ │ commit_runtime │ native │ stable │ repository │ │ swe_smith │ swe_smith │ experimental │ family │ │ … │ │ │ │四步全绿后,跑一遍 Quickstart 的最短闭环:用无需 Docker、无需 LLM 密钥的pr_diff管线生成任务 →repo2rlenv validate ./tasks --oracle静态校验 → 安装 Harbor(uv tool install harbor)后先跑harbor run -p ./tasks -a oracle --env docker,参考解得分应为 1.0、nop得分为 0.0,两者构成任务质量的对照基准。流程见 docs/guides/run-with-harbor.mdx。
6️⃣ 常见问题排查清单
| 症状 | 原因 | 修复 |
|---|---|---|
gh CLI not found on PATH | 未安装gh | 安装 GitHub CLI 后重新执行 |
gh auth list显示未登录,且无GITHUB_TOKEN | 没有解析到任何凭据 | gh auth login或export GITHUB_TOKEN=... |
私有仓库返回401 Unauthorized | token 权限范围不足 | 重新生成带Contents: Read的 PAT |
私有仓库返回404 Not Found | token 无访问权限或仓库不存在 | 用gh repo view <owner>/<name>确认 |
.env未被加载 | 命令不在该文件目录之下执行 | 从该目录运行,或set -a; . ./.env; set +a |
📚 延伸阅读
- 完整安装与 extras 说明:docs/installation.mdx
- 从零到第一个 Harbor 任务:docs/quickstart.mdx
- 环境变量全表:docs/reference/ENV.md;镜像仓库认证:docs/reference/REGISTRY_AUTH.md
【免费下载链接】Repo2RLEnv
Turn any repository into verifiable RL environments for coding agents - Harbor tasks you can train on, evaluate and share on the Hugging Face Hub
相关推荐
Nori 1.5安装部署完全指南:pip安装、本地nori.pt加载与GPU/CPU配置清单
Nori 1.5安装部署完全指南:pip安装、本地nori.pt加载与GPU/CPU配置清单 Nori 1.5 是一款约 2100 万参数的表格回归基础模型(t
基础模型机器学习表格回归人工智能如何安全配置Oxylabs agent-skills凭据:.env环境变量设置完整清单
如何安全配置Oxylabs agent skills凭据:.env环境变量设置完整清单 agent skills 是 Oxylabs 官方推出的 AI Agen
ell 安装完全指南:pip 安装、自定义扩展与 API Key 配置实战
ell 安装完全指南:pip 安装、自定义扩展与 API Key 配置实战 本文是 ell(Language Model Programming Library
人工智能大模型提示工程AI 应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考