接入新的 AI 工具
支持 Hook 或插件的 AI 工具,可以直接发送知言家标准事件。
text
目标工具官方 Hook 文档
↓
确认原生事件和身份字段
↓
在工具自己的 Hook / 插件中映射标准动作
↓
驱动统一处理1. 先读目标工具的官方文档
先从目标工具的官网或官方仓库找到 Hook / 插件文档,并记录:
- 配置文件或插件目录在哪里;
- 支持哪些生命周期事件;
- Hook 如何接收事件数据;
- 数据中是否有稳定的会话 ID、回合 ID 和授权/提问请求 ID;
- Hook 是每次启动一个命令,还是运行在长生命周期插件中。
不要根据其他 AI 工具的目录或事件名推测。官方没有提供的事件就不配置。
2. 先完成接入表
修改配置前,先根据官方文档填写一张表:
| 官方原生事件 | 触发时机 | 会话 ID | 回合 ID | 请求 ID | 对应标准事件 |
|---|---|---|---|---|---|
| 从官方文档填写 | 从官方文档填写 | 字段名 | 字段名 | 没有则留空 | 从下一节选择 |
如果无法确认稳定的 turnId,不要直接开始写 Hook。短生命周期 Hook 无法跨事件保存身份时,应改用目标工具的长生命周期插件。
3. 选择标准动作
| 工具原生动作 | 发送的标准事件 |
|---|---|
| 用户提交新消息 | user_message_submitted |
| 请求授权 | approval_requested |
| 请求用户补充信息 | supplement_requested |
| 授权或补充结束,继续处理 | processing_resumed |
| 本轮完成、失败或取消 | turn_completed |
工具没有对应原生动作时跳过,不要编造 Hook。
标准动作还需要以下信息:
| 标准事件 | 必要附加字段 |
|---|---|
user_message_submitted | reason=user_prompt_submitted,level=info |
approval_requested | 原生 requestId,interaction.kind=authorization、status=requested,reason=permission_requested |
supplement_requested | 原生 requestId,interaction.kind=supplement、status=requested,reason=question_requested |
processing_resumed | 复用被解除请求的 requestId,并明确通过、拒绝、已补充或关闭状态 |
turn_completed | outcome.status 使用 completed、failed 或 cancelled |
4. 确定来源和身份
为工具选择一个长期不变的小写 source,建议只使用字母、数字和连字符。显示名称可以以后在驱动中修改,不要把显示名称当作任务身份。
例如 your-tool 可以作为来源 ID 的写法示例。已经完成正式适配的 MiMo Code 请直接使用接入 MiMo Code教程和固定来源 mimo-code。
四类 ID 不可混用:
| 字段 | 表示什么 | 何时复用 |
|---|---|---|
eventId | 一条 Hook 事件 | 同一条事件投递重试时复用 |
sessionId | 一次 AI 会话 | 整个会话期间复用 |
turnId | 用户提交一条消息后产生的一轮任务 | 本轮开始、等待、继续和完成时复用 |
requestId | 一次授权或补充请求 | 请求发出和解除时复用 |
下一轮用户消息必须使用新的 turnId,每条新的 Hook 事件必须使用新的 eventId。
5. 在目标工具一侧发送
插件可以读取 %LOCALAPPDATA%\zy_home_vibe_coding_driver\service.json 中的 baseUrl,向 ${baseUrl}/events 发送标准 JSON。只能接受本机回环地址。
如果原生 Hook 只能执行命令,可以调用驱动随附的 HookBridge,并使用 --source 和 --event 明确指定标准动作:
text
%LOCALAPPDATA%\zy_home_vibe_coding_driver\bin\zy_home_vibe_coding_driver_hookbridge.exe下面只展示参数关系,实际配置格式和字段取值仍以目标工具的官方 Hook 文档为准:
text
hookbridge.exe --source your-tool --event user_message_submitted --session-id <原生会话 ID> --turn-id <原生回合 ID>无论选择哪种方式,原生字段与标准字段的对应关系都由目标工具自己的 Hook 配置或插件完成,不把原始事件交给驱动猜测。
每次发送都必须包含:
json
{
"schemaVersion": 1,
"eventId": "本条 Hook 事件 ID,投递重试时复用",
"source": "your-tool",
"event": "user_message_submitted",
"sessionId": "当前 AI 会话 ID",
"turnId": "当前一轮任务 ID,同轮复用",
"occurredAt": "2026-08-23T09:00:00Z"
}完整字段要求见给 AI 的静态任务包。
6. 按事件链验证
- 先检查目标工具配置语法,再重启目标工具。
- 发送一条普通消息,确认驱动出现自定义来源并进入处理中。
- 只触发官方文档确认支持的授权或补充事件,确认请求和解除使用同一个
requestId。 - 完成本轮,确认同一个
turnId进入完成状态。
收到 HTTP 202 且返回 recognized=true 表示事件格式已被识别;applied 表示任务状态发生了有效变化。
让 AI 协助实施
完成前面的接入表后,可以把工具名、source 和官方文档地址交给 AI:
text
请根据【官方 Hook / 插件文档地址】为【工具名】接入知言家 AI Coding 伴侣,source 使用【来源 ID】。先读取 https://zyhome.run/docs/integrations/custom-hook.txt,再根据官方文档填写原生事件映射并配置。只使用官方确认的事件和字段,不套用其他工具的路径或事件名。