DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
P

@beyondandsharp/dsh-plugin-scaling

Plugin Scaling

DSH web shell 的独立窗格缩放:在窗格上使用 Ctrl+滚轮,或对焦窗格使用 Ctrl+± / Ctrl+0。适用于官方外观和所有皮肤。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:BeyondandSharp/dsh-plugin-scaling#ca886d1bf47f7a80d8da015922bdb967a1e23262
README兼容性版本

兼容性与来源证明

Plugin Scaling 以 @beyondandsharp/dsh-plugin-scaling 发布,当前版本为 0.2.4。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/17

版本

0.2.4stable
2026/10/17
0.2.2stable
2026/9/30
0.1.1stable
2026/9/29
查看其余 1 个版本收起版本
0.1.0stable
2026/9/28

相关插件

正在加载相关插件…

最新版
0.2.4
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/17
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundle新的用户提示到达时刷新会话标题。Personalized Recommendations@deepseek-ai/dsh-personalized-recommendations回答下方以卡片形式提供个性化页面和内置插件推荐Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义

README

dsh-plugin-scaling

给 DSH Web GUI 的三栏(左栏 / 中间主窗口 / 右栏)做各自独立的整体缩放:1%–500%。 纯前端插件:不改宿主、不依赖皮肤,数值存在插件自己的 localStorage 里。

每档步长是按当前值的比例走的(不小于 1%):100% 时一格 = 5%(和原来一致), 20% 以下一格 = 1%,接近 500% 时一格 = 25% —— 这样 1% 与 500% 两端都在几下之内够得着。

用法

操作作用
Ctrl / ⌘ + 滚轮缩放指针所在栏
Ctrl / ⌘ + + / -缩放焦点所在栏
Ctrl / ⌘ + 0把该栏复位到 100%

右栏拆成两列后,两列各算一栏、各自独立缩放。每次变化右下角会显示一下「栏名 + 百分比」。

悬停会话里「已修改文件」的行会弹出 diff 预览,它同样是独立的缩放对象:指针停在预览上时 Ctrl+滚轮 只缩放卡片里的 diff 内容——卡片本身的边框、内边距与位置保持宿主的样式不动, 三栏取值也不受影响(在此之前事件会落到浏览器,触发整页缩放)。

预览是临时的:鼠标移开、卡片关闭后它的缩放值会清零,下次悬停打开的是 100% 的新卡片。 键盘路径按「焦点所在栏」解析,而预览卡片不可聚焦,所以复位预览请用 Ctrl+滚轮 往回滚。

alt text alt text

安装

包内 lib/ 已入库,安装后不需要再构建:

# 本地安装
dsh plugin --profile web add /root/dsh-plugin-scaling
# 从npm安装
dsh plugin --profile web add @beyondandsharp/dsh-plugin-scaling
# 或从 git 安装
dsh plugin --profile web add github:BeyondandSharp/dsh-plugin-scaling

装完刷新页面即可用。在「设置 → 插件」里可以停用:停用即完全恢复浏览器原生缩放,不留任何属性、样式、监听器或提示条。

存储

数值按浏览器保存,刷新/重启后恢复:

localStorage['dsh.plugin-scaling.v1'] = {"left":1,"center":1,"right":1,"right-1":1}

right 是第一列、right-1 是右栏第二列。存储不可用(隐私模式等)时退化为纯内存;损坏或越界的项按项忽略并夹紧到 1%–500%。

缩放机制由引擎探针决定,并且按栏落地:Gecko(Firefox)上侧栏用 transform(修 border-image 装饰), 中栏始终用 zoom(它的文本/代码块选择必须与鼠标对齐 —— 真实 Gecko 会话里 transform 臂下拖选会偏出好几行且左右不齐); 其它引擎全部用 zoom——Gecko 的 zoom 不作用于 border-image 的九宫格几何,会让皮肤用对称素材画的装饰(「新会话」缎带、输入框外框) 右端帽被拉伸或整框断开。该臂按栏打标、只在缩放 ≠ 100% 时生效;含工具栏的栏(中栏)把 transform 打在工具栏下方的内容上,所以会话头始终不受影响。

