让模型把本地图片直接渲染进聊天对话流
34.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add condaThinker/dsh-image-inline该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 65 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-image-inline(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 04:57:39
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 8 处,展示前 8 条)
- 写入本地文件dsh/index.js:84
mkdirSync(dir, { recursive: true }) - 写入本地文件dsh/index.js:87
const fd = createWriteStream(tmp, { flags: 'wx', mode: 0o600 }) - 写入本地文件dsh/index.js:95
renameSync(tmp, file) - 删除本地文件dsh/index.js:98
try { rmSync(tmp, { force: true }) } catch { } - 读取本地文件dsh/index.js:109
if (!existsSync(file)) return {} - 读取本地文件dsh/index.js:112
raw = readFileSync(file, 'utf8') - 读取本地文件dsh/index.js:184
info = statSync(requestedPath) - 读取本地文件dsh/index.js:519
const info = statSync(requestedPath)
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 渲染图片进聊天流
- 消息仅保留路径文本
- 图片字节不入上下文
DSH 插件:show_image 工具,把图片直接渲染进网页聊天流(QQ/微信风格)——消息里只留路径文本,图片字节不进模型上下文。
README
由 DeepSeek 最新模型翻译生成dsh-image-inline
让 DeepSeek Harness (DSH) 的 Web UI 支持模型主动把一张图片渲染进对话流(QQ/微信聊天式:图片显示在会话里、可上翻、和对话同步)。
对话流消息内容里只保留路径文本,图片本身不进入模型上下文(模型上下文保持干净,纯文本模型路由不受影响)。
工作方式
模型调用新增的 show_image 工具(传入磁盘图片路径)时:
1. host(dsh/index.js):校验路径/格式/大小 → 读取字节 → 通过附件服务 saveImage 存成内容寻址附件 → 返回纯文本结果(路径 + 元数据摘要)。图片的展示载荷(attachmentId/宽高/字节数)通过工具的 presentationMeta 放进 tool/result 事件的 meta 字段——不进模型上下文、不进会话日志的 image 块。
2. client(dsh/client.js):注册 tool.call.toolview 键控槽位(key = show_image),在对话流中该工具调用的位置渲染图片卡片(复用官方 MessageImage 组件:缩略图、点击看原图、加载失败可重试)。图片 URL 走插件自己的内容寻址 HTTP 端点。
展开完整文档(README 剩余 1 节)
dsh-image-inline
让 DeepSeek Harness (DSH) 的 Web UI 支持模型主动把一张图片渲染进对话流(QQ/微信聊天式:图片显示在会话里、可上翻、和对话同步)。
对话流消息内容里只保留路径文本,图片本身不进入模型上下文(模型上下文保持干净,纯文本模型路由不受影响)。
工作方式
模型调用新增的 show_image 工具(传入磁盘图片路径)时:
1. host(dsh/index.js):校验路径/格式/大小 → 读取字节 → 通过附件服务 saveImage 存成内容寻址附件 → 返回纯文本结果(路径 + 元数据摘要)。图片的展示载荷(attachmentId/宽高/字节数)通过工具的 presentationMeta 放进 tool/result 事件的 meta 字段——不进模型上下文、不进会话日志的 image 块。
2. client(dsh/client.js):注册 tool.call.toolview 键控槽位(key = show_image),在对话流中该工具调用的位置渲染图片卡片(复用官方 MessageImage 组件:缩略图、点击看原图、加载失败可重试)。图片 URL 走插件自己的内容寻址 HTTP 端点。
模型 → show_image(path) → 附件服务存图 → 纯文本结果(路径+摘要) │ ├─ tool/result meta ─→ client toolview 渲染图片卡片 └─ 注册表($DSH_HOME/plugins/dsh-image-inline/registry.json) └─ GET /plugin/show-image/ → 图片字节
嵌套调用(run_code 内 tools.show_image)与旧回放
模型把 show_image 写进 run_code 的 JS 里("Show key figures to user" 这类批量展示)时,调用变成嵌套 code-dispatch:宿主工具注册表只对顶层执行投影 presentationMeta,tool/code-dispatch 事件只携带文本结果、没有 attachmentId——客户端无法走内容寻址路由。
处理方式:client 在 meta 缺失时解析结果文本里的 ,改走路径寻址路由 GET /plugin/show-image-by-path?path=(host 按扩展名/regular file/字节上限校验后回字节,路径来自模型已写入会话的文本,同 loopback 信任模型)。因此嵌套调用与旧 schema 回放都能渲染图片;文件不存在/格式不对时 onError 自动退回原文本结果。tool/result 事件带 meta 的顶层调用不受影响,仍走内容寻址路由。
为什么需要插件自己的 HTTP 端点?
DSH 内置的 conversation.resolveImage → session.attachment RPC 只服务"会话日志的 image 块里被引用的附件"(api-proxy 的 referencedImage 授权)。本插件的结果故意不包含 image 块(否则图片会进入模型上下文),因此附件永远不会被日志引用,必须由插件自己提供读取通道。
安全性:attachmentId 是 sha256: 内容哈希——内容寻址 capability URL,不知道图片内容就无法猜测;id 只出现在用户可读的会话日志与插件注册表中。服务默认绑定 loopback,与整个 Web UI 同一信任模型。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:condaThinker/dsh-image-inline
sudo systemctl restart dsh # 或按你的方式重启 web profile
本插件零构建(纯 JS),GitHub 直接分发源码,安装时无需执行任何构建脚本。
卸载:
npx -p @deepseek-ai/dsh dsh plugin --profile web remove dsh-image-inline
sudo systemctl restart dsh
配置
cordis.patch.yml 中的 config(可覆盖):
| 键 | 默认 | 说明 |
| maxImageBytes | 26214400 (25MiB) | 单张图片编码字节上限(实际生效值 = min(本配置, 附件服务配置)) |
| maxImagePixels | 40000000 (40MP) | 宽×高上限;0 关闭该检查 |
| mediaTypes | png/jpeg/webp/gif | 接受的格式白名单 |
使用
在会话中让模型显示一张图片,例如:
用 show_image 显示 /path/to/your/image.png
模型调用后,对话流里该工具调用处会出现图片卡片(缩略图,点击看原图),可上翻查看历史。若图片不存在/格式不支持/超限,卡片显示错误文案,会话不中断。
测试
cd dsh-image-inline
node --test "tests/*.spec.mjs" # 33 个用例:host 24 + client 7 + 并发/路由回归
client 渲染用例按以下顺序解析 react/react-dom:DSH_HARNESS_NODE_MODULES 环境变量指向的目录(需装有 react@18 + react-dom@18),或本仓库 npm install 后的本地 node_modules。找不到时该套件自动跳过并提示,host 用例不受影响。
已知限制
- 像素超限孤儿附件:saveImage 先落盘后检查 maxImagePixels——若插件配置比部署默认(40MP)更严,超限图片会留下一个无引用的附件对象(内容寻址、无害)。
- 注册表单调增长:每张展示的图在 $DSH_HOME/plugins/dsh-image-inline/registry.json 留一条记录(约 200 字节/条)。
- 无构建步骤:host/client 均为纯 JS(modlens 同款零构建协议),link: 安装下改代码即生效,但新增/修改 bundle 行需重启 profile(HMR 覆盖不了 bundle 图变化)。
- 模型上下文纯净是设计目标:show_image 的结果永远是文本,图片只通过 meta + HTTP 端点到达浏览器。
开发者笔记(事故复盘)
- client bundle 必须遵循惰性 CJS 协议:window.__ModuleLoader__.load({id, factory: (require) => {...; return module.exports}})——require 是 factory 的注入参数,写成自由变量会在浏览器抛 require is not defined。
- host 注入服务只能通过注入作用域访问:ctx.inject(['webServer'], (scope) => scope.webServer.register(...)),在外层 ctx 上属性访问会抛 cannot get property "webServer" without inject。
- 注册表写入已串行化(进程内 promise 队列),并行 show_image 调用不会丢条目。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
condaThinker/dsh-image-inline
让模型把本地图片直接渲染进聊天对话流
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,359已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,514已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,289已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,675已汉化DSH
71.2
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,522已汉化DSH
71
这是你的仓库?认领条目