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

文件格式转换 ai-tool-labs/dsh-converter

DeepSeek Harnessv0.1.0
ai-tool-labs23 天前有提交已提供中文文档扫描:含敏感能力

本地转换图片音视频文档等千余种格式

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-converter
npm 源 · dsh-converter 的发布者账号已校验与本仓库一致

状态速览

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

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

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-converter @ 0.1.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/14 18:56:26

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

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 20 处,展示前 19 条)
  • 执行外部命令来自配置/变量
    build/tools.js:57
    const child = execFileOriginal(cmd, args, { ...options, timeout: timeoutMs, encoding: "utf8" }, (err, stdout, stderr) => {
  • 读取本地文件
    build/tools.js:87
    if (!existsSync(resolved)) {
  • 读取本地文件
    build/tools.js:90
    const size = statSync(resolved).size;
  • 读取本地文件
    build/tools.js:242
    if (!existsSync(outputPath)) {
  • 读取本地文件
    build/tools.js:257
    outputSize: statSync(outputPath).size,
  • 写入本地文件
    build/engine/main.js:175
    writeFileSync(tempInputPath, input);
  • 读取本地文件
    build/engine/main.js:191
    if (!targetPath && existsSync(actualOutputPath)) {
  • 读取本地文件
    build/engine/main.js:192
    const outputBuffer = readFileSync(actualOutputPath);
  • 读取本地文件
    build/engine/main.js:193
    if (inputPathToClean && existsSync(inputPathToClean))
  • 删除本地文件
    build/engine/main.js:194
    unlinkSync(inputPathToClean);
  • 读取本地文件
    build/engine/main.js:195
    if (outputPathToClean && existsSync(outputPathToClean))
  • 删除本地文件
    build/engine/main.js:196
    unlinkSync(outputPathToClean);
  • 读取本地文件
    build/engine/main.js:199
    if (inputPathToClean && existsSync(inputPathToClean))
  • 删除本地文件
    build/engine/main.js:200
    unlinkSync(inputPathToClean);
  • 读取本地文件
    build/engine/main.js:204
    if (inputPathToClean && existsSync(inputPathToClean))
  • 删除本地文件
    build/engine/main.js:205
    unlinkSync(inputPathToClean);
  • 删除本地文件
    build/engine/main.js:207
    unlinkSync(outputPathToClean);
  • 读取本地文件
    build/engine/vcf.js:57
    const vcfData = await readFile(filePath, "utf-8");
  • 写入本地文件
    build/engine/vcf.js:60
    await writeFile(targetPath, csvData, "utf-8");
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

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

DSH 文件转换插件:本地文件转换,覆盖 20 个工具链、1000+ 格式对,通过模型工具转换文件、查询格式矩阵、检查转换器是否可用。

README

由 DeepSeek 最新模型翻译生成
dsh-converter DSH(DeepSeek Harness)的文件格式转换插件:提供一套转换引擎,并封装为模型工具。 引擎覆盖 20 个转换器、1000+ 格式对(图片/音视频/文档/电子书/3D/表格...),全部通过外部 CLI(ffmpeg、pandoc、libreoffice、imagemagick、vips、calibre...)或纯 JS 实现(vcf)执行。 1. 工具 | 工具 | 用途 | | convert_file | 转换本地文件:{ inputPath, to, from?, outputPath?, converter? }。产物默认写到输入同目录(同名换扩展名)。
展开完整文档(README 剩余 1 节)
dsh-converter

DSH(DeepSeek Harness)的文件格式转换插件:提供一套转换引擎,并封装为模型工具。
引擎覆盖 20 个转换器、1000+ 格式对(图片/音视频/文档/电子书/3D/表格...),全部通过外部 CLI(ffmpeg、pandoc、libreoffice、imagemagick、vips、calibre...)或纯 JS 实现(vcf)执行。

1. 工具

| 工具 | 用途 |
| convert_file | 转换本地文件:{ inputPath, to, from?, outputPath?, converter? }。产物默认写到输入同目录(同名换扩展名)。不支持的格式对会返回可用目标列表,转换器缺失时返回安装命令 |
| list_conversions | 查询格式矩阵:给 from 返回该格式可转换的目标(按转换器分组);不给则返回全部分类格式概览 |
| check_converters | 检测本机各转换器 CLI 是否可用(含版本号) |

2. 安装

从 npm / GitHub 安装

dsh plugin --profile web add dsh-converter # 从 npm 安装
dsh plugin --profile web add github:ai-tool-labs/dsh-converter # 或 GitHub
桌面端:打开侧边栏「插件」面板 → 点击「添加插件」 → 输入框输入 "dsh-converter" → 点击安装安装后重启 harness 生效(桌面端重启 App;Web 端重启 dsh web)

从源码构建安装(开发者)

1) 构建
pnpm install && pnpm --filter dsh-converter build

2) 安装进 profile(示例:web profile)
dsh plugin --profile web add /path/to/dsh-plugins/packages/dsh-converter

在 profile 中启用

在 <profile>/cordis.patch.yml 中追加如下内容(随包附带的 cordis.patch.yml 提供了全部选项的注释示例):

- insert:
- id: file-converter
name: dsh-converter
config:
enableTools: true
enableSkill: true
maxFileSizeMb: 500 # 单文件上限(默认 500MB,与 Web 版一致) timeoutMs: 300000 # 外部 CLI 超时(默认 5 分钟)

3. 转换器安装

check_converters 会告诉你哪些缺失;各平台的安装命令:

| 转换器 | 用途 | macOS | Ubuntu | Windows |
| ffmpeg | 音视频/动图 | brew install ffmpeg | apt install ffmpeg | choco install ffmpeg |
| pandoc | 文档万能转换 | brew install pandoc | apt install pandoc | choco install pandoc |
| libreoffice | Office/PDF 互转 | brew install --cask libreoffice | apt install libreoffice | choco install libreoffice |
| imagemagick | 图像 | brew install imagemagick | apt install imagemagick | choco install imagemagick |
| vips | 图像(高性能) | brew install vips | apt install libvips-tools | choco install vips |
| calibre | 电子书 | brew install --cask calibre | apt install calibre | choco install calibre |
| inkscape | 矢量图 | brew install --cask inkscape | apt install inkscape | choco install inkscape |
| xelatex | LaTeX → PDF | brew install --cask mactex | apt install texlive-xetex | 安装 MiKTeX |
| vcf | 通讯录 vcf → csv | ✅ 纯 JS,无需安装 | ✅ | ✅ |

完整列表见 src/engine/installCommands.ts(含 20 个转换器的各平台安装命令)。

4. 架构

src/index.ts —— 入口:Config / inject / apply src/tools.ts —— convert_file / list_conversions / check_converters src/skills.ts —— file-conversion 技能(教模型使用规范) src/engine/ —— 移植的转换引擎(与原项目逻辑一致) ├── registry.ts —— 格式矩阵纯数据 + 查询函数(无 Node 依赖) ├── fileTypeCategories.ts —— 扩展名 → 类别(纯数据) ├── normalizeFiletype.ts —— 格式别名规范化(jfif→jpeg、md→markdown...) ├── main.ts —— mainConverter:自动选择转换器 + 路径/Buffer I/O └── <converter>.ts —— 20 个转换器(ffmpeg/pandoc/vips/vcf/...)

与 Web 版的关键差异

1. 文件 I/O:输入输出都是本地路径(Web 版是 HTTP 上传 + OSS 存储);
2. 超时与取消:通过引擎预留的 execFileOverride 扩展点注入包装 ——外部 CLI 超时(timeoutMs 配置)自动 kill,且工具调用被取消(exec.signal)时立即终止子进程,不留僵尸进程;
3. 错误自愈:不支持的格式对返回 availableTargets,转换器缺失返回安装命令 —— 模型可以自我纠正而不是反复失败;
4. 可诊断:check_converters 把 CLI 可用性暴露给模型。

引擎说明

- 引擎用 TypeScript 编写,零第三方依赖(只用 Node 内置模块):
- 导入使用相对路径;
- main.ts 是主转换器,暴露 execFileOverride 扩展点(用于超时/取消);
- detectOS() 用 Node 环境实现(而非浏览器 UA 检测)。
- 因引擎无运行时依赖,自包含且易于维护。

5. 开发

pnpm --filter dsh-converter typecheck # 类型检查
pnpm --filter dsh-converter build # tsc → build/
pnpm --filter dsh-converter smoke # 冒烟测试:
vcf→csv(纯 JS)真实转换、不支持格式的错误提示、格式矩阵查询、卸载清理
预览分享卡片长什么样 ↓ai-tool-labs/dsh-converter
分享 · DeepSeek Harness Hub
ai-tool-labs/dsh-converter

本地转换图片音视频文档等千余种格式

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