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

纯文本模型读图 OoWJZZoO/dsh-read-image

DeepSeek Harness
OoWJZZoO79 天前有提交已提供中文文档扫描:无法判定需联网ocr

让纯文本模型也能读取会话中的图片内容

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

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

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

状态速览

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

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

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

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/10 15:47:55

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 取源不可用(Error: github tarball HTTP 404 @ https:
  • · api.github.com
  • · repos
  • · OoWJZZoO
  • · dsh-read-image
  • · tarball)
扫描于 2026/11/2(1 天前)

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

⚠ 该插件运行需访问外部网络 / 远程 API,部署在国内无外网环境时可能无法正常使用。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools@deepseek-ai/dsh-typert-protocol
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 图像映射为会话标记
  • 代理引用工具读图
  • 读取指定路径图像

DeepSeek Harness的插件和播放图像读取插件. 安装后,DSH将不再拒绝将图像反馈到带有纯文本模型的会话中;而是将图像映射为会话中的[图像#N]. 然后,代理可以自己引用工具来读取会话或指定路径的图像.

README

由 DeepSeek 最新模型翻译生成
dsh-read-image 让非多模态大模型也能"看图"的 DeepSeek Harness 插件——即插即用,无需修改任何 preset:图片不再被拦截、投影为 [Image #N]、由一等公民 read_image 工具配合可配置的视觉模型读回。 功能 - 不再拦截:用户发送图片时,文本路由被声明为可接受图片输入,api-proxy 的准入闸门放行。 - [Image #N] 投影:文本路由的模型请求中,图片块被原位替换为 [Image #N] 文本,像素永远不会进入文本 API;多模态路由原样放行。 - 一等公民 read_image 工具(每个会话自动注册,遮蔽内置同名工具): - image_index:读取会话中第 N 张图片([Image #N]); - file_path:读取文件路径的图片(PNG/JPEG/WebP/GIF); - prompt / reasoning_effort / timeout_ms / max_tokens / max_thinking_tokens:可选参数,缺省使用配置默认值(工具描述内插当前真实默认值,Agent 无需猜测); - 文本路由通过配置的视觉模型把图片转成文字描述返回;多模态路由直接返回图片本身; - 无状态、可重复调用(包括重复读取同一张图)。
展开完整文档(README 剩余 1 节)
dsh-read-image

让非多模态大模型也能"看图"的 DeepSeek Harness 插件——即插即用,无需修改任何 preset:图片不再被拦截、投影为 [Image #N]、由一等公民 read_image 工具配合可配置的视觉模型读回。

功能

- 不再拦截:用户发送图片时,文本路由被声明为可接受图片输入,api-proxy 的准入闸门放行。
- [Image #N] 投影:文本路由的模型请求中,图片块被原位替换为 [Image #N] 文本,像素永远不会进入文本 API;多模态路由原样放行。
- 一等公民 read_image 工具(每个会话自动注册,遮蔽内置同名工具):
- image_index:读取会话中第 N 张图片([Image #N]);
- file_path:读取文件路径的图片(PNG/JPEG/WebP/GIF);
- prompt / reasoning_effort / timeout_ms / max_tokens / max_thinking_tokens:可选参数,缺省使用配置默认值(工具描述内插当前真实默认值,Agent 无需猜测);
- 文本路由通过配置的视觉模型把图片转成文字描述返回;多模态路由直接返回图片本身;
- 无状态、可重复调用(包括重复读取同一张图)。
- 原生多模态路由回退内置工具:会话基础路由本身声明图片输入时(如 mimo-v2.5),不注册自定义工具、不注入 [Image #N] 提示词段——该路由下图片直接进模型上下文,模型看到的是 harness 内置 read_image(仅 file_path,"return the image itself")。
- 可视化配置:设置面板(侧边栏齿轮)里的「读图」页,编辑视觉模型与默认参数;浏览器与 host 之间走 typert Remote 桥(readImageConfig),绕开 harness 对插件命名空间的设置白名单。

安装

要求 DeepSeek Harness(dsh)0.1.0-rc.6 或更高(harness 处于开发者预览阶段,更新的 release candidate 可能需要兼容性适配)。

Windows:插件运行时是纯 Node.js,在 Windows 上原样可用——harness 原生适配 Windows 路径(盘符、大小写不敏感文件系统、PowerShell 命令执行)。dsh 经 npm 安装为 dsh.cmd(在 PATH 中),~/.dsh 对应 %USERPROFILE%\.dsh(如 C:\Users\\.dsh)。下面的命令全部通用;凡出现字面路径处,把 ~/.dsh/... 换成 %USERPROFILE%\.dsh\... 即可。

方式一:dsh plugin add(推荐)

dsh plugin --profile web add github:OoWJZZoO/dsh-read-image

然后重启 dsh web。本包通过 dsh.bundle 清单附带 cordis.patch.yml,profile bundle 机制会自动合成插件行,无需手工改 patch。

方式二:手动安装

把本包加入 web profile,并手工注册插件行:

// ~/.dsh/profiles/web/package.json → dependencies
"@deepseek-ai/dsh-read-image": "github:OoWJZZoO/dsh-read-image#v0.1.0"

cd ~/.dsh/profiles/web && pnpm install

在 ~/.dsh/profiles/web/cordis.patch.yml 插入一行:

- insert:
- id: read-image
name: '@deepseek-ai/dsh-read-image'
config: {} # 可选:部署默认值(用户层可覆盖)

然后重启 dsh web。

不要同时走两条路:dsh plugin add 已自动合成插件行,若再手工添加依赖并插入同一行,插件会被注册两次。

配置

配置写在 $DSH_HOME/settings.yaml(热加载,无需重启)——Windows 上未设置 DSH_HOME 时是 %USERPROFILE%\.dsh\settings.yaml——也可在 Web 的「设置 → 读图」页编辑(写进 user layer,覆盖 settings.yaml 对应项):

1) 给视觉模型声明图片输入能力(pi-ai 路由) llm-pi-ai: providers:

models:
- id:
…contextWindow / maxTokens…
input: [text, image] # ← 关键

2) 本插件配置 dsh-read-image: visionProvider: # 视觉模型所在的路由 provider visionModel: # 视觉模型 id(须声明 input: [text, image])

| 键 | 默认值 | 说明 |
| visionProvider | '' | 视觉模型所在的路由 provider(下拉选项来自「模型」页) |
| visionModel | '' | 负责读图任务的多模态模型(该 provider 下的下拉选项) |
| defaultPrompt | 英文分步描述提示词(分类 → 文本逐字转 Markdown / 视觉描述) | read_image 未传 prompt 时使用 |
| defaultReasoningEffort | low | 默认思考强度。low 是各主流模型普遍支持并生效的最低档位;off 在很多适配器上等于「不传该字段」,对默认开思考的模型(如 mimo-v2.5)不生效,思考会挤占 max_tokens 使小预算输出为空 |
| defaultTimeoutMs | 300000 | 默认视觉调用超时(5 分钟,宽松) |
| defaultMaxThinkingTokens | 4096 | 默认最大思考 token(独立预算,不占输出配额);思考 token 超出预算导致输出为空时,read_image 会显式报错而非静默返回空 |
| defaultMaxTokens | 8192 | 默认实际输出 token 上限;传给 API 的 max_tokens = 该值 + defaultMaxThinkingTokens(reasoning_effort=off 时预算为 0,原样透传) |
| guard.enabled | true | 环境自检开关;false 跳过自检强行加载插件(见「安全」) |

说明:浏览器设置协议(settings.)对插件命名空间有硬编码白名单(WEB_SETTINGS_NAMESPACES),插件 settings.register() 的命名空间对客户端只回 settings-not-exposed,因此「读图」页不走 settings 协议,而是经 host 侧 typert Remote 桥(readImageConfig.get/set,见 lib/config-remote.js)读写同一命名空间——settings.yaml 仍是底座,Web 写入进 user layer,scope.watch 热同步运行时,headless 与 Web 配置一致。

使用

- 直接粘贴图片:文本模型会看到 [Image #1],调用 read_image image_index=1 即可查看;
- read_image file_path=/path/to/image.png 读取文件图片(Windows 上 C:\Users\... 与 C:/Users/... 两种写法都行——反斜杠由 harness 文件服务处理);
- 可传 prompt(问视觉模型的具体问题)、reasoning_effort、timeout_ms、max_tokens、max_thinking_tokens 覆盖对应默认值;
- 可反复调用,包括反复读取同一张图。

安全

本插件依赖的 harness 内部契约可能在升级后改变形态。启动时插件会对所有触及的 harness 契约做环境自检;任一检查失败时插件安全失败:不安装任何东西、harness 照常启动——完整诊断写入 ~/.dsh/logs/dsh-read-image-guard.log(Windows 上为 %USERPROFILE%\.dsh\logs\dsh-read-image-guard.log),前台只打一条简短提示。若你清楚自己在做什么,可在 settings.yaml 的 dsh-read-image 段写 guard.enabled: false 跳过自检强行加载(自担风险)。

工作原理

| 机制 | 平面 | 作用 |
| M1 准入放行 | host | 包装 llm.resolveModelInfo,文本路由声明接受图片输入(dispose 恢复)→ 发送/换模型闸门放行 |
| M2 投影 | host | llm/stream waterfall 同步监听器:文本路由上 image 块 → [Image #N] 文本,harness deepFreeze 后重入派发 |
| M3 工具 | per-agent | session/created 时经 agent 作用域注册 read_image(遮蔽内置同名工具)+ 提示词段 |
| 设置 | host | 注册 dsh-read-image settings 命名空间(schema 默认值即 fallback),scope.watch 热同步运行时配置 |
| 配置桥 | host | ReadImageConfigService(typert Remote,readImageConfig.get/set)读写同一命名空间,Gateway 自动发现 |
| 配置页 | browser | settings.section 注册「读图」页(order 12),apply 内 ctx.remote.$mount 自挂载 remote.readImageConfig |
| G1 自检 | host + browser | 总保险丝:apply 时探测全部 harness 契约,任一失效 → 插件不加载、harness 不受影响(见「安全」) |

- 能力真值表:用包装前的原始 resolveModelInfo 构建(绝不用被 M1 包装后的方法),llm/adapters-updated 时重建 + 启动重试兜底;
- 视觉调用:复用 ctx.llm(凭证/重试/日志与 harness 一致),AbortSignal.any([exec.signal, timeout]) 控制超时;
- 会话日志是唯一事实源:图片引用照常持久化,只在模型可见边界做 [Image #N] 替换。

开发

贡献者指南与全部 harness 绕行 hack 的决策记录(作用 / 风险 / 加固方向)见 AGENTS.md 与 docs/known-hacks.md。测试:node --test test/(从 dev profile 副本运行,见测试文件头注释)。

插件代码本身跨平台(纯 Node.js,无 OS 专属 API);开发/部署脚本(scripts/.sh)是 POSIX bash——Windows 上请用 Git Bash / WSL / MSYS2 运行,或手工镜像拷贝步骤(它们只是把 package.json、lib/ 与 cordis.patch.yml 拷进 profile 的 node_modules/@deepseek-ai/dsh-read-image)。

License

MIT
预览分享卡片长什么样 ↓OoWJZZoO/dsh-read-image
分享 · DeepSeek Harness Hub
OoWJZZoO/dsh-read-image

让纯文本模型也能读取会话中的图片内容

这是你的仓库?认领条目

回到顶部