Skip to content

钩子 ​

什么是钩子 ​

钩子,也叫“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

TaiWe - 教师AI工作助手