Claude Code接入Github

Claude Code接入Github

目前AI编程工具可以分为3种类别:

  1. 1.本地IDE,代表产品有cursor、windsurf
  2. 2.在线网站,代表产品有lovable、bolt.new
  3. 3.命令行,代表产品有claude code、codex

claude code这种命令行工具可以很方便地集成到各种平台中,本篇文章就是介绍如何把claude code快速接入到github中,在开发流程中嵌入AI能力。

claude code 接入github,我们不需要重复造轮子,anthropic官方提供并开源了名为claude code action(https://github.com/anthropics/claude-code-action)的工具,claude code action更新很频繁,前段时间刚发布了正式版本v1,借助它可以快速把claude code集成到github中。

接下来按照配置api key、在github安装claude、让claude code参与开发3个步骤,分享一下如何把claude code集成到github。

配置api key

claude对国内账号封控很严重,我们很难用到claude官方的api,好在国产模型进步很快,并且都原生提供anthropic接口格式了,可以作为sonnet的平替接入claude code。我测试glm-4.6和kimi-k2都能够驱动claude code正常运行。可以在 https://bigmodel.cn/usercenter/proj-mgmt/apikeys 创建glm的api key,在 https://platform.moonshot.cn/console/api-keys 创建kimi的api key,然后在你期望接入claude code的github仓库中配置api key。

进入github仓库中,点击settings,然后选择secrets and variables中的actions,点击new repository secret按钮。

在新打开的页面中填写Name:ANTHROPIC_API_KEY,Secret:你刚刚创建的glm 或 kimi api key,最后点击add secret配置成功。

在github安装claude

接下来,需要在GitHub中安装claude。在浏览器打开 https://github.com/apps/claude,进入claude github app页面,点击install按钮安装claude应用,如果按钮位置显示的不是install而是configure,表示已经安装过该应用。

然后在下面的安装确认页面中,可以配置安装到所有仓库或者指定仓库中,点击install & authorize按钮确认安装。

在安装成功后,如果你的github仓库还没有.github/workflows目录,你需要先创建该目录,然后在该目录中添加claude.yml和claude-review.yml文件。

claude.yml文件内容如下

name: Claude Code on:   issue_comment:     types: [created]   pull_request_review_comment:     types: [created]   issues:     types: [opened, assigned]   pull_request_review:     types: [submitted] jobs:   claude:     if: |       (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||       (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||       (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||       (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))     runs-on: ubuntu-latest     permissions:       contents: write       pull-requests: write       issues: write       id-token: write       actions: write     steps:       - name: Checkout repository         uses: actions/checkout@v4         with:           fetch-depth: 1       - name: Run Claude Code         id: claude         uses: anthropics/claude-code-action@v1         env:           # ANTHROPIC_BASE_URL: https://api.moonshot.cn/anthropic           ANTHROPIC_BASE_URL: https://open.bigmodel.cn/api/anthropic         with:           anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}           claude_args: |             --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh issue:*),Bash(gh search:*),Bash(gh label:*)"

claude-review.yml文件内容如下

name: Claude Review on:   pull_request:     types: [opened, synchronize]     # Optional: Only run on specific file changes     # paths:     #   - "src/**/*.ts"     #   - "src/**/*.tsx"     #   - "src/**/*.js"     #   - "src/**/*.jsx" jobs:   claude-review:     # Optional: Filter by PR author     # if: |     #   github.event.pull_request.user.login == 'external-contributor' ||     #   github.event.pull_request.user.login == 'new-developer' ||     #   github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'     runs-on: ubuntu-latest     permissions:       contents: read       pull-requests: write       id-token: write     steps:       - name: Checkout repository         uses: actions/checkout@v4         with:           fetch-depth: 0       - name: Run Claude Review         id: claude-review         uses: anthropics/claude-code-action@v1         env:           # ANTHROPIC_BASE_URL: https://api.moonshot.cn/anthropic           ANTHROPIC_BASE_URL: https://open.bigmodel.cn/api/anthropic         with:           anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}           track_progress: true           prompt: |             REPO: ${{ github.repository }}             PR NUMBER: ${{ github.event.pull_request.number }}             Please review this pull request with a focus on:             - Code quality and best practices             - Potential bugs or issues             - Security implications             - Performance considerations             Provide detailed feedback using inline comments for specific issues.             Please respond in Simplified Chinese.           claude_args: |             --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)"

注意在上面两个文件中有 ANTHROPIC_BASE_URL 配置,默认配置的是glm网址,如果使用的kimi模型,需要更改为 https://api.moonshot.cn/anthropic。另外在配置文件最后有--allowedTools参数,claude code使用的是工具白名单,如果需要某个特定的工具,需要配置到该参数中。

可能有人不熟悉.github/workflows目录,它是github中的保留目录,用于保存自动化工作流程的配置文件,可以配置当触发某些事件时执行哪些操作。比如可以在此目录中配置实现当提交新的代码时自动运行打包镜像、测试代码等功能。claude code action也是通过此机制实现的让claude回答用户提问、自动审阅代码等功能。

让claude code参与开发

执行完上述步骤,claude code就已经接入到你的github仓库中了。你可以在github中issue中评论@claude,让ai回答你的问题甚至可以让ai直接提交代码完成你的需求。下面是一些例子

我创建了python包管理方案讨论的issue,在评论中询问claude,让claude推荐一个方案。

在一个后端接口需求中直接让claude实现该需求,claude code能够提交代码到某个分支,点击Create PR链接可以手动创建代码合并。

除了可以在issue/pr中@claude以外,claude-review.yml工作流还支持自动审阅代码。提交pr后,claude可以自动审阅提交的代码,查看代码中的问题,并给出改进建议。

Read more

【obsidian】插件Git 使用以及设置详细说明

【obsidian】插件Git 使用以及设置详细说明

概述 为了建立笔记体系,逐步开始使用obsidian记录笔记。 使用过程中为了数据同步以及防止数据丢失,选择夸克网盘以及阿里云云效进行数据备份(云效是阿里云企业级一站式研发协同平台) 操作 线上仓库准备 * 免费注册阿里云云效,(https://www.aliyun.com/product/yunxiao/) * 创建完成后,可看到上传教程,能获取到 https 地址 在代码管理中创建仓库 进入工作台,选择代码管理 obsidian操作 * 安装插件 git * * 设置git插件 * 设置git提交过滤文件,避免很多无效的内容提交; 命令行 Git: Edit .gitignore 在文本框中填写忽略内容格式 ⚠️这里会使用大量的命令行;命令行快捷键 【cmd+p】/ 【Ctrl+P】 在市场中搜索git,在当前页面中完成安装并启用 设置页面-第三方插件-社区市场插件-浏览 (会要求关闭安全模式) # 日志文件 *.log # 软件缓存文件 .obsidian/cache/.obsidian/

By Ne0inhk
Git 高级用法实战指南:从协作到故障恢复,效率提升十倍

Git 高级用法实战指南:从协作到故障恢复,效率提升十倍

Git 是程序员必备的版本控制工具,绝大多数开发者都掌握了 git add、git commit、git push、git pull 等基础用法。但在多人协作、复杂版本管理、故障恢复等场景下,基础用法远远不够用:分支混乱导致代码冲突不断,误提交敏感信息无法撤回,合并代码时引入 Bug 难以定位,版本回滚时操作失误导致代码丢失…… 这些问题每天都在消耗开发者的时间,降低团队协作效率。 实际上,Git 提供了强大的高级功能,能完美解决这些痛点:rebase 让提交历史更整洁,cherry-pick 实现精准代码移植,stash 临时保存工作进度,reset/revert 安全回滚版本,git flow 规范分支管理…… 掌握这些高级用法,能让你从 Git 新手蜕变为 Git 高手,协作效率提升十倍,轻松应对各种复杂场景。本文结合实战场景,拆解

By Ne0inhk
geo优化工具geo源码完全开源部署搭建

geo优化工具geo源码完全开源部署搭建

开源GEO优化工具部署指南 GEO(基因表达 Omnibus)优化工具通常指用于分析基因表达数据的开源工具,以下为完全开源部署的典型方案: 环境准备 * 操作系统:Linux(推荐Ubuntu 20.04+)或Windows Subsystem for Linux * 依赖工具:Docker 20.10+、Python 3.8+、R 4.0+ * 硬件要求:至少4核CPU/8GB内存/50GB存储空间 获取源码 常见开源GEO工具库可通过Git克隆: bash复制插入 git clone https://github.com/geopython/geoapi.git git clone https://github.com/bioconductor/GEOquery 复制插入 数据库部署

By Ne0inhk
告别文件上传限制!Gemini读取GitHub仓库开发大型项目教程(超详细图文版)

告别文件上传限制!Gemini读取GitHub仓库开发大型项目教程(超详细图文版)

在大型项目开发中,用Gemini辅助开发时,不少开发者都会陷入文件上传的困境——单次上传数量、大小受限,无法完整提交全部代码,导致AI缺失项目上下文,难以识别模块依赖,代码调整低效且易出错。本文针对性解决这一痛点,核心方案的是通过GitHub托管项目全量代码,让Gemini直接读取仓库内容,获取完整开发上下文。全文全程实操、零门槛,覆盖仓库准备、关联授权、读取开发全流程,新手也能轻松上手,高效用Gemini助力大型项目开发。 一、GitHub仓库准备+代码上传 1.1 GitHub端:注册/登录账号,新建仓库 这一步之前已经介绍过了,此处不再详细说明,详情可参考PyCharm通过Git指令上传代码到GitHub仓库 1.2 Gemini端:登录账号 网上有很多如何注册学生优惠的Gemini账号,当然不想麻烦市面上页有很多成品号出售,但是切记科学上网的节点要始终保持一致,笔者因为频繁切换节点已经被封了2个Gemini账号了。 二、关键步骤:让Gemini读取GitHub仓库(核心实操) 2.1 Gemini直接输入GitHub仓库链接,自动解析读取 【注】:这种方式导

By Ne0inhk