logo
0
0
WeChat Login

CNB Multi-NPC 配置助手

智能配置调度系统,基于 CNB 平台的自动化配置解决方案。

🎯 核心功能

ConfigGen - 智能配置调度器

ConfigGen 是系统的核心组件,提供:

  • 智能需求分析 - 自动解析用户自然语言描述
  • 自动项目检测 - 识别项目类型(Node.js、Python、Go、Java 等)
  • 智能 NPC 调度 - 根据需求自动选择合适的 NPC
  • 参数自动生成 - 为目标 NPC 生成合适的调用参数
  • 异常处理 - 完善的错误处理和用户提示

可用 NPC

NPC功能需要工作模式
ConfigWriter创建配置文件✅ 是
ConfigModifier修改现有配置✅ 是
EnvBuilder创建开发环境✅ 是

🚀 快速开始

基础用法

在仓库的 Issue 或 PR 中评论:

@hsred/basebuild/Initialize(ConfigGen) 我需要配置一个 Node.js 项目

ConfigGen 会自动:

  1. 检测项目类型
  2. 检查配置文件状态
  3. 选择合适的 NPC
  4. 生成配置并创建 PR

常见场景

创建新配置

@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.jspackage.jsondocker.cnb.cool/scaffold/examples/nodejs:latest
Pythonrequirements.txt, pyproject.tomldocker.cnb.cool/scaffold/examples/python:latest
Gogo.moddocker.cnb.cool/scaffold/examples/go:latest
Javapom.xml, build.gradledocker.cnb.cool/scaffold/examples/java:latest
RustCargo.tomldocker.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 │ └─────────────────┘

💡 核心特性

0. 资源配置

所有 NPC 均配置为 1 核 CPU,确保资源高效利用:

  • CPU: 1 核
  • 内存: 2G
  • 适用范围: 所有 NPC(ConfigGen、ConfigWriter、ConfigModifier、EnvBuilder)

1. 智能意图识别

自动识别用户意图:

  • 创建意图创建新建初始化initcreate
  • 修改意图修改更新变更updatemodify
  • 环境意图环境envenvironmentdocker

2. 自动 NPC 选择

场景.cnb.yml 存在用户意图调度 NPC
新仓库初始化创建ConfigWriter
修改配置修改ConfigModifier
创建环境-环境EnvBuilder
不明确-询问用户

3. 完善的异常处理

  • 配置文件已存在时提示用户确认
  • 缺少工作模式时提供开启指南
  • 不支持的类型时提供帮助信息
  • API 调用失败时重试或提示管理员

📖 详细文档

🔧 开发说明

环境变量

ConfigGen 使用以下环境变量:

变量说明
CNB_REPO_SLUG仓库路径
CNB_BRANCH分支名
CNB_TOKEN访问令牌
CNB_API_ENDPOINTAPI 地址
CNB_COMMENT_BODY用户评论
CNB_NPC_ENABLE_WORKMODE工作模式

核心脚本

scripts/config-gen.sh

主脚本,包含核心调度逻辑:

  • parse_user_request() - 解析用户需求
  • decide_npc() - 决定使用哪个 NPC
  • generate_npc_call_params() - 生成调用参数
  • invoke_npc() - 调用其他 NPC

scripts/npc-lib.sh

通用函数库,提供:

  • API 调用封装
  • Git 操作封装
  • 项目检测函数
  • 配置生成函数

🤝 贡献

欢迎贡献代码和建议!

  1. Fork 本仓库
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 创建 Pull Request

📝 更新日志

v2.0.0 (2026-03-31)

  • ✨ 新增智能需求解析功能
  • ✨ 新增自动 NPC 调度机制
  • ✨ 新增项目类型自动检测
  • ✨ 新增配置参数自动生成
  • ✨ 新增异常处理和用户提示
  • 📝 完善 AI 角色定义
  • 📚 新增详细使用文档

v1.0.0 (2026-03-29)

  • 🎉 初始版本发布
  • ✨ 基础配置生成功能

📄 许可证

MIT License


快速链接使用示例 | 详细文档 | 问题反馈

About

仓库初始化npc

320.00 KiB
47.86 KiB
NPC0 forks0 stars1 branches0 TagREADME
Language
Shell100%