极客前沿

AI 入门:用本地大模型给代码做自动审查

2026-06-03 01:31
DEV Ollama
查看原文

零基础学会安装 Ollama、配置 Reviewdog,在 GitHub 上免费跑通 AI 代码审查。

你想让 AI 自动检查你提交的代码,并在 GitHub 的 Pull Request 里直接给出评论吗?以前这需要付费的服务,但现在你可以用开源工具自己搭建,完全免费,而且代码不会上传到云端,保护隐私。本文带你一步步从零开始,学会安装 Ollama(一个让你在本地运行大模型的工具)和 Reviewdog(一个把检查结果发到 GitHub 评论的工具),最后跑通你的第一次 AI 代码审查。

Tutorial Image

准备环境

  • 一台能联网的电脑(Windows、macOS 或 Linux 都可以)。如果要用大模型做深度审查,建议有至少 8GB 显存的显卡(没有也能跑,但会慢一些)。
  • 一个 GitHub 账号,并且有一个你可以自由提交 Pull Request 的仓库。
  • 基本的命令行操作能力(打开终端,执行命令)。

安装 Ollama 并下载模型

  1. 打开浏览器,访问 ollama.com,下载对应你操作系统的安装包。
  2. 安装完成后,打开终端(命令行窗口),输入 ollama serve 启动服务。保持这个窗口开着。
  3. 再开一个终端窗口,输入 ollama pull qwen2.5-coder:7b 下载一个适合代码审查的模型(7B 参数,普通电脑也能跑)。如果电脑配置好,可以换成 qwen2.5-coder:32b 效果更好。下载需要几分钟到十几分钟。
  4. 验证安装:输入 ollama run qwen2.5-coder:7b,然后随便问一句“写一个 Python 的 hello world”,如果模型能回答,就成功了。输入 /bye 退出。

配置 Reviewdog 并写一个简单的审查脚本

  1. 在 GitHub 上打开你的仓库,点击“Settings” -> “Actions” -> “General”,确保“Allow GitHub Actions”是开启的。
  2. 在仓库根目录创建文件夹 .github/workflows,在里面新建文件 code-review.yml
  3. 把下面的内容复制进去(这是一个 GitHub Actions 工作流,每次 Pull Request 时自动运行):
    name: AI Code Review
    on:
      pull_request:
        types: [opened, synchronize]
    jobs:
      review:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - name: Install Ollama
            run: |
              curl -fsSL https://ollama.com/install.sh | sh
              ollama serve &
              sleep 5
              ollama pull qwen2.5-coder:7b
          - name: Run Reviewdog
            uses: reviewdog/action-setup@v1
            with:
              reviewdog_version: latest
          - name: Run AI Review
            env:
              REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
            run: |
              git diff origin/${{ github.base_ref }}...HEAD > diff.txt
              python3 -c "
    import subprocess, json
    diff = open('diff.txt').read()
    prompt = f'Review this git diff and list issues as JSON array with objects having \"severity\" (INFO/WARNING/ERROR), \"message\", and \"file\". Diff: {diff}'
    result = subprocess.run(['ollama', 'run', 'qwen2.5-coder:7b', prompt], capture_output=True, text=True)
    comments = json.loads(result.stdout)
    for c in comments:
        print(f'{c[\"file\"]}:{c.get(\"line\", 1)} {c[\"severity\"]} {c[\"message\"]}')
    " | reviewdog -f=rdjsonl -name=\"AI Reviewer\" -reporter=github-pr-review
  4. 保存文件,提交并推送到 GitHub 仓库的默认分支(比如 main)。

验证是否成功

  • 在仓库里创建一个新分支,修改一个代码文件(比如加个明显的 bug),然后提交 Pull Request。
  • 等几分钟,打开 Pull Request 页面,你应该能看到 AI 的评论出现在“Files changed”标签页里。如果没看到,可以点击“Actions”标签查看工作流运行日志,排查错误。
  • 常见坑:如果模型输出不是 JSON 格式,脚本会报错。你可以先手动运行一次 ollama run qwen2.5-coder:7b 测试一下它的输出风格。

下一步可以做什么

  • 换成更强的模型:把 qwen2.5-coder:7b 换成 qwen2.5-coder:32b(需要更好显卡)。
  • 调整审查规则:修改脚本中的 prompt,让 AI 只检查特定类型的错误。
  • 加上传统静态检查:在同一个工作流里添加 ESLint 或 Pylint,与 AI 互补。

内容来源

DEV Ollama

发布时间

2026-06-03 01:31

返回 AI技术