Repository navigation
v0.1.0 — fork 首个发布到 npm 的版本
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。