logo
1
0
WeChat Login
feat: 优化整体逻辑

CodeBuddy Bot

🤖 基于 CNB 平台的智能代码助手 Bot,支持通过评论触发多种 AI 能力。

功能特性

功能触发方式说明
🔍 代码评审@codebuddy 评审一下对 PR 变更代码进行评审,支持行级评论
💬 问题解答@codebuddy 这个函数是做什么的?回答关于代码的问题
🔧 代码修改@codebuddy 修改这个函数,添加错误处理根据要求修改代码
代码生成@codebuddy 帮我写一个用户认证模块生成新的代码
📖 代码解释@codebuddy 解释一下这段代码的逻辑详细解释代码含义

使用方式

在 Issue 或 Pull Request 中发表评论,使用以下格式:

@codebuddy <你的请求>

示例

代码评审

@codebuddy 请帮我评审一下这个 PR 的代码变更

问题解答

@codebuddy 为什么这里要用 useMemo 而不是 useState?

代码修改

@codebuddy 请把这个函数改成异步的,并添加错误处理

代码生成

@codebuddy 帮我实现一个发送邮件的工具函数

代码解释

@codebuddy 解释一下这个正则表达式的含义

Bot 运行时依赖以下 CNB 环境变量:

变量名说明必需
CNB_COMMENT_BODY评论内容
CNB_REPO_SLUG仓库路径 (如 owner/repo)
CNB_TOKEN_FOR_CODEBUDDYCodeBuddy Token (用于 API 调用)
CNB_EVENT事件类型 (issue.comment / pull_request.comment)
CNB_ISSUE_IIDIssue IID📋 Issue 评论时必需
CNB_PULL_REQUEST_IIDPR IID📋 PR 评论时必需

可选配置环境变量

变量名说明默认值
CNB_API_ENDPOINTCNB API 端点https://api.cnb.cool
PLUGIN_DEBUG开启调试模式 (true/false)false
PLUGIN_MAX_COMMENTSPR Review 最大评论数10

📁 项目结构

src/ ├── index.ts # 主入口 ├── types.ts # 类型定义 ├── api/ # CNB OpenAPI 客户端 │ ├── cnb.ts # API 客户端 (评论、PR Review) │ └── index.ts # 模块导出 ├── intent/ # 意图识别 │ ├── recognizer.ts # 关键词识别 │ └── llm-recognizer.ts # LLM 识别 ├── handlers/ # 意图处理器 │ └── index.ts # 处理器注册和分发 ├── codebuddy/ # CodeBuddy CLI 执行器 │ └── executor.ts # CLI 执行 ├── review/ # 代码评审模块 │ ├── git.ts # Git 操作 │ ├── reviewer.ts # 评审执行 │ ├── pr-comment.ts # PR 评论服务 │ └── types.ts # 评审类型 └── utils/ # 工具函数 ├── config.ts # 配置管理 ├── env.ts # 环境变量 └── logger.ts # 日志系统

🔧 配置文件

Bot 配置文件

创建 codebuddy-bot.config.json

{ "logging": { "level": "info", "format": "default" }, "intentRecognition": { "confidenceThreshold": 0.7, "forceLLM": false }, "codebuddy": { "timeout": 300000 } }