DeepSeek Harness 插件

Harvey-Will/dsh-vision-analysis

Star 数 ★ 1 分类 视觉与多模态 收录于 2026-08-23

DeepSeek Harness 图像理解插件:8 种分析模式(描述、OCR、图表取数、UI 评审、目标检测、对比、代码生成、诊断),支持任意 OpenAI/Anthropic 兼容视觉 API,内置免费视觉模型与限流自动切换。

安装

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:Harvey-Will/dsh-vision-analysis

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

English · 中文


✨ 为什么选择 DSH Vision Analysis?

你的纯文本 Agent 终于能"看见"了——而且内置免费视觉源:装上插件、贴张图、直接提问。无需 API key、不用换模型、不用保存文件。

  • 🆓 内置免费视觉源 —— 默认指向 OVHcloud AI Endpoints 匿名通道(Qwen2.5-VL-72B)。零成本、零密钥、零配置。
  • 🖼️ 纯文本模型图片桥接 —— 对话中直接粘贴/发送图片,插件自动路由给视觉模型(原生多模态路由不受影响)。
  • 🔁 限流自动切换 —— 某个视觉模型被限流时按序换下一个;全部用尽时给出清晰的恢复指引而不是报错。
  • 🧾 结构化输出 —— chart-data 与 ocr 直接返回机器可读 JSON(rows、lines…),Agent 可程序化消费。
  • 开箱即用的 8 种分析模式 —— describe、ocr、ui-review、chart-data、object-detect、compare、code-gen、debug,每种都带调优过的指令模板与输出参数。
  • 任意视觉端点 —— 支持 OpenAI chat/completions 与 Anthropic messages 两种线协议:MiMo、Step、硅基流动、OpenRouter、Gemini(OpenAI 兼容)、GPT-4o、Claude、Qwen-VL,或本地 Ollama / LM Studio / vLLM。
  • 任意输入 —— 本地绝对路径、http(s) URL 或 base64 data: URL;单次最多 4 张图,内置多图对比。
  • 隐私优先设计 —— 图片字节永不进入会话日志、永不到达主模型;只有视觉模型的文本答案回到对话。debug 报告对 API key 完全掩码(连前缀都不显示)。
  • 生产级工程 —— 结果缓存、指数退避重试、设置 → 插件配置 在线改配置。
  • 依赖精简 —— 运行时仅依赖 @deepseek-ai/schemastery 与 @deepseek-ai/dsh-settings。

🖼️ 演示

粘贴图片、提出问题、得到真实回答——即使是纯文本模型也可以。图片会被路由到你配置的视觉端点,分析结果直接落进对话:

截图里:贴入图片 + 提问「这是谁?」——视觉端点识别出 DeepSeek 的娘化同人形象并逐步给出推理,全程无需切换模型、无需保存文件到本地。

更多场景 —— 免费视觉模型的真实输出

三种日常能力,每个场景由不同的免费视觉模型自动作答(某个模型被限流时,插件会自动切换下一个)。

1. OCR —— 从文档/截图中提取文字

Weekly Ops Report — 2026-W33 Item 01 · Pending action: review queue / escalate blocker Item 02 · Pending action: review queue / escalate blocker ……(所有行逐字转写)

2. 图表 → 结构化数据,Agent 直接可用

{ "title": "Monthly Revenue — Q1–Q3", "rows": [["Jan","82"],["Feb","95"],…] }

3. UI 评审 —— 以设计师视角审视你的界面

• "Add to cart" 与 "Checkout" 按钮样式不一致(高优先级) • 商品名与价格层级不够突出(中优先级) • 购物车条目缺少分隔、小计不够醒目(中优先级)


🚀 快速开始

# 从 GitHub 安装(无需 npm)
dsh plugin --profile web add github:Harvey-Will/dsh-vision-analysis

# 或在 Harness 插件市场里一键安装

重启 web profile 后,让 Agent 分析一张本地图片或链接:

"用 analyze_image 把 /tmp/screenshot.png 里的文字全部转写出来。"

这一步零配置可用:插件默认指向免费匿名视觉端点(OVHcloud AI Endpoints,Qwen2.5-VL-72B),无需 API Key。

