DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Sh Volume Knob — DeepSeek Harness 插件(DSH Plugin)
← Plugins

sh-volume-knob

Sh Volume Knob

从 DSH 编辑器朗读最新一轮内容:麦克风右侧的扬声器按钮单击后从最新问题的开头开始朗读,将页面滚动到该位置并用闪烁的光标标记;再次单击停止;按住并向右拖动可选择其他朗读起始位置

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

npx -y @deepseek-ai/dsh plugin --profile web add sh-volume-knob@0.8.6
README兼容性版本

说明

从 DSH 编辑器朗读最新一轮内容:麦克风右侧的扬声器按钮单击后从最新问题的开头开始朗读,将页面滚动到该位置并用闪烁的光标标记;再次单击停止;按住并向右拖动可选择其他朗读起始位置;按住并向上拖动可打开垂直音量混音器(页面内媒体音量 + 系统输出)。

兼容性与来源证明

Sh Volume Knob 以 sh-volume-knob 发布,当前版本为 0.8.6。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/9/25

版本

0.8.6stable
2026/9/25
0.8.5stable
2026/9/24
0.8.4stable
2026/9/24
查看其余 4 个版本收起版本
0.8.1stable
2026/9/24
0.7.0stable
2026/9/24
0.6.0stable
2026/9/24
0.5.0stable
2026/9/23

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

README

sh-volume-knob

朗读 + 音量,一个按钮。从你最新那条提问的开头开始朗读。· Read aloud from the start of your newest question — one button. 作者 / by 江湖老妖

DeepSeek Harness Web GUI 的输入框工具行里、话筒按钮右边的一个扬声器按钮:

  • 单击 → 页面自动翻动到朗读起点(默认=你最新那条提问的第一个字),在起点闪烁一根光标,然后从那里一直读到最新回复结尾;再单击停止,光标同时消失。
  • 按住并向右拖拽 → 在页面上挑朗读起点:光标跟着鼠标走,旁边给出提示(第几字 + 预览);松手即定,提示消失,再单击就从这里开始读。
  • 按住并向上拖拽 → 调出竖式音量混音台:页内音量 + 系统音量,各自可静音。
  • 点击页面任何其他地方 / Esc → 收起混音台 / 取消挑选。
[ 话筒 ] [ 🔊 ]   ← order 30 / 40 in the composer tool row

安装

# 从 npm 安装(推荐)
dsh plugin --profile web add sh-volume-knob

也可以直接从 GitHub 装(等价,取的是仓库源码):

dsh plugin --profile web add github:jianghu-lao-yao/sh-volume-knob

收录进社区列表后,还能在 dsh-market(设置 → 插件市场)里搜到并一键安装。

装完重启一次 dsh web(插件在启动时组入 boot graph),然后刷新页面。

交互

手势行为
单击图标翻到起点、闪烁光标、从起点朗读;再单击 → 停止
按住并向右拖拽(≥16px)进入挑起点模式:光标跟手,显示提示;松手定下起点
按住并向上拖拽(≥18px)调出音量混音台(从图标上方弹出)
点击其他地方 / Esc收起混音台 / 取消挑选
长按不拖(>400ms)不朗读(防误触)
混音台开着时单击图标只收起混音台
Enter / Space朗读 / 停止
Alt + ↑开关混音台
← / →光标左右移 1 字(挑选模式下同样可微调)
Shift + ← / →光标左右移 20 字

朗读中图标变蓝并多一道声波弧;页内静音时图标变红带斜线。挑选起点时光标变琥珀色,朗读时光标是主题色。

朗读起点

  • 默认起点:你最新那条提问的第一个字。单击即翻到那里,并在那里闪一根光标,读的顺序是「这条提问 → 之后的助手回复(含最新那条)」。
  • 自定义起点:按住图标向右拖,把鼠标移到想开始读的文字上松手。光标会吸附到最近的可读字符上,越界(拖到空白/代码块外面的糊边上)会夹到最近的可读位置。
  • 起点按会话记录保存(localStorage),刷新页面后仍在;出现新回复时自动回到「最新提问开头」。
  • 光标只是标记,不是 MD 编辑器里的选区:它不会选中文字、不影响复制。

两个音量有什么区别

推子管什么不管什么
页内音量本标签页里所有 <audio>/<video> 元素的 volume:语音朗读、提示音、网页播放器系统音量、其他 App、其他标签页
系统音量系统输出音量与静音(macOS osascript,Linux pactl)单个页面的元素音量上限

两者串联:系统音量是天花板。系统静音时页内开满也没声;页内拉到 0 只静这一页。

朗读实现

  • 文本来源是白名单,不是黑名单。真实 DSH DOM 里每个消息节点都带 [data-chat-flow],用 data-chat-flow-kind 标明类型;实测(dsh 0.1.7-rc.1)出现过这 5 种:

    kind内容是否朗读
    user你的提问✅ 默认起点就是最新这条的第一个字
    assistant-step回复正文(data-chat-group-part="response")✅
    assistant-step思考过程(data-chat-group-part="reasoning")❌ 模型草稿,不念
    turn-process「已完成工作 用时 4 秒」折叠头❌
    turn-tail用量 301K tok 02:00❌
    tool-call工具调用卡片❌

    所有节点都是平铺的兄弟节点(没有嵌套),所以按文档顺序拼接即可。

  • 阅读范围:从起点字符起,沿「可读节点序列」一直读到末尾;更早的轮次不读。

  • 每个字符都有对应的 DOM 位置:插件把节点按 innerText 语义打平成文本串,同时记录「第 n 个字落在哪个文本节点的第几个字符」,所以光标、翻页、按字符微调都精确到字;节点内部的按钮(复制/重试)不计入。

  • 合成:按 ~220 字切句块,逐块 POST /dsh-tts/speak(复用 dsh-tts 已配置的 provider 链,例如 Edge zh-CN-XiaoxiaoNeural),顺序播放;未安装 dsh-tts 或某个分块合成失败时,剩下的部分回退浏览器 speechSynthesis(不会从头重念)。

  • 点按钮时会先暂停页面上正在播放的音频,所以和 dsh-tts 的自动朗读(speakReplies)不会重叠。

