Bundle
dsh-pro-vision-std
dsh-std Community v0.15 ModelProvider: DeepSeek-V4-Pro with images captioned by V4-Flash-Vision-Exp. Requires @dsh-std/adapter-dsh on DeepSeek Harness.
- Source
- lasdrder0705
- License
- MIT
- Updated
- Updated 6 days ago
Readme
# dsh-pro-vision-std [中文](README.zh.md) · English **Compatible with dsh-std Community v0.15.** A portable `ModelProvider` that lets DeepSeek V4-Pro handle image attachments. Images are first captioned by `deepseek-v4-flash-vision-exp`; the resulting text is then sent to `deepseek-v4-pro`. The host facet uses dsh-std contracts and does not import `@deepseek-ai/*`. ## Compatibility | Item | Value | |---|---| | Standard | [dsh-std](https://github.com/Yan-Zero/dsh-std) Community v0.15 | | `$schema` | `urn:dsh-std:community-draft:dsh-plugin:0.15` | | Component id | `io.github.lasdrder0705.dsh-pro-vision-std` | | Host entry | `lib/host.js` | | DSH host | [`@dsh-std/adapter-dsh`](https://www.npmjs.com/package/@dsh-std/adapter-dsh) | | Node.js | `22.19+` or `24+` | | CI | Windows, macOS, and Linux | ## Install ```sh dsh plugin --profile web add @dsh-std/adapter-dsh dsh plugin --profile web add github:lasdrder0705/dsh-pro-vision-std ``` To update an existing installation: ```sh dsh plugin --profile web update dsh-pro-vision-std ``` Restart the DSH profile after installation or update. ## Select the image-capable route In the model selector, choose: ```text dsh-pro-vision / deepseek-v4-pro ``` This exact route advertises `text + image`. The previous model id, `dsh-pro-vision / deepseek-v4-pro-vision`, remains available as a compatibility alias. The official route `deepseek-official / deepseek-v4-pro` remains text-only. dsh-std isolates providers by route, so installing this component does not alter or impersonate the official provider. If DSH reports that V4-Pro cannot accept images, verify that the selected provider is `dsh-pro-vision`. ## API key reuse On DeepSeek Harness, the component automatically reuses the existing `DEEPSEEK_API_KEY` resolved by the DSH credential service, including a key already saved from the Models page. Users do not need to enter the same key again. `DSH_PRO_VISION_API_KEY` is an optional per-plugin environment override. Outside DSH, the portable facet falls back to `DSH_PRO_VISION_API_KEY` and `DEEPSEEK_API_KEY` from the launch environment. Credential values are resolved for each operation, are not written to plugin configuration, and are not logged. Optional environment settings: ```text DSH_PRO_VISION_BASE_URL default https://api.deepseek.com DSH_PRO_VISION_VISION_MODEL default deepseek-v4-flash-vision-exp DSH_PRO_VISION_TEXT_MODEL default deepseek-v4-pro DSH_PRO_VISION_MAX_VISION_TOKENS default 8192 DSH_PRO_VISION_REASONING_EFFORT default high DSH_PRO_VISION_CACHE_SIZE default 200 ``` ## Behavior 1. The provider reads image attachments through the dsh-std `readImage` contract. 2. Flash Vision creates a precise caption for each image. 3. Each image block becomes an `[Image N] ...` text note. 4. V4-Pro streams the final response from the rewritten text-only request. 5. Identical image bytes are cached in process. The package also publishes the dsh-std Tool `describe_image` for describing one workspace or recently attached image explicitly. ## Relationship to the original plugin This repository is the dsh-std rewrite of [dsh-pro-vision](https://github.com/lasdrder0705/dsh-pro-vision). The original plugin intercepts a DSH-specific Cordis `llm/stream`; this package instead publishes an isolated, portable ModelProvider. They are separate packages and may coexist. ## Develop ```sh npm run check npm pack --dry-run ```
Install
dsh plugin --profile web add github:lasdrder0705/dsh-pro-vision-std
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-pro-vision-std from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.