Chuyển đến nội dung chính

dsh-tool-vision

Đã xác minh

@bujue3184/dsh-tool-vision · v0.1.2 · MIT · Giao diện web

Vision tools (analyze_image, locate_element) for DeepSeek Harness: local ollama, DSH subagent (qwen-vl etc), or OpenAI-compatible HTTP endpoints

Cài đặt

dsh plugin add @bujue3184/dsh-tool-vision

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.

Thẻ

Tác giả

Readme

@bujue3184/dsh-tool-vision

视觉"眼睛"插件(DeepSeek Harness / DSH)—— 让纯文本主模型能"看懂"图片。

迁移自 DeepAgents(Python FastAPI + Electron)的视觉能力,重构为生态优先架构: 零框架补丁、纯官方 API、标准 npm 包,任何 DSH 用户可安装。

工具

工具 说明
analyze_image 分析图片内容(支持 region 裁剪 + 自定义问题)
locate_element 在图片中定位目标元素,返回 0-1000 归一化坐标

视觉驱动(三模式)

模式 说明 适用
local(默认) 直调本地 ollama HTTP 本地优先、离线可用
subagent DSH 子代理驱动任意已配置多模态模型 qwen-vl / GLM-4V / DSH 配置的 ollama
http 直连 OpenAI 兼容视觉端点(标准协议) 任何支持 image_url 的云模型

subagent 模式复用 DSH 的 LLM 路由(ctx.agents.create + provider/model), 因此在 DSH 模型设置页配置的任何视觉模型都能用,无需额外协议代码。

http 模式直连 OpenAI 兼容端点(如 DashScope https://dashscope.aliyuncs.com/compatible-mode/v1), 支持 qwen-vl-max 等云模型。

安装(一键)

# 0.1.1+ 自带 bundle patch:安装后自动挂载并默认启用(local + ollama qwen2.5vl:3b)
dsh plugin --profile web add @bujue3184/dsh-tool-vision

老版本(0.1.0)需手动挂载,0.1.1 起无需任何额外步骤。没有装 ollama? 插件设置页(设置 → 视觉)内置 ollama 安装与模型下载(带进度条)。

自定义配置:默认使用本地 ollama(http://127.0.0.1:11434 + qwen2.5vl:3b)。 换驱动/模型时,在你的 profile 的 cordis.patch.yml 里以同 id 覆盖(后写覆盖先行):

- insert:
    - id: tool-vision
      name: '@bujue3184/dsh-tool-vision'
      config:
        driver: subagent      # local | subagent | http
        enabled: true
        provider: deepseek-official
        subagentModel: qwen-vl-plus

或直接用 agent preset(agent.cordis.yml):

- id: tool-vision
  name: '@bujue3184/dsh-tool-vision'
  config:
    driver: local          # local | subagent | http
    enabled: true
    ollamaHost: http://127.0.0.1:11434
    localModel: qwen2.5vl:3b

设置页

设置 → 视觉

  • 启用开关
  • 驱动模式选择(local / subagent / http)
  • local:ollama 地址、模型、健康检查、一键安装 ollama / 下载模型(带进度条)
  • subagent:provider / 模型
  • http:Base URL / API Key / 模型

粘贴图片(生态版机制)

在输入框粘贴图片路径(如 C:\img.png 或拖入文件路径),插件通过 agent/pre-step 官方事件自动处理:

  • 文本-only 主模型:路径 → [Image-#1] 标记 + 提示行,主模型看到后调 analyze_image(不发送 image 块,绕开模态检查)
  • 多模态主模型:附加真实 image 块(原生缩略图)

兼容层(可选,不建议生态用户使用)

scripts/apply-patches.mjs 提供可选框架补丁(P1/P2/P3),仅为了把粘贴显示 升级为缩略图。补丁直接修改 @deepseek-ai/* 包源码,绑定 DSH 0.1.0-rc.6, 升级 DSH 后需重新适配。生态用户不需要它。

架构

lib/
├── index.js          DSH 插件胶水(defineTool / settings / webServer / 粘贴钩子)
├── vision.js         图片处理业务(jimp + ollama 调用)—— 框架无关
├── setup.js          ollama 安装/模型下载(带进度)—— 框架无关
├── paste.js          粘贴路径 → 标记重写(agent/pre-step 官方事件)
├── settings-route.js 设置读写路由(自定义 webServer,不依赖 exposed 列表)
├── drivers/
│   ├── index.js      驱动路由器(local / subagent / http)
│   ├── subagent.js   ctx.agents.create 子代理驱动
│   └── http.js       OpenAI 兼容端点直连
└── client.js         client 半(设置页 UI)

设计原则:业务逻辑与框架胶水分离;插件只用官方 API (defineTool / ctx.settings.register / ctx.webServer.register / ctx.on('agent/pre-step') / ctx.agents.create), 不修改任何 DSH 框架源码。

开发验证

pnpm install
node test/smoke.mjs      # 端到端业务验证(ollama)
node test/mount.mjs      # Cordis 挂载验证

License

MIT