
发布于
2025 年 11 月 6 日
Cline v3.36:Hooks - 将自定义逻辑注入 Cline 工作流
Cline v3.36 附带了钩子(Hooks),这是一个用于在关键决策点将自定义逻辑注入 AI 工作流的系统。
钩子文档
钩子如何工作
钩子是在特定工作流事件触发的可执行脚本。将它们放置在 ~/Documents/Cline/Rules/Hooks/ 用于全局使用,或放置在 .clinerules/hooks/ 用于项目特定的逻辑。您的脚本文件名必须与钩子类型完全匹配(没有扩展名),并且必须使其可执行。
每个钩子通过 stdin 接收包含操作上下文的 JSON。您的脚本处理这些数据并返回控制是否继续执行的 JSON。
#!/usr/bin/env bash
input=$(cat)
# Validate operation
if [[ conditions ]]; then
echo '{"cancel": true, "errorMessage": "Invalid operation"}'
else
echo '{"cancel": false, "contextModification": "WORKSPACE_RULES: Use TypeScript"}'
fi
cancel 字段用于阻止或允许执行。contextModification 字段将文本注入对话中,影响未来的 AI 决策。当 PreToolUse 运行时,AI 已经决定了其操作;您的钩子会对其进行验证。上下文修改会影响下一个 API 请求,而不是当前的请求。
UI 中会为每次钩子执行显示视觉块,显示实时输出并具有展开/折叠功能。用户可以取消正在执行的钩子,此时钩子指示器会变红。恢复功能可在中断后保持钩子状态。
六种钩子类型
- PreToolUse 在执行前验证操作。阻止有问题的操作,例如在 TypeScript 项目中创建
.js文件。接收工具名称和参数。 - PostToolUse 从已完成的操作中学习。跟踪执行结果的性能指标。接收工具名称、参数、执行结果和计时数据。
- UserPromptSubmit 处理用户消息。根据提示词注入上下文或验证输入。接收提示词文本和附件。
- TaskStart 初始化跟踪并检测项目类型。注入初始上下文,以塑造 Cline 如何处理工作。接收任务元数据,包括任务 ID 和初始任务描述。
- TaskResume 在中断后恢复状态。刷新上下文并记录恢复。接收任务元数据和之前的状态信息。
- TaskCancel 在工作停止时处理清理。记录取消详情并通知外部系统。接收任务元数据和完成状态。
每个钩子都会接收基本字段(clineVersion、hookName、timestamp、taskId、workspaceRoots、userId)以及其特定类型的数据。
开始使用
在 Cline 设置中的“功能”下启用钩子。目前,钩子仅支持 macOS 和 Linux。不支持 Windows。
在 v3.36 中,我们还有
- Moonshot 的最新模型 kimi-k2-thinking
- 支持 <think> 标签,以提高与开源模型的兼容性
- 对 GLM-4.6 系统提示词的改进


