dsh-ban-strikethrough

DSH PLUGIN记忆与知识

仓库 baldovinmarques391-design/dsh-ban-strikethrough

记忆与知识 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

不再渲染 Markdown 删除线,并还原被区间号吃掉的 ~ 字符。覆盖聊天、思考过程与会话文档预览。

一句话选型结论

按资料字段整理

dsh-ban-strikethrough 是记忆与知识类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类记忆与知识 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 未标注 · 未关闭 issue 未标注
最近更新 2026-10-17 创建于 未标注
README 5.0 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:baldovinmarques391-design/dsh-ban-strikethrough
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

内容创作

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在记忆与知识场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-ban-strikethrough当前 L5 · 运行验证通过 低风险 0 未标注 有
ruflo L3 · 安装规范通过 低风险 7.4 万 未标注 无
OpenViking L3 · 安装规范通过 低风险 3.9 万 未标注 无
WeKnora L4 · 沙盒安装通过 低风险 3.3 万 未标注 有
distilly L4 · 沙盒安装通过 低风险 2.5 万 未标注 有
EverOS L4 · 沙盒安装通过 低风险 1.3 万 未标注 有

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方baldovinmarques391-design仓库 dsh-ban-strikethrough · 默认分支 未标注
分类记忆与知识knowledge
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证NOASSERTION商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 未标注 / 未标注收录时的数值,非实时
创建 / 更新未标注 · 2026-10-17最后推送 未标注
本站收录2026-10-30首次进入本站目录的时间

README 全文

5.0 KB
作者原文,中文版优先;只做安全转义,不改内容

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 渲染器会产出 `(case "delete": jsx("del", …)),而且宿主样式表没有给这个元素写任何规则,所以普通作者规则就能压过浏览器的 UAline-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.js Host 半边,空实现(行为全在浏览器半边)
client.js 浏览器半边:注册工厂 + 注入样式表
locale/en.json、locale/zh.json 插件卡片上的标题与说明
icon.svg 插件图标(禁止删除线)
bundle-check.mjs 安装前离线自检:清单、./client 解析、用 Harness 自己的 loader 解析 patch

安装与开关

装进一个 profile,两种方式都可以:

dsh plugin --profile web add
plugin_manager { action: "install_bundle", target: "" }
  • 停用/启用:插件列表里找「禁止删除线」,或 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 的规则即可,但那会牺牲终端输出的保真度,所以默认不做。

常见问题

5 问
答案由本站依据条目字段整理,不引用上游原文
dsh-ban-strikethrough 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:baldovinmarques391-design/dsh-ban-strikethrough` 即可。

dsh-ban-strikethrough 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-ban-strikethrough 安全吗?

低风险。

dsh-ban-strikethrough 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-ban-strikethrough 用的是什么许可证?

上游标注为 NOASSERTION。商用或二次分发前请到仓库确认许可证原文。

记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

baldovinmarques391-design 的其它插件

6 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。