DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Omnifile — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
O

dsh-omnifile

Omnifile

DSH file adapter plugin (for DSH 0.1.2-alpha.1): Add local files by dragging, pasting, clicking to upload, or using @ file references, then send them with messages as “File: <path>” references; the main model invokes the dshomnifile tool as needed for parsing—text is read directly with multiple enco

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:zuuky/dsh-omnifile#63c54b55dedb00ec693b206315b78e4eeb181184
READMECompatibilityVersions

Description

DSH file adapter plugin (for DSH 0.1.2-alpha.1): Add local files by dragging, pasting, clicking to upload, or using @ file references, then send them with messages as “File: <path>” references; the main model invokes the dshomnifile tool as needed for parsing—text is read directly with multiple encoding support, Office/PDF and other documents are converted to text by anydoc, and embedded document images plus scanned/image-text mixed PDF pages are rendered with in-process pdfjs and recognized by a configured multimodal model (with content-hash caching and concurrent queuing), then assembled into Markdown; file cards in chat can preview images and open source files locally; recognition uses the official ctx.llm.stream.

Compatibility and provenance

Omnifile is published as dsh-omnifile and currently resolves to version 0.1.2-alpha.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/9/2026

Versions

0.1.2-alpha.1prerelease
9/9/2026
0.1.0stable
8/22/2026

Related plugins

Loading related plugins…

Latest
0.1.2-alpha.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/2/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in vision-media.

Tool Describe Image@linxin666/dsh-tool-describe-imageModel-facing describe_image tool for the dsh web GUI: gives a text-only model image understanding by asking a vision-language model at an OpenAI-compatible endpoint to describe one image (local path, http(s) URL, or attachment reference). Hot-pluggable — Modlens@liustack/modlensPlug-in vision for text-only LLMs, powered by the free Antigravity CLIDeepseek Ivideodeepseek-ivideoiPolloWork HyperFrames Video Studio and 27 editable video templates as a native DeepSeek Harness conversation view.Imagegen@dickpy/dsh-imagegenAI image generation plugin for the dsh web GUI: text-to-image and image-to-image through configurable provider channels (gpt-image-2 / grok-imagine-image / nanobanana series / seedream-5.0-pro / dall-e-3, with native xAI Grok Imagine, Google Nano Banana a

README

DshOmniFile(dsh-omnifile)

文件适配插件:把本地文件(拖拽 / 粘贴 / 点击多选 / 官方 @file)加入对话,主模型按需解析文件内容后正常作答。

English | 中文

工作方式(按需解析,不提前干预)

  1. 文件加入输入区后显示为一个 chip,消息发送时序列化为 文件:<绝对路径> 引用。
  2. 主模型在需要时调用 dshomnifile 工具解析引用路径,一次性获得 Markdown 内容。
  3. 聊天内每条用户消息上方有文件卡片:图片显示缩略图(点击放大预览),其他文件显示文件行(点击用本地默认程序打开源文件)。

支持的解析路线

类型处理方式
纯文本(.json/.txt/.md/.html/.shtml)多编码直读(UTF-8/16/32 、GB18030、BOM 识别),JSON 美化、HTML 剥标签;二进制内容拒绝
图片配置的多模态模型识别(PNG/JPEG/WebP/GIF 原生;BMP/SVG/AVIF/TIFF 自动转码为 PNG 后识别),内容哈希缓存 + 并发排队
Office 文档 / PDF / 表格 / EPUB / CSV 等先由 anydoc 提取文本;文档内嵌图片解包提取后交多模态识别,按文档顺序组装进正文
PDF:纯文字anydoc 直接提取文字层(不渲染不 OCR,最省)
PDF:图文混排 / 贴图智能闸门检测到页面含位图 → 逐页渲染 + 逐页 OCR
PDF:纯扫描件(含 CCITT 传真 / JBIG2)anydoc 提取不到 → 逐页渲染 + 逐页 OCR
  • PDF 逐页渲染为进程内完成(pdfjs-dist + @napi-rs/canvas,已配置 wasmUrl 等资源路径),跨平台无需安装任何本机工具;CCITT 传真 / JBIG2 的 1-bit 扫描页在 auto 下自动逐页识别。
  • 批量解析时单个文件失败只影响该文件(结果内联报错),不会拖垮整批;取消操作立即中止。

前置要求

  • DSH 0.1.2-alpha.1 及以上(Desktop / Web)。
  • 一个支持图片输入的多模态模型,并在「设置-模型」中配置好(见「配置」)。

安装(从 GitHub)

插件以「成品包」发布:lib/ 构建产物与 cordis.patch.yml 已提交进仓库,安装即用、无需在本机构建(不上传时执行构建脚本,也就没有 pnpm 构建审批门槛)。

dsh plugin --profile desktop add github:<你的用户名>/dsh-omnifile
  • 安装由 DSH 在对应 profile 目录($DSH_HOME/profiles/<profile 名>)内执行 pnpm add github:...:
    • 运行时依赖(@napi-rs/canvas、pdfjs-dist、@firecrawl/anydoc)自动装进该 profile 的 node_modules,无需手动处理;
    • 装完自动把本插件加入 profile 的插件层,重启 DSH 后生效。
  • 文档解析用的 anydoc CLI / extract-zip 不在安装时预装:首次解析文档时由 npx 按需从 npm 仓库拉取固定版本并缓存(需联网;无网络环境首次解析会失败)。
  • Desktop 端 pnpm 由 DSH 自带;Web / CLI 方式要求本机 PATH 中有 pnpm。

配置

在 DSH「设置-模型」配置模型后,本插件设置页选择其一保存为 providerRef;未选择时默认使用当前会话模型(需支持图片输入)。

settings.yaml 可覆盖项:

omnifile:
  providerRef: llm-pi-ai/vision/general-model   # 「设置-模型」中选择的多模态模型唯一引用
  describePrompt: '请按要求描述这张图片。'      # 识图固定提问(工具可按需在图片问题上叠加)
  timeoutMs: 60000            # 单次多模态调用超时(毫秒)
  maxFileBytes: 50            # 单文件大小上限(MB)
  maxBatchFiles: 20           # 单次上传文件总数上限(超出自动截断并提示)
  concurrency: 10             # 多模态识别并发数(超过自动排队等待,不拒绝)
  maxTokens: 16384            # 单次识图最大输出 token 数
  logLevel: warn              # debug / info / warn / error
  pdfScan: auto               # PDF 策略:auto=智能(见上表)/ force=任何 PDF 都逐页渲染识别(最完整、成本最高,每页一次多模态调用)

日志与排障

  • 4 级日志统一前缀 [dsh-omnifile];宿主端镜像到 DSH ctx.logger(持久化到 userData/logs/dsh-*.log)与 console.error,浏览器端输出到 DevTools Console(F12)。
  • 级别控制:设置页 → 环境变量 DSH_OMNIFILE_LOG_LEVEL=debug(优先级最高,且经 /api/omnifile/config 同步到浏览器端)→ settings.yaml 的 omnifile.logLevel。
  • 排障入口:http://127.0.0.1:<port>/api/omnifile/config 可回读当前生效配置与限额。

架构

src/core/          双端共用:常量 / 消息标记 / 工具 / 日志
src/core/host/     宿主侧:配置、路径、HTTP、分类(extensions)、文本解码、anydoc/npx、
                   PDF 渲染与位图检测(pdfrender)、解析管线(parse)、多模态(vision)、模型目录、工具注册
src/core/client/   客户端工具与日志适配
src/host/index.ts  宿主组合根:设置命名空间 + /api/omnifile/* 路由 + dshomnifile 工具
src/client/        客户端组合根:上传/拖拽/粘贴/@ 文件接入(intake)、chip 控制器、
                   聊天文件卡片(card)、设置页小节(settings)、样式(styles)
build/ scripts/    构建配置与入口(vite 三目标:host / common / client)
test/              node --test 回归(含传真 PDF 渲染、位图闸门、图片转码、多编码解码)

局限

  • @ 文件补全依赖宿主提供的工作区文件引用服务;缺失时仍可用拖拽 / 粘贴 / 上传按钮。
  • 识图依赖配置的多模态模型;纯文本模型无法识图(会在解析时明确报错提示)。
  • 无 BOM 的 UTF-16 中文短文本存在编码歧义,会按二进制拒绝(业界通病,建议文件自带 BOM)。
  • 老式 .doc/.xls/.ppt 依赖 anydoc 支持;AVIF/TIFF 转码识别依赖运行环境解码能力。
  • 超大文档解析后的全文交由主模型处理,插件层不截断、不丢内容。
  • 本插件不向第三方云端传任何内容,多模态调用只指向你配置的端点。

许可

MIT