KYinCode/dsh-hooks-plugin

KYinCode★ 2JavaScriptLast synced: 2026-08-19

Open on GitHub

Claude Code 风格的 DSH hooks:通过 .dsh/hooks.json 在智能体/工具生命周期事件上运行 shell 命令 | Claude Code style hooks for DeepSeek Harness: shell commands on agent/tool events via .dsh/hooks.json

README excerpt

dsh-hooks-plugin 中文 English 为 DeepSeek Harness 提供 Claude Code 风格的 hooks:在智能体 / 工具生命周期事件上运行 shell 命令,配置来自 .dsh/hooks.json (与 Claude Code hooks 兼容的 JSON 结构)。 产品名是 dsh-hooks ;npm / GitHub 包名是 dsh-hooks-plugin ( dsh-hooks 已被占用)。运行时 API 与日志路径沿用 dsh-hooks 名: /.dsh/logs/dsh-hooks/dsh-hooks.log 与 GET /dsh-hooks/recent (见下)。 目录 - 特性(v1) - 安装 - 配置示例 - hook 字段 schema - CC 兼容边界 - stdin / stdout 协议(CC 兼容) - 开发 / 验证 - 明确不做(边界) - License 特性(v1) - 四层配置 :全局 /.dsh/hooks.json → 预设 /hooks.json → 项目 /.dsh/hooks.json → 项目本地 .dsh/hooks.local.json 。 - CC 兼容 schema 与协议 : matcher[] + hooks[] 结构、stdin JSON 输入 / stdout JSON 决策输出,可复用现有 Claude Code hook 脚本。 - 去重规则对齐 CC 2.1.88 hookDedupKey : command = shell+command+if 、 http = url+if 、 prompt/agent = prompt+if ;同一 key 跨层只执行一次,最后合并层胜出; callback/function 不去重。 - matcher 语义对齐 CC matchesPattern : 全匹配、 A B 管道精确匹配、其余按正则; if 条件支持权限规则语法( Bash(git ) 、 Read( .ts) )。 - 事件 : PreToolUse / PostToolUse / PostToolUseFailure / UserPromptSubmit / SessionStart / SessionEnd / Stop / SubagentEnd 。 - PreToolUse 决策 deny → 官方工具失败卡片(模型看到 Error: )。 - 子代理 :默认触发,输入载荷携带 agent id / agent type / delegation depth ;可用 subagents: false 关闭;命令在触发者自己的沙箱上下文执行。 - 热重载 :项目配置改动自动重新加载( fs.watchFile ),无需重启…

View full README on GitHub →
Agentsclaude-codedeepseek-harnessdshdsh-pluginhookhookspluginagent

Category