针对DSH:添加第三方模型时,模型被默认没有视觉能力的问题(DeepSeek Harness小完善计划其三)(DSH视觉封禁解禁)

August 20, 2026 · View on GitHub

DSH: Vision-Capable Models Blocked from Image Input by Default (DeepSeek Harness Improvement Plan, Part 3 — Vision Unblock)

DSH(DeepSeek Harness)模型视觉能力开启技能(Agent Skills 标准格式)。

A DSH (DeepSeek Harness) vision capability unblock skill (Agent Skills standard format).

中文文档 · English


中文文档

技能标识:03-vision-input | 系列:DeepSeek Harness 小完善计划(其一:上下文窗口 · 其二:思考强度调节

这是什么

一个符合 Agent Skills 标准(SKILL.md + YAML frontmatter + references/ 渐进披露)的独立技能仓库。它告诉 AI:当模型本身支持图像输入、但 DSH 的 read_image 工具报 "does not declare image input" 时,如何通过配置声明(模型条目 inputimage)开启视觉能力——以及开启前如何查证、模型没有视觉时如何兜底。

项目目的

DSH 0.1.0-rc.7 手工接入第三方模型时,能力闸门默认按声明拦截图像输入:即使模型本身支持视觉read_image 也会报 "does not declare image input",图片在发送前就被拒绝。

本仓库是一个 Agent Skill——给 AI 看的"维修手册",不是可执行软件。AI 读完 SKILL.md 后,即可按规程自行查证模型能力并修复 settings.yaml(在模型条目声明 inputimage,保存即生效)。

⚠️ 前置铁律:先查证模型确实支持视觉,再声明。高估的代价大于低估——高估会让会话反复重发一个必败的请求(详见 SKILL.md 的"核心原理")。

症状速查

出现以下任一现象,本技能适用:

  • read_image 报错:model "<模型id>" does not declare image input
  • 模型本身支持看图,但 DSH 在发送前拒绝发图(能力闸门拦截)
  • 消息含图片时适配器报 UNSUPPORTED_CONTENT

仓库结构

03-vision-input/
├── SKILL.md                # 技能入口(AI 读这个)
├── README.md               # 仓库说明(人读这个)
├── AGENTS.md               # 维护守则(给维护本仓库的 AI 看)
└── references/
    ├── deep-dive.md        # 闸门源码、查证细节、无视觉兜底方案、排障表
    └── examples.yaml       # 完整配置示例

使用方法

  1. 安装:把本目录整体放入 AI 的 skills 目录(各 AI 的 skills 目录位置不同,按其文档放置;也可以是项目级技能目录)。

  2. 触发:对 AI 描述症状或直接贴报错,例如:

    read_image 读图时报错:model "<模型id>" does not declare image input

    AI 识别到"模型未声明图像输入"类症状后会自动加载 SKILL.md

  3. AI 会做什么(按 SKILL.md 规程):

    • 查证模型视觉能力(本机 pi-ai 内置目录 / 官方文档);
    • 定位 settings.yaml(跨平台路径见 SKILL.md);
    • 在对应模型条目声明 input: [text, image](保存即生效,无需重启);
    • 提示验证:用 read_image 读任意 jpg/png,模型能"看图说话"即成功。
  4. 用户要配合什么

    • 审批提升权限settings.yaml 在工作区外,写入需提升权限并经你审批;
    • 确认网关透传:中转站网关必须透传图片消息——闸门过了 ≠ 能看图;
    • 改完自行备份:通过 DSH 界面改供应商设置可能重写配置、抹掉手工加的字段;
    • 模型真没视觉时:参考 references/deep-dive.md 的兜底方案(OCR / PPT 整图提取 / 时间轴对齐)。

版本基线

内容基于 DSH 0.1.0-rc.7 + @earendil-works/pi-ai 0.82.1(2026-08 实战验证)。DSH 升级后字段名可能变化,请按 references/deep-dive.md 的源码定位入口重新核实并更新 frontmatter 的 metadata.baseline

许可

本文档以 CC BY 4.0 协议发布(署名 4.0 国际)。引用、转载、二次创作请保留署名:xiaohui5206。


English

Skill ID: 03-vision-input | Series: DeepSeek Harness Improvement Plan (Part 1: Context Window · Part 2: Reasoning Effort)

What This Is

A standalone skill repository following the Agent Skills standard (SKILL.md + YAML frontmatter + progressive disclosure via references/). It tells the AI: when a model natively supports image input but DSH's read_image tool reports "does not declare image input", how to enable vision capability through a config declaration (image in the model entry's input) — plus how to verify capability beforehand, and what to fall back on when the model has no vision.

