应系统调用Hermes内置测试生成与审查能力:一、用test/目录模板自动生成测试;二、启用ProCode模式批量生成多场景用例;三、集成GitHub技能触发PR级审查;四、基于USER.md用户画像定制策略;五、通过hermes_state.py日志回溯决策依据。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用 Hermes Agent 进行开发时希望提升测试覆盖率与代码质量,但手动编写测试用例和审查逻辑耗时低效,则可能是由于缺乏对 Hermes 内置测试生成与审查能力的系统性调用。以下是实现该目标的具体路径:
一、利用 test/ 目录下的自动化测试模板生成用例
该方法基于 Hermes Agent 已预置的测试结构,通过复用 tests/agent/ 和 tests/tools/ 中的标准模板,快速生成符合项目上下文的测试骨架。Agent 会结合当前代码文件的函数签名、类型注解及 docstring 自动推导输入输出边界。
1、进入项目根目录,确保已激活虚拟环境并完成依赖安装。
2、执行命令:hermes test --generate --target src/my_module.py。
3、检查生成的文件是否位于 tests/test_my_module.py,确认其中包含参数化测试用例与异常路径覆盖。
4、运行生成的测试:pytest tests/test_my_module.py -v,验证基础执行流程是否通过。
二、启用 ProCode 模式批量生成多场景测试用例
ProCode 模式允许 Hermes Agent 将测试生成任务编译为可执行 Python 脚本,一次性调用 terminal、file、browser 等多个工具完成数据准备、断言注入与覆盖率采集,避免传统 Agent 多轮交互导致的语义漂移。
1、在 CLI 中输入:hermes chat -q "Generate exhaustive pytest cases for function parse_json(input_str: str) -> dict, including malformed inputs and edge cases"。
2、等待 Agent 输出一个完整 Python 脚本,保存为 gen_parse_json_tests.py。
3、执行脚本:python gen_parse_json_tests.py --output tests/test_parse_json.py。
4、确认输出文件中包含至少 5 类输入组合:空字符串、JSON 数组、嵌套对象、编码错误字节流、超长字符串截断。
三、集成 skills/github/github-issues/SKILL.md 触发 PR 级代码审查
该技能模块将 Hermes Agent 与 GitHub Pull Request 事件深度绑定,自动提取 diff 内容、匹配历史缺陷模式,并依据 USER.md 中记录的用户编码偏好(如“禁用 eval()”、“强制 type hints”)执行规则化审查。
1、确保 .env 文件中已配置 GITHUB_TOKEN 和 GITHUB_REPO_OWNER/repo_name。
2、在终端运行:hermes skill github-review --pr-number 42。
3、Agent 将拉取 PR diff,识别出新增的 eval() 调用并标记为高风险。
4、审查结果以 Markdown 格式写入 reviews/pr-42-review.md,含行号引用与改进建议。
四、调用 memory/USER.md 中的用户画像定制审查策略
Hermes 的记忆系统在首次交互中已持久化用户技术栈偏好(如“测试框架偏好: pytest,不使用 unittest”),该信息被自动注入所有审查流程,确保生成的测试用例与团队规范一致,而非通用模板。
1、检查 memory/USER.md 是否存在有效内容,例如“用户是 AI/开发者工具工程师,关注团队效能工具”。
2、运行:hermes memory --query "test framework preference",确认返回值为 pytest。
3、在生成测试前,设置环境变量:export HERMES_TEST_FRAMEWORK=pytest。
4、再次触发测试生成命令,验证输出文件头部是否包含 import pytest 且无 import unittest。
五、通过 hermes_state.py 的 SQLite WAL 日志回溯审查决策依据
每次代码审查与测试生成操作均被写入 hermes_state.db 的 WAL 模式日志表,包含原始查询、工具调用链、生成时间戳及 memory 快照哈希,可用于审计审查结论是否基于最新用户画像与代码上下文。
1、使用 SQLite CLI 打开数据库:sqlite3 .hermes_state.db。
2、执行查询:SELECT timestamp, query, memory_hash FROM audit_log WHERE action = 'code_review' ORDER BY timestamp DESC LIMIT 1;。
3、比对返回的 memory_hash 与当前 memory/USER.md 的 SHA256 值是否一致。
4、若不一致,说明审查未基于最新画像,需执行:hermes memory --sync 强制刷新。


















