Skip to content

v0.1.0 — fork 首个发布到 npm 的版本

Choose a tag to compare

@panando panando released this 03 Oct 10:30
· 20 commits to main since this release

v0.1.0 — fork 首个发布到 npm 的版本

本版本是 @panando/dsh-pua 首次发布到 npm 的版本,与 npm 上的 0.1.0 内容严格对应。

为什么要有这个 fork

上游把全局开关 alwaysOn 当作总闸:

  • 全局关闭时,聊天栏 PUA 入口不渲染
  • 单个会话无法越过全局闸开启
  • /pua on 被直接拒绝

这导致「入口常显」和「功能默认关闭、随手点开」两个需求无法共存——想用就得全局打开,全局打开就等于一直开着。

本 fork 解除这个限制:入口恒常显示,功能默认仍为关闭,需要时在输入栏菜单点「打开」开启当前会话。

核心改动

文件 改动
lib/client.js 入口渲染门 a(ce) → a(!0),并删除回调中的 ce||e(!1)
lib/remote.js 删除 setSession 中「全局关闭则禁止开启会话」的校验
lib/command.js 删除 /pua 命令的全局闸门及随之无用的 enablesPua
lib/index.js / lib/settings.js / cordis.patch.yml 身份独立化:export name、SETTINGS_NAMESPACE、systemPrompt.section 名、行 id 全部改为独立命名,避免与上游共享设置命名空间
package.json 包名改为 @panando/dsh-pua,开放 npm 发布

踩坑记录:最初只改了 a(ce) → a(!0),漏掉同一表达式里的 ce||e(!1)。因为 alwaysOn 为 false,250ms 轮询会反复把弹窗关掉,表现为「弹窗一闪而过」。解除门禁时必须连带检查依赖同一状态的其他分支。

界面调整

  • 入口改为下拉菜单:打开 / 关闭 / 选项,已开启时「打开」置灰
  • 菜单向上弹出、靠左对齐;caret 朝向跟随展开状态(照搬 DSH 权限选择器实现)
  • 关态改为文字变淡 + 中间横线
  • 面板紧凑化并加宽至 540px
  • 下拉选框降高至 26px,底色用 color-mix 提亮(浅色/深色主题均生效)
  • 关闭按钮改纯图标,保留 aria-label 与焦点环
  • 移除「已自定义」标签、单字段「恢复默认」按钮、语言字段说明——只保留顶部一个「恢复全部继承」

安装

dsh plugin --profile web add @panando/dsh-pua@0.1.0 --registry=https://registry.npmjs.org/

安装后必须重新加载 DSH(或重载 profile),仅刷新浏览器无效。


此前还有一个标记为 v0.3.22-pua.1 的 release,它指向改包名之前的私有版本(dsh-pua@0.3.22、private: true),与 npm 版本号体系不对应,已重命名为 v0.0.0-pre-npm。