Repository navigation
Releases: hongjunt50-afk/dsh-hooks
Releases · hongjunt50-afk/dsh-hooks
Release list
v0.2.1 — 界面来了:工具栏钩子入口 + 设置页
首个带界面的版本。钩子能力从「只能手改 JSON 文件」变成「界面上能看、能加、能停用」。
新增界面
消息工具栏 🪝 —— 每条助手消息底部那排(复制/点赞/分享)里多一个鱼钩图标。
存过钩子运行记录的消息上它高亮,点开就是这个会话触发过的钩子清单:事件名、命令、
耗时、退出码、注入了什么或被什么理由拦下。浮层用 position: fixed 定位,
不会被消息容器裁切。
设置 → 钩子 —— 五个事件各一张卡,卡下列出该事件的全部钩子。每条能单独
停用(○/●)或删除(✕),底部「+ 添加钩子」填命令、匹配工具、超时即可添加。
改动即时落盘生效,没有单独的保存按钮。页面下方还有配置文件原文编辑器,
保存前校验 JSON,写坏不会落盘。
配置热重载
之前配置只在插件启动时读一次,改完必须重启桌面端。现在:
- 设置页里增删启停或保存 → 立刻重读生效
- 用外部编辑器改
hooks.json→ 下次 GET 时按 mtime/size 指纹发现变化并重读 - 外部把 JSON 改坏 → 保留上一份能用的配置继续跑,只在页面上报错,不让钩子集体失效
修复
- 设置页表单输入丢字符:三个输入框的
onChange捕获了旧 state,快速输入会掉字符,
改为函数式更新setForm((f) => ({ ...f, command: v })) - 状态与编辑器内容自相矛盾:
events来自启动时的旧表,配置在外部改过后页面顶部
仍显示「已停用」而下面编辑器已是新文本
升级
cd ~/.dsh/profiles/desktop/node_modules/@dsh-external/dsh-hooks
git pullHost 半边(lib/index.js)的改动要重启桌面端;client.js 会被宿主的 client 侧
bundle 热重载通道自动接上,等几秒刷新界面即可。若改动没出现,重启一定解决。
自检
四个脚本都不依赖宿主,直接 node 跑:
node _smoke.mjs # 18 项:五个事件、全部决策分支、防自锁、子代理隔离、转义容错
node _client_smoke.mjs # 13 项:client 半边的槽位注册与渲染结构
node _doc_test.mjs # 23 项:配置文本解析与往返保真
node _sync_test.mjs # 10 项:外部改配置的指纹检测与坏文件降级完整安装:见 README。