dsh-wechat-md: Preview Markdown with the doocs/md theme in DSH and copy to WeChat Official Account

前言

在 DeepSeek Harness(DSH)里写公众号稿件时,常见做法是本地用 Markdown 编辑,再借助 doocs/md 等工具排版后粘贴进微信公众号后台。若每次都要切到浏览器或独立站点,右侧文件面板里的 .md 只能看源码或默认 Markdown 预览,和公众号编辑器里的 inline 样式对不上,复制粘贴还要再跑一遍排版流程。

下面介绍社区客户端插件 dsh-wechat-md(维护者 sleepy-zone):在 DSH 右侧文件面板为 Markdown 增加 doocs/md 排版 预览,一键把渲染结果以富文本(text/html + text/plain)写入剪贴板,可直接贴进公众号编辑器。样式参考开源项目 doocs/md。插件在 SkillHub 目录 归类为「客户端」;源码见 GitHub(MIT,当前 package 版本 1.2.0)。

这是什么

dsh-wechat-md 是 DSH 的 bundle 型客户端插件(包名 @local/wechat-md),只做「预览 + 复制」,不修改文件、不增加对话入口。它通过 documentPreviews 注册 id 为 @local/wechat-md/file-preview 的查看器,与内置 Markdown 查看器并列:打开 .md / .markdown 时默认仍是内置 Markdown 查看器,下拉可选 doocs/md 排版;内置 Plain text 查看器仍可用。

核心功能

排版与主题

选择 doocs/md 排版 后,当前 Markdown 按 doocs/md 风格渲染为适合公众号的 HTML 结构。查看器提供:

  • 三套主题:经典、优雅、简洁
  • 五种强调色
  • 正文字号 14–18px

上述偏好按浏览器持久保存。

一键复制富文本

工具栏上的复制按钮把渲染后的文章写入剪贴板(富 HTML + 纯文本)。粘贴到微信公众号编辑器时,inline 样式会保留。

公众号后台会丢弃 <style> 块和 class 选择器,因此插件在渲染阶段把规则「烤」进各元素的 style 属性:标题、段落、引用、列表、表格、代码、链接、图片均带 inline CSS;相对样式在渲染前按主题解析,不依赖外链样式表、web font、CDN 脚本或网络请求。

Markdown 与元数据

  • 解析器为 vendored 的 marked v15(MIT),打包在 client.js 中。
  • Markdown 中的原始 HTML 会消毒:移除 script、frame、表单控件、on* 处理器及 javascript: URL 等,再进入预览或剪贴板。
  • 文件开头的 YAML frontmatter 视为文档元数据,不会出现在正文渲染结果中。

与内置查看器的关系

注册优先级为 builtin,因此 Markdown 仍为默认,doocs/md 为下拉选项。若希望 doocs/md 成为默认,需在插件配置侧使用 priority: 'extension'(见 README 说明)。

安装与启用

本仓库是 DSH bundle:在工作区中取得源码目录后,通过 plugin_manager 的 install_bundle 安装该包目录。README 给出的获取方式如下:

git clone https://github.com/sleepy-zone/dsh-wechat-md.git

安装 bundle 后,下一次页面启动 时加载;若当前页面仍显示旧一代客户端,需重启应用或重新加载 Web UI 一次。

插件以当前 DSH 进程权限在客户端运行;安装前请自行阅读源码与 LICENSE、THIRD_PARTY_NOTICES.md(含 marked、doocs/md 等第三方许可)。SkillHub 为社区目录站点,与 DeepSeek / 幻方无官方从属关系。

典型用法

  1. 在 DSH 右侧文件面板打开工作区内的 .md 或 .markdown 文件。
  2. 在查看器下拉菜单中选择 doocs/md 排版(需要时可切换主题、强调色、字号)。
  3. 确认预览内容与预期一致后,点击复制按钮。
  4. 打开微信公众号图文编辑器,粘贴;富文本 inline 样式应随粘贴保留。

相对路径的本地图片在侧边栏预览中可通过鉴权文件路由显示;复制出的 HTML 仍使用 Markdown 里写的 URL,相对路径图片在公众号中需自行上传后才能显示;公网 HTTP(S) 图片在粘贴后通常由微信侧重新托管。

适用场景与已知限制

适合:已在 DSH 里用 Markdown 写稿、希望排版风格贴近 doocs/md、并减少「排版站点 ↔ 编辑器」来回切换的开发者或运营者。

不适合或需注意:

  • 不支持 Mermaid、PlantUML、KaTeX、emoji、GFM alert 等扩展;代码块无语法高亮(完整 doocs/md 具备这些能力)。
  • 预览即剪贴板 payload,不是微信编辑器 iframe,无法在 DSH 内 1:1 复现微信端表格滚动等 quirks。
  • 仅为查看器,不提供文件编辑能力。

主题样式改编自 doocs/md 的 WTFPL 主题;WeChat 布局 UI 为 DSH 专用实现。

结尾

dsh-wechat-md 把 doocs/md 式公众号排版收进 DSH 右侧文件面板:默认 Markdown 预览不变,需要排版时切换 doocs/md 排版,复制后即可粘贴进公众号后台。

  • 目录页:https://www.skillhub.cn/plugins/sleepy-zone/dsh-wechat-md
  • GitHub:https://github.com/sleepy-zone/dsh-wechat-md
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye