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

多模态识图生图 SCT192221/dsh-multimodal

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

给纯文本模型补上识图、生图与图片展示能力

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装;安装清单取自 dsh-multimodal-client/package.json。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add SCT192221/dsh-multimodal
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · vision
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 74 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装;安装清单取自 dsh-multimodal-client/package.json

展开查看检查明细 ↓

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

✗npm 包dsh-multimodal-client(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:12:43

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 15 处,展示前 15 条)
  • 读取本地文件
    dsh-multimodal/index.mjs:281
    return normalizeConfig(JSON.parse(readFileSync(CONFIG_PATH, 'utf8')))
  • 写入本地文件
    dsh-multimodal/index.mjs:289
    mkdirSync(dirname(CONFIG_PATH), { recursive: true })
  • 写入本地文件
    dsh-multimodal/index.mjs:290
    writeFileSync(CONFIG_PATH, `${JSON.stringify(config, null, 2)}\n`, { encoding: 'utf8', mode: 0o600 })
  • 写入本地文件
    dsh-multimodal/index.mjs:435
    await writeFile(requestPath, JSON.stringify(normalized), { encoding: 'utf8', mode: 0o600 })
  • 读取本地文件
    dsh-multimodal/index.mjs:457
    parsed = JSON.parse(await readFile(responsePath, 'utf8'))
  • 删除本地文件递归
    dsh-multimodal/index.mjs:471
    await rm(tempDir, { recursive: true, force: true }).catch(() => {})
  • 写入本地文件
    dsh-multimodal/multimodal-helper.cjs:5
    function writeResult(file, obj) { try { fs.writeFileSync(file, JSON.stringify(obj), 'utf8'); } catch (e) {} }
  • 发起网络请求
    dsh-multimodal/multimodal-helper.cjs:26
    const res = await fetch(url, { method: 'POST', headers: { 'Authorization': 'Bearer ' + apiKey, 'Content-Type': 'application/json' }, body: JSON.string
  • 发起网络请求
    dsh-multimodal/multimodal-helper.cjs:60
    try { const res = await fetch(url, { redirect: 'follow', signal: ctrl.signal }); if (!res.ok) throw new Error('下载图片 HTTP ' + res.status); return Buffe
  • 写入本地文件
    dsh-multimodal/multimodal-helper.cjs:75
    try { fs.mkdirSync(outDir, { recursive: true }); } catch (e) {}
  • 写入本地文件
    dsh-multimodal/multimodal-helper.cjs:86
    fs.writeFileSync(fpath, buf);
  • 读取本地文件
    dsh-multimodal/multimodal-helper.cjs:110
    const entries = fs.readdirSync(pnpm).filter(function (x) { return x.indexOf('sharp@') === 0; });
  • 读取本地文件
    dsh-multimodal/multimodal-helper.cjs:130
    const names = fs.readdirSync(profiles, { withFileTypes: true });
  • 读取本地文件
    dsh-multimodal/multimodal-helper.cjs:184
    try { req = JSON.parse(fs.readFileSync(reqFile, 'utf8')); } catch (e) { writeResult(resFile, { ok: false, error: '无法读取请求文件: ' + (e && e.message) }); r
  • 发起网络请求
    dsh-multimodal-client/lib/client.js:274
    const response = await fetch(path, init);
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 识图能力
  • 生图能力
  • 图片展示

DeepSeek harness多模态插件,接近原生体验。

README

由 DeepSeek 最新模型翻译生成
dsh-multimodal(DeepSeek Harness 多模态插件) 给 DeepSeek Harness 的文本模型补全视觉与生图能力,不改动 harness 源码。两个包配套使用: | 包 | 类型 | 作用 | | dsh-multimodal | host 插件 | vision 识图 + generate_image 生图/改图(含参考图比例匹配、超限自动缩放预览)+ show_image 展示(支持多张)+ 纯文本模型 image-strip 适配 + /global-multimodal/* 配置路由 | | dsh-multimodal-client | client 插件 | 工具卡内联图 + turn-tail 图集 + 「设置 → 多模态」设置页(模型/端点/API Key/连接测试) | 只装 host 也能用:工具全部可用,图片以通用卡片显示、配置走手编文件;装上 client 才有图片渲染和设置页。
展开完整文档(README 剩余 1 节)
dsh-multimodal(DeepSeek Harness 多模态插件)

给 DeepSeek Harness 的文本模型补全视觉与生图能力,不改动 harness 源码。两个包配套使用:

| 包 | 类型 | 作用 |
| dsh-multimodal | host 插件 | vision 识图 + generate_image 生图/改图(含参考图比例匹配、超限自动缩放预览)+ show_image 展示(支持多张)+ 纯文本模型 image-strip 适配 + /global-multimodal/* 配置路由 |
| dsh-multimodal-client | client 插件 | 工具卡内联图 + turn-tail 图集 + 「设置 → 多模态」设置页(模型/端点/API Key/连接测试) |

只装 host 也能用:工具全部可用,图片以通用卡片显示、配置走手编文件;装上 client 才有图片渲染和设置页。

目录结构

dsh-multimodal/
├── dsh-multimodal/ # host 插件(file:// 挂载) │ ├── index.mjs │ ├── multimodal-helper.cjs │ ├── package.json │ └── README.md ├── dsh-multimodal-client/ # client 插件(pnpm 依赖安装,lib/ 已构建) │ ├── src/ # 源码(TS + CSS Modules) │ ├── lib/ # 构建产物(已提交,装完即用) │ ├── package.json │ └── README.md ├── patches/ # harness 补丁(贴图识别所需,见安装第 3 步) ├── .gitignore ├── LICENSE └── README.md

安装

1. host 插件(dsh-multimodal)

把 dsh-multimodal/ 目录放到 ~/.dsh/plugins/ 下,在 web profile 的 ~/.dsh/profiles/web/cordis.patch.yml 的 - insert: 数组加挂载行:

- insert:
- id: multimodal-host
name: file:///C:/Users//.dsh/plugins/dsh-multimodal/index.mjs

host 走 file:// 挂载而非 pnpm 依赖,是为了让运行时配置 global-multimodal-config.json 稳定存在插件目录(node_modules 里的依赖每次重装会被清掉)。

2. client 插件(dsh-multimodal-client)

corepack pnpm dsh plugin --profile web add github:SCT192221/dsh-multimodal#path:/dsh-multimodal-client

或手动:在 ~/.dsh/profiles/web/package.json 的 dependencies 加 "dsh-multimodal-client": "github:SCT192221/dsh-multimodal#path:/dsh-multimodal-client",dsh.profile.bundles 数组加 "dsh-multimodal-client",profile 目录跑 corepack pnpm install。

包内已提交构建产物 lib/ 且无 prepare 脚本,不会触发 pnpm 11 的 git-allowBuilds 闸门。

两步都完成后重启 dsh web 生效。

3. harness 补丁(贴图识别所需)

官方 harness 的模态守卫会在纯文本模型的会话里拒绝图片输入(「当前模型不支持图片,请切换支持图片的模型」),需再打一个小补丁才能贴图识图:

在 harness 源码树根(packages/ 的上级)执行
git apply /patches/apiproxy-modality-guard.patch

不打补丁时贴图会被拒,但 vision 传显式路径/URL、文生图、show_image 均正常。原理与手动改法详见 dsh-multimodal/README.md。

新版 harness 用户注意:附件存储默认限制单边 2000px(maxImageDimension),2K/3K 生成图会超限。插件已做优雅降级(生成照常、原图照存,超限图自动等比缩放为预览内联展示,原图路径在 files 里返回;缩放不可用时退回纯路径交付)。想要 2K/3K 原图无损内联展示,可调大 ~/.dsh/settings.yaml 里 attachment-local 的 maxImageDimension(如 4096)——调与不调的取舍详见 dsh-multimodal/README.md 的「harness 附件尺寸上限与你的选择」。旧版 harness(rc.7 及更早)无此限制,行为不变。

配置凭据

视觉与生图两个通道各配一个 API Key,写在 ~/.dsh/.credentials.yaml:

- DSH_VISION_API_KEY — 视觉模型
- DSH_GENERATION_API_KEY — 生图模型

两个通道的模型 ID 与 Base URL 均可配置,支持任何 OpenAI 兼容端点(Gemini、GPT、豆包等),不预置任何默认值。装了 client 插件后在 web UI「设置 → 多模态」里填即可;没装 client 手编 ~/.dsh/.credentials.yaml 与插件目录下的 global-multimodal-config.json。首次使用需先填好模型 ID 与 Base URL,填好前工具调用会提示未配置。本开源包不含凭据与运行时配置。

License

MIT
预览分享卡片长什么样 ↓SCT192221/dsh-multimodal
分享 · DeepSeek Harness Hub
SCT192221/dsh-multimodal

给纯文本模型补上识图、生图与图片展示能力

这是你的仓库?认领条目

回到顶部