用自然语言与 CNB OpenAPI 交互的 chat agent — cnb-rs extension。
灵感来自 git-cnb chat(Go 实现,独立项目),用 Rust 重写并打包为 cnb-rs extension。
cnb-rs chat --do "查询本仓库 issue" 适合 CI/CDcnb-rs chat 持续对话,/exit 退出CNB_TOKEN 调 CNB AI Chat Completions(OpenAI 兼容),默认模型 hunyuan-a13b(腾讯混元)```get_api_doc service/apiname``` → 拉文档;输出 ```bash curl ...``` → 执行;最多 10 轮cnb-rs ext install cnb-chat
# 一次性
cnb-rs chat --do "列出本仓库的 open issue"
# 交互式
cnb-rs chat
>>> 帮我查 last 7 天的 commit 数量
>>> /exit
# CI 友好(禁用动画/颜色,一次性纯文本输出)
cnb-rs chat --do "..." --no-stream
| 名 | 必填 | 说明 |
|---|---|---|
CNB_TOKEN | ✅ | CNB 访问令牌,AI chat + OpenAPI 调用共用 |
CNB_DOMAIN | — | 默认 cnb.cool,由 cnb-rs dispatch 注入 |
CNB_REPO | — | 当前仓库(group/repo),cnb-rs dispatch 自动从 git remote 推导 |
vendor/cnb-openapi-skills/ 作为 git submodule,编译时 include_dir! 嵌入 SKILL.md + references/*.mdreqwest 调 POST /{repo}/-/ai/chat/completions,不依赖 cnb-api crate(与 cnb-stats / cnb-stars 同设计原则:零 cnb-rs 内部依赖)ExecCurl 算法(占位符替换 <CNB_TOKEN> / {repo} + 30s 超时 + JSON 尝试解析)详见 src/ 各 module 文档注释。
MIT