我的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领域,各种概念更迭不休,保持学习的精神,抛却表面的焦虑,学习一个具体的知识,就能让自己变得充实且快乐。