Harmonist
用 IDE 钩子强制执行多智能体开发流程中的审查、记忆与完整性检查。
按维度查看评分与理由
证据显示:有只读代理的能力限制(readonly 字段)和并发子代理上限;beforeShellExecution 钩子对危险命令提供人工确认;数据流通过钩子状态文件和内存 CLI 透明;内存 CLI 扫描约30类密钥模式并拒绝泄露;零第三方依赖,MANIFEST.sha256 验证供应链;外部影响限于项目内文件写入和命令执行,有 HITL 门;升级前有 sha 验证,内存有 rotate 可回滚;发布者身份未验证,仅从 README 和 SECURITY.md 推断维护责任。扣分:发布者未验证,来源归属仅基于自述;用户确认仅针对危险命令,非所有外部操作;回滚仅限内存文件,非完整系统。
证据显示:README 声称的代理数量(193)与徽章(193)一致,但描述中一处写186,存在轻微不一致;依赖仅 Python 3.9+ 和可选 Bash,均为常见环境;失败消息在钩子测试中明确(如 followup_message、EXHAUSTED)。扣分:自述中代理数量不一致;失败消息的完整性未在真实 IDE 环境中验证。
证据显示:面向多种 AI 编码助手(Cursor、Claude Code 等),场景覆盖广泛;能力边界通过协议类型(strict/persona)和只读限制定义;触发通过钩子阶段和 AGENT 标记精确控制;环境适配包括 Windows/macOS/Linux,纯 Python 实现。扣分:能力边界依赖代理元数据,未验证所有代理;触发精度依赖 IDE 钩子支持,未在真实 IDE 中测试。
证据显示:信息架构清晰,有目录、架构图、文档链接;安装说明详细(三种方式);命名稳定(版本号、代理 slug);有示例和 FAQ 部分;已知限制未明确列出;MIT 许可证明确;有 CHANGELOG 和版本文件;维护责任由 GammaLab 承担,但未验证。扣分:已知限制部分缺失;维护责任仅基于自述。
证据显示:输出为结构化内存条目和钩子消息,可直接使用;边际价值高,提供机械协议执行和供应链验证;成本低,零依赖,安装简单。扣分:输出可用性未在真实 IDE 中验证;边际价值基于自述,未独立测试。
证据显示:README 中的声明(如代理数量、测试数量)有对应文件(index.json、CI 配置)支持;多个测试脚本(hooks/tests、memory/tests)提供交叉验证;事实与推断在 README 中基本分离,但部分宣传性语言(如“paranoid-level”)属于推断。扣分:声明未独立验证;交叉验证仅限仓库内部。
- 发布者身份未验证,来源归属仅基于自述,需谨慎对待。
- 代理数量在描述中存在不一致(186 vs 193),需核实。
- 已知限制未明确列出,可能隐藏潜在问题。
- 所有声明均基于静态源码,未在真实 IDE 环境中验证。
这个 Agent 能做什么,适合哪些场景?
Harmonist 是一个放入现有项目的 AI 辅助开发工作流包,而不是应用程序运行时框架。它提供 193 个带结构化元数据的专业角色,并通过 agents/index.json 按领域、角色和标签路由任务。集成后,hooks/ 会安装到项目的 .cursor/hooks/,跟踪子代理调度、文件编辑、内存更新和会话结束,并由 stop 钩子检查 QA 审查、其他审查要求及 session-handoff.md 更新。它还包含 .cursor/memory/ 的校验式记忆 CLI、基于 SHA-256 的 MANIFEST.sha256 完整性校验,以及 repomap.py 本地代码索引。该项目主要面向 Cursor;同时提供 Claude Code、GitHub Copilot、Windsurf、Aider、Gemini CLI 等工具的转换或安装路径,但非 Cursor 环境中的执行约束会退化为约定加校验。
集成时,agents/scripts/integrate.py 读取包目录与目标项目,选择 agents/index.json 中匹配项目角色和领域的专家,生成项目级 AGENTS.md、.cursor/agents/、.cursor/rules/、.cursor/memory/ 与钩子配置。运行期间,sessionStart、afterFileEdit、subagentStart、subagentStop、beforeShellExecution 和 stop 钩子记录会话状态;stop 会在发生文件修改后检查至少一个 review 类代理、qa-verifier 以及 .cursor/memory/session-handoff.md 是否完成。memory.py append 为记忆条目生成 id、读取钩子生成的 correlation_id、按 memory/SCHEMA.md 校验,并扫描秘密模式;memory.py 还提供 search、latest 与 rotate。upgrade.py 在复制前校验 MANIFEST.sha256,可创建快照并支持回滚;repomap.py 可 build、explore、search、impact、affected 与 refresh 本地符号和导入图索引。
- 使用 Cursor 开发支付或认证功能的团队,希望每次代码改动在结束前都必须调度 qa-verifier 和审查代理。
- 维护多个工程领域的产品团队,需要从 193 个目录角色中按项目声明的 domains、roles 和任务标签选择专家。
- 需要将 AI 辅助开发的状态、架构决策和经验沉淀为可校验、可搜索且会扫描泄密内容的本地记忆的项目。
- 担心被篡改的代理定义或安装包内容进入项目的团队,可在集成、额外安装和升级时使用清单校验。
- 首次接手大型代码库的开发者,希望通过 repomap.py 查询符号、依赖关系、变更影响范围和可能受影响的测试。
这个 Agent 有哪些优点和局限?
- 将完成条件放入 session、文件编辑和 stop 钩子中;代码改动缺少 QA、审查或交接记忆时可返回 followup_message,而非只依赖提示词。
- 代理目录采用统一 Schema v2 元数据,并通过 agents/index.json 按 domains × roles × tags 路由,而非固定角色名单。
- MANIFEST.sha256、upgrade.py 和 install_extras.py 在复制前校验来源文件,并可通过 .cursor/pack-manifest.json 检测安装后的漂移。
- 运行工具以 Python 标准库实现,文档说明原生 Windows 可使用纯 Python 钩子路径,无需 Docker、npm 或第三方 Python 包。
- 最强的机械执行约束依赖 Cursor;其他支持工具被明确描述为使用约定加校验的降级模式。
- 采用流程门禁会增加每次代码修改的步骤:需调度审查代理、qa-verifier,并更新 session-handoff.md;失败时最多会触发三次补做循环。
- 需要将框架作为项目子目录集成,并在项目中生成 .cursor/ 配置、代理、记忆和本地状态文件,现有流程需要适配。
- 要求 Python 3.9+、Git 和支持子代理调度的编码助手;Bash 虽为可选项,但 POSIX 便利脚本和 shell 测试依赖它。
如何安装或部署这个 Agent?
前提是 Python 3.9+、Git,以及支持子代理调度的 AI 编码助手。未说明需要 API 密钥或其他凭据。将仓库克隆到目标项目的子目录后运行:
cd your-project/
git clone https://github.com/GammaLabTechnologies/harmonist.gitpython3 harmonist/agents/scripts/integrate.py --pack harmonist --project .
在原生 Windows 中可使用:
py -3 harmonist\agents\scripts\integrate.py --pack harmonist --project .
也可在 Cursor Agent 模式中粘贴 integration-prompt.md 的内容完成交互式集成。
如何使用这个 Agent?
完成集成后,在受支持的编码助手中按项目生成的 AGENTS.md 调度任务。发生代码修改时,钩子会记录状态;在会话结束前,stop 钩子会要求已运行所需审查、qa-verifier,并更新 .cursor/memory/session-handoff.md。可用如下命令检查安装结果:
python3 .cursor/memory/memory.py latest --file session-handoff --n 5
python3 .cursor/repomap/repomap.py explore "<question / symbol names>"如需为其他支持工具生成工件,可运行:
python3 agents/scripts/convert.py --tool <name>
python3 agents/scripts/install.py这个 Agent 与同类方案有什么区别?
Harmonist 将自己定位为治理 AI 编码工作流的项目内置包,而非用于构建智能体应用的 LangChain、CrewAI、AutoGen 或 MetaGPT 替代品。文档称这些框架提供编排原语,而 Harmonist 通过 IDE 钩子约束编码助手的审查、记忆和完成流程;两者可以同时使用。