中栏里唯一那处九宫格装饰(皮肤画在输入框上的外框)由输入框座位自己补一次变换:座位先取消继承的 zoom,再用 transform 把该栏的倍数画回去,使九宫格几何按 1:1 计算;同时补偿座位的布局宽度与横向位置, 所以 1%–500% 全程输入框都保持居中、不会左右偏移,也不会给会话区添出横向滚动条。

需要钉死机制时可以写存储项(改完刷新):

localStorage['dsh.plugin-scaling.mechanism'] = 'zoom' // 或 'transform' / 'auto'

取舍与原因见 docs/DESIGN.md。

说明

  • 官方默认外观与大多数皮肤(maid-atelier、orca-link …)下行为一致,只使用宿主设计 token;与「设置 → 通用 → 内容字号」是相乘关系。
  • 中栏顶部那一行(会话标题、视图页签、打开右栏的按钮)不跟着中栏缩放,始终按 100% 渲染;缩放只作用于它下面的内容。指针停在这一行上时 Ctrl+滚轮 交给浏览器做整页缩放,栏内其它位置仍是该栏缩放。
  • 侧栏终端随栏缩放时,插件会修正指针坐标:xterm.js 用布局尺寸算单元格、用视觉坐标取指针位置,任何 CSS 缩放都会让拖选偏移一个缩放倍数,所以指针位置会按 1/缩放 映射回终端坐标空间后再重放(真实 xterm 验证过:Firefox/Chromium、zoom 与 transform 都正确)。
  • Gecko(Firefox)下 border-image 类皮肤装饰的右端帽会被默认的 zoom 拉伸;上面的 transform 开关可修好这一条(该臂仍在验证中,见 DESIGN 里的取舍说明)。
  • Web 壳的 Ctrl+±/0 键位固定(宿主快捷键服务把 Ctrl+= 判为浏览器保留组合而拒绝注册);Electron 桌面壳上会注册成三条可改键命令,出现在「设置 → 快捷键」。
  • 更细的取舍与实现说明(自校准、皮肤栏级装饰、宽度补偿等)见 docs/DESIGN.md。

开发

pnpm install        # 见 pnpm-workspace.yaml:不自动安装可选的宿主 peer
pnpm test           # vitest + jsdom
pnpm run build      # tsdown → lib/index.js + lib/client.js

发版

pnpm release 0.2.0            # 也可以用 patch | minor | major | prerelease

scripts/release.sh 的流程:

  1. 预检:仓库根、分支、工作区是否干净(有未提交改动直接拒绝,--allow-dirty 可跳过)、 当前版本、npm/pnpm 可用性、npm 登录状态、推送远端(origin → 分支上游 → 唯一远端)。 未登录时会直接执行 npm login/pnpm login 并等待你完成登录,然后继续(非交互终端会直接报错中止, 以免把提交/标签/推送做完才发现没登录)。
  2. 版本校验:必须严格大于 package.json 里的版本,也要大于 npm 上已发布的最新版; 本地标签或 registry 上已存在同版本会直接中止。任何一步失败都会把 package.json 回滚。
  3. 测试与构建 → pnpm test + pnpm run build,并检查 lib/index.js、lib/client.js、 cordis.patch.yml 都在。
  4. 打包预览:npm pack --dry-run,核对 files 白名单确实包含入口与文档。
  5. 提交与打标签:chore(pkg): bump version to X.Y.Z + 附注标签 X.Y.Z(与仓库现有标签风格一致)。
  6. 同步上游:推送当前分支与标签到 origin(--no-push 可跳过)。
  7. npm publish --dry-run:不写 registry,只打印将要发布的内容。
  8. 二次确认:终端里确认后才真正 npm publish;npm 给出二次验证链接时,在浏览器完成授权, 脚本会等它结束(没有网页验证时可用 --otp <code>)。
  9. 以退出码为准结束:npm publish 不报错即视为发布成功(不做发布后的 registry 轮询); 报错时给出单条重试与整条回滚的命令。

其它开关:--dry-run(全流程演练,什么都不写)、--no-publish(只提交/打标签/推送)、 --tag <name>(dist-tag,默认正式版 latest、预发布 next)、--yes(自动化场景跳过确认)。

许可

MIT,见 LICENSE。build/ 下的两个构建预设逐字 vendored 自 dsh-deep-whale(上游是 dsh-web-ui 的共享皮肤工程预设),同许可,署名见 docs/DESIGN.md。