MKibera/dsh-show-image

MKibera★ 0JavaScriptLast synced: 2026-08-14

Open on GitHub

Display local images to users from text-only LLMs in DeepSeek Harness WebUI — show_image tool + lightbox, images never enter model history

README excerpt

dsh-show-image 展示给用户,绝不喂给模型。 🖼️ 纯文本 LLM 也能"发图" · 🔒 图片永不进入模型上下文 · 💡 点击悬浮窗全屏查看 为 DeepSeek Harness (DSH)而写的图片展示插件 [!NOTE] 本插件由 AI agent 编写并经过真机验证(WebUI 实际跑通:卡片渲染、悬浮窗、会话不报错), 但未经安全审计、与 DeepSeek 官方无关、不提供任何担保。代码不大(host 端约 200 行、 client 端约 300 行),用之前建议通读一遍 lib/ 。review / PR 都欢迎。 目录 - 这是什么 - 为什么需要它 - 它如何工作 - 高亮特性 - 快速开始 - 安装 - 配置 - 交互体验 - 边界与限制 - 与"让 DeepSeek 支持视觉"项目的关系 - 测试 - 贡献 - License 这是什么 DSH 的模型路由(pi-ai、deepseek 直连等)有个硬规则: 会话历史里出现图片内容块,而当前模型不支持多模态,就抛 UNSUPPORTED CONTENT 。 由于内容块已持久化在会话日志里,之后每一轮都会重放同样的失败——会话直接废掉。 这个插件补上缺失的"输出方向":让 纯文本 LLM 也能把本地图片 展示给用户 , 而图片字节 只走展示通道 ,模型永远只看到文本(路径列表)。 为什么需要它 场景 原生 DSH 本插件 文本模型想把本地截图/渲染图/图表给你看 没有展示工具;硬塞图片块进结果 → 会话报废 调用 show image ,卡片秒出,会话安全 多模态模型展示图片 可以,但图片进了模型上下文(费 token) 同样展示,但模型只收到文本路径 点击图片查看大图 — 页面内悬浮窗(lightbox) 它如何工作 三个设计点: - 模型侧只有文本 : render 输出纯文本路径列表——任何路由、任何纯文本模型都不会触发图片内容检查; - 展示侧走 presentation :图片字节放进工具结果的 meta ( presentationMeta ),由客户端直接渲染, 不经过会话消息内容 ; - 不依赖附件引用 RPC : session.readAttachment 要求图片块出现在模型可见内容里("被会话引用"),与纯文本模型天然冲突,所以弃用;附件库仅用于元数据校验与去重。 高亮特性 - 纯文本模型零负担 —— 模型永远只收到文本;pi-ai / deepseek 直连等所有路由下都不会报 UNSUPPORTED CONTENT ; - 卡片式展示 —— 内联图片网格,支持 columns (1-6 列)与 captions 参数; - 悬浮窗查看 —— 点击任意图片弹出全屏 lightbox(harness 原生 shell.overlay 槽位),右上角 …

View full README on GitHub →
Agentsagentdeepseek-harnessdsh-pluginllmplugin

Category