DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Ban Strikethrough — DeepSeek Harness 插件(DSH Plugin)
← Plugins
B

dsh-ban-strikethrough

Ban Strikethrough

禁止渲染删除线:GFM 的单波浪号删除线会把 3~5 这样的区间号吞掉并划一横,本插件在 GUI 与会话文档预览里取消删除线并还原 ~ 字符。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:baldovinmarques391-design/dsh-ban-strikethrough#7cdb87980f19782f07a3f02e5e0091d1fe47bda0
README兼容性版本

兼容性与来源证明

Ban Strikethrough 以 dsh-ban-strikethrough 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.1.0stable
2026/10/17

相关插件

正在加载相关插件…

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

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

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

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

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

相关插件

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

Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Client Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH 技能中心:按来源(bundled / project / user / custom / runtime)浏览已加载的技能,在 Web GUI 面板中启用或禁用、创建和删除技能。Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rClient Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。

README

dsh-ban-strikethrough

DSH 插件:禁止删除线渲染。在 Harness Web GUI 的聊天、思考过程,以及会话文档预览的 Markdown 页里取消删除线,并把被吃掉的 ~ 字符还原回文本。

  • 包名:dsh-ban-strikethrough
  • Loader 行 id:ban-strikethrough
  • 形态:Host 空壳(index.js)+ 浏览器半边(client.js,通过 package.json 的 dsh.client 声明)

为什么会有这个插件

Web 端的 Markdown 渲染器(@deepseek-ai/dsh-client-ui-primitives 的直接 mdast→React 渲染)用的 GFM 语法扩展沿用了 micromark 的默认值 singleTilde: true,也就是一个 ~ 就能开一个删除线区间,下一个 ~ 就关掉它。而单个 ~ 在中文技术写作里正是「某某至某某」的区间号,于是一段话里出现两个区间就会互相配对:

要求 200400~稳定只给~113134
        └──── 中间全部被划掉,两个 ~ 被吃掉 ────┘

模型从来不是要表达「删除」,而渲染结果既难看又丢字符(3~5 直接显示成 35)。

做了什么

client.js 在插件生命周期内注入一张样式表(ctx.effect 注册,卸载/停用即移除):

del,
s,
strike { text-decoration: none; }

del::before,
del::after { content: "~"; text-decoration: none; }
  • 第一条取消删除线本身。
  • 第二条把被解析器吃掉的区间号还回文本,于是渲染结果和模型写下的原文逐字符一致。

选择 del 元素作为唯一选择器,是因为整个 Web 客户端里只有 Markdown 渲染器会产出 <del>(case "delete": jsx("del", …)),而且宿主样式表没有给这个元素写任何规则,所以普通作者规则就能压过浏览器的 UA line-through。

覆盖范围

位置是否覆盖原因
聊天消息、思考过程✅走同一个 Markdown 原语
会话文档预览的 Markdown 页✅MarkdownBody 用的就是该原语的 MarkdownText
终端 ANSI 删除线(SGR 9)❌ 故意不动那是行内 text-decoration,是终端内容的真实属性
HTML / PDF / Excel 预览❌独立 iframe 文档,内容是文件自己的,不是模型写的 Markdown
输入框富文本编辑器❌用的是行内 mark,与渲染无关

文件

文件作用
package.json包清单:dsh.bundle.patch + dsh.client(platform: web、immediately: true)+ 导出与 files
cordis.patch.yml一条 Host 行 ban-strikethrough,让插件在插件列表里有独立开关
index.jsHost 半边,空实现(行为全在浏览器半边)
client.js浏览器半边:注册工厂 + 注入样式表
locale/en.json、locale/zh.json插件卡片上的标题与说明
icon.svg插件图标(禁止删除线)
bundle-check.mjs安装前离线自检:清单、./client 解析、用 Harness 自己的 loader 解析 patch

安装与开关

已经通过 Plugin Manager 的 install_bundle 安装并启用(profile web,application: applied,无 warning)。再次安装或重装:

plugin_manager { action: "install_bundle", target: "D:\\桌面\\DSH与自动化\\dsh-delete-line-display" }
  • 停用/启用:插件列表里找「禁止删除线」,或 plugin_manager { action: "set_bundle", target: "dsh-ban-strikethrough", enabled: false }。
  • 安装会改 profile(bundles 列表 + profile 依赖),所以必须用 Plugin Manager,不要手改 profile。
  • 停用后样式表随插件卸载一起移除,不需要重启 Harness;页面刷新一次最稳妥。

验证

已做的(离线/服务端):

  1. node --check index.js client.js bundle-check.mjs;
  2. node bundle-check.mjs → 15 项全 PASS,包括用 Harness 自己的 loader(@deepseek-ai/dsh-app-boot 的 loadOverlayPatches)解析 cordis.patch.yml;
  3. cordis_inspect_query(Host Config.listConfigs,name = dsh-ban-strikethrough)能看到活着的 Loader 行 include:ban-strikethrough。

没做的:页面里的视觉确认。 本会话没有浏览器控制,而「样式表是否真的生效」只有那个已打开的页面能证明。请刷新该页面后自测:

  • 一段话里放两个区间,例如 范围 3~5 天,稳定后 10~20 天:应显示原样的 ~,没有任何横线;
  • 打开一个含 ~ 区间的 .md 文件,在会话文档预览里看同一段:同样无横线;
  • ~~这样的~~ 应显示为 ~这样的~(不划线,保留一个 ~)。

已知取舍

  • 还原出来的 ~ 是 CSS 伪元素内容,选中复制时是否带上它取决于浏览器;del 里的正文本身从来都在。
  • 原文写的是 ~~双波浪号~~ 时只会还原成一个 ~(CSS 无从得知定界符长度)。考虑到「有意写删除线」的概率约等于零,这个偏差可以接受。
  • 如果哪天也想禁掉终端 ANSI 删除线,在同一个样式表里加一条针对行内 text-decoration 的规则即可,但那会牺牲终端输出的保真度,所以默认不做。