Hermes Agent可通过集成gh CLI实现GitHub代码库的自动化深度审查。具体包括:一、启用GitHub代码审查技能;二、对指定PR执行自动化审查;三、本地代码变更预检;四、配置CI/CD流水线集成;五、自定义审查规则集。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望对GitHub上的代码库执行深度检查并实现自动化代码审查,Hermes Agent可通过集成gh CLI与预置技能完成端到端操作。以下是具体实施路径:
一、启用GitHub代码审查技能
该步骤激活Hermes Agent内置的代码审查能力,使其能识别Pull Request变更、调用静态分析工具并生成结构化反馈。技能依赖本地git和gh命令行工具,需确保已正确配置GitHub身份认证。
1、在终端中运行命令安装GitHub代码审查技能:hermes skills install github-code-review
2、验证技能是否成功加载:hermes skills list | grep "github-code-review"
3、若未显示,检查gh是否已登录:gh auth status;如未登录,执行gh auth login并按提示完成OAuth流程。
二、对指定PR执行自动化审查
此方法直接作用于GitHub上已开放的Pull Request,利用Agent调用Claude或GPT-4等模型进行语义级审查,覆盖安全漏洞、逻辑缺陷与风格一致性。
1、确认目标PR编号(例如#42)及目标仓库(例如user/repo)
2、执行审查命令:hermes skills run github-code-review --pr=42 --repo=user/repo
3、等待输出完成,审查结果将包含带行号标注的问题点、修复建议及严重性分级
4、如需导出为Markdown报告,追加参数:--output=review-report.md
三、本地代码变更预检
在推送前对尚未提交至远程的代码修改进行审查,避免问题进入CI流水线,降低后续修复成本。该方式不依赖GitHub API,仅使用本地git索引与工作区快照。
1、确保当前目录为Git仓库根路径
2、暂存待审查的变更:git add .
Git post-commit 钩子 + SQLite 提交索引工具。自动将每次提交的元数据(哈希值、作者、分支、仓库、主题)记录到本地 SQLite 数据库中,随后提供一个命令行接口(CLI),支持查询、列表展示、统计、删除和更新记录。 触发场景:管理 Git 钩子、跨仓库查询提交历史、定位某次提交所属的仓库、查看提交统计信息、将提交记录写入本地索引。 当用户提及“提交日志记录”、“提交索引”、“跨仓库查找提交”、“Git 钩子管理”,或希望以结构化方式查询其提交历史时(即使未明确指出该工具),请使
3、触发本地审查:hermes skills run github-code-review --local
4、审查完成后,Agent将提示是否自动创建修正commit,输入y确认,或手动执行git commit
四、配置CI/CD流水线集成
将Hermes Agent嵌入GitHub Actions工作流,在每次push或pull_request事件触发时自动执行审查,形成强制质量门禁。
1、在仓库根目录创建.github/workflows/hermes-review.yml
2、写入基础配置,指定运行环境为ubuntu-latest,并安装Hermes Agent:curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
3、添加步骤执行审查:hermes skills run github-code-review --pr=${{ github.event.number }} --repo=${{ github.repository }}
4、设置失败时终止流水线:if: ${{ failure() }}
五、自定义审查规则集
通过覆盖默认提示模板,使审查行为适配项目特定规范,例如强制要求JSDoc、禁止eval调用或限定React Hook使用方式。
1、定位模板文件路径:~/.hermes/skills/github-code-review/templates/default.md
2、备份原文件:cp default.md default.md.bak
3、编辑default.md,在“检查项”章节下新增自定义条目,例如:- 确保所有导出函数均配有@returns JSDoc注释
4、保存后重启Agent使变更生效:hermes agentstop && hermes agentstart

