两种使用方式

1. analyze_image 工具(零配置) —— Agent 读取本地路径、http(s) URL 或 data URL,装完即用。

2. 直接在对话中粘贴图片(图片桥接) —— 需要两步配置:

  • 在插件配置的 bridgeModels 中加入该模型;
  • 在 settings.yaml 里给该模型的 inputModalities 声明 image(这是 Harness 放行图片消息的前提)。
# ① ~/.dsh/settings.yaml —— llm-deepseek.models 下,给每个纯文本模型加:
#    inputModalities: [text, image]
# ② 插件配置:
bridgeModels: [deepseek-v4-flash]
config:
  apiFormat: openai          # 或 anthropic
  baseURL: https://api.siliconflow.cn/v1
  apiKey: your-key           # 匿名/本地端点可留空
  model: Qwen/Qwen2.5-VL-72B-Instruct
  fallbackModels: [Qwen3.5-9B]   # 同一端点下的备用模型,429 时自动切换

🧭 选对模式

模式 用途 内置 tokens / 温度
describe 通用理解(默认) 4096 / 0.7
ocr 截图/文档文字精确提取 4096 / 0.0
ui-review 设计评审 + 打分 4096 / 0.5
chart-data 图表转表格 + 趋势 4096 / 0.0
object-detect 物体/人物/活动识别 4096 / 0.5
compare 两张及以上对比 4096 / 0.5
code-gen UI 截图转 HTML+CSS 4096 / 0.3
debug 端点连通性诊断报告 4096 / 0.7

🔧 工具签名

analyze_image(image?, images?, mode?, prompt?)
  • image — 本地绝对路径、http(s) URL 或 data:image/...;base64, URL
  • images — 多图调用,最多 maxImages 张(默认 2,上限 4)
  • mode — 上述八种之一,默认 describe
  • prompt — 你的精确指令,覆盖模式默认模板

精确指令远胜泛泛描述:prompt: "把表格提取成 CSV" ≫ prompt: "描述这张图"。

⚙️ 配置

- id: vision-analysis
  name: dsh-vision-analysis
  config:
    apiFormat: openai          # openai | anthropic
    baseURL: https://api.siliconflow.cn/v1
    apiKey: ''                # 留空 → UNIVERSAL_VISION_API_KEY → 本地模型免鉴权
    model: Qwen/Qwen2.5-VL-72B-Instruct
    defaultMode: describe
    maxImages: 2              # 1-4
    maxBytes: 10485760        # 单图字节上限(10 MB)
    timeoutMs: 120000
    maxTokens: 4096
    temperature: 0.7
    modes:                    # 按模式覆盖
      ocr:
        temperature: 0.0

所有字段均可在 设置 → 插件配置 中实时修改(密钥字段自动掩码)。


🔒 安全与隐私

  • 图片保持私密:本地文件由工具读取并以 base64 内嵌发送到你自己配置的端点;原始字节不会进入会话日志,也不会到达主模型。
  • 密钥保持机密:绝不嵌入发往主模型的请求;debug 报告只显示 已配置 / 未配置——无前缀、无字符。
  • 优先用环境变量:尽量别把 key 写进 cordis.yml——使用 UNIVERSAL_VISION_API_KEY,或设置页中的掩码密钥字段。
  • 端点不受工具审批沙箱保护——只把工具指向你控制的端点,且只引用你信任该端点抓取的 http(s) 图片地址。
  • 安装插件即在其权限下执行代码——安装前请审查源码。

🧩 兼容性

支持情况
DeepSeek Harness 0.1.0-rc.x – 0.2.0-rc.x(已在 0.2.0-rc.1 实测)
Node.js ^22.19 || >=24
视觉线协议 OpenAI chat/completions、Anthropic messages
图片格式 PNG、JPEG、GIF、WebP、BMP(本地 / URL / data URL)

⚠️ 社区插件,非 DeepSeek 官方产品。Harness API 处于开发者预览阶段,跨版本可能存在破坏性变更。


为 DeepSeek Harness 社区打造 · dsh-plugin 话题 · awesome-dsh-plugin

发现 Bug 或有新想法?提交 Issue——欢迎 PR。

MIT License

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。