ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Repo2RLEnv安装与环境配置完全清单:pip安装、Harbor扩展与全部凭据设置一步到位

Repo2RLEnv安装与环境配置完全清单:pip安装、Harbor扩展与全部凭据设置一步到位

【免费下载链接】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

项目地址:https://gitcode.com/gh_mirrors/re/Repo2RLEnv
点击查看免费下载

Repo2RLEnv 是一款把任意代码仓库转换为可验证 RL 训练环境的开源工具,输出的每个任务都是 Harbor 可直接运行的环境。这篇文章是一份完整的安装与环境配置清单:涵盖 pip 安装基础包、Harbor 扩展、以及 GitHub、LLM、Hugging Face 等全部凭据设置,照做即可一步到位。

1️⃣ 安装前环境要求:6 项清单一次核对

不同使用路线对环境的要求不同,按下表核对即可,只需装你用得到的部分:

要求用于什么时候必需
Python 3.12+所有功能必装
Git克隆源仓库必装
GitHub CLI(gh)生成时所有 GitHub API 调用必装
Dockerpr_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
modalmodal+dockerfile-parse远程 provider 选 Modal
daytonadaytona远程 provider 选 Daytona
tasksmithlanggraph+ SQLite 检查点运行 Tasksmith
mutationlibcst+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 --version

uv build --wheel会生成dist/repo2rlenv-<version>-py3-none-any.whl,配方配置里的--runtime-wheel就指向它;需要哪个 extra 就传一个--extra。

3️⃣ 全部凭据设置清单:只配你用到的

Repo2RLEnv 从环境变量读取密钥,且绝不把 token 值写进任务目录或日志。按下表对号入座:

服务认证方式被谁使用
GitHubgh auth login,或设置GITHUB_TOKENgenerate(克隆、挖掘 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 Hubhf auth login,或带写权限的HF_TOKENpush、私有数据集pull、release publish
Modalmodal setup,或MODAL_TOKEN_ID+MODAL_TOKEN_SECRETworkers start --provider modal、quality run、tasksmith run --provider modal
DaytonaDAYTONA_API_KEYworkers 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 # 本地运行时管线需要 Docker

pipelines 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 Unauthorizedtoken 权限范围不足重新生成带Contents: Read的 PAT
私有仓库返回404 Not Foundtoken 无访问权限或仓库不存在用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

项目地址:https://gitcode.com/gh_mirrors/re/Repo2RLEnv
点击查看免费下载
上一篇:Prisma 1.x 部署实战:使用 Docker Machine 在 Digital Ocean 上快速搭建 Prisma 集群
下一篇:智能自动化引擎:重新定义游戏效率的新范式

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进