DeepSeek Harness 插件

dsh-vision-harryli7

DSH vision plugin: image recognition (Codex + Zhipu fallback) and generation (GPT Image + CogView fallback), text-only-model safe(英文原文)

跳到安装方式

来源信息

GitHub 仓库
HarryLi-7/dsh-vision
最近更新
2026年8月16日
分类
模型与服务商
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/HarryLi-7/dsh-vision
插件名:dsh-vision-harryli7
作者:HarryLi-7

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-vision

DSH (DeepSeek Harness) vision plugin: image recognition and generation for text-only models, with a multi-engine failover chain and full UI integration.

Built for personal use — engines ride what you already have (your logged-in Codex / ChatGPT account), with free Zhipu and optional Gemini fallbacks. Every engine parameter is editable in the harness Settings page, and all temporary data is delete-after-use (用完即焚).

Tools

ToolWhat it doesEngine chain
describe_imageRead a local image, return a description. Default mode is structured (JSON evidence: description + OCR lines with pixel boxes + layout regions + entities); the agent integrates it into a natural-language answer. mode: text for plain description onlyCodex → Gemini → Zhipu GLM
generate_imageGenerate an image from a prompt; shown inline in the conversation (produced-file card + lightbox + download + reveal in Finder). quality: auto (Nano Banana 2 Lite, cheapest) / hd (Nano Banana Pro 1K/2K) / 4k (Nano Banana Pro 4K)Codex (GPT Image) → Gemini Nano Banana (paid key) → Zhipu CogView

Image input (paste / drag → path)

The GUI blocks image paste for text-only models. This plugin intercepts paste and drag at the window level, uploads the image to ~/.dsh/generated-images/uploads/ (content-addressed: identical images are stored once), and inserts the file path as text into the composer — the model only ever sees text. A thumbnail rail above the input shows the images (preview, horizontal scroll, per-image delete that also removes the path from the draft). After sending, the images are injected back into the conversation beside your user message.

Storage discipline (用完即焚)

  • Every Codex call runs --ephemeral (no session files in ~/.codex/sessions)

with --sandbox workspace-write.

  • Generated images: gen-<hash>-<内容>-<引擎>.<ext> + a .meta.json

sidecar (engine label for the caption). The old plain-hash path is kept as a symlink so historical images keep working.

  • Uploads: deduplicated by content hash; auto-cleaned after

uploadRetentionDays (default 7, 0 = never); orphan .meta.json sidecars are cleaned automatically.

  • Existing ~/.codex data is never touched.

Settings (Settings page → dsh-vision)

KeyDefaultMeaning
codexPathautoCodex CLI path (blank = auto-detect)
uploadRetentionDays7Upload retention (0 = keep forever)
describeEngines["codex","gemini","zhipu"]Recognition chain order
generateEngines["codex","gemini","zhipu"]Generation chain order
engines.codex.*gpt-5.6-luna / max / priorityCodex model, effort, speed tier, timeout
engines.gemini.*aliases + Nano Banana modelsGemini describe chain + generation models
engines.zhipu.*glm-4.6v-flash / cogview-3-flashZhipu models, size, timeout

Credentials (~/.dsh/.credentials.yaml)

  • DEEPSEEK_API_KEY — DeepSeek (harness)
  • GEMINI_API_KEY — Gemini recognition (free tier; Pro degrades to Flash)
  • GEMINI_IMAGE_API_KEYgeneration only, paid, separate project
  • ZHIPU_API_KEY — Zhipu fallback (free)

Engine registry (adding/removing models)

Engines live in the ENGINES registry in lib/index.js:

const ENGINES = {
  codex: { id, label, describe(bytes, cfg, prompt, signal, runtime), generate(prompt, cfg, signal, runtime) },
  gemini: { ... },
  zhipu: { ... },
  // future: openai: { ... }, ollama: { ... }
};

Add = one registry entry + one settings config object + a default. Remove = delete those. Chain order and per-engine params are editable in Settings.

Install

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

Then restart dsh web. Add keys to ~/.dsh/.credentials.yaml for the fallback engines.

Requirements

  • Node.js with the DSH harness (dsh web)
  • Codex CLI (npm: @openai/codex) logged in with a ChatGPT account
  • Optional: Zhipu / Gemini keys for fallback engines

License

MIT