目录:ACP 协议API 网关与控制器附件启动与插件管理客户端运行时客户端 UI 包上下文压缩上下文注入核心运行时凭据与授权交付物文档处理实验特性宿主扩展反馈通道文件系统目标与计划工具守卫Hooks 扩展宿主服务交互命令作业调度LLM 适配LSP 集成MCP 协议规划模式Agent 预设代码执行运行时运行时诊断沙箱定时调度SDK 与协议会话核心会话检索设置Shell 执行技能溢出存储SSH 远程执行存储子代理子进程终端待办类型契约框架 vendorWeb 访问Webhook工作流工作区
依赖链 · 上游(该插件依赖的前驱):
依赖链 · 下游(依赖该插件的节点):
同一拓扑层(Layer 3,层次遍历层序):
dsh-api-gatewaydsh-commandsdsh-config-editordsh-deepseek-account-platformdsh-experimental-webworker-runtimedsh-hook-protocoldsh-host-frontend-staticdsh-host-open-in-appdsh-llm-pi-aidsh-personadsh-session-log-deepseekdsh-session-persistence-jsonldsh-session-projectiondsh-session-query-sqlitedsh-session-telemetry-oteldsh-skill-badgedsh-skill-filesystemdsh-skill-officedsh-user-approvaldsh-web-fetch-httpdsh-web-search-exadsh-web-search-perplexitydsh-webhook-githubdsh-workspace
插件信息
| 包名 | @deepseek-ai/dsh-hook-protocol |
|---|---|
| 分组 | G19 · Hooks 扩展 |
| 拓扑层 | Layer 3(层次遍历:被依赖方先于依赖方) |
| 源码路径 | packages/hooks/hook-protocol |
| 来源层 | L3 其余插件(独立于 bundle 装配的扩展/变体/示例) |
① 实现逻辑
不注册插件的共享协议库:导出方言中立的 matcher 匹配(Claude 字面/正则双模、Codex 全正则)、codec 对退出码与 stdout 的解码、merge 的「最严格优先」结果折叠、runner 经 shell 执行 hook,以及 events/detached 工具(src/index.ts:9-25)。runner.ts 用注入的 shell 执行器运行命令,并把基础设施异常降级为无退出码的非阻断结果(src/runner.ts:67-105)。events.ts 追加成对的 hook/invoked、hook/result 持久事件(src/events.ts:75-103),invariant.ts 校验其配对与 open-turn 边界(src/invariant.ts:31-113)。
内部结构动态 DAG(深色主题:橙色=上游依赖 · 绿色=下游依赖 · 棕色=外部seam · 蓝=本插件)
本插件
上游依赖
下游依赖
外部 seam
② 注册/提供(provides)
- hook 协议库 (匹配/解码/合并/执行/持久事件/脱离运行静默) 供各方言桥复用
- hook-protocol-invariant 不变量伴随件 (hook invoked/result 配对与轮次边界校验)
③ 依赖(depends_on · 上游前驱)
dsh-invariantsE1+E2
注册 hook 事件配对不变量伴随件
src/invariant.ts:5 import InvariantInstaller + src/invariant.ts:13 inject ['invariants'] + src/invariant.ts:122 ctx.invariants.register
dsh-sessionE1+E2
追加 hook/invoked、hook/result 持久会话事件
src/events.ts:9 import Session + src/events.ts:76 session.append('hook/invoked', ...)
④ 被依赖(dependents · 下游消费者)
dsh-hooks-claude-code
复用共享的 hook 执行/解析/合并/持久事件与 matcher 校验
src/index.ts:27-39 import (runHook, mergeHookOutputs, appendHookInvoked, ...) + src/index.ts:169 runHook(...) + src/config.ts:9 import matcherDiagnostic
dsh-hooks-codex
复用共享的 hook 执行/解析/合并/持久事件与 matcher 校验
src/index.ts:30-42 import (runHook, mergeHookOutputs, appendHookInvoked, ...) + src/index.ts:147 runHook(...) + src/config.ts:8 import matcherDiagnostic