Skip to content

Releases

v1.3.1 + v1.3.0 — 弹层修复、安全加固、README 重写

Choose a tag to compare

@cspyz cspyz released this 07 Nov 17:10

1.3.1 — ? 现在真的会打开了

点帮助按钮会切换状态,但屏幕上什么都没有。两个原因,同一个根源:面板被画在宿主头部行内部。

  • 它继承了那一行的堆叠上下文,层级只有 z-index: 60,而宿主自己的层最高到 1100 —— 面板其实渲染了,只是被对话区盖住;
  • 那一行对定宽定位的盒子还有裁剪。

现在面板通过 portal 挂到 document.body 末尾的常驻容器里,层级 z-index: 1200 —— 这是插件市场给自己浮层用的同一条通道。外部点击判断也补上了这个节点,因为它不再是控件的后代。

react-dom 是软解析、容器创建有保护:宿主缺少其中任一项时退回原来的内联渲染,而不是整个控件消失。

升级:重新执行一次 dsh plugin ... add;用脚本安装的到目录里 git pull 后重启一次 DSH(client.js 是宿主模块,不会热重载)。


1.3.0 — 安全加固、选择持久化、README 重写

安全

状态接口(POST /dsh-terse-mode/api/state)现在校验三件事,任一不满足即拒绝:

  • Host 必须是回环地址(127.0.0.1 / localhost / [::1])—— 挡 DNS-rebinding;
  • Origin 必须同源 —— 挡跨站伪造请求;
  • Content-Type 必须是 JSON —— 挡表单式跨站提交。

改档位、开关联网这类状态变更,从此只接受本机同源请求。

修复

  • 面板选择重启后丢失:之前改完看着生效,重启却回到旧值;现在会落盘,重开仍在。
  • 思考强度不再硬塞参数:只发送当前路由确实声明支持的值,避免因模型不支持而整条请求失败。
  • 段落解析加入重试与退避,首屏渲染时机不稳定时不再直接失败。
  • tools.restrict() 遇到本版本不认识的工具名不再抛错,改为跳过并记一条告警。
  • 列上后出现的子代理工具,会在策略生效时一并纳入限制。

文档

README 重写:快速开始、四档说明、思考强度、联网搜索、禁用子代理、设置页入口、桌面端/网页端双部署、可视化面板、实测效果、安全设计、已知边界。修掉「开发」段两处失效路径(错误的 cd terse-mode 与指向不存在文件的设计文档链接)。

测试

95 项全部通过:npm test。CI 在 Node 20 / 22 / 24 上各跑一遍。