我的skill学习之旅的示例demo,一个用于与 CNB(Cloud Native Build,云原生构建)平台交互的命令行 AI 助手。
项目地址: https://cnb.cool/znb/learn-skills
这个项目采用了简洁的架构设计:
git clone https://cnb.cool/znb/learn-skills.git
cd learn-skills
go build -o learn-skills
安装完成后,将二进制文件移动到 PATH 中(可选):
# macOS/Linux
sudo mv learn-skills /usr/local/bin/
# 或者添加到用户目录
mv learn-skills ~/.local/bin/
Learn Skills 支持两种配置方式:配置文件和环境变量。
在项目根目录创建 config.yaml:
llm:
api_key: "sk-..." # LLM API 密钥
base_url: "https://api.openai.com/v1" # API 端点
model: "gpt-4" # 模型名称
cnb:
token: "your-cnb-token" # CNB 访问令牌
export OPENAI_API_KEY="sk-..."
export OPENAI_BASE_URL="https://api.openai.com/v1"
export OPENAI_MODEL="gpt-4"
export CNB_TOKEN="your-cnb-token"
llm:
api_key: "sk-..."
base_url: "https://api.openai.com/v1"
model: "gpt-4"
llm:
api_key: "sk-..."
base_url: "https://api.deepseek.com/v1"
model: "deepseek-chat"
llm:
api_key: "sk-..."
base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
model: "qwen-plus"
llm:
api_key: "..."
base_url: "https://open.bigmodel.cn/api/paas/v4"
model: "glm-4.7"
repo-code:r(读取仓库代码)在运行助手之前,你可以先测试 CNB MCP 脚本是否正常工作:
# 设置 CNB Token
export CNB_TOKEN="your-cnb-token"
# 列出可用工具
python3 skills/cnb-skill/scripts/cnb-mcp.py list-tools
# 测试调用(示例)
python3 skills/cnb-skill/scripts/cnb-mcp.py call query_knowledge query="CI/CD"
启动对话会话:
./learn-skills
示例交互:
Learn Skills> 列出我的仓库
找到 3 个仓库:
1. demo/web-app(main,2 天前更新)
2. demo/backend(master,1 周前更新)
3. demo/mobile(main,3 周前更新)
Learn Skills> 如何配置 webhook?
根据 CNB 文档:
要在 CNB 中配置 webhook:
1. 进入项目设置页面
2. 选择"集成与插件" → "Webhook"
3. 点击"添加 Webhook"
4. 输入 webhook URL 并选择触发事件
...
参考文档:https://docs.cnb.cool/zh/guide/webhook
Learn Skills> exit
再见!
执行单个命令:
./learn-skills "列出我的仓库"
./learn-skills "触发 demo-app 主分支的构建"
./learn-skills "如何设置 CI/CD 流水线?"
exit 或 quit - 退出助手clear - 清除对话历史help - 显示帮助信息用户输入
↓
CLI 解析(交互式/单次命令)
↓
加载 CNB Skill → 系统提示词
↓
LLM API 调用(附带 execute_bash 工具定义)
↓
LLM 决定调用 execute_bash 工具
↓
Go 程序执行 Bash 命令 (skills/cnb-skill/scripts/cnb-mcp.py)
↓
Python 脚本调用 CNB MCP HTTP API → CNB 平台
↓
返回结果给 Go 程序
↓
Go 程序将结果返回给 LLM
↓
LLM 生成最终响应
↓
显示给用户
💡 详细架构说明:想了解完整的架构设计和实现细节,请阅读 SKILL_ARCHITECTURE.md
learn-skills/
├── main.go # 入口点
├── go.mod # Go 模块
├── config.yaml.example # 配置示例文件
├── skills/
│ └── cnb-skill/ # CNB Skill 定义
│ ├── SKILL.md # Skill 描述文档
│ └── scripts/
│ └── cnb-mcp.py # MCP 客户端脚本
├── internal/
│ ├── config/ # 配置管理
│ ├── llm/ # LLM 客户端
│ └── cli/ # CLI 模式
└── docs/
└── plans/ # 设计和实施文档
设置 OPENAI_API_KEY 环境变量或在 config.yaml 中添加 llm.api_key。
设置 CNB_TOKEN 环境变量或在 config.yaml 中添加 cnb.token。
https://mcp.cnb.cool 的网络连接欢迎贡献!你可以:
参见 LICENSE 文件。
想了半天如何写简介,忽然脑海冒出一句:🙇 与其 awesome skills,不如 learn a skill。
当今AI领域,各种概念更迭不休,保持学习的精神,抛却表面的焦虑,学习一个具体的知识,就能让自己变得充实且快乐。