前言¶
在 DeepSeek Harness (DSH) 中,助手消息通常通过 HTML 渲染。直接复制(Ctrl/Cmd+C)通常会丢失链接、LaTeX 源码、代码块语言等信息,导致粘贴到 Markdown 编辑器时格式损坏。下面介绍 dsh-message-copy-enhance 插件,它通过拦截复制事件,将助手输出重写为完整的 Markdown。
核心功能¶
该插件专注于将助手消息的复制内容转换为 Markdown 格式,并保留特定元素的结构信息:
- Markdown 输出:将助手输出转换为 Markdown。
- 链接保留:保留链接,输出格式为
[label](url)。 - LaTeX 源码保留:从 MathML 注解中检索 TeX 源码。
- 代码块保留:保留代码块,从类或横幅信息中提取语言。
- HTML 转 GFM:将标准 HTML 元素(标题、强调、列表、引用、表格)恢复为 GitHub 风格 Markdown (GFM)。
安装与启用¶
该插件通过官方命令安装:
dsh plugin --profile desktop add dsh-message-copy-enhance
该包处于预 1.0 阶段,版本范围 ^0.1.0 仅覆盖补丁版本(0.1.x)。若要安装最新版本,请使用 @latest 标签。
使用方法¶
- 在助手回复的消息中选中内容。
- 按下
Ctrl/Cmd + C复制。 - 将内容粘贴到 Typora、Obsidian 或 VS Code 等支持 Markdown 的编辑器中。
注意事项¶
- 拦截范围:仅拦截从助手消息(
[data-chat-flow-kind="assistant"])内开始的选择。跨多消息的选择不会被拦截。 - 链接恢复:由渲染白名单过滤的链接(例如
file:、相对链接)没有href,因此无法恢复。 - 代码块:仅恢复选中的行。如果选择区域不包含横幅,则缺少语言标签。
- KaTeX 错误:渲染失败的 KaTeX 元素(显示为
.katex-error)输出为$source$。 - 表格:输出为转义了
|的 GFM 管道表。 - 依赖项:需要
@deepseek-ai/cordispeer 依赖(^4.0.1)。 - 权限:插件在当前 DSH 进程上下文中运行;安装前请检查源码和许可证。
总结¶
该插件解决了从 DSH 助手消息复制内容到 Markdown 编辑器的格式丢失问题。它利用 DOM 到 Markdown 转换器,确保链接、LaTeX 源码和代码块语言等关键信息得到保留。