通过已配置的 DSH Provider 或 OpenAI 兼容端点提供图片输入与识别。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:alaxrpg/dsh-vision-bridge
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。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
DSH 插件:为纯文本模型提供视觉能力,复用 DSH 已添加的 Provider,也支持新增 OpenAI 兼容直连 Provider,带设置页可视化配置。
功能
- 提供
vision_bridge_read_image工具:手动触发图片识别,返回结构化文本证据(OCR + 布局 + 语义) - 粘贴图片时自动接管:上传图片并插入紧凑的一图一 ID 引用(例如
「▧ 图片 #KdAy1D」),支持 TEXTAREA/INPUT 与 contenteditable(DSH 0.1.2-alpha+)输入框 - 无厂商硬编码:Provider 与模型列表实时读取 DSH registry
- 设置页「插件 → 视觉桥接」子菜单:选择 DSH Provider,或新增自定义 Provider,保存即热生效
- 连通性测试:一键向视觉 API 发送测试图,返回延迟与响应样本
- 不注册 wrapper provider:选择 DSH Provider 时复用其 adapter、凭据和 attachment 通道
安装
# 方式一:DSH 插件 CLI(自动写入 bundles)
dsh plugin --profile web add github:alaxrpg/dsh-vision-bridge
# 方式二:手动安装
cd ~/.dsh/profiles/web
pnpm add github:alaxrpg/dsh-vision-bridge
方式二需在 package.json 的 dsh.profile.bundles 中追加 "dsh-vision-bridge"(或在
profile 的 cordis.patch.yml 中插入挂载行),不要两种方式同时使用。
配置
推荐:GUI 设置页。安装重启后打开 设置 → 插件 → 视觉桥接,即可:
- 从 DSH 当前已添加的 Provider 与模型中选择
- 新增本插件私有的 OpenAI 兼容直连 Provider
- 自定义 Provider 可直接填入 API Key(写入 settings.yaml,永不回显)
- 一键测试连通性
- 保存后立即热生效,无需重启 DSH
也可以直接编辑 ~/.dsh/settings.yaml 的 vision-bridge 段:
vision-bridge:
enabled: true
providerMode: dsh
provider: your-dsh-provider-id
model: your-vision-model-id
timeout: 90
外部编辑 settings.yaml 同样会被监听并热生效。
桌面端说明(v0.3.10 起):桌面宿主启动时会把
settings.yaml一次性导入内部存储并改名settings.yaml.imported收走,且桌面端不向本插件注入 settings 服务。对此做了两项兜底: ① 读取时把settings.yaml.imported加入候选(内容保留,隔次启动仍可读到); ② 设置页「保存」在 settings 服务不可用时退化为直写settings.yaml(写后热生效), 不再返回 503。
DSH 已添加 Provider
providerMode: dsh 时,设置页调用 ctx.llm.listProviders() 和 ctx.llm.listModels() 动态生成选项;
图片经 DSH attachment store 保存后交给选中 Provider 的 adapter。插件不读取该 Provider 的 Base URL 或密钥。
自定义 Provider
vision-bridge:
providerMode: custom
provider: my-vision-provider
baseUrl: https://your-api.com/v1
model: your-vision-model
apiKeyEnv: YOUR_API_KEY_ENV
自定义 Provider 只属于本插件的 OpenAI 兼容直连配置,不会注册到 DSH 全局 Provider 或模型列表。
API Key 优先级
以下规则只适用于 providerMode: custom;DSH Provider 的凭据始终由其 adapter 管理:
vision-bridge.apiKey(settings.yaml 直填,或 GUI 输入框)vision-bridge.apiKeyEnv→ DSH 凭据服务(ctx.credentials.resolve,与模型配置/凭据页 同一渠道):按 进程环境 →~/.dsh/.credentials.yaml→.env分层解析。
GET /vision-bridge/config 永远只返回 keySource / keyResolved 布尔状态,不回显密钥。
使用
安装并配置后,插件提供:
vision_bridge_read_image工具(模型可主动调用识别图片)- 粘贴图片时自动上传并插入一图一 ID 短引用,模型据此调用视觉工具
也可以手动调用工具:
使用 vision_bridge_read_image 工具识别图片:/path/to/image.png
输出格式
插件返回结构化 JSON 证据:
{
"summary": "图片整体描述",
"ocr": {
"full_text": "完整 OCR 文本",
"lines": [{"text": "行文本", "language": "zh"}]
},
"layout": {
"regions": [{"type": "heading", "reading_order": 1, "text": "..."}]
},
"semantics": {
"scene": "场景描述",
"entities": [{"name": "实体名", "type": "类型"}]
},
"uncertainty": ["不确定项"]
}
技术要点
- 配置通道:宿主 settings 服务(
@deepseek-ai/dsh-settings),命名空间vision-bridge(匹配宿主/^[a-z][a-z0-9-]*$/约定);服务不可用时退化为 settings.yaml 直读(只读) - 凭据通道:API key 经宿主 credentials 服务(
@deepseek-ai/dsh-credentials)解析, 仅用于自定义直连 Provider;DSH Provider 复用自身 adapter 的凭据通道 - DSH Provider 通道:
ctx.llm.stream()+ attachment store,不复制或回显 DSH Provider 凭据 - Web 路由:
/vision-bridge/config(GET 读 / POST 存,带 revision 乐观并发与同源防护)、/vision-bridge/test(连通性测试)、/vision-bridge/paste(粘贴上传)、/vision-bridge/verdict(是否接管粘贴) - 客户端:classic script 经
__ModuleLoader__加载,settings.plugin.item插槽注册可折叠插件配置子菜单; 粘贴拦截在无插件 ctx 时也照常工作
兼容性
- DSH 0.1.1+
- Node.js 18+
- macOS / Linux
License
MIT
链接
同类插件
liustack/modlens★ 4258
为纯文本模型架起视觉桥梁:粘贴图片,输出结构化 JSON 证据(OCR、版面、语义)。
ysr666/dsh-vision-router★ 1152
为纯文本 Agent 提供视觉能力:内置免 Key 视觉链 + 像素级视觉工具(看图问答、定位、裁剪、像素对比、取色、OCR、矢量化、抠图、截图);粘贴图片即可用。
Anionex/dsh-vision-toolkit★ 895
让纯文本模型处理视觉任务:粘贴图片后自动切换到 Vision Toolkit 变体,支持图片问答、多图比较、长截图 OCR、截图还原前端 UI、元素定位与像素对比。默认无需 API Key——图片经作者自建的免费服务处理,每台机器每天 100 张;也可改为指向自己的服务商。
dickpy/dsh-imagegen★ 115
面向 DSH Web GUI 的 AI 生图插件:通过可配置的 OpenAI 兼容端点(gpt-image-2 / gpt-image-1 / dall-e-3)实现文生图与图生图,提供 api_url/api_key 设置卡片与侧边栏分栏生图工作台。
fandc520/dsh-comfyui★ 114
让 DeepSeek Harness 的 Agent 直接驱动本地或远程 ComfyUI:comfyui_run / comfyui_object_info / comfyui_workflow 工具生成与编辑图像、视频,附带工作流库(图工作流提取:按分量 / 主流程 / 整体)、加载区分辨率自动匹配、实时队列、SDXL 与 Wan 2.1 模板、配套 skill 与同源媒体代理。
sunxin-ai/dsh-design-qa★ 44
给纯文本模型的设计稿保真判定:`deepseek_vision` 工具从任意 OpenAI 兼容视觉路由借来一只眼,让模型判断实现与设计稿是否一致——并附上支撑该判定的基准(4 组夹具、23 处注入缺陷、逐格原始输出)与其依赖的提问纪律。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。