Skip to content

如何为 Rails 项目配置 Conductor 并行编程环境

解决在并行编码 Agent 环境下 Rails 项目的冲突问题:通过配置 conductor.json 及相关脚本,实现工作区隔离、动态端口分配和 Redis 数据库自动分片。

为什么需要这个技能

在使用 Conductor 这种支持并行编码 Agent 的工具时,多个 Agent 可能会同时启动多个项目实例。如果所有实例都使用相同的端口(如 3000)或同一个 Redis 数据库,会导致严重的冲突和数据污染。

本技能通过一套标准化的脚手架(Scaffolding),让 AI 自动为 Rails 项目构建一套隔离机制。它能根据当前工作区的名称动态计算 Redis 数据库索引,并自动处理 .env 密钥和 master.key 的符号链接,确保每个并行 Agent 都在独立且正确环境下运行。

适用场景

  • 需要将 Rails 项目集成到 Conductor 平台以支持多 Agent 并行开发。
  • 解决并行工作区中 Redis 数据库冲突、端口占用等环境隔离问题。
  • 希望通过 bin/conductor-setup 实现一键安装依赖并初始化 Rails 环境。

核心工作流

  1. 定义项目入口:创建 conductor.json,指定 setup(安装)和 run(启动)脚本。
  2. 构建安装脚本:编写 bin/conductor-setup,负责建立秘密文件(.env, master.key)的软链接并执行 bundle installnpm install
  3. 实现运行时隔离:编写 script/server,通过 CONDUCTOR_PORT 动态设置应用端口,并利用工作区名称的 cksum 哈希值将 Redis 请求分发到不同的 DB 索引(0-15)。
  4. 动态化 Rails 配置:将 config/initializers/sidekiq.rbcable.yml 等文件中的硬编码 Redis URL 修改为从环境变量 ENV.fetch('REDIS_URL') 中读取。

下载和安装

下载 conductor-setup 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