Appearance
钩子
什么是钩子
钩子,也叫“hook”,专业上来说,它是注册在执行任务关键节点的拦截器,允许在模型推理或者工具执行前后,强制插入自定义的逻辑,用来校验、修改、阻断或者增强行为。
用类比的方式来说,钩子相当于在教室门口的监考老师,学生进入考场的这个关键节点,监考老师会“拦截”下来检查,你带了准考证了吗,你带的工具合规了吗。
钩子的不同类型
Taiwe助手提供多种钩子类型。
1、工具执行钩子
这些钩子在工具执行之前和之后拦截和验证工具操作。使用它们来执行策略、跟踪更改并从操作中学习。具体有:
PreToolUse
在Taiwe助手使用任何工具之前立即触发。使用它在更改发生之前阻止无效操作、验证参数和执行项目策略。
PostToolUse
在Taiwe助手使用任何工具之后立即触发。使用它从结果中学习、跟踪性能指标并基于执行的操作构建项目知识。
2、用户交互钩子
这类钩子监控和增强与Taiwe助手的用户通信。使用它们来验证输入、注入上下文和跟踪交互模式。
UserPromptSubmit
当用户在提示框中输入文本并按 Enter 键以开始新任务、继续已完成的任务或恢复已取消的任务时触发。使用它来验证输入、基于提示注入上下文和跟踪交互模式。
3、任务生命周期钩子
这些钩子监控和响应从开始到完成的任务状态更改。使用它们来跟踪进度、恢复状态和触发工作流。
TaskStart
在新任务开始时触发一次。使用它来检测项目类型、初始化跟踪并注入初始上下文。
TaskResume
当用户恢复已取消或中止的任务时触发。使用它来恢复状态、刷新上下文并记录恢复情况以进行分析或外部系统通知。
TaskCancel
当用户取消任务或中止钩子执行时触发。使用它来清理资源、记录取消详细信息并通知外部系统有关中断的工作。
TaskComplete
当Taiwe助手完成其工作并成功执行“attempt_completion”工具以完成任务输出时触发。使用它来跟踪完成指标、生成报告、记录任务结果和触发完成工作流。
4、系统事件钩子
这些钩子监控内部 Taiwe助手 操作和系统级事件。使用它们来跟踪上下文使用、记录系统行为和分析性能模式。
钩子的执行环境
钩子是具有运行权限的可执行脚本。它们具有对以下内容的无限制访问:
- 整个文件系统(用户可以访问的任何文件)
- 所有环境变量
- 系统命令和工具
- 网络资源
钩子可以执行用户可以在终端中执行的任何操作,包括读取和写入工作区之外的文件、发出网络请求和执行系统命令。
鉴于它的运行权限级别较高,务必在启用之前审查来自不受信任来源的钩子。
钩子设定
您可以通过Taiwe助手最下方的按钮打开钩子设置面板,如下图:
它也提供两种类型的钩子,全局钩子和项目(工作区)钩子,全局钩子在我的文档目录下的 Cline/Hooks/ 下,项目钩子在项目目录下的 .clinerules/hooks