在 DeepSeek Harness (DSH) 的使用流程中,直接在输入框编写 Markdown 内容往往缺乏即时反馈。特别是涉及数学公式或复杂排版时,这种盲打体验较差。dsh-markdown-preview 插件通过官方提供的 conversation.input.dock 槽位,在输入框上方实现了一个独立的预览面板,解决了这一问题。
这是一个 DSH Web 插件。它利用官方 Slot 注入,在聊天输入框上方提供实时的 Markdown 渲染和 KaTeX 公式展示。插件由 thomasly 维护,采用 MIT 协议,不修改 DSH 核心代码。
核心功能¶
- Markdown 实时预览:支持加粗、斜体、行内/代码块、删除线、引用、列表、表格等语法的即时渲染。
- KaTeX 公式支持:通过内联构建的渲染器,支持
$x+y$行内公式与$$...$$块级公式的实时显示。 - 吸附式布局:预览面板吸附在输入卡片上沿。输入框本身位置固定,不会因预览内容的增减而跳动。
- 交互控制:提供一键收起/展开功能,状态会保存在本地存储中。
- 安全与轻量:草稿中的原始 HTML 会被转义,防止恶意标签执行;草稿为空时不渲染,避免布局抖动。
安装与启用¶
安装方式分为两种,需根据实际情况选择其一,切勿混用。
方式一:官方插件命令(推荐)¶
这是通过 DSH 发布渠道安装的方式。
dsh plugin --profile web add github:thomasly/dsh-markdown-preview
执行命令后,需要重启 dsh web 以使插件生效。
方式二:本地手动挂载¶
这种方式需要手动编辑配置文件。
- 克隆插件到 profile 的插件目录:
mkdir -p ~/.dsh/profiles/web/plugins
git clone https://github.com/thomasly/dsh-markdown-preview.git ~/.dsh/profiles/web/plugins/dsh-markdown-preview
- 链接进 profile 依赖:
cd ~/.dsh/profiles/web
pnpm add --save-exact file:./plugins/dsh-markdown-preview
- 在
~/.dsh/profiles/web/cordis.patch.yml中追加注册条目:
# 在 insert 下添加
- id: markdown-preview
name: dsh-markdown-preview
- 重启
dsh web生效。
使用方法¶
打开任意会话,直接在输入框输入 Markdown 即可看到上方变化。以下是一些典型用法:
这是 **加粗** 的文字:预览中文字会立即变粗。行内公式 $x+y$:预览中会显示数学符号。- 块级公式:使用
$$开头和结尾,预览中会居中渲染。 - 清空输入框:预览面板自动消失。
注意:预览只是辅助显示。发送的内容始终是原始 Markdown 文本,由 DSH 自带的渲染器处理,二者互不影响。
注意事项¶
- 安全性:插件会对草稿中的 HTML 进行转义,只渲染 Markdown 结构,粘贴恶意标签不会执行。
- 权限:作为 DSH 插件,其运行权限与当前 DSH 进程一致。安装前请检查源码与许可证。
- 兼容性:该插件注册官方 Slot,与输入框原有功能(如
/触发、附件、plan 模式等)天然兼容。
总结¶
dsh-markdown-preview 是一个轻量级的辅助工具,它在不修改 DSH 核心代码的前提下,为 Web 客户端提供了所见即所得的 Markdown 预览体验。更多细节可参考项目目录或GitHub 仓库。