智能配置调度系统,基于 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