Project Purpose

When manually integrating third-party models in DSH 0.1.0-rc.7, the capability gate blocks image input by default based on declarations: even when a model natively supports vision, read_image reports "does not declare image input" and the image is rejected before it is ever sent.

This repository is an Agent Skill — a "repair manual" written for AI, not executable software. After reading SKILL.md, the AI follows the procedure to verify model capabilities and fix settings.yaml on its own (declare image in the model entry's input; takes effect on save).

⚠️ Iron rule: verify that the model truly supports vision before declaring it. Over-declaring costs more than under-declaring — over-declaring makes the session repeatedly resend a doomed request (see "Core Mechanism" in SKILL.md).

Symptom Quick Reference

This skill applies when any of the following occurs:

  • read_image errors: model "<model-id>" does not declare image input
  • The model natively supports image input, but DSH refuses to send images before the request (capability gate interception)
  • The adapter reports UNSUPPORTED_CONTENT when a message contains an image

Repository Structure

03-vision-input/
├── SKILL.md                # Skill entry point (read by the AI)
├── README.md               # Repository overview (read by humans)
├── AGENTS.md               # Maintenance rules (for AIs maintaining this repo)
└── references/
    ├── deep-dive.md        # Gate source code, verification details, no-vision fallback workarounds, troubleshooting table
    └── examples.yaml       # Complete config examples

How to Use

  1. Install: Copy this entire directory into your AI's skills directory (locations vary by AI — follow its documentation; a project-level skills directory also works).

  2. Trigger: Describe the symptom to the AI or paste the error directly, e.g.:

    read_image fails with: model "<model-id>" does not declare image input

    The AI loads SKILL.md automatically once it recognizes an "image input not declared" symptom.

  3. What the AI does (per the SKILL.md procedure):

    • Verify the model's vision capability (local pi-ai built-in catalog / official docs);
    • Locate settings.yaml (cross-platform paths in SKILL.md);
    • Declare input: [text, image] on the model entry (takes effect on save, no restart needed). Note: declare input only — in 0.1.0-rc.7, inputModalities is not a config key; writing it is silently ignored;
    • Prompt verification: read any jpg/png with read_image; success means the model starts describing the image.
  4. What you need to do:

    • Approve elevated permissions: settings.yaml lives outside the workspace; writing requires elevation and your approval;
    • Confirm gateway passthrough: the relay gateway must pass image messages through — passing the gate ≠ being able to see images;
    • Back up after editing: changing provider settings via the DSH UI may rewrite the config and silently remove hand-added fields;
    • If the model truly has no vision: see the fallback workarounds in references/deep-dive.md (OCR / PPT full-slide image extraction / timeline alignment).

Version Baseline

Content is based on DSH 0.1.0-rc.7 + @earendil-works/pi-ai 0.82.1 (verified in practice, 2026-08). Field names may change after DSH upgrades; re-verify against the source-code entry points in references/deep-dive.md and update metadata.baseline in the frontmatter.

License

This document is released under CC BY 4.0 (Attribution 4.0 International). Please keep the attribution when quoting, reposting, or creating derivatives: xiaohui5206.