DeepSeek Harness 插件

dsh-tool-describe-image

DSH plugin: describe_image tool + paste-image-to-text browser half, bridging image understanding to text-only models via DashScope qwen-vl(英文原文)

跳到安装方式

来源信息

GitHub 仓库
sala003/dsh-tool-describe-image
最近更新
2026年8月13日
分类
工具与能力
GitHub stars
2
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/sala003/dsh-tool-describe-image
插件名:dsh-tool-describe-image
作者:sala003

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-tool-describe-image

让 DeepSeek 看懂图片的 DSH 插件 —— 通过阿里云百炼(DashScope)qwen-vl 视觉模型,把图片转成文字描述,纯文本模型也能"看见"图片。

项目特点

  • 粘贴即识别(Web):在 DSH Web 会话里直接 Ctrl+V 粘贴图片,自动识别成文字描述填入输入框,回车即可发送——不需要文件路径
  • describe_image 工具:模型按路径读取图片并转成文字,任何 surface(Web / headless)都可用
  • 零源码改动:完全通过 DSH 公开扩展点实现(工具注册、RPC 通道、client-modules),不改 Harness 任何代码
  • 单包全包:一个 npm 包 = host 半区(工具 + RPC)+ 浏览器半区(粘贴识别),dsh plugin add 即装即用
  • 安全设计:RPC 通道仅限 loopback;图片字节不进入模型上下文,只把文字描述带给模型
  • 双语文案:跟随 Web 界面语言自动切换中文 / 英文

工作原理

DeepSeek 官方适配器是纯文本路由,DSH 内置的 read_image 工具会在模型不支持 image 输入时拒绝。本插件绕开这道限制:

粘贴图片 / 指定路径
  → 图片字节交给百炼 qwen-vl 视觉模型
  → 返回文字描述(作为 tool result 或 draft 文本)
  → DeepSeek 基于文字理解图片
  • 工具模式describe_image(file_path, question?) 注册到 ctx.tools,schema 自动流入系统提示词
  • 粘贴模式:浏览器半区在 document 上挂 capture 阶段 paste 监听,拦截图片 → base64 → host RPC(/dsh-describe-image)→ 文字填入输入框,带"正在识别…"提示与失败 toast

安装

需要已安装 DSH(0.1.0-rc.6+)。

npm install -g dsh-tool-describe-image
dsh plugin --profile web add dsh-tool-describe-image

配置

需要阿里云百炼 API Key(百炼控制台免费开通):

$env:DASHSCOPE_API_KEY = "sk-你的key"

推荐写入 ~/.dsh/profiles/web/.env,免去每次手动设置:

DASHSCOPE_API_KEY=sk-你的key

可配置项

字段默认值说明
apiKey无(读 DASHSCOPE_API_KEYDashScope API key
modelqwen-vl-plus视觉模型 id(qwen-vl-plus / qwen-vl-max
baseUrlhttps://dashscope.aliyuncs.comDashScope 端点
prompt详细描述指令随图发送的指令文本
maxImageBytes8 MiB单张图片读取上限
timeoutMs60000HTTP 协作超时

~/.dsh/profiles/web/cordis.patch.yml 中覆盖:

- insert:
    - id: describe-image
      name: 'dsh-tool-describe-image'
      config:
        model: qwen-vl-max

使用

dsh web

方式一:粘贴图片(Web)

1. 任意截图 Ctrl+C 2. 输入框 Ctrl+V 3. 看到"正在识别图片…" → 文字描述自动填入输入框 4. 回车发送

方式二:按路径描述

对模型说:

描述一下 C:\Users\你的用户名\Pictures\image.png

模型会自动调用 describe_image 工具并基于描述回答。

常见问题

问题解决
启动报 DashScope API key missing未配置 key,见「配置」
粘贴后没有反应确认安装最新版、重启过 dsh web
识别结果不理想patch 中把 model 换成 qwen-vl-max
图片格式不支持仅支持 PNG / JPG / WebP / GIF(按字节检测,不信扩展名)

开发

npm install
npm run typecheck   # 类型检查(host + client)
npm run build       # host 构建
npm run bundle      # client bundle 构建

测试见 [TESTING.md](TESTING.md)。

技术架构

┌─────────────────────────── dsh-tool-describe-image ───────────────────────────┐
│ Host 半区 (lib/index.js)            Browser 半区 (lib/client.js)             │
│  ├ describe_image 工具 (ctx.tools)   └ paste 监听 → RPC → setDraft           │
│  └ /dsh-describe-image RPC 通道       (dsh.client 声明 → client-modules 发现) │
│        ↑ 共享 rpc-contract 契约                                                │
└──────────────────────────────────────────────────────────────────────────────┘

许可证

MIT

联系方式

  • 作者:sala003
  • 邮箱:841115144sala@gmail.com
  • GitHub:https://github.com/sala003/dsh-tool-describe-image
  • npm:https://www.npmjs.com/package/dsh-tool-describe-image