← 返回列表
✓ 可直接安装
把 Microsoft MarkItDown 包装成 DeepSeek Harness 的模型工具。
自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node ^22.19.0 || >=24.0.0);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/13 · 已提供中文文档
微软 MarkItDown 作为 DeepSeek Harness 工具:将 PDF、Word、Excel、PowerPoint、HTML、CSV、EPUB 或 URL 转换为模型可读的 Markdown。
综合分
34.2
GitHub 分
34.2
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-markitdownnpm 包 dsh-markitdown 已校验归属本仓库,走 npm 安装最省事
信任档位:已验证本站已于 4 天前真实安装成功(L4 · 真实安装)
- 是什么
- dsh 原生插件 · chat
- 装得上吗
- 本站已真实安装成功(L4 · 真实安装,非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 12 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/22
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-markitdown @ 0.1.2
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/21 11:03:16
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-agent@deepseek-ai/dsh-fs@deepseek-ai/cordis@deepseek-ai/dsh-tools@deepseek-ai/schemastery用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-markitdown
npm
license
stars
把 Microsoft MarkItDown 包装成 DeepSeek Harness 的模型工具。
一个工具 markitdown,把文档变成模型真正读得懂的 Markdown。
模型在读取任何非文本文件之前调用它:
markitdown({ input: "reports/q3.pdf" })
markitdown({ input: "data/forecast.xlsx", output: "notes/forecast.md" })
markitdown({ input: "https://example.com/spec.html" })
为什么做这个
纯文本模型打不开 PDF、表格和幻灯片。MarkItDown 把这件事做得很好——但它是 Python 包,
而一个 harness 插件不能假定某种 Python 环境、某种安装布局,更不能假定机器上装了什么。
所以本插件既不重新实现 MarkItDown,也不内嵌它:它查找真实的安装并驱动它,
找不到时退回一个自带的内置转换器。
| 顺序 | 引擎 | 是什么 | 需要 |
| --- | --- | --- | --- |
| 1 | markitdown | 微软官方 CLI | pip install "markitdown[all]" |
| 2 | uvx markitdown | 免安装直接跑真包 | uv |
| 3 | python -m markitdown | 已装该包的 Python | Python 3.10+ 且装了 MarkItDown |
| 4 | built-in | 插件自带的零依赖转换器 | 什么都不需要 |
顺序 2 通常最划算:机器上有 uv,就能跑真正的 MarkItDown 且无需永久安装。
它默认使用 markitdown[all],否则 Office 和 PDF 格式根本无法转换——裸的 markitdown
并不包含任何格式转换器。
顺序 4 让工具在什么都没装的机器上依然可用;它老实说明自己的能力边界,而不是瞎猜。
保真度
| 格式 | 真 MarkItDown | 内置兜底 |
| --- | --- | --- |
| PDF | 完整版面提取 | 不支持——明确说明并给出解决办法 |
| Word .docx | 完整 | 标题、段落、列表、表格 |
| Excel .xlsx | 完整 | 工作表、共享字符串、数字、表格 |
| PowerPoint .pptx | 完整 | 逐页文本 |
| HTML / .epub | 完整 | 标题、列表、链接、表格、代码 |
| CSV / TSV / JSON / XML | 完整 | 表格 / 代码块 JSON / 展平文本 |
| Jupyter .ipynb | 完整 | Markdown 与代码单元 |
| 图片、音频、YouTube | OCR 与转写 | 不支持 |
| 纯文本与代码 | 原样透传 | 原样透传 |
内置转换器是安全带,不是替代品。一旦用到它,结果里会写明,并给出解锁完整保真度的命令。
安装
从 GitHub 安装
dsh plugin --profile web add github:jiekesu967/dsh-markitdown
编译产物 lib/ 已提交进仓库,这条路不需要任何构建步骤。
从 Release 压缩包安装
从 Releases 下载
dsh-markitdown-.tgz,然后:
dsh plugin --profile web add ./dsh-markitdown-0.1.0.tgz
从 npm 安装
dsh plugin --profile web add dsh-markitdown
npm 包由本仓库发布:。
重启 dsh web,markitdown 工具会在下一个会话中出现。
除此之外无需任何依赖。若要 PDF、OCR、音频与完整保真的 Office 转换,任选其一:
pip install "markitdown[all]" # 或者
winget install astral-sh.uv # 之后 uvx markitdown 免安装可用
配置
所有字段均可选,下面是默认值。
- id: markitdown
name: dsh-markitdown
config:
engine: auto # auto | markitdown | uvx | python | builtin
uvxPackage: "markitdown[all]" # 可精简为 "markitdown[pdf,docx,pptx,xlsx]"
command: "" # 显式指定 markitdown 可执行文件,覆盖 PATH 查找
timeoutMs: 120000 # 单次转换超时
maxChars: 120000 # 内联返回上限,超出则截断
maxBytes: 67108864 # 内置引擎读取的字节上限
allowUrls: true # 是否接受 http(s) 输入
extraArgs: [] # 传给外部引擎的额外命令行参数
engine: auto 每个插件实例只探测一次并缓存结果。显式指定引擎会关闭兜底:
如果你指定 uvx 而机器上没有 uv,调用会直接失败并说明原因与解法,
而不是悄悄换一个引擎转出别的东西。
首次 uvx 运行会下载 MarkItDown 及其依赖(约一分钟)。包管理器的进度输出会被过滤掉,
只有真正的诊断信息才会进入工具结果。
值得知道的行为
- 相对路径按会话工作区解析,与内置文件工具完全一致,而不是 harness 进程的工作目录。
- output 走文件系统 seam,因此会话级沙箱策略与"先观察后写入"规则都会生效;
覆盖已存在的文件会先读取它。
- 输入不存在时在启动任何子进程之前就失败,给出一句清晰的说明,而不是引擎的 traceback。
- 截断会被告知:Markdown 超过 maxChars 且未给 output 路径时,结果里会说明被截断以及如何取全文。
- 子进程一律 shell: false:含 shell 元字符的文件名或 URL 只会是一个 argv 元素,永远不可能变成命令。
只接受真正的可执行文件;.cmd/.bat 垫片会被拒绝,因为运行它们需要 shell。
- MarkItDown 以当前进程的权限执行 I/O。请据此对待不可信输入,并参阅 MarkItDown 自身的安全说明。
开发
npm run build # 编译 src/ → lib/
npm test # 内置转换器 + 插件接口测试
npm run typecheck # 只做类型检查
构建从 $DSH_CHECKOUT(源码检出)或 $DSH_RUNTIME(已安装运行时)解析并链接 DSH 包,
然后在单个 Node 进程内通过 TypeScript 编译器 API 完成编译——不依赖 shell,Windows 上同样可用。
源码未变时重新构建,lib/ 逐字节一致。
测试不需要网络、Python 或 MarkItDown:内置引擎用进程内合成出来的 OOXML 夹具测试。
若环境不允许创建子进程,用 npm run test:inline 在同进程内跑完。
src/index.ts 插件装配:配置、工具定义、执行路径
src/engine.ts 引擎链:探测、缓存、启动
src/builtin.ts 零依赖转换器
src/text.ts 实体解码、HTML→Markdown、分隔符解析
src/zip.ts OOXML/EPUB 用的最小 ZIP 读取器
src/exec.ts 子进程封装,失败原因如实上报
如果仓库 remote 配的是 SSH,那么推送这一步完全不需要任何 GitHub token。
致谢
MarkItDown 是微软的作品,MIT 许可:。
本插件只是驱动它。商标归各自所有者;本项目与微软无隶属或背书关系。
许可
MIT —— 见 LICENSE。