> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Qoder Action

Qoder Action 是标准的 GitHub Actions 组件，将 Qoder CLI 的强大能力带入 GitHub 工作流，让智能代码协作直接在 PR 和 Issue 中进行。通过简单的配置，即可在 GitHub Actions Runner 上运行 Qoder CLI，为团队提供两种开箱即用的核心能力：**自动 PR 审查**和 **@qoder 交互式协作**。

[访问 Qoder Action 仓库 →](https://github.com/QoderAI/qoder-action)

## 主要特性

* **智能 PR 自动审查**：每个 Pull Request 自动获得全面的代码审查，检测代码缺陷、安全漏洞、测试覆盖率等问题，在合并前提升代码质量
* **@qoder 随时响应**：在任何评论中 @qoder，即可获得代码解释、实现建议或直接修复
* **深度理解项目**：尊重项目的代码规范、架构模式和业务逻辑
* **快速配置**：几分钟即可完成配置，立即提升团队效率
* **安全可靠**：代码在 GitHub Runner 上运行，保障数据安全

## 快速开始

### 方式一：快速配置（推荐）

在 qodercli 中执行 `/setup-github` 命令，按照引导完成配置。

### 方式二：手动配置

#### 1. 安装 GitHub App 并获取访问令牌

1. 访问 [Qoder Integrations](https://qoder.com/account/integrations)
2. 将 Qoder 账户与 GitHub 账户进行关联，并安装 **qoderai** GitHub App 到目标仓库
3. 生成 Qoder 访问令牌（Qoder Personal Access Token）

**注意**：如果之前已安装过 qoderai，请访问 [GitHub APP 安装列表](https://github.com/settings/installations) 检查 qoderai 是否有权限升级请求，如有请授予必要的权限。

#### 2. 添加 Qoder 访问令牌到仓库 Secrets

在仓库的 Settings > Secrets and variables > Actions 中添加 `QODER_PERSONAL_ACCESS_TOKEN`，保存 Qoder 个人访问令牌。

#### 3. 选择并安装工作流

访问 [Qoder Action examples](https://github.com/QoderAI/qoder-action/tree/main/examples)，选择适合需求的工作流，然后复制到仓库的 `.github/workflows/` 目录中。

* Code Review：自动分析 Pull Request 的代码质量、测试覆盖和安全问题
* [Assistant](https://github.com/QoderAI/qoder-action/blob/main/examples/assistant.yml)：在 Issue 和 PR 中启用交互式对话（`@qoder`），解释代码或修复问题

#### 4. 开始使用

* **Code Review**：创建一个新的 Pull Request，等待 Qoder 的反馈
* **Assistant**：在任意 Issue 或 PR 中评论 `@qoder 解释这段代码` 或 `@qoder 修复这个问题`

## 最佳实践

### 自定义输出语言

在 `prompt` 中指定输出语言：

```
- name: Run Qoder Code Review
  uses: QoderAI/qoder-action@v0
  with:
    qoder_personal_access_token: ${{ secrets.QODER_PERSONAL_ACCESS_TOKEN }}
    prompt: |
      /review-pr
      REPO:${{ github.repository }} PR_NUMBER:${{ github.event.pull_request.number }}
      OUTPUT_LANGUAGE: Chinese
```

### 使用 AGENTS.md 定义审查规则

在仓库根目录创建 `AGENTS.md` 文件，Qoder CLI 会自动加载其中的内容作为上下文：

```
# 项目代码审查规范

## 审查重点
- 所有数据库查询必须使用参数化查询，禁止字符串拼接
- API 接口必须进行权限验证
- 敏感信息（密码、token）不得硬编码或记录到日志
- 所有外部输入必须进行验证和清理

## 可以忽略的检查
- 测试文件（`*.test.js`、`*.spec.ts`）的代码重复检查
- 自动生成的文件（`generated/`、`dist/`）的代码风格问题
- Mock 数据文件的复杂度警告

## 团队约定
- 使用 async/await 而非 Promise.then()
- 组件命名使用 PascalCase
- 工具函数使用 camelCase
- 常量使用 UPPER_SNAKE_CASE
```

### 根据 PR 大小跳过审查

对于大型 PR，可以添加跳过条件来避免过高的 credits 消耗：

```
steps:
  - name: Check PR Size
    id: check_size
    run: |
      # 获取 PR 新增的代码行数
      LINES_CHANGED=$(jq .pull_request.additions < $GITHUB_EVENT_PATH)
      echo "代码变更行数: $LINES_CHANGED"
      
      # 如果超过 500 行，则跳过审查以控制成本
      if [ "$LINES_CHANGED" -gt 500 ]; then
        echo "skip=true" >> $GITHUB_OUTPUT
      else
        echo "skip=false" >> $GITHUB_OUTPUT
      fi

  - uses: QoderAI/qoder-action@v0
    if: steps.check_size.outputs.skip == 'false'  # 仅当 PR 大小未超过阈值时执行
    # ... 其他配置
```

***

**更多配置示例**：访问 [Recipes 文档](https://github.com/QoderAI/qoder-action/blob/main/docs/recipes.md) 查看完整的配置示例和最佳实践。

## 技术支持

* **GitHub 仓库**：[https://github.com/QoderAI/qoder-action](https://github.com/QoderAI/qoder-action)
* **问题反馈**：[https://github.com/QoderAI/qoder-action/issues](https://github.com/QoderAI/qoder-action/issues)
