词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!

💡 一句话总结:掌握所有钩子类型,实现高级插件功能。

| 类型 | 特点 | 用途 |
|---|---|---|
| 事件钩子 | 被动监听,不修改数据 | 日志、通知、统计 |
| 功能钩子 | 主动拦截,可修改数据 | 权限控制、参数修改、数据转换 |
event 统一订阅所有事件:export const MyPlugin: Plugin = async () => {
return {
event: async ({ event }) => {
console.log(`Event: ${event.type}`, event.properties)
},
}
}export const MyPlugin: Plugin = async () => {
return {
"tool.execute.before": async (input, output) => {
// 可以修改 output 影响后续执行
console.log(`Tool: ${input.tool}`)
},
}
}event 钩子订阅,按 event.type 区分:| 事件 | 触发时机 |
|---|---|
command.executed | 斜杠命令执行后 |
| 事件 | 触发时机 |
|---|---|
file.edited | 文件被编辑后 |
file.watcher.updated | 文件监视器检测到变化 |
| 事件 | 触发时机 |
|---|---|
installation.updated | OpenCode 安装/更新后 |
| 事件 | 触发时机 |
|---|---|
lsp.client.diagnostics | LSP 诊断信息更新 |
lsp.updated | LSP 服务状态变化 |
| 事件 | 触发时机 |
|---|---|
message.part.removed | 消息片段被删除 |
message.part.updated | 消息片段被更新 |
message.removed | 消息被删除 |
message.updated | 消息被更新 |
| 事件 | 触发时机 |
|---|---|
permission.replied | 用户响应权限请求 |
permission.updated | 权限状态变化 |
| 事件 |
|---|