DeepSHPlugins
dsh-vision-subagent 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-vision-subagent

視覺與多模態TypeScriptMIT

為任意 DSH 路由裝上眼睛:Web 輸入框貼圖按意圖自動聚焦分析,視覺子代理代讀工作區圖片,原圖可隨時物化編輯。

1 Starsruby1304 更新時間 2026-09-10
訪問 GitHub 倉庫
dsh-vision-subagent 專案預覽
dsh-vision-subagent 介面截圖dsh-vision-subagent 介面截圖dsh-vision-subagent 介面截圖dsh-vision-subagent 介面截圖

專案介紹

中文

為任意 DSH 路由裝上眼睛:Web 輸入框貼圖按意圖自動聚焦分析,視覺子代理代讀工作區圖片,原圖可隨時物化編輯。

English

Vision for any DSH route: paste images in the Web composer with intent-aware auto-analysis, delegate workspace image reads to a Kimi/MiniMax vision subagent, and materialize pasted originals for editing.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
ruby1304
倉庫
ruby1304/dsh-vision-subagent
GitHub Stars
1
Forks
0
開發語言
TypeScript
許可證
MIT
最近推送
2026-09-10
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

50/ 100
維護活躍
100
文件與實用資訊
60
生態關注度
9
安裝便捷訊號
80
專案宣告訊號
100

近 1 天仍在更新;關注度尚低(1)。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add dsh-vision-subagent

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

dsh-vision-subagent

Awesome DSH Plugin

Eyes for text-only DeepSeek Harness agents: delegate image reading to a one-shot subagent running on a separately configured vision route (MiniMax / Kimi / any OpenAI-compatible provider). Image bytes and the vision model's intermediate context never enter the main session — only the final text answer comes back.

Why a subagent

  • Context isolation: large screenshots and multi-image comparisons never occupy the main model's window
  • Multi-turn visual reasoning: the child can call read_image on more workspace files before answering
  • Cost & route separation: vision calls bill on the MiniMax/Kimi route; the main model only reasons

Quick start

sh dsh plugin --profile web add /path/to/dsh-vision-subagent

Then edit ~/.dsh/profiles/web/cordis.patch.yml:

`yaml

  • insert:
  • id: vision-subagent

name: 'dsh-vision-subagent' config: provider: kimi-coding # or minimax-cn / a hand-declared route model: k3 # or MiniMax-M3 / MiniMax-VL-01 `

Restart dsh web, open a new session, and ask: "Look at ~/Desktop/error.png — what is the error?" The model calls vision_agent(images=[...], question=...) on its own.

Screenshots

Paste & askAnalyzingClean bubbleLightbox
composer with pasted image thumbnailanalysis progress capsulebubble: thumbnails plus your words onlylightbox with full analysis

Paste images into the composer (Codex-style)

The Web composer accepts pasted/dropped images natively. On send, the client plugin uploads them to the host endpoint, which:

  1. validates the session and stores the images as durable attachments (bounded by deployment limits)
  2. runs ONE vision-route analysis on an isolated context (image bytes never enter the main session), guided by your draft message — the analysis focuses on what your words target (error text for a debugging ask, outfit details for a styling ask) instead of describing everything generically
  3. sends only the analysis text along with your message — the main model answers immediately, no tool call needed

In the chat history your bubble shows only your own words plus thumbnails; the analysis lives in the lightbox that opens when you click a thumbnail, never duplicated inline. Need the original bytes later (image editing, pixel-level inspection)? The durable message links let the model call vision_image_fetch to materialize the full-fidelity file into the workspace's .dsh-vision/ directory.

On failure (timeout, route error) the message is not sent and the composer draft is preserved. This channel complements the vision_agent tool: pasted images take the automatic path, while workspace files are read by the model calling the tool itself.

MiniMax / Kimi vision models

ProviderbaseURLVision modelsKey env
Kimi (Moonshot)https://api.moonshot.cn/v1k3 / kimi-k3 / moonshot-v1-8k-vision-previewMOONSHOT_API_KEY
MiniMaxhttps://api.minimaxi.com/v1MiniMax-VL-01MINIMAX_API_KEY
MiniMax CN(built-in llm-pi-ai minimax-cn route)MiniMax-M3MINIMAX_CN_API_KEY

If a route already exists in Settings/Models (e.g. kimi-coding, minimax-cn), the plugin config only names provider + model — the key stays in the route's credential reference. The plugin itself never touches secrets.

Configuration

FieldDefaultMeaning
enabledtrueMaster switch
provider / model'' (dormant)Vision route; must be set together
subagentProviderspawnctx.subagents provider
maxDepth1Absolute delegation-depth cap for the spawned child; 1 lets the vision child run but forbids further delegation (0 would reject the child itself — a top-level agent's child is depth 1)
maxImages4Images per call
maxImageBytes10 MiBPer-image byte cap
maxPromptChars8000Question length cap
maxOutputChars32000Returned text truncation
allowRemoteUrlsfalseReserved (v0.1 supports local paths only)
allowOutsideWorkspacefalseWorkspace containment bypass
extraAllowedRoots[]Extra allowed image roots
guidance''Extra instructions appended to the child prompt

Security model

  • Keys live only in the vision route's credential reference (env); the plugin accepts no plaintext secrets
  • Local images default to the session workspace; symlinks are rejected; reads are byte-capped
  • The child runs with maxDepth: 1 (runs, but cannot delegate further) and instructions forbid file modification and shell use
  • vision_image_fetch writes only under the session workspace's .dsh-vision/ with self-generated content-hashed filenames; no caller-controlled path segment reaches the disk

Architecture

Main model (text-only) └─ vision_agent(images, question) ──┐ │ 1. admission: ext / containment / symlink / byte cap │ 2. ctx.attachments.saveImage → durable content-addressed refs │ 3. ctx.subagents.start('spawn', { agentOptions: {provider, model} }) ▼ One-shot subagent (MiniMax/Kimi vision route, own context) └─ final text ──► main session (only this message enters main context)

The plugin consumes harness services structurally (duck-typed) and is rc-version tolerant. Runtime dependencies: @deepseek-ai/dsh-tools (defineTool) and @deepseek-ai/schemastery (config schema) only.

Roadmap

  • [x] Web paste bridge: composer images auto-trigger vision analysis (v0.2)
  • [x] Context-aware paste analysis: your draft message steers the vision focus; bubble stays clean (v0.3)
  • [x] vision_image_fetch: materialize pasted originals into .dsh-vision/ for editing (v0.3)
  • [ ] Settings panel for provider/model selection
  • [ ] Remote image URL support (bounded fetch)
  • [ ] Embedded SKILL.md steering when to delegate

Development

sh npm install && npm run typecheck && npm test && npm run build

Before publishing, align @deepseek-ai/* versions in dependencies/devDependencies with the target harness rc (runtime deps currently rc.6, peer range >=rc.5 <0.1.0 — compatible with a local rc.5 checkout).

License

MIT

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案