把网页 HTML 和表格转成干净 Markdown 文档
31.3/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add omdsh-dev/dsh-tool-markdown该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 55 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/31) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@deepseek-ai/dsh-tool-markdown(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 01:48:58
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-invariants@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- GFM表格规范化
- 生成目录
DSH Markdown 工具插件:HTML↔Markdown 转换、GFM 表格规范化、目录生成,零依赖轻量解析器,注册 markdown 工具
README
由 DeepSeek 最新模型翻译生成dsh-tool-markdown
DSH Markdown 工具插件 —— HTML↔Markdown 转换、GFM 表格规范化、目录生成。零依赖、纯函数、手写轻量解析器。
License
动机
模型最常见的文档场景:用户贴一段 HTML(网页源码、邮件、导出文件)、贴表格要求整理、或要求“转成 markdown”。没有工具时模型只能硬编码处理——HTML 实体会错、表格会乱、网页噪音(导航/脚本/广告)会混入。本插件提供确定性转换,与 dsh-tool-csv 互补:csv 管结构化表格,markdown 管文档/网页。
安全模型
- 零依赖:手写递归下降 HTML 解析器(不引入 cheerio/jsdom——净增数十 MB 且是攻击面)
- 零执行面:不 eval、不 new Function、不加载远程资源、不解析 CSS 布局
- 内容剥离:script/style/iframe/object/noscript 内容整体剥离(安全 + 噪音)
- md2html 白名单:只输出 p h1-h6 ul ol li blockquote pre code a img strong em br hr table thead tbody tr th td;文本一律 HTML 转义——markdown 内嵌 只会显示为文本
展开完整文档(README 剩余 1 节)
dsh-tool-markdown
DSH Markdown 工具插件 —— HTML↔Markdown 转换、GFM 表格规范化、目录生成。零依赖、纯函数、手写轻量解析器。
License
动机
模型最常见的文档场景:用户贴一段 HTML(网页源码、邮件、导出文件)、贴表格要求整理、或要求“转成 markdown”。没有工具时模型只能硬编码处理——HTML 实体会错、表格会乱、网页噪音(导航/脚本/广告)会混入。本插件提供确定性转换,与 dsh-tool-csv 互补:csv 管结构化表格,markdown 管文档/网页。
安全模型
- 零依赖:手写递归下降 HTML 解析器(不引入 cheerio/jsdom——净增数十 MB 且是攻击面)
- 零执行面:不 eval、不 new Function、不加载远程资源、不解析 CSS 布局
- 内容剥离:script/style/iframe/object/noscript 内容整体剥离(安全 + 噪音)
- md2html 白名单:只输出 p h1-h6 ul ol li blockquote pre code a img strong em br hr table thead tbody tr th td;文本一律 HTML 转义——markdown 内嵌 只会显示为文本
- 链接 scheme 白名单:http/https/mailto;javascript:/data: 链接降级为纯文本
- 资源上限:嵌套深度 64 层报错(防栈溢出);输入 maxBytes 默认 256KB、硬顶 1MB(超限报错不截断)
- 工具参数会记入会话日志,不要传入含密钥/会话数据的 HTML
工具声明
注册 markdown 工具(@deepseek-ai/dsh-tool-markdown,row id tool-markdown),统一输出文本。
| 参数 | 类型 | 必填 | 说明 |
| action | string | ✅ | html2md / md2html / table / toc |
| html | string | | html2md 输入(片段或完整文档) |
| markdown | string | | md2html/toc 输入 |
| text | string | | table 输入(HTML 或管道分隔文本) |
| baseUrl | string | | 相对 href/src 解析基准(naive join) |
| maxBytes | integer | | 输入上限,默认 256000,硬顶 1000000 |
Actions
| action | 功能 |
| html2md | HTML → GFM Markdown:块级/行内全映射、表格转 GFM(colspan 占位补齐)、实体解码、script/style 剥离、链接 scheme 过滤(不做 readability 正文选择,nav/header/footer 默认透传) |
| md2html | Markdown → 白名单安全 HTML:全文本转义,无标签可逃逸 |
| table | HTML 或含未转义 \| 的管道分隔文本 → GFM 表格(列补齐、\| 转义、分隔行识别;无管道输入报错) |
| toc | Markdown 标题 → 嵌套目录列表(简化 GitHub 风格锚点:重复标题自动 -1/-2 后缀、跳过代码围栏内伪标题) |
示例
markdown { action: "html2md", html: "标题你好 世界" }
→ # 标题\n\n你好 世界
markdown { action: "md2html", markdown: "x)" }
→ x ← javascript: 链接降级为纯文本
markdown { action: "table", text: "a|b\n1|2" }
→ | a | b |\n| --- | --- |\n| 1 | 2 |
markdown { action: "toc", markdown: "# 标题一\n## 小节" }
→ - 标题一\n - 小节
边界行为
| 情况 | 处理 |
| 未闭合标签 | EOF 自动闭合(与浏览器方向一致); 中遇块级自动关闭 |
| 大小写 | 标签/属性名归一为小写 |
| 注释/DOCTYPE/CDATA | 剥离 |
| 实体 | 命名 + 数字实体解码;未知实体按字面保留(< → <,不二次解码) |
| 嵌套列表 | li 只被新 li 关闭——嵌套 ul/ol 合法(2 空格/层缩进) |
| 空白 | 行内折叠为单空格;pre/code 原样保留 |
| 表格 | 首行(thead th 或首行 td)为表头;colspan=N 补 N-1 个占位单元格 |
| 深度 > 64 层 | markdown: HTML nesting exceeds 64 levels |
| 输入超限 | markdown: exceeds N bytes(不截断) |
| md2html 内嵌 HTML | 原样转义为文本,绝无白名单外标签输出 |
DSH 0.1.5-rc.1 兼容(已验证)
本插件已迁移到 DSH 0.1.5-rc.1 依赖线,并在 local harness 0.1.5-rc.1 的隔离 consumer 中完成全链路验证:
- 类型/运行时:@deepseek-ai/cordis@^4.0.1 + @deepseek-ai/dsh-tools@>=0.0.1-rc.1 =0.0.1-rc.1 ⚠️ web 与 headless 是不同 profile:web 安装不会自动覆盖 headless;dsh run 默认使用 headless profile。
npm pack tarball 安装
npm pack # 生成 dsh-tool-markdown-.tgz
dsh plugin --profile web add ./dsh-tool-markdown-.tgz
dsh plugin --profile headless add ./dsh-tool-markdown-*.tgz
验证安装
dsh --profile web --dump-config | grep tool-markdown
运行验证
dsh run "使用 markdown 工具把 标题 转成 Markdown"
手动安装与旧版本兼容
仅适用于不支持 Profile Bundle 的旧快照或插件开发调试环境(本地 junction/symlink、手动编辑 profile 层)。
测试
node /node_modules/vitest/vitest.mjs run tests
- html.spec.ts:解析器边界(嵌套/未闭合/大小写/自闭合/注释/script 剥离/实体/畸形属性/深度守卫)
- html2md.spec.ts:块级与行内映射全表、表格(colspan/表头/转义)、scheme 过滤、baseUrl
- md2html.spec.ts:白名单结构 + 安全(内嵌 script 转义、javascript: 降级、引号转义)
- table.spec.ts:HTML/管道输入、列补齐、\| 转义;toc.spec 目录与 slugify
- register.spec.ts:注册契约(AUDIT-CROSS-02 风格)
许可
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
omdsh-dev/dsh-tool-markdown
把网页 HTML 和表格转成干净 Markdown 文档
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,288已汉化MCP
71.7
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9
原生编程智能体paean-ai/deeptide
由 DeepSeek 打造,为 DeepSeek 而生。
★ 1,107已汉化DSH
67.7
多引擎接力台emo-xiaoyu/harness-mix
macOS/Linux 已加入源码构建与启动适配;目标系统的完整桌面验收仍需在对应机器执行。安装方式、Linux…
★ 419已汉化DSH
66.8
这是你的仓库?认领条目