Skip to Content
用户指南GitHub Actions

Github Actions:qwen-code-action

概述

qwen-code-action 是一个 GitHub Action,通过 Qwen Code CLI Qwen Code  集成到你的开发工作流程中。它既可以作为自主代理来处理关键的日常编码任务,也可以作为你可以快速委派工作的按需协作者。

使用它可以在 GitHub 仓库内以对话方式(例如,@qwencoder fix this issue)执行 GitHub pull request 审查、问题分类、代码分析和修改等操作。

功能特性

  • 自动化:基于事件(例如问题创建)或定时任务(例如每晚执行)触发工作流。
  • 按需协作:在问题和拉取请求的评论中,通过提及 Qwen Code CLI 来触发工作流(例如,@qwencoder /review)。
  • 工具扩展性:利用 Qwen Code 模型的工具调用能力,与其他命令行工具(如 GitHub CLI  (gh))进行交互。
  • 可定制化:在你的代码仓库中使用一个 QWEN.md 文件,为 Qwen Code CLI 提供项目特定的说明与上下文。

快速开始

只需几分钟即可在你的代码仓库中开始使用 Qwen Code CLI:

1. 获取 Qwen API 密钥

DashScope (阿里云的人工智能平台)获取你的 API 密钥。

2. 将其添加为 GitHub Secret

将你的 API 密钥作为名为 QWEN_API_KEY 的 secret 存储在你的仓库中:

  • 进入你的仓库的 Settings > Secrets and variables > Actions
  • 点击 New repository secret
  • 名称:QWEN_API_KEY,值:你的 API 密钥

3. 更新你的 .gitignore

在你的 .gitignore 文件中添加以下条目:

# qwen-code-cli 配置 .qwen/ # GitHub App 凭据 gha-creds-*.json

4. 选择一个工作流

你有两种方式来设置工作流:

选项 A:使用 setup 命令(推荐)

  1. 在终端中启动 Qwen Code CLI:

    qwen
  2. 在终端中的 Qwen Code CLI 中输入:

    /setup-github

选项 B:手动复制工作流

  1. examples/workflows 目录复制预构建的工作流文件到你的仓库的 .github/workflows 目录。注意:必须同时复制 qwen-dispatch.yml 工作流,它用于触发其他工作流运行。

5. 试用一下

Pull Request 审阅:

  • 在你的仓库中打开一个 pull request 并等待自动审阅
  • 在现有的 pull request 中评论 @qwencoder /review 以手动触发审阅

问题分类:

  • 打开一个问题并等待自动分类
  • 在现有问题上评论 @qwencoder /triage 以手动触发分类

通用 AI 辅助:

  • 在任何问题或 pull request 中,提及 @qwencoder 并附上你的请求
  • 示例:
    • @qwencoder explain this code change
    • @qwencoder suggest improvements for this function
    • @qwencoder help me debug this error
    • @qwencoder write unit tests for this component

工作流程

此操作为不同使用场景提供了多个预构建的工作流程。每个工作流程都设计为可复制到你仓库的 .github/workflows 目录中,并根据需要进行自定义。

Qwen Code 调度

此工作流充当 Qwen Code CLI 的中央调度器,根据触发事件和评论中提供的命令将请求路由到相应的工作流。有关如何设置调度工作流的详细指南,请参阅 Qwen Code 调度工作流文档

问题分类

此操作可用于自动或按计划对 GitHub Issues 进行分类。有关如何设置问题分类系统的详细指南,请参阅 GitHub 问题分类工作流文档

拉取请求审查

此操作可用于在打开拉取请求时自动进行审查。有关如何设置拉取请求审查系统的详细指南,请参阅 GitHub PR 审查工作流文档

Qwen Code CLI 助手

这种操作可用于在拉取请求和问题中调用通用的、对话式的 Qwen Code AI 助手,以执行各种任务。有关如何设置通用 Qwen Code CLI 工作流的详细指南,请参阅 Qwen Code 助手工作流文档

配置

输入

  • qwenapi_key(可选)_ Qwen API 的 API 密钥。

  • qwencli_version(可选,默认值:latest)_ 要安装的 Qwen Code CLI 版本。可以是 “latest”、“preview”、“nightly”、特定版本号,或 Git 分支、标签或提交。更多信息请参见 Qwen Code CLI 发布页面 

  • qwendebug(可选)_ 启用调试日志记录和输出流。

  • qwenmodel(可选)_ 与 Qwen Code 一起使用的模型。

  • prompt(可选,默认值:You are a helpful assistant.) 传递给 Qwen Code CLI 的 --prompt 参数 的字符串。

  • settings(可选) 写入 .qwen/settings.json 的 JSON 字符串,用于配置 CLI 的 项目 设置。 更多详情,请参阅关于 设置文件  的文档。

  • useqwen_code_assist(可选,默认值:false)_ 是否使用 Code Assist 来访问 Qwen Code 模型,而不是默认的 Qwen Code API 密钥。 更多信息请参见 Qwen Code CLI 文档 

  • usevertex_ai(可选,默认值:false)_ 是否使用 Vertex AI 来访问 Qwen Code 模型,而不是默认的 Qwen Code API 密钥。 更多信息请参见 Qwen Code CLI 文档 

  • extensions(可选) 要安装的 Qwen Code CLI 扩展列表。

  • uploadartifacts(可选,默认值:false)_ 是否将工件上传到 GitHub Action。

  • usepnpm(可选,默认值:false)_ 是否使用 pnpm 而不是 npm 来安装 qwen-code-cli

  • workflowname(可选,默认值:${{ github.workflow }})_ GitHub 工作流名称,用于遥测目的。

输出

  • summary: Qwen Code CLI 执行的汇总输出。

  • error: Qwen Code CLI 执行的错误输出(如果有)。

仓库变量

我们建议将以下值设置为仓库变量,以便在所有工作流中重复使用。或者,你也可以将它们作为操作输入内联到单个工作流中,或用于覆盖仓库级别的值。

名称描述类型是否必填何时需要
DEBUG启用 Qwen Code CLI 的调试日志。变量从不
QWEN_CLI_VERSION控制安装的 Qwen Code CLI 版本。变量固定 CLI 版本时
APP_ID自定义身份验证所用的 GitHub App ID。变量使用自定义 GitHub App 时

添加仓库变量的方法:

  1. 进入你的仓库 Settings > Secrets and variables > Actions > New variable
  2. 输入变量名称和值。
  3. 保存。

有关仓库变量的详细信息,请参阅 GitHub 关于变量的文档 

密钥

你可以在仓库中设置以下密钥:

名称描述是否必填何时需要
QWEN_API_KEY你在 DashScope 上的 Qwen API 密钥。所有调用 Qwen 的工作流都需要。
APP_PRIVATE_KEYGitHub App 的私钥(PEM 格式)。使用自定义 GitHub App 时需要。

添加密钥的方法:

  1. 进入仓库的 Settings > Secrets and variables > Actions > New repository secret
  2. 输入密钥名称和值。
  3. 保存。

更多信息请参考 GitHub 官方关于创建和使用加密密钥的文档 

身份验证

此操作需要对 GitHub API 进行身份验证,也可选择对 Qwen Code 服务进行身份验证。

GitHub 身份验证

你可以通过两种方式与 GitHub 进行身份验证:

  1. 默认 GITHUB_TOKEN 对于较简单的使用场景,操作可以使用工作流提供的默认 GITHUB_TOKEN
  2. 自定义 GitHub App(推荐): 为了实现最安全和灵活的身份验证,我们建议创建一个自定义的 GitHub App。

有关 Qwen 和 GitHub 身份验证的详细设置说明,请参阅
身份验证文档

扩展

Qwen Code CLI 可以通过扩展来增加额外功能。这些扩展从其 GitHub 仓库中以源代码形式安装。

有关如何设置和配置扩展的详细说明,请参阅
扩展文档

最佳实践

为确保自动化工作流的安全性、可靠性和效率,我们强烈建议遵循我们的最佳实践。这些指南涵盖仓库安全、工作流配置和监控等关键领域。

主要建议包括:

  • 保护您的仓库: 实施分支和标签保护,并限制 Pull Request 审批者。
  • 监控与审计: 定期审查操作日志并启用 OpenTelemetry 以深入了解性能和行为。

有关保护仓库和工作流的完整指南,请参阅我们的 最佳实践文档

自定义

在仓库根目录创建一个 QWEN.md 文件,为 Qwen Code CLI 提供项目特定的上下文和说明。这对于定义编码规范、架构模式或模型应遵循的其他指南非常有用。

贡献

欢迎贡献!请查看 Qwen Code CLI 贡献指南 了解如何开始的更多详情。

Last updated on