🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

文档转Markdown Gorkaseto/dsh-markdownize

DeepSeek Harness
Gorkaseto11 天前有提交已提供中文文档扫描:含敏感能力

把本地文档转成 Markdown 供模型读取

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Gorkaseto/dsh-markdownize
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/10/27·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 11 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)
查看扫描证据(共 14 处,展示前 14 条)
  • 写入本地文件
    index.js:25
    await mkdir(DEBUG_DIR, { recursive: true })
  • 写入本地文件
    index.js:28
    await writeFile(path, md, 'utf8')
  • 读取本地文件
    index.js:39
    const info = await stat(abs)
  • 写入剪贴板
    client.js:174
    navigator.clipboard?.writeText(INSTALL_COMMAND).then(() => {
  • 执行外部命令来自配置/变量
    engine.js:35
    execFile(argv[0], argv.slice(1), { env: PY_ENV, timeout, signal, windowsHide: true, maxBuffer: 16 * 1024 * 1024 }, (error, stdout, stderr) => {
  • 读取本地文件
    engine.js:49
    const load = () => (loaded ??= readFile(settingsPath, 'utf8').then(
  • 写入本地文件
    engine.js:63
    await mkdir(dirname(settingsPath), { recursive: true })
  • 写入本地文件
    engine.js:65
    await writeFile(tmp, JSON.stringify(settings, null, 2), 'utf8')
  • 写入本地文件
    engine.js:66
    await rename(tmp, settingsPath)
  • 读取本地文件
    engine.js:125
    return await readFile(out, 'utf8')
  • 删除本地文件递归
    engine.js:127
    await rm(dir, { recursive: true, force: true })
  • 读取本地文件
    engine.js:168
    return { ...await convertBuffer(buf ?? await readFile(path, { signal }), path), engine: 'js' }
  • 写入本地文件
    engine.js:180
    await writeFile(file, buf)
  • 删除本地文件递归
    engine.js:183
    await rm(dir, { recursive: true, force: true })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

一个 DeepSeek Harness(dsh)插件,把文档转成 Markdown,好让大模型能读。

README

由 DeepSeek 最新模型翻译生成
dsh-markdownize 一个 DeepSeek Harness(dsh)插件,把文档转成 Markdown,让 LLM 能读懂。 模型对纯文本的处理效果最好。PDF、Word 文件或电子表格按原始字节读进去,对模型来说就是噪声。Markdown 保留结构(标题、列表、表格、幻灯片、页面),同时紧凑易读。这个插件给智能体提供一个 convert_to_markdown 工具,在本地完成转换。你也可以在内容发给模型之前,自己先预览转换结果。 功能 - convert_to_markdown 工具。 模型传入本地文件路径调用它,拿回 Markdown 格式的文档,按 max_chars 截断(默认 100,000)。 - 两种转换引擎。 在插件页面上二选一: - 自带引擎,纯 JavaScript 移植 MarkItDown 的离线转换器,随插件打包,始终可用; - Microsoft MarkItDown(Python),安装后使用。 - DOCX 和 PPTX 中的图片。 内嵌图片变成 [Image N: alt text] 标记。当前模型接受图片时,每张图片紧跟其标记之后发送。 - 调试模式。 在网页输入框里预览文件转出的 Markdown(Ctrl+Shift+M)。不会向模型发送任何内容。
展开完整文档(README 剩余 1 节)
dsh-markdownize

一个 DeepSeek Harness(dsh)插件,把文档转成 Markdown,让 LLM 能读懂。

模型对纯文本的处理效果最好。PDF、Word 文件或电子表格按原始字节读进去,对模型来说就是噪声。Markdown 保留结构(标题、列表、表格、幻灯片、页面),同时紧凑易读。这个插件给智能体提供一个 convert_to_markdown 工具,在本地完成转换。你也可以在内容发给模型之前,自己先预览转换结果。

功能

- convert_to_markdown 工具。 模型传入本地文件路径调用它,拿回 Markdown 格式的文档,按 max_chars 截断(默认 100,000)。
- 两种转换引擎。 在插件页面上二选一:
- 自带引擎,纯 JavaScript 移植 MarkItDown 的离线转换器,随插件打包,始终可用;
- Microsoft MarkItDown(Python),安装后使用。
- DOCX 和 PPTX 中的图片。 内嵌图片变成 [Image N: alt text] 标记。当前模型接受图片时,每张图片紧跟其标记之后发送。
- 调试模式。 在网页输入框里预览文件转出的 Markdown(Ctrl+Shift+M)。不会向模型发送任何内容。

支持的格式

| 格式 | 自带引擎(JS) | Microsoft MarkItDown |
| PDF | 支持(逐页文本) | 支持 |
| Word .docx | 支持 | 支持 |
| PowerPoint .pptx | 支持(逐页文本和备注) | 支持 |
| Excel .xlsx | 支持(每个工作表一张表) | 支持 |
| HTML / HTM | 支持 | 支持 |
| CSV / TSV | 支持(转成表格) | 支持 |
| JSON / XML | 支持(代码围栏块) | 支持 |
| TXT / MD | 支持(原样) | 支持 |
| ZIP | 支持(逐个处理内部支持的文件) | 支持 |
| Excel 97 .xls、EPUB、Jupyter .ipynb、Outlook .msg | 不支持 | 支持 |

转换引擎

自带引擎(JavaScript)

convert.js 用 Node 库复刻 MarkItDown 的离线转换器:

- DOCX 用 mammoth;
- XLSX 用 exceljs;
- PDF 用 unpdf(pdf.js);
- HTML 用 turndown,支持 GFM 表格;
- PPTX 和 ZIP 用 jszip 和 fast-xml-parser。

不需要 Python,不需要网络,也不起子进程。这些库已预打包在 vendor/ 里,所以插件没有运行时 npm 依赖。这一点很关键:dsh 以 link: 依赖的方式安装本地插件,而 pnpm 从不安装链接包的依赖。

Microsoft MarkItDown

MarkItDown 是微软的 Python 工具,做同一件事。它给出参考输出,还能多读几种格式。安装:

pip install "markitdown[all]"

插件会在 PATH 上按 markitdown、py -m markitdown、python -m markitdown 或 python3 -m markitdown 查找它。如果它装在别处,比如某个 virtualenv 的 markitdown.exe,在插件页面上设置它的命令。路径含空格时用双引号括起来。

选择引擎

打开 Plugins → dsh-markdownize。页面会显示找到了哪些引擎。
两者都可用时,按下面的规则选择:

- 自动(默认):找到 MarkItDown 就用它,否则用 JavaScript 引擎。
- 始终使用 MarkItDown:找不到它时转换失败。
- 始终使用 JavaScript。

选择结果和自定义命令保存在 <dshHome>/storages/dsh-markdownize/settings.json,与图片设置放在一起。它们对工具和调试模式都生效。每次 Host 启动时检测一次 MarkItDown;安装后按 Search again 重新搜索。

文档中的图片

JavaScript 引擎会提取 DOCX 和 PPTX 文件中嵌入的图片(包括 ZIP 内的图片)。每张图片在原位置留下一个标记:DOCX 留在文本中,PPTX 留在幻灯片文本之后。

[Image 1: Sales by quarter]
[Image 2]
[Image 3: Company logo — same as image 1] [Image 4: Vector logo — format not supported]

插件页面决定接下来怎么处理:

- 模型接受图片时发送给它(默认)。工具会检查当前模型声明的输入模态,做法与 harness 的 read_image 相同。模型支持图片时,每张图片存为附件,紧跟其标记之后发送。模型只支持文本时(例如 DeepSeek 的模型),只发送标记,并附一条说明原因的提示。
- 仅发送文本标记。 图片从不发送。

每次转换的图片上限(1–50,默认 10)限制单次调用发送的图片数量,且不超过 harness 自身的单条消息图片上限。超出上限的图片保留标记,并附一条说明。模型也可以传 include_images: false 只获取标记;它无法覆盖这些设置。

重复的图片(每张幻灯片上都有的 logo)只发送一次。两边都小于 32 px 且没有 alt 文本的图标会跳过。PNG、JPEG、GIF 和 WebP 会发送;EMF、WMF 和 TIFF 只保留标记。调试模式始终显示标记。

MarkItDown 不提取图片,所以它作为引擎时这些设置不起作用。

安装

插件不需要构建步骤,也不需要 Python。对于 web 配置档:

dsh plugin --profile web add ./dsh-markdownize

dsh --profile web --dump-config

导出的配置里应出现 # == dsh-markdownize 层。然后启动客户端:

dsh web

在 desktop 配置档上,从应用的插件管理器里以本地文件夹方式添加。

调试模式(web 客户端)

1. 在输入框附加兼容的文件,或用 @ 提及一个文件。
2. 按 Ctrl+Shift+M。

每个兼容的附件和 @file 引用都会在 Host 上转换。@file 路径按会话的工作区解析。完整输出(不截断)写入 <os tmpdir>/dsh-markdownize-debug/,并在右侧边栏预览中打开。输入框会显示一条通知,报告其大小、路径和所用引擎。

不会向模型发送任何内容,草稿保持原样。图片和不支持的格式会跳过。

限制与安全

- 仅限本地文件:URL 会被拒绝(这类场景请使用 web 工具)。
- 读取文件时使用 dsh 进程的权限。
- 文件大小上限为 50 MB。
- ZIP 上限为 200 个条目、解压后 50 MB,最多嵌套一层。
- 工具输出默认截断到 100,000 个字符。

未覆盖: 扫描件 OCR、PDF 中的图片、纯文本模型的图片描述、音频转写、YouTube、Azure Document Intelligence,以及旧版 .doc 和 .ppt 格式。

结构

- index.js —— Host 部分。它注册 convert_to_markdown 工具和 markdownize 服务(convert、convertPath、status、configure、configureImages、redetect),通过 Gateway 的 SRC 回退提供。
- engine.js —— 引擎选择、MarkItDown 检测与调用,以及保存的设置。
- convert.js —— JavaScript 引擎。
- images.js —— 内嵌图片:标记、模型交接,以及工具的输出 schema。
- client.js —— Client 部分:Plugins 下的引擎页面、调试模式快捷键,以及 en / es / zh 界面文案。
- locale/ —— 插件的本地化标题和描述。
- cordis.patch.yml —— 插入 dsh-markdownize 插件行。
- vendor/ —— 打包的转换器库(生成后提交)。
- build-vendor.mjs —— 重新构建 vendor/。

重新构建 vendor/

在 devDependencies 中修改转换器版本后:

npm install && npm run build

提交重新生成的 vendor/ 文件:插件在运行时加载它们。

许可证

Copyright 2026 gorkaseto. 依据 Apache License, Version 2.0 授权;打包的第三方库及其许可证见 NOTICE。
预览分享卡片长什么样 ↓Gorkaseto/dsh-markdownize
分享 · DeepSeek Harness Hub
Gorkaseto/dsh-markdownize

把本地文档转成 Markdown 供模型读取

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部