0.6.0 在这里翻过车:它按 data-chat-flow-kind="assistant" 找回复(真实值其实是 assistant-step),又用「跳过 button/svg」的黑名单排除杂物,结果把 turn-tail 当成了起点——光标落在时间戳上。0.7.0 换成白名单,并补了针对这一条的回归测试。

结构

package.json         dsh.bundle.patch + dsh.client.platform=web
cordis.patch.yml     bundle 层
lib/index.js         host 半:GET/POST /sh-volume-knob/system、诊断 /sh-volume-knob/diag
lib/client.js        浏览器半:slot 按钮 + 文本/光标定位 + 朗读器 + 竖式混音台(无需构建步骤)
scripts/test.mjs     jsdom 测试:把上面这个 bundle 原样跑在仿真会话 DOM 上

开发

npm install
npm test        # 16 项:文本定位、光标、拖右挑选、朗读、回退、混音台

测试不引入 React,而是自带一个只实现 createElement + 四个 hook 的微型运行时,并用 jsdom 跑未改动的 lib/client.js;只有 jsdom 缺的东西(布局几何、音频、语音合成、宿主 HTTP 路由)是仿真的。

要求

  • DSH >= 0.1.5-rc.3,Web GUI。适配按你要的通道顺序推进:正式版 → next → latest(alpha 版不在适配范围内)。

    顺序通道现在这个 Tag 指向状态
    1正式版(无后缀稳定版)还没有——npm 上 26 个版本全是 -rc/-alpha,GitHub 上 10 个 release 全标着 prerelease(deepseek-harness@0.0.1 只是占位包)出了即通过,插件无需改动
    2next0.1.7-rc.1已核对(本机 GUI 就是这一版)
    3latest0.1.5-rc.3已核对

    ⚠️ latest 比 next 旧(0.1.5-rc.3 < 0.1.7-rc.1),所以通道顺序 ≠ 版本递增顺序。这正是 engines.dsh 必须写成下限式 >=0.1.5-rc.3 的原因:写成按「最新那版」收窄的范围(比如 >=0.1.7-rc.1)会把 latest 关在门外;写成 ^0.1.5 又会在 0.1.x 上永远不匹配 0.1.7-rc.1,把 next 也踢掉。 正式版发出来之后,位于版本号下方的通道一律被这个范围涵盖,不需要再动。

  • 插件代码里没有任何按版本分支:window.__ModuleLoader__.load({id, factory})、ctx.slots.inject / ctx.slots.register、conversation.input.right 这些接口在 latest(0.1.5-rc.3) 与 next(0.1.7-rc.1) 上逐个比对过,签名一致。 ⚠️ 但消息 DOM 的取值必须实测,不能只看接口名:0.6.0 就是栽在这里——它以为 kind 是 user/assistant,实际是 user/assistant-step/turn-process/turn-tail/tool-call。0.7.0 的取值是在真实页面上 dump 出来的(见下表)。

  • 系统音量路由:macOS(osascript,内置)/ Linux(pactl)。其他平台该行置灰并显示原因。

  • 可选:dsh-tts —— 没装也能用,只是回退到浏览器语音。

已知边界

  • 页内音量是母音量,会覆盖插件自己设过的 element.volume;默认 100% 时行为不变。
  • 浏览器 speechSynthesis 没有音量 API,只能在静音时 cancel()。
  • 混音台路由只接受回环地址或同源请求,避免任意网页改你机器音量。
  • 「起点」是按字符记的:如果回复在起点之后被重新渲染成不同的文字(例如流式输出还没结束),起点会按同一节点重新夹取;节点整个换掉时退回默认起点(最新提问开头)。

许可

MIT © 江湖老妖

相关插件

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

Tool Describe Image@linxin666/dsh-tool-describe-image面向模型的 describe_image 工具,用于 dsh Web GUI:通过在兼容 OpenAI 的端点调用视觉语言模型,为文本模型提供图像理解能力,以描述一张图像(本地路径、http(s) URL 或附件引用)。可热插拔 —Vision Routerdsh-vision-router为纯文本 DeepSeek Harness 代理提供视觉能力:内置免费视觉链(无需密钥)+ 像素级视觉工具(问答、定位、裁剪、像素差异、颜色、OCR、SVG 描摹、抠图、截图)。一条命令即可安装,无需 Python,图像回合的使用方式与普通工具相同Deepseek Ivideodeepseek-ivideoiPolloWork HyperFrames Video Studio,以及 27 个可编辑视频模板,以原生 DeepSeek Harness 对话视图呈现。Imagegen@dickpy/dsh-imagegen适用于 dsh 网页 GUI 的 AI 图像生成插件:通过可配置的提供商渠道进行文生图和图生图(gpt-image-2 / grok-imagine-image / nanobanana series / seedream-5.0-pro / dall-e-3,原生支持 xAI Grok Imagine、Google Nano Banana a