智能配置调度系统,基于 CNB 平台的自动化配置解决方案。
ConfigGen 是系统的核心组件,提供:
| NPC | 功能 | 需要工作模式 |
|---|---|---|
| ConfigWriter | 创建配置文件 | ✅ 是 |
| ConfigModifier | 修改现有配置 | ✅ 是 |
| EnvBuilder | 创建开发环境 | ✅ 是 |
在仓库的 Issue 或 PR 中评论:
@hsred/basebuild/Initialize(ConfigGen) 我需要配置一个 Node.js 项目
ConfigGen 会自动:
@hsred/basebuild/Initialize(ConfigGen) 初始化配置
@hsred/basebuild/Initialize(ConfigGen) 创建 Python 项目配置
@hsred/basebuild/Initialize(ConfigGen) 为 Go 项目创建 CI 配置
@hsred/basebuild/Initialize(ConfigGen) 添加定时任务
@hsred/basebuild/Initialize(ConfigGen) 修改构建镜像
@hsred/basebuild/Initialize(ConfigGen) 增加测试步骤
@hsred/basebuild/Initialize(ConfigGen) 我需要 Node.js 环境
@hsred/basebuild/Initialize(ConfigGen) 创建 Python 开发环境
| 类型 | 检测文件 | 默认镜像 |
|---|---|---|
| Node.js | package.json | docker.cnb.cool/scaffold/examples/nodejs:latest |
| Python | requirements.txt, pyproject.toml | docker.cnb.cool/scaffold/examples/python:latest |
| Go | go.mod | docker.cnb.cool/scaffold/examples/go:latest |
| Java | pom.xml, build.gradle | docker.cnb.cool/scaffold/examples/java:latest |
| Rust | Cargo.toml | docker.cnb.cool/scaffold/examples/rust:latest |
hsred/basebuild/Initialize/
├── .cnb.yml # NPC 配置文件
├── .cnb/
│ ├── settings.yml # AI 角色定义
│ └── templates/ # 配置模板
│ ├── nodejs.yml
│ ├── python.yml
│ ├── go.yml
│ └── ...
├── scripts/
│ ├── config-gen.sh # ConfigGen 主脚本 ⭐
│ ├── npc-lib.sh # NPC 通用函数库 ⭐
│ ├── config-writer.sh # ConfigWriter 脚本
│ ├── config-modifier.sh # ConfigModifier 脚本
│ └── env-builder.sh # EnvBuilder 脚本
└── docs/
├── CONFIGGEN-GUIDE.md # ConfigGen 详细指南 ⭐
├── MULTI-NPC-GUIDE.md # 多 NPC 使用指南
└── ...
┌─────────────┐
│ 用户评论 │
└──────┬──────┘
│
▼
┌─────────────────┐
│ ConfigGen NPC │
│ ┌─────────────┐ │
│ │ 解析需求 │ │
│ └─────────────┘ │
│ ┌─────────────┐ │
│ │ 检测状态 │ │
│ └─────────────┘ │
│ ┌─────────────┐ │
│ │ 选择NPC │ │
│ └─────────────┘ │
│ ┌─────────────┐ │
│ │ 生成参数 │ │
│ └─────────────┘ │
└────────┬────────┘
│
▼
┌─────────────────┐
│ 目标 NPC │
│ ConfigWriter │
│ ConfigModifier │
│ EnvBuilder │
└────────┬────────┘
│
▼
┌─────────────────┐
│ 创建/修改仓库 │
│ 创建 PR │
└─────────────────┘
所有 NPC 均配置为 1 核 CPU,确保资源高效利用:
自动识别用户意图:
创建、新建、初始化、init、create修改、更新、变更、update、modify环境、env、environment、docker| 场景 | .cnb.yml 存在 | 用户意图 | 调度 NPC |
|---|---|---|---|
| 新仓库初始化 | ❌ | 创建 | ConfigWriter |
| 修改配置 | ✅ | 修改 | ConfigModifier |
| 创建环境 | - | 环境 | EnvBuilder |
| 不明确 | ✅ | - | 询问用户 |
ConfigGen 使用以下环境变量:
| 变量 | 说明 |
|---|---|
CNB_REPO_SLUG | 仓库路径 |
CNB_BRANCH | 分支名 |
CNB_TOKEN | 访问令牌 |
CNB_API_ENDPOINT | API 地址 |
CNB_COMMENT_BODY | 用户评论 |
CNB_NPC_ENABLE_WORKMODE | 工作模式 |
主脚本,包含核心调度逻辑:
parse_user_request() - 解析用户需求decide_npc() - 决定使用哪个 NPCgenerate_npc_call_params() - 生成调用参数invoke_npc() - 调用其他 NPC通用函数库,提供:
欢迎贡献代码和建议!
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)MIT License