dsh-md-html-render:在 DSH 中把 Markdown 渲染为独立 HTML

前言

在 DSH 里做智能体任务时,模型输出经常是 Markdown:计划、报告、对比表、迁移说明。这些内容留在会话里可以,但如果要转发、存档或离线打开,就需要一个完整页面。dsh-md-html-render 提供这种能力:把 Markdown 渲染成 standalone、self-contained 的 HTML。

DSH 生态强调「一切皆插件」;社区目录是独立站点,并不是官方应用商店。下面介绍这个插件的定位、安装、用法和注意点。

这是什么

dsh-md-html-render 是一个 DeepSeek Harness(DSH)插件,由 LeslieWylie 维护,许可证为 MIT。

它有两个入口:

  1. 模型可调用的 md_html_render 工具,可在 headless profile 中使用。
  2. Web GUI 的 MD drawer,可在 Web 会话中浏览、渲染、编辑和导出 Markdown。

两者使用同一渲染器。输出是 standalone HTML,内嵌样式,不加载外部 stylesheet、font、script 或 image。

GitHub 仓库地址为 https://github.com/LeslieWylie/dsh-md-preview 。v0.3.0 起,包名从 dsh-md-preview 改为 dsh-md-html-render;GitHub 仓库路径仍为 dsh-md-preview。README 说明它目前未上 npm,安装来源是 GitHub。

核心功能

模型调用

工具签名为:

md_html_render(markdown, title?, save_path?) -> { html, savedPath?, error? }

参数说明:

参数 必需 说明
markdown Markdown 源
title 页面标题
save_path 输出文件路径,通过 session fs service 解析,并遵守 sandbox 策略

如果 save_path 被 sandbox 拒绝,工具仍会返回 HTML,同时返回 error

Web GUI drawer

在 Web GUI 中,先点击 session header 的 MD,再浏览 working directory。点击 .md 文件后,可以就地渲染、编辑或导出,并跟随 harness 主题显示。

Drawer 的 readFile 只接受 .md.markdown.mdx.txt

渲染与安全

这个插件的边界比较明确:

  • 无 runtime dependencies。
  • 所有读和写都通过 harness fs service 和 sandbox。
  • 文档文本会经过 HTML 转义,不安全链接目标会被折叠,不允许 raw HTML execution。
  • fs service 是唯一硬依赖;缺少它时插件记录警告并保持 inert。
  • 可以在 headless、Web GUI 或两者中运行。

运行环境要求 Node ^22.19.0 || >=24.0.0

安装与启用

先确认当前 Node 版本满足要求。

在 profile 的 package.json 中添加依赖:

// ~/.dsh/profiles/<profile>/package.json
{
  "dependencies": {
    "dsh-md-html-render": "github:LeslieWylie/dsh-md-preview#v0.3.0"
  }
}

然后安装并启动:

cd ~/.dsh/profiles/<profile> && pnpm install
dsh --profile <profile>

经过上面的步骤,headless profile 可获得 md_html_render;Web GUI profile 还能获得 MD drawer。

如果不想编辑 profile,也可以按 README 的方式做临时加载:

dsh --profile web --patch <(printf -- "- insert:\n    - id: md-preview\n      name: dsh-md-html-render\n")

典型用法

让模型生成 HTML

可以用类似下面的提示:

Render this migration plan to ~/Desktop/plan.html

模型调用 md_html_render 后,会返回 html;如果成功写入 save_path,会带有 savedPath;如果写入被拒,会带有 error

在 Web GUI 查看本地 Markdown

启动一个带 Web GUI 的 profile,然后在 session header 点击 MD。找到目标 Markdown 文件后点击渲染,再根据需要进行编辑或导出。导出的页面与 md_html_render 使用同一渲染器。

适用场景与注意

适合以下情况:

  • headless DSH profile 需要把 Markdown 变成完整 HTML。
  • Web GUI 中需要就地查看、编辑和导出 Markdown。
  • 希望输出页不依赖外部资源,并且插件无 runtime dependencies。
  • 需要所有文件操作都走 harness fs service 和 sandbox。

安装前需要注意:

  • 插件以当前 dsh 进程权限运行;虽然读写通过 harness fs service 和 sandbox,仍建议先检查源码。
  • 许可证为 MIT,可按许可证要求使用。
  • fs service 缺失时插件不会加载能力,只会记录警告并保持 inert。
  • 不要把 npm 上的 dsh-md-preview 当作本插件;本插件包名是 dsh-md-html-render

验证

从源码验证时运行:

npm test

这会执行四套测试。Harness 相关包作为普通 devDependencies 用于测试;如果测试日志出现 SKIPPED,应把这次运行视为未验证。

资源

  • GitHub:https://github.com/LeslieWylie/dsh-md-preview
  • 许可证:MIT
  • 已核实资料未提供目录页 URL;如需在社区目录中查找,可按插件名 dsh-md-html-render 检索。
羽毛球分组比赛记分
小程序二维码

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

小夜