一个钩子会对Coroid中发生的特定事件做出响应。你可以选择对应事件,用自然语言编写指令,当事件触发时钩子便会运行。
可在以下路径找到它们:设置 → 自动化 → 自动化任务.
可响应的事件
| 类别 | 示例 |
|---|---|
| 任务 | 已创建、状态变更、阶段变更、已完成、失败 |
| 智能体 | 已启动、迭代中、调用工具、已完成、出错 |
| 代码仓库 | 推送提交、创建分支、pull request被打开、pull request被合并 |
| 分析 | 发现依赖项、存在安全问题、分析完成 |
| 同步 | 外部数据源更新 |
| 部署 | 已启动、已完成、失败 |
默认设置为只读模式
钩子仅负责分析和汇报。它们可以创建后续工作任务,但不会直接修改你的代码。
正是这一默认设置确保了它们的安全性。若自动化机制在事件触发时直接编辑代码,往往会在最缺乏监管的时刻执行操作。而钩子若创建一个任务则可通过常规流程达成相同结果——即需求说明、规划、验证、评审以及pull request。
编写优质的指令
钩子指令会由模型处理,因此其表述方式类似给同事的指令,而非代码。其质量要求与需求说明一致:明确说明要关注的内容、关键要点以及具体操作方法。
需明确指定“无需执行任何操作”的情况。若缺少该设定,钩子每次运行时都会生成输出内容,而频繁触发的钩子往往会被人忽略。
防护机制
由于事件驱动的自动化容易出现可预测的问题,因此设置了三项防护措施:
**速率限制。**可针对每个钩子分别配置每分钟、每小时及每天的触发上限。若某个钩子关联高频事件,在合并操作繁忙时可能会触发数百次。
**链式深度限制。**钩子可触发事件,进而再触发其他钩子。通过设定最大链式深度可避免形成无限循环。
**工具权限控制。**钩子可访问的范围受到管控——只读权限、MCP调用及任务创建等功能均单独受控。
权限
钩子管理仅限管理员操作;所有成员均可查看钩子及其执行记录。鉴于钩子具有组织级作用范围,这种权限划分是刻意设计的。
监控钩子运行情况
每个钩子都会留存交付日志和分析数据。启用新钩子后请查看相关日志——其故障模式并非报错,而是持续触发却未产生任何有效结果。
钩子、定时任务与Sentinel
| 运行机制 | 触发条件 |
|---|---|
| 钩子 | 平台事件 |
| 定时任务 | 时间 |
| Sentinel | 被监测的条件 |