# dsh-pro-vision-std [English](README.md) · 中文 **兼容 dsh-std Community v0.15。** 这是一个可移植的 `ModelProvider`,让 DeepSeek V4-Pro 可以处理图片附件。图片先由 `deepseek-v4-flash-vision-exp` 生成说明,再把说明文本交给 `deepseek-v4-pro`。Host facet 使用 dsh-std 契约,不 import `@deepseek-ai/*`。 ## 兼容范围 | 项 | 值 | |---|---| | 标准 | [dsh-std](https://github.com/Yan-Zero/dsh-std) Community v0.15 | | `$schema` | `urn:dsh-std:community-draft:dsh-plugin:0.15` | | 组件 ID | `io.github.lasdrder0705.dsh-pro-vision-std` | | Host 入口 | `lib/host.js` | | DSH 宿主 | [`@dsh-std/adapter-dsh`](https://www.npmjs.com/package/@dsh-std/adapter-dsh) | | Node.js | `22.19+` 或 `24+` | | CI | Windows、macOS、Linux | ## 安装 ```sh dsh plugin --profile web add @dsh-std/adapter-dsh dsh plugin --profile web add github:lasdrder0705/dsh-pro-vision-std ``` 已经安装过时,用下面的命令更新: ```sh dsh plugin --profile web update dsh-pro-vision-std ``` 安装或更新后重启 DSH profile。 ## 选择支持图片的路线 在模型选择器中选择: ```text dsh-pro-vision / deepseek-v4-pro ``` 这条精确路线声明支持 `text + image`。旧模型 ID `dsh-pro-vision / deepseek-v4-pro-vision` 仍作为兼容别名保留。 官方路线 `deepseek-official / deepseek-v4-pro` 仍然只支持文本。dsh-std 按 provider 路线隔离模型,安装本组件不会修改或冒充官方 provider。如果 DSH 仍提示 V4-Pro 不支持图片,请确认当前 provider 是 `dsh-pro-vision`。 ## 自动复用本机 API Key 在 DeepSeek Harness 中,本组件会自动复用 DSH 凭据服务解析到的 `DEEPSEEK_API_KEY`,包括已经通过 Models 页面保存在这台电脑上的 key。用户不需要为插件重复输入同一个 key。 `DSH_PRO_VISION_API_KEY` 是可选的插件专用环境变量覆盖。运行在其他宿主时,可移植 facet 会回退读取启动环境中的 `DSH_PRO_VISION_API_KEY` 或 `DEEPSEEK_API_KEY`。凭据会在每次操作时重新解析,不写入插件配置,也不会进入日志。 其他可选环境变量: ```text DSH_PRO_VISION_BASE_URL 默认 https://api.deepseek.com DSH_PRO_VISION_VISION_MODEL 默认 deepseek-v4-flash-vision-exp DSH_PRO_VISION_TEXT_MODEL 默认 deepseek-v4-pro DSH_PRO_VISION_MAX_VISION_TOKENS 默认 8192 DSH_PRO_VISION_REASONING_EFFORT 默认 high DSH_PRO_VISION_CACHE_SIZE 默认 200 ``` ## 工作流程 1. provider 通过 dsh-std 的 `readImage` 契约读取图片附件。 2. Flash Vision 为每张图片生成精确说明。 3. 每个图片块被替换为 `[Image N] ...` 文本说明。 4. V4-Pro 基于改写后的纯文本请求流式返回结果。 5. 内容完全相同的图片会在进程内缓存。 本包还发布了 dsh-std Tool `describe_image`,可以显式描述一张工作区图片或最近附加的图片。 ## 和原插件的关系 本仓库是 [dsh-pro-vision](https://github.com/lasdrder0705/dsh-pro-vision) 的 dsh-std 重写。原插件拦截 DSH 专属的 Cordis `llm/stream`;本包发布独立、可移植的 ModelProvider。两者是独立包,可以共存。 ## 开发与验证 ```sh npm run check npm pack --dry-run ```