dsh-message-copy-enhance

DSH PLUGIN记忆与知识

仓库 Asianfleet/dsh-message-copy-enhance · npm dsh-message-copy-enhance

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

DSH plugin 在模型消息中选中文本复制时,自动将剪贴板内容重写为 Markdown,保留链接、LaTeX 源码和代码围栏语言信息。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 4 复刻 0 · 未关闭 issue 0
最近更新 2026-08-19 创建于 2026-08-18
README 7.1 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add [email protected]
兼容 DSH 版本0.2.0-rc.2 等 12 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/cordis@^4.0.1需要同时安装的同级依赖
npm 包名dsh-message-copy-enhance可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-message-copy-enhance:DeepSeek Harness 的复制增强插件,输出结构化 Markdown

  • 复制转为 Markdown
  • 保留链接与 LaTeX
  • 恢复代码围栏语言
  • 不影响普通选择

上游标签

dsh-plugin

验证等级与安全审查

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

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

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

README 全文

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

dsh-message-copy-enhance




English · 中文

DeepSeek Harness 客户端 UI 插件:划选模型输出并复制时,把剪贴板内容改写为 Markdown,链接、LaTeX 公式源码、代码块语言等信息不再丢失。

工作原理

DSH 的模型输出由 dsh-client-ui-conversation → dsh-client-ui-primitives 渲染:

内容 DOM 形态 恢复方式
链接 `` 直接取 href,输出 [label](url)
行内/块级 LaTeX KaTeX 渲染的 .katex / .katex-display 从 MathML 分支的 ` 取回 **TeX 源码**,输出$...$/$$...$$`
代码块 .md-code-block(banner 显示语言)+ pre 输出围栏代码块,语言取自 language-* class 或 banner 的 infostring
标题/强调/列表/引用/表格 标准 HTML 还原为 GFM

插件在 document 上以捕获阶段监听 copy 事件,仅当选区起点落在 [data-chat-flow-kind="assistant"] 消息内且包含 markdown 特征元素时接管:

  1. 把选区扩展到完整的 .katex 元素(选中公式中间也能拿到完整源码)
  2. Range.cloneContents() 克隆选区 DOM
  3. 用内置的零依赖 DOM→Markdown 转换器(src/client/toMarkdown.ts,TypeScript 编写、类型擦除后内联进 bundle)还原 markdown
  4. preventDefault() 后写入 text/plain 与 text/markdown

其余选区(用户气泡、工具卡片、普通文本)与空选区完全不受影响;转换失败时自动回退默认复制。

项目结构

dsh-message-copy-enhance/
├── package.json            # dsh.client 元数据(客户端插件声明)
├── tsconfig.json           # typecheck 配置(strict,含 src/test/vite.config.ts)
├── vite.config.ts          # vite 构建(DSH 模块加载器输出)+ vitest 配置
├── src/client/
│   ├── index.ts            # 插件入口:copy 拦截 + apply/inject(TS,apply(ctx) 使用官方
│   │                       #   @deepseek-ai/cordis 的 Context 类型,与 dsh-client-ui-* 一致)
│   └── toMarkdown.ts       # DOM→Markdown 转换器(TS,零依赖)
├── lib/
│   ├── index.js            # Host 侧 no-op 插件(DSH Loader 加载的 JS 入口)
│   └── index.d.ts          # Host 入口的类型声明
├── dist/client.js          # 构建产物(预生成)
└── test/                   # vitest(.test.ts),转换器/bundle/包结构

构建与测试

npm install           # 开发依赖:typescript / vite / vitest / @types/node / linkedom / @deepseek-ai/cordis(官方类型)
npm run typecheck     # tsc -p tsconfig.json —— 全量类型检查(strict)
npm run build         # vite build —— 把 src/client 打包为 DSH 模块加载器格式的 dist/client.js
npm test              # vitest run —— 36 个用例(转换器 / 真实 bundle / 包结构)
npm run test:watch    # vitest —— watch 模式
npm run test:coverage # vitest run --coverage —— v8 覆盖率报告

发布

发布流程由 release-it 驱动,基于 Conventional Commits 自动生成 CHANGELOG。在 main 分支、工作区干净时执行:

pnpm release

它是交互式的:先打印自上个 tag 以来的提交预览(按类型分组,并给出 conventional 推荐版本号),随后弹出提示让你选择下一个版本号(patch / minor / major / 预发布变体 / 自定义)。流程依次为:

  1. 检查(npm run check:release):版本号是合法 SemVer、版本号未与 npm 已发布版本重复、已设置 GITHUB_TOKEN、npm 已登录;随后运行类型检查与测试套件。
  2. 交互选择版本——打印 changelog 预览后由你选择下一个版本号(提示中会显示 conventional 推荐值:feat → minor、fix/perf/revert → patch、破坏性变更 → major)。
  3. 生成 CHANGELOG——基于自上个 tag 以来的提交、按所选版本重新生成 CHANGELOG.md。
  4. 构建——npm run build(DSH 模块加载器格式的客户端 bundle)。
  5. 发布——提交 chore(release): vX.Y.Z、打 tag vX.Y.Z、推送到 GitHub、创建 GitHub Release(release notes 取自 CHANGELOG)、最后 npm publish。

前置条件:

  • 已导出 GITHUB_PAT_TOKEN(GitHub PAT:Classic token 需 repo 权限;Fine-grained token 需对本仓库授予 Contents: Read and write;gh auth token 也可,GITHUB_TOKEN 作为备选同样支持),并执行过 npm login。协作者预检已关闭(github.skipChecks)——细粒度 token 调用该接口会 403,真实权限由 GitHub 在创建 Release 时强制校验。
  • 提交遵循 Conventional Commits 规范;脚本只识别这些类型。

常用变体:

pnpm release:dry                   # 预演:只预览全部流程,不产生任何变更
pnpm release -- --increment=patch  # 跳过提示,强制 patch 递增(也可用 minor/major)
pnpm release -- --ci               # 完全非交互(CI 用,默认退回 patch)

注意:若环境中设置了 CI 环境变量,release-it 会自动切换到非交互模式。

安装启用

dsh plugin --profile desktop add dsh-message-copy-enhance

升级

dsh plugin --profile desktop add dsh-message-copy-enhance@latest

本插件尚未发布 1.0,^0.1.0 这类 caret 范围只覆盖 patch 版本(0.1.x);minor 升级(如 0.1 → 0.2)不在该范围内,dsh plugin update 不会自动升级。请用 @latest(或 @<版本号>)显式升级。

使用

在任意模型回答中划选内容后 Ctrl/Cmd+C,粘贴到 Typora / Obsidian / VS Code / 任意 markdown 编辑器即可得到完整 markdown。

边界与限制

  • 选区跨越多条消息时不拦截(只处理起点在 assistant 消息内的选区)。
  • 渲染时被白名单过滤掉的链接(如 file:、相对链接)本来就不存在 href,无法恢复。
  • 代码块只恢复选中的部分行(不会强制扩展整块);语言标记在选中区域不包含 banner 时会缺失。
  • KaTeX 渲染失败显示为 .katex-error 的元素按 $源码$ 输出。
  • 表格以 GFM 管道表输出,| 会被转义。

License

MIT — Copyright (c) 2026 Asianfleet

常见问题

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

在 DSH 里执行 `dsh plugin --profile web add [email protected]` 即可。对应的 npm 包名是 `dsh-message-copy-enhance`。

dsh-message-copy-enhance 的验证等级是什么意思?

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

dsh-message-copy-enhance 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-message-copy-enhance 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.1.7-rc.2、0.1.7-rc.1、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2。版本较多,只列出前 8 个。

dsh-message-copy-enhance 需要什么运行环境?

需要同时安装 @deepseek-ai/cordis@^4.0.1。环境不满足时安装会失败,建议先确认本机版本。

dsh-message-copy-enhance 用的是什么许可证?

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

dsh-message-copy-enhance 有哪些功能?

复制转为 Markdown、保留链接与 LaTeX、恢复代码围栏语言、不影响普通选择。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

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

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 万 星

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