DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Ctrl Wheel Zoom — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
C

dsh-ctrl-wheel-zoom

Ctrl Wheel Zoom

DeepSeek Harness Web UI 的 Ctrl+滚轮页面缩放,带有屏幕上的缩放提示和“常规”设置项

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

npx -y @deepseek-ai/dsh plugin --profile web add github:Inoue-Cyrene/dsh-ctrl-wheel-zoom#5b68bf6150d246a836d6ddebc18f5aa7cba79e7b
README兼容性版本

兼容性与来源证明

Ctrl Wheel Zoom 以 dsh-ctrl-wheel-zoom 发布,当前版本为 1.0.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

1.0.1stable
2026/10/16

相关插件

正在加载相关插件…

最新版
1.0.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/16
查看源码 ↗
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 Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Ab Chartdsh-ab-chart带有绘制其调用的浏览器卡片的图表渲染工具,封装在一个可发布的插件包中Client Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH 技能中心:按来源(bundled / project / user / custom / runtime)浏览已加载的技能,在 Web GUI 面板中启用或禁用、创建和删除技能。

README

Ctrl + Wheel Zoom

Hold Ctrl (or ⌘ on macOS) and roll the mouse wheel to zoom the whole Harness Web UI. A page-zoom plugin for the DeepSeek Harness Web GUI, distributed as an ordinary DSH profile bundle: no build step, no runtime dependency, plain ESM.

What it does

GestureResult
Ctrl / ⌘ + wheelZooms the page around the pointer, 50%–200%, in 10% steps
Ctrl / ⌘ + + / -Same from the keyboard
Ctrl / ⌘ + 0Back to 100%
Zoom chip (bottom-right)Appears whenever the level is not 100%: click the percentage to reset, click Fit to width to fit the window
Settings → GeneralA Page zoom row with the host's stepper pattern and a reset button

The chosen level is remembered in the browser (localStorage), and every listener, stylesheet and the applied zoom property are removed when the plugin is disabled or unloaded.

A gesture that another component already handled (preventDefault(), e.g. an embedded code editor or map with its own Ctrl+wheel zoom) is never stolen.

Install

Ask the Harness agent to install it, or call the plugin manager yourself with the package located by absolute path, a tarball, or a published name:

plugin_manager  action: install_bundle
                target: <absolute path to this package / a .tgz / a published name>

install_bundle links the package into the active profile ($DSH_PROFILE_DIR), adds it to the profile's bundle list, and the Harness applies it live. A page refresh picks up the browser half in a page that was already open.

To install it by hand instead, add the package to the profile's dependencies and to dsh.profile.bundles in $DSH_PROFILE_DIR/package.json, then restart the Harness.

Uninstall

plugin_manager  action: remove_bundle
                target: dsh-ctrl-wheel-zoom

Requirements

  • A Harness Web GUI (the client half declares platform: "web"; it is inert without a browser).
  • Nothing else: the package has no dependencies, no build output, and no install scripts. Built-in client modules (react, @deepseek-ai/dsh-client-store) come from the shell's own module table.

Sharing and publishing

The package is self-contained, so there are three ways to hand it to someone else.

1. A tarball

pnpm pack                        # writes dsh-ctrl-wheel-zoom-1.0.0.tgz

Send that .tgz; the receiver installs it by path:

plugin_manager  action: install_bundle
                target: <path to dsh-ctrl-wheel-zoom-1.0.0.tgz>

(pnpm pack writes the tarball beside package.json. DSH's own runtime ships a pnpm, so nothing has to be installed first.)

2. The directory (zip / repository)

Zip this folder (or push it to a Git repository) and have the receiver install the unpacked directory by path — install_bundle accepts a directory, and a folder is enough because there is no build step.

3. npm (install by name for everyone)

This manifest is already publishable: name is the unscoped dsh-ctrl-wheel-zoom, the row in cordis.patch.yml names the same specifier, and there is no "private": true.

npm no longer issues long-lived "classic" tokens — they were permanently revoked on 2025-12-09 — and publishing requires two-factor authentication. Pick one of the two ways through:

# A. A granular access token created with "Bypass two-factor authentication" enabled,
#    stored once as a credential:
#      //registry.npmjs.org/:_authToken=npm_...        in ~/.npmrc
pnpm publish --no-git-checks

# B. Any write token, with a one-time password supplied per publish:
pnpm publish --no-git-checks --otp=<6-digit code>

A token without bypass-2FA is refused with 403 ... Two-factor authentication or granular access token with bypass 2fa enabled is required to publish packages. Verify what a token can actually do before blaming the command:

curl -H "Authorization: Bearer $TOKEN" https://registry.npmjs.org/-/npm/v1/tokens
#   "bypass_2fa": false   → use --otp, or recreate the token with the switch on
#   "permissions": [{"name":"package","action":"write"}]   → publishing is permitted at all

Note npm's stated direction: bypass-2FA tokens are on a path to removal (targeted for January 2027) in favour of staged publishing or trusted publishing, so a long-lived automated release will need one of those later.

Keep name in package.json and the name: line of cordis.patch.yml identical in every release — the loader resolves the row through that specifier. Bump version for each release.

Afterwards anyone installs it by name:

plugin_manager  action: install_bundle
                target: dsh-ctrl-wheel-zoom

Files

FileRole
index.jsHost half: an empty apply(); the row exists so the bundle can be installed and toggled
client.jsBrowser half: wheel/keyboard gestures, zoom state, chip and settings-row registrations, stylesheets
cordis.patch.ymlThe loader patch that inserts the ctrl-wheel-zoom row
locale/{zh,en}.jsonPlugin-card title/description text; the row's own copy lives in client.js
icon.svgPlugin-manager card artwork

How the zoom works

Zoom is CSS zoom on the document element. It scales layout, text and fixed overlay layers together exactly like the browser's own page zoom, while the app's own scroll containers keep working — a transform: scale() wrapper cannot scroll its oversized content, and a font-size change would only touch text.

The wheel listener is registered in the capture phase on window, so it sees the gesture before the app's scroll containers and blocks them from scrolling while Ctrl is held. When the viewport itself scrolls, the plugin re-anchors it so the content under the pointer stays under the pointer.

Both UI surfaces read one store instance shared with the gesture writer, so the chip, the settings stepper and the wheel listener can never disagree about the current level.

License

MIT — see LICENSE.