🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

视觉工具箱 Anionex/dsh-vision-toolkit

DeepSeek Harnessv0.1.48需留意
Anionex6 天前有提交已提供中文文档扫描:含敏感能力需联网ocr

更强大的视觉工具箱——给 DeepSeek Harness 里的纯文本模型装上眼睛:图片问答、长图 OCR、前端 UI…

68.8/100
综合分
908
GitHub 星标
6,041
npm 周下载
—/5
用户评分

数据截至 2026/10/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

🟡 需留意插件(人工评级)

可读取本地文件,不会执行 shell 命令(会读取本地图片/剪贴板内容用于分析;不会执行 shell。)

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @anionex/dsh-vision-toolkit
npm 源 · @anionex/dsh-vision-toolkit 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · vision
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
会读取本地图片/剪贴板内容用于分析;不会执行 shell。
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 实测通过
展开查看检查明细 ↓

已由本站人工实机安装并跑通,结论可信度最高。

✓npm 包@anionex/dsh-vision-toolkit @ 0.1.48
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/3 09:17:12

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力人工评估:需留意(会读取本地图片/剪贴板内容用于分析;不会执行 shell。)
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

⚠ 该插件运行需访问外部网络 / 远程 API,部署在国内无外网环境时可能无法正常使用。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-scope@deepseek-ai/dsh-subprocess-local@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tool-skill@deepseek-ai/dsh-agent@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-attachment@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-conversation
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

6 张 · 点击查看大图

功能亮点

  • 图片问答
  • 长图OCR识别
  • 前端UI还原
v0.1.482026-10-26
· Compatibility · Add exact DSH 0.2.1-rc.3 peer and compatibility declarations, with a required real-Profile CI lane. Keep earlier supported releases and do not admit untested future prereleases. · 增加 DSH 0.2.1-rc.3 的确切 peer 与兼容声明及必跑的真实 Profile CI 验收。保留已支持版本,不放行未经验证的未来预发布版。 · Fixed · Scope image-input bridge prompts to the converted image blocks rather than asserting that the assistant is globally text-only. Preserve native-image routing, image evidence safety rules, and the original conversation messages. · 将图片输入桥接提示限定于当前转换的图片块,不再宣称助手全局只能接收文本。原生视觉路由、图片证据安全规则和原始会话消息保持不变。
v0.1.472026-10-18
· Compatibility · Support DSH 0.2.1-rc.2. Headless profiles resolve vision credentials through the host launch environment when the interactive credential service is disabled; interactive credentials remain authoritative. · 支持 DSH 0.2.1-rc.2。Headless 禁用交互式凭据服务时从宿主启动环境读取视觉凭据;交互模式仍以凭据服务为准。 · Fixed · Added actionable writable-session-workspace guidance for permission-denied or read-only workspace-local storage creation. Documented the Windows writable-workspace requirement; storage isolation, the lack of automatic fallback, and the Windows shared-storage ACL restriction remain unchanged (partial follow-up to #169). · 工作区内存储因权限或只读文件系统无法创建时,错误会提示改用可写会话工作区;补充 Windows 的可写工作区要求。存储隔离、不自动回退以及 Windows 共享存储的 ACL 限制均保持不变(#169 的部分改进)。 · Preserve elapsed upstream time when subprocess startup/collection rejects, including abort paths. Clarify that timeoutMs gives queue waiting and execution separate budgets, and that execution covers all upstream attempts and retries. The default timeout and runtime deadline behavior are unchanged (partial diagnostics/documentation follow-up to #166). · 上游子进程启动或结果收集被拒绝时(包括中止路径)保留已用耗时。明确 timeoutMs 分别约束排队与执行,执行预算涵盖所有上游尝试和重试;默认超时和运行时截止行为保持不变(#166 的部分诊断与文档改进)。 Verified host: DSH 0.2.1-rc.2. No official stable DSH version was available at verification time.
v0.1.462026-10-01
· 兼容性 · 已用隔离的 hoisted 压缩包配置档、真实视觉工具调用和 Web 设置验证 DSH 0.2.0-rc.2。为这个版本补上确切的 peer/兼容声明,并加一条必需的 CI 配置档通道。宿主默认服务商协议变更后,测试 fixture 显式选择自己的 OpenAI 兼容协议。 · 已通过 DSH 0.2.0-rc.2 隔离压缩包配置档、真实视觉工具调用及 Web 设置验收;增加确切兼容声明及 CI 验收矩阵。官方默认协议变更后,测试 fixture 显式选择原有 OpenAI 协议。核实时官方尚无正式稳定版。 · 新增 · 为自定义视觉服务商新增显式 OpenAI Responses 协议。可选的受限 reasoningEffort 只随 Responses 请求转发,在双语设置里按条件显示,并计入实时会话和持久证据缓存的身份标识。现有 OpenAI 配置仍走 Chat Completions,默认不带 effort。 · 新增加固的 provider.headers,用于非机密部署元数据;新增 provider.sessionHeaders,用于 OpenCode Zen 这类需要按会话路由的网关。会话值是按进程键控的 HMAC 标识,绝不暴露原始会话 id 或工作区路径;配置的请求头有长度上限、做冲突检查、错误脱敏、缓存隔离,限制在服务商源站/基础路径内,并在连接与模型健康检查的两次请求间共享。经清单校验的 vendored 快照保持不变(#144)。 · 修复 · 恢复 DSH 0.1.7 上的启动和实时设置,该版本的 Config 投影替换了旧的 settings.register/get/watch API。插件现在改用宿主匹配的 Schema 表单,解包实时配置值供运行时使用,并跟随设置文档更新。更早的 DSH 版本继续用各自的注册 API。 · DNS 同时返回 IPv4 和 IPv6 时,视觉 API 子进程现在先试 IPv4 再试 IPv6。这样在 TUN 代理里遇到不可用的假 IPv6 地址时不会耗尽连接超时,同时保留仅 IPv6 的端点。 · 图片输入变体路由不再因请求消息没有 source 而崩溃。变体在组装证据遍历时读取 message.source.kind,但官方 createUserMessage() 辅助函数运行时并不写 source(其公开类型仍声明为必填),所以插件在 vision-toolkit-* 路由上以编程方式调用 ctx.llm.stream()——常见的 summarize、title 或 classify 模式(@modusensus/dsh-mneme ≤ 0.8.1 正是如此)——会报 TypeError: Cannot read properties of undefined (reading 'kind'),宿主只把它暴露为通用的 UNKNOWN 失败块。没有来源的用户消息现在按用户轮次处理,没有来源的助手历史则跳过而不抛错;带 source 的消息行为与之前完全一致。 · 文档 · 记录了 /responses 端点的组成、通用及各服务商专属的 effort 取值、可能的 token/延迟/成本影响,以及即使请求发送 store: false 也需审查服务商数据保留策略。 已验证宿主:DSH 0.2.0-rc.2。验证时没有可用的官方稳定版 DSH。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
DSH Vision Toolkit 更强大的视觉工具箱——给 DeepSeek Harness 里的纯文本模型装上眼睛:图片问答、长图 OCR、前端 UI 还原、GUI 视觉任务,一套视觉工具箱和一个 Skill。 🚀 粘贴图片,直接提问 | 一行命令安装即用 | 场景丰富 亮点 | 快速开始 | 工具一览 | 配置与限制 | 常见问题 | 交流群 🌐 English | 中文 🏆 本项目为deepseek harness生态首个综合性视觉工具插件:内测前已立项,并在内测期间参考本人的agent-vision-toolkit做出。 原创声明: 这套视觉工具的体系和划分方式,以及 vision-skills Skill,均由作者个人原创并持续打磨,相关工具、方法和工作流来自长期的真实使用与反复迭代。 如果这个项目对你有帮助,或给了你一些灵感,欢迎 Star 🌟 & Fork。 亮点 - 粘贴图片,直接提问。 在 DSH Web 里粘贴图片,文本模型会自动切换到看图模式变体,不需要手动复制路径或更换模型。图片保留原生缩略图、会话记录和工作区路径;Web 可以预览产物。 - 一行命令安装即用。 安装插件后即可在 设置 → 视觉工具 中配置视觉模型并开始使用。 - 不只是看图描述,是获取图中真正需要关注的内容。
展开完整文档(README 剩余 1 节)
DSH Vision Toolkit

更强大的视觉工具箱——给 DeepSeek Harness 里的纯文本模型装上眼睛:图片问答、长图 OCR、前端 UI 还原、GUI 视觉任务,一套视觉工具箱和一个 Skill。

🚀 粘贴图片,直接提问 | 一行命令安装即用 | 场景丰富

亮点 | 快速开始 | 工具一览 | 配置与限制 | 常见问题 | 交流群

🌐 English | 中文

🏆 本项目为deepseek harness生态首个综合性视觉工具插件:内测前已立项,并在内测期间参考本人的agent-vision-toolkit做出。

原创声明: 这套视觉工具的体系和划分方式,以及 vision-skills Skill,均由作者个人原创并持续打磨,相关工具、方法和工作流来自长期的真实使用与反复迭代。

如果这个项目对你有帮助,或给了你一些灵感,欢迎 Star 🌟 & Fork。

亮点

- 粘贴图片,直接提问。 在 DSH Web 里粘贴图片,文本模型会自动切换到看图模式变体,不需要手动复制路径或更换模型。图片保留原生缩略图、会话记录和工作区路径;Web 可以预览产物。
- 一行命令安装即用。 安装插件后即可在 设置 → 视觉工具 中配置视觉模型并开始使用。
- 不只是看图描述,是获取图中真正需要关注的内容。 模型不只是生成通用描述,而是围绕“报错在哪里”“按钮在哪”等当前任务提取证据。
- 一套经过实战验证的视觉任务方法论:项目提供的skill,会告诉 agent 面对不同视觉任务时应该看什么、选择哪个工具、按什么步骤推进,以及最后如何验证结果。

agent-vision-toolkit 的视觉能力不只停留在图片描述:Agent 可以读取、定位、裁剪、描摹、还原和验证视觉内容。DSH Vision Toolkit 是这套工具箱面向 DeepSeek Harness 的原生接入,让它进入 Web 和 Headless Profile。

本项目提供两层能力:

1. 视觉工具和 Skill:让 Agent 知道什么时候该看图、定位、OCR、裁剪、描摹或做像素对比。
2. DSH 原生接入:把这些能力放进 Profile、会话、Settings、Artifacts 和 Web 界面。

dsh plugin --profile web add @anionex/dsh-vision-toolkit

上游工具箱: Anionex/agent-vision-toolkit · 项目网站: agent-vision.anionex.me

❤️ 赞助

想赞助本项目?详见 FUNDING.md 或发送邮件到 davidyang042@gmail.com。

点击折叠

感谢 AIHubMix 赞助本项目!AIHubMix 是稳定、高并发的 AI 大模型 API 聚合平台,一个 API Key 即可接入 Claude、GPT、Gemini、DeepSeek 等主流模型,兼容多种协议,并提供免费模型选择。注册时,海外用户请使用 AIHubMix 入口,中国大陆用户请使用 Inferera 入口。

感谢 E-API 赞助本项目!E-API 聚合主流 AI 模型,兼容 OpenAI、Anthropic 与 Codex 接口;部分 Claude 模型相比官方价最高优惠约 98%,DeepSeek V4 系列优惠约 25%。

目录

- 亮点
- 最近更新
- 适合谁用
- 实际效果
- 快速开始:三步完成
- 工具一览
- 配置与限制
- 常见问题
- 赞赏
- 开发与社区

最近更新

- 2026-08-20 · AIHubMix 申请教程: 新增通过 Inferera 入口申请 API Key 并配置 Gemini 3.7 Flash 视觉模型的图文教程,并在视觉工具设置中直接提供入口。
- 2026-08-19 · 透明变体路由默认开启: 模型选择器默认只显示每个模型一项并保留原模型名,粘贴图片、历史图片和内置 read_image 工具都能直接使用,不再需要手动切换到 (Vision Toolkit) 变体;如需恢复显式条目,可在 设置 → 高级设置 → 图片输入 关闭“透明变体路由”。
- 2026-08-16 · Windows Python: 支持 Microsoft Store Python,解决 Windows 用户首次创建隔离环境失败的问题。
- 2026-08-17 · 视觉升级: 默认模型切换到 Gemini 3.7 Flash,并修复 Qwen/Gemini 检测框坐标顺序错位的问题。
- 2026-08-16 · 图片粘贴: 文本模型自动切换到 (Vision Toolkit) 变体并保留工作区路径,解决粘贴图片被拦截或后续无法复用的问题。
- 2026-08-16 · 服务稳定性: 扩大服务容量,减少高峰期出现 429 的情况。
- 2026-08-16 · 真实模型测试: Settings 新增完整图片请求测试,解决 /models 可访问却不能证明模型真的会看图的问题。

适合谁用

1. 想获得类似多模态模型一样的交互体验:直接粘贴图片,提出要求或疑问
2. 不只是看图问答,想要完成更复杂、更有价值的视觉任务,例如草图变前端页面,图片转html,提取长截图里的聊天信息等等;后续也会不断补充更多的场景。

随附的 vision-skills Skill 携带完整的上游 playbook,说明每个工作流何时使用、按什么顺序调用工具,以及如何验证结果:

| 手册 | Agent 学会做什么 |
| 读取长截图、聊天记录和滚动页面 | 找到低内容切割带、按顺序 OCR 每个分块、保留聊天发言人/时间戳/引用、只合并重复的重叠部分,并标出有风险的边界供验证 |
| 根据截图或设计重建 UI | 优先复用项目组件和素材,再用代码原生 UI、提取的视觉素材、渲染截图和视觉对比来对齐页面或组件 |
| 还原图标、Logo、插画或其他图形 | 从源图像提取透明 PNG,或按需重建可编辑/可缩放 SVG,然后验证形状、颜色和 alpha 边缘 |
| 把草图、示意图或白板转成结构化代码 | 把节点、标签、连接和方向恢复为可编辑的 Mermaid、Graphviz 或其他结构化表示 |
| 通过截图操作 GUI | 定位控件、执行一个动作、再次截图,并先验证结果状态再继续 |

实际效果

在 DSH 里直接粘贴图片提问

用户粘贴一张图片,纯文本模型自动切换到对应的 Vision Toolkit 变体,并围绕用户的问题读取画面。

从截图到可编辑页面

提示词示例:“(使用vision-skills),把这张图片还原成html”

左:参考截图;右:用 HTML/CSS 还原出的可编辑结果。视觉结果可以继续进入截图和像素对比流程,而不是停在“描述图片”。

从手绘稿到可用界面

左:手绘参考;右:根据参考还原的可用界面。

提示词示例:“(使用vision-skills),把这张草稿图做成可用的前端页面”

快速 UI 还原:先出一版近似稿

提示词示例:“(使用vision-skills),把这张图片 快速 还原成html”

左:原始页面;右:保留主要布局、内容和视觉层级的快速还原稿,允许颜色和图标库近似。快速模式的目标是约三分钟内产出首版截图。

快速开始:三步完成

1. 安装

dsh plugin --profile web add @anionex/dsh-vision-toolkit

Headless Profile 也可以安装:

dsh plugin --profile headless add @anionex/dsh-vision-toolkit

使用 DSH Desktop 桌面版?桌面版自带 dsh 命令行,但有意不写入系统 PATH,请不要在系统终端里执行上面的命令。请从托盘打开 DSH 终端(Open DSH Terminal),在桌面版自己的终端中安装到 Desktop Profile:

dsh plugin --profile desktop add @anionex/dsh-vision-toolkit

安装完成后重启 DSH Desktop。DSH Desktop 2.0.1 内置插件市场的“一键安装”存在已知问题,修复前请优先使用上面的终端命令安装。

完整的桌面版安装、更新与排查步骤见 DSH Desktop 安装与更新指南。

2. 重启并确认

重启正在运行的 Web Profile,打开 设置 → 视觉工具,配置视觉模型,然后运行测试视觉模型确认连接。

首次启动会自动准备隔离运行环境:插件优先使用系统已有的 Python 3.11+;如果系统没有,会自动从国内镜像(dsh-vision-python-bootstrap-1317715800.cos.ap-guangzhou.myqcloud.com)下载一个带完整性校验的托管 Python(约 35MB,仅首次需要网络),镜像不可用时自动回退到 GitHub 官方发布源。锁定依赖(Pillow、NumPy、vtracer)会优先从腾讯云 PyPI 镜像(mirrors.cloud.tencent.com/pypi/simple)安装,镜像不可用时回退到官方 PyPI。普通安装不需要下载 agent-vision-toolkit 源码,也不需要设置本地路径。

3. 粘贴图片,直接说你要做什么

在会话中粘贴截图,或把图片放进会话工作区,然后调用 /vision-skills。例如:

看看这张截图,告诉我报错原因和最值得先修的地方。
找到右上角的登录按钮,返回原图像素坐标并生成带框预览图。
把这个图标裁出来并转成 SVG。
按照 reference.png 还原页面,每轮截图后做像素对比,直到主要差异消失。

工具一览

插件提供 10 个可以单独调用、也可以组合使用的视觉工具:

| 工具 | 最适合解决的问题 | 主要结果 |
| vision_glance | “这张图里发生了什么?” | 针对性回答、描述、OCR、多图比较 |
| vision_ground | “我要找的东西在哪?” | 原图像素坐标、可选带框预览 |
| vision_detect | “图里有哪些按钮/图标/元素?” | 编号元素清单、坐标、可选预览 |
| vision_crop | “把这块区域单独取出来” | PNG 或 JPEG 裁剪图 |
| vision_trace | “把这个图形变成可编辑矢量” | SVG |
| vision_pixel_diff | “实现和参考图到底差在哪?” | 差异比例、重点区域、热力图、JSON |
| vision_long_screenshot_ocr | “读完这张很长的截图” | Markdown、分块图、清单和审计结果 |
| vision_extract_foreground | “把主体抠出来” | 透明 PNG |
| vision_dominant_colors | “这块区域用了哪些主要颜色?” | 主色板或候选色排序 |
| vision_html_screenshot | “按精确视口渲染本地页面,或一次捕获整页” | PNG 和可选的 CSS pageHeight |

坐标始终使用原图像素格式 x1,y1,x2,y2,因此定位结果可以直接交给裁剪、描摹或后续自动化。

对于长 HTML 文档,传入 fullPage=true。请求的宽高仍作为布局视口,生成的 PNG 会覆盖完整文档,并以 CSS 像素返回 pageHeight。

工作原理

插件把远程图片理解和可重复的本地图片处理放进同一套 Agent 工作流。下面的流程图展示了具体的职责边界。

让描述始终围绕当前任务

多数文本模型视觉桥接的做法是让多模态模型生成一段通用描述,再把描述交给文本模型,这等于多了一层必然有损的语义转换。Vision Toolkit 反过来恢复 Agent 为什么想看这张图:把用户消息或模型给出的调用原因作为 focus hint(聚焦提示)传给视觉模型,得到的是围绕当前步骤的重点描述——更少 token、更准确、响应更快。

架构与图片输入行为

flowchart LR
Image["截图或本地 HTML"] --> Skill["vision-skills Skill"]
Skill --> Agent["文本 Agent 选择任务"]
Agent --> Vision["需要理解图片时调用视觉模型"]
Agent --> Local["裁剪、SVG、像素等任务在本地处理"]
Vision --> Result["回答、OCR、坐标"]
Local --> Artifact["PNG、SVG、热力图、JSON"]
Result --> Session["继续推理和行动"]
Artifact --> Session

视觉能力来自打包的固定版本 agent-vision-toolkit。DSH 插件负责安装、会话级工具暴露、Credential、路径校验、取消、超时、结果文件和 Web 展示。运行时不会在后台拉取上游 main。

vision-skills Skill(上游原名 vision-tools)现在以上游 SKILL.md 和全部 5 篇上游 SOP 为明确底稿:只适配工具名、结构化参数、Artifact 交付、渐进式暴露,以及 DSH 的路径和生命周期边界;上游的工具选择规则、由粗到细方法和任务流程保持不变。精确的上游 Skill commit、源文件哈希、适配后哈希和可审查补丁分别记录在 assets/skill/UPSTREAM.json 与 patches/vision-tools-dsh.patch。

对于明确标记为纯文本的模型,插件会注册 <模型名> (Vision Toolkit) 变体。默认情况下,在 DSH Web 粘贴图片时会自动切换到该变体,并把图片路径与带当前任务重点的视觉描述一起交给模型。

桥接说明只描述当前请求中转换的图片块,不限定助手在其他路由或轮次中的能力。原生视觉模型和输入模态未知的模型不会被包装。转换只发生在发出的消息副本上,不会改写已保存的会话;此次措辞修正不会删除会话中已有的描述或陈述。

配置与限制

配置视觉模型

在 设置 → 视觉工具 中配置视觉模型提供方,并把 API Key 保存为 DSH Credential。Settings 只保存 Credential 引用,不会回显密钥。

AIHubMix 图文教程: 申请 AIHubMix API Key 并配置 Gemini 3.7 Flash 识图。教程包含账号与 API Key 获取截图、Vision Toolkit 的准确配置、模型选择和常见问题排查。

也可以在 Profile patch 中配置:

- id: vision-toolkit
config:
provider:
baseUrl: https://api.example.com/v1
credential: MY_VISION_KEY
model: your-vision-model
protocol: openai

支持 OpenAI Chat Completions 兼容端点、OpenAI Responses 和 Anthropic Messages。已有配置仍默认使用 Chat Completions。若要使用兼容 Responses 的端点,请设置 protocol: responses;插件会在 API 地址后拼接 /responses。可选的 reasoningEffort 仅随 Responses 请求发送:

protocol: responses
reasoningEffort: medium

reasoningEffort 留空时使用模型或代理的默认值。常见值包括 none、minimal、low、medium、high 和 xhigh;为兼容第三方代理和未来扩展,该字段也接受由字母、数字、.、_、- 组成且不超过 64 位的提供方自定义值。实际支持范围与计费由模型或代理决定;较高强度可能增加推理 token、延迟和费用。Responses 请求会设置 store: false,但该标记不能替代核查服务商自己的数据保留政策。Web Settings 页面还可以调整超时、图片限制、并发、运行时和图片输入变体。
Profile patch 还可以通过 provider.headers 配置非秘密的部署元数据。需要按会话路由的网关可在 provider.sessionHeaders 中列出一个或多个运行时生成的请求头;例如 OpenCode Zen 要求 x-opencode-session:

- id: vision-toolkit
config:
provider:
headers:
x-tenant: acme
sessionHeaders:
- x-opencode-session

静态请求头是保存在 Settings 中的普通明文,不是 Credential。不要在 provider.headers 中填写 API Key、Bearer Token、Cookie 或其他秘密;视觉 API Key 仍应使用 provider.credential。插件会拒绝客户端自有的鉴权头和 HTTP 路由/请求帧控制头、大小写不敏感的重复项、两个字段间的冲突、非法名称或值、合计超过 32 项、名称超过 128 字节、值超过 4096 字节,或总量超过 16384 字节的配置。

每个会话请求头都会获得 HMAC-SHA256(带密钥的不可逆摘要)的前 32 位十六进制值,密钥在 DSH 进程启动时随机生成。同一进程内,相同 operation identity(一次调用采用的会话身份)得到稳定值;重启后会轮换。有 Session 的调用只把 Session id 作为内部 HMAC 输入;确实没有 Session 时才回退到 workspace:<绝对路径>,原始 Session id 和 workspace 路径都不会发送。同一次 Settings 健康检查的 GET /models 与真实模型请求共用派生值。请求头只注入配置 provider 的同源 URL 且路径必须位于其 base path 下。两个字段均为空时,不创建额外请求头环境变量,provider 的网络请求头语义保持原样。

高级设置中的 默认保存目录 可以把产物、粘贴图片和缓存放到 /tmp/dsh-vision-toolkit 等 POSIX 绝对共享根目录下;插件会为当前用户和工作区创建权限为 0700 的私有子目录。留空时继续使用工作区内原有的 .dsh-vision-toolkit 目录。Windows 目前会拒绝配置共享根目录,因为插件尚不能安全校验其所有权和访问控制列表。

Windows 上,会话工作区必须允许当前用户创建、写入 .dsh-vision-toolkit 及其内容。只读工作区(例如 C:\Program Files (x86))会阻止视觉执行工具运行。请改用用户目录下具有写权限的项目目录作为会话工作区,并将 默认保存目录(storageDir)留空。创建存储失败时不会自动回退到用户目录或临时目录;Settings 健康检查成功不代表会话工作区可写。

配置的保存目录变更后,插件会把之前验证过的根目录保留为只读输入位置。Web Profile 会把这段历史保存在插件自有的 vision_toolkit_storage storage-domain sidecar 中;即使当前 Settings 提供方只读,Profile 重启后原有粘贴图片路径仍可继续使用。使用配置共享存储的自定义 Profile 应组合 @deepseek-ai/dsh-storage-domain。

如果受信任的内部端点使用自签证书或 MITM 代理,可在启动 DSH 进程时设置 VISION_SSL_VERIFY=0。插件会把该值传入隔离的 Python 运行环境;未设置或使用其他值时仍默认校验证书。还支持大小写不敏感的假值 false、off、no、none 和 disabled。

timeoutMs 默认是 30000,允许范围为 1000–600000。排队等待和执行各自获得这份预算,因此排队调用的总耗时可能超过 timeoutMs。执行预算包括图片准备、所有服务请求尝试和重试等待;它并不是每次 HTTP 请求的超时。对于较慢的服务商,可根据实测延迟提高单次调用的 timeoutMs,必要时再调整 Profile 默认值。即使服务商仍在处理,父进程也会在执行截止时间取消未完成的任务。日志用 queueMs 和 upstreamMs 区分排队与上游耗时;后者包含 CLI 启动、重试和失败收集,并不等同于纯服务端延迟。

配置 Python 运行时

大多数用户无需配置 Python 运行时:插件会优先使用系统 Python 3.11+,找不到时自动从国内镜像下载固定版本的托管 Python;国内镜像不可用时回退到 GitHub 官方发布源。

需要覆盖 runtime.python、使用 runtime.mode: external、验证运行时,或允许读取其他目录时,请参阅 Python 运行时配置。

常见问题

| 问题 | 处理方式 |
| plugin storage directory is not writable | 将会话工作区改为当前用户可写的目录后重试。Windows 上将 默认保存目录(storageDir)留空;安全 ACL 校验就绪前,共享存储仍不可用 |
| 视觉模型测试失败:Vision API returned an incompatible response structure | 通常是 API 地址少了路径前缀。LM Studio、Ollama 等本地 OpenAI 兼容服务需填写 http://127.0.0.1:1234/v1(带 /v1);OpenAI Chat Completions 会拼接 /chat/completions,OpenAI Responses 会拼接 /responses,只填端口号可能命中未知端点 |
| 粘贴图片后仍提示模型不支持图片 | 重启 Web Profile 并刷新页面,确认当前模型已切换到带 (Vision Toolkit) 的变体;也可以把图片先放进会话工作区,再调用 /vision-skills |
| 工具提示 timed out | 查看诊断日志中的 queueMs 和 upstreamMs;对于可成功但较慢的服务调用,提高单次 timeoutMs。排队和执行使用独立预算 |
| 视觉服务提示 429 | 按错误中的 Retry-After 等待后重试;如果需要稳定高额度,切换到自己的视觉端点 |
| 图片过大或像素超限 | 先裁剪或缩放图片;错误会明确显示是字节还是像素限制 |
| 自定义 Credential 缺失 | 在 设置 → 视觉工具 填写 API Key,并确认 Credential 名称与配置一致 |
| OpenCode Zen 返回 400 MissingSessionID | 在 Profile patch 的 provider.sessionHeaders 中加入 x-opencode-session,然后重启 Profile;不要把 Session id 或 API Key 写进 provider.headers |
| 首次运行时准备失败 | 自动下载托管 Python 需要网络和磁盘权限(默认先走国内镜像,失败时回退 GitHub);失败时检查网络或包缓存,也可以安装 Python 3.11+ 或在 Settings 中配置 runtime.python,然后重新测试 |
| 找不到 Chrome | 安装 Chrome、Chromium 或 Edge;只有 HTML 截图不可用,其他工具不受影响 |
| DSH Desktop 提示找不到 dsh 命令,或内置插件市场安装失败 | 从托盘打开 DSH 终端,运行 dsh plugin --profile desktop add @anionex/dsh-vision-toolkit,再重启 DSH Desktop。桌面版 2.0.1 的内置市场存在已知安装问题,当前请优先使用终端安装 |
| 产物无法预览 | 使用“打开文件”或结果中的工作区路径;预览 URL 只在 Web 路由可用时存在 |

FAQ

视觉模型会怎样影响成本?

每次检查都是一条独立的多模态请求,只携带必要意图和图片,调用之间不会累积上下文。实际费用取决于服务商、图片、模型,以及 Responses 的 reasoningEffort;较高强度可能消耗更多推理 token 并增加延迟。留空可使用提供方默认值;若更看重可预测的本地成本,也可以使用本地部署的小型多模态侧模型(例如 Gemma 4 或 Qwen 3.5/3.6 系列)。

赞赏

如果本项目对你有价值,欢迎请开发者喝杯咖啡☕️

开发与社区

- 贡献前请阅读 CONTRIBUTING.md。
- Bug、功能建议和使用问题请提交到 GitHub Issues;渠道说明见 SUPPORT.md。
- 安全漏洞请按 SECURITY.md 私下报告。
- 版本变化见 CHANGELOG.md,赞助说明见 FUNDING.md。
- 通用视觉工具、跨 Agent 接入和视觉任务方法论请访问上游 agent-vision-toolkit。
- 国内访问:项目已同步至 AtomGit,方便国内开发者访问、下载和使用。

我是 anionex,一位 AI 原生开发者,曾位列 GitHub 全球开发者趋势榜第 3 名,项目累计超过 16k stars。想了解我后续的工作,欢迎在 GitHub 关注我。

agent-vision-toolkit 由 Anionex 创建。本仓库维护它面向 DeepSeek Harness 的原生集成。

许可证

插件采用 MIT License。打包的上游快照保留其原始 MIT 许可证,见 vendor/agent-vision-toolkit/LICENSE。
预览分享卡片长什么样 ↓Anionex/dsh-vision-toolkit
分享 · DeepSeek Harness Hub
Anionex/dsh-vision-toolkit

更强大的视觉工具箱——给 DeepSeek Harness 里的纯文本模型装上眼睛:图片问答、长图 OCR、前端 UI…

回到顶部