跳过主要内容
通过 Hooks,您可以在关键时刻将自定义逻辑注入到 Cline 的工作流中。将它们视为自动检查点,您可以在操作执行前进行验证,在工具使用过程中进行监控,并影响 Cline 的决策方式。 Hooks 会在开发过程中发生特定事件时自动运行。它们会接收有关每次操作的详细信息,可以在有问题的操作引起问题之前将其阻止,并且可以注入上下文来指导未来的 AI 决策。 真正的强大之处在于结合这些能力。您可以:
  • 在操作导致问题之前将其停止(例如,在 TypeScript 项目中创建 .js 文件)
  • 从正在发生的事情中学习并随着时间的推移积累项目知识
  • 监控性能并及时发现问题
  • 跟踪所有内容以进行分析或合规性检查
  • 在适当的时机触发外部工具或服务

入门

Hooks in action
Hooks 适用于所有平台:Windows、macOS 和 Linux。本文档中的 bash 示例适用于所有平台上的标准 shell(包括 Windows 上的 Git Bash 或 WSL)。
通过内置的 hooks 管理界面,在 Cline 中设置 hooks 非常方便。以下是入门方法:
1

访问 Hooks 界面

导航到 Hooks 管理界面
Hooks management interface showing Global Hooks and project-specific hooks with dropdown menu
  1. 打开 Cline(确保在设置中启用了 hooks)
  2. 在顶部查找“Hooks”选项卡(与 Rules 和 Workflows 并列)
  3. 点击“Hooks”打开 hooks 管理面板
界面会向您显示所有可用的 hook 类型以及按工作区组织起来的现有 hooks。
2

了解 Hook 位置

Hooks 在界面中按位置自动组织:全局 Hooks - 适用于所有工作区:
  • 存储在 ~/Documents/Cline/Hooks/
  • 非常适合个人编码标准和通用规则
项目特定 Hooks - 仅适用于当前项目
  • 存储在您的仓库中的 .clinerules/hooks/
  • 非常适合项目特定的验证和团队工作流
  • 可以提交到版本控制以便团队共享
多根工作区会运行开放工作区中所有仓库的 hooks,从而轻松管理和运行同一工作区中不同仓库的 hooks。
3

创建您的第一个 Hook

使用直观的界面创建 hooks
Empty hooks interface showing New hook... dropdowns for both Global Hooks and project-specific hooks before any hooks are created
  1. 选择位置:决定是使用全局 hooks 还是项目特定 hooks
  2. 选择 hook 类型:点击所选位置中的“New hook…”下拉菜单
  3. 选择 hook 类型:下拉菜单显示此位置尚未创建的所有可用 hook 类型。每个 hooks 目录只允许存在一个相同类型的 hook,因此下拉菜单会自动过滤以仅显示剩余的可用类型。
Creating a new hook with the dropdown menu showing UserPromptSubmit selected with description
  1. 审查并编辑 hook:点击铅笔图标审查 hook 代码并添加您的自定义逻辑
  2. 启用 hook:一旦您了解并批准 hook 的行为,切换开关以激活它
Hook management controls showing toggle, edit, and delete buttons for each hook
在启用 hook 之前务必审查其代码。Hooks 会在您的工作流中自动执行,因此在激活之前了解它们的功能非常重要。
4

测试您的 Hook

要开发和完善您的 hook,您需要在测试期间多次触发它。每种 hook 类型都在 Cline 工作流中的不同事件触发。例如:
  • TaskStart hook 在您开始新任务时触发
  • PreToolUse hook 在 Cline 执行文件编辑等工具之前触发
  • PostToolUse hook 在工具执行完成后触发
  • UserPromptSubmit hook 在您向 Cline 提交消息时触发
有关每种 hook 类型何时触发以及如何有效测试它们的完整详细信息,请参阅 Hook 参考文档。这包括触发每个 hook 的特定条件以及在开发过程中如何调用它们的示例。
从只记录信息的简单 hook 开始,然后再构建复杂的验证逻辑。这有助于您理解数据结构和时机。

您可以构建什么

一旦您掌握了基础知识,hooks 就会带来无限的创造可能性

智能代码审查

在文件保存之前运行 linters 或自定义验证器。阻止未通过检查的提交。随着时间的推移跟踪代码质量指标。

安全策略执行

防止违反安全策略的操作。检测敏感数据可能暴露的情况。审计所有文件访问以确保合规性。

开发分析

测量不同操作所需的时间。识别 AI 工作模式。从 hook 数据生成生产力报告。

集成中心

当出现特定关键字时连接到问题跟踪器。更新项目管理工具。在适当的时机与外部 API 同步。
关键在于将 hooks 与外部工具结合起来。Hook 可以作为 Cline 工作流与您的其余开发生态系统之间的粘合剂。

探索文档

Hooks 与其他 Cline 功能相辅相成
  • Cline Rules 定义了 hooks 可以执行的高级指导原则
  • Checkpoints 让您可以在 hook 未捕获到问题时回滚更改
  • Auto-Approve 与作为自动化操作安全网的 hooks 配合良好