DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Tool See Image — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
T

dsh-tool-see-image

Tool See Image

DSH 的 see_image 工具:将图像文件发送到可配置的视觉模型(兼容 OpenAI API),并将其描述传回仅支持文本的模型

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:gugu123a/dsh-tool-see-image#d6f9b3da3a7865a87e937e1b5dbf989fa54c9d8d
README兼容性版本

兼容性与来源证明

Tool See Image 以 dsh-tool-see-image 发布,当前版本为 0.1.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/8/27

版本

0.1.2stable
2026/8/27

相关插件

正在加载相关插件…

最新版
0.1.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 5
周下载
0
最近提交
2026/9/3
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 vision-media 分类下经过校验的插件。

Tool Describe Image@linxin666/dsh-tool-describe-image面向模型的 describe_image 工具,用于 dsh Web GUI:通过在兼容 OpenAI 的端点调用视觉语言模型,为文本模型提供图像理解能力,以描述一张图像(本地路径、http(s) URL 或附件引用)。可热插拔 —Modlens@liustack/modlens面向仅支持文本的 LLM 的插件视觉能力,由免费的 Antigravity CLI 提供支持Vision Toolkit@anionex/dsh-vision-toolkit面向 Harness 原生集成的 DeepSeek 与 agent-vision-toolkit:图像问答、OCR、定位、UI 还原、像素差异、Artifacts 和 Web UI。Deepseek Ivideodeepseek-ivideoiPolloWork HyperFrames Video Studio,以及 27 个可编辑视频模板,以原生 DeepSeek Harness 对话视图呈现。

README

dsh-tool-see-image

Glad to make a plugin for #deepseekharness (or #dsh).

Give a text-only model (e.g. deepseek-v4-flash) the ability to "see" images: the see_image tool sends an image file to a configurable vision model (default: Zhipu GLM-4V-Flash, free), which describes it in text; the text-only model relays that description back to you.

How it works

You: "Look at this image" ──►  Text-only model (no vision)
                                  │ calls see_image(path, question)
                                  ▼
                             This plugin (Host plane)
                                  │ 1. ctx.fs resolves & reads the image (sandbox/observation policy aware)
                                  │ 2. encodes it as a base64 data URL
                                  │ 3. POST {baseURL}/chat/completions (OpenAI-compatible)
                                  ▼
                             Vision model (GLM-4V-Flash)
                                  │ text description
                                  ▼
                             Text-only model ──► reports to you

Install (DSH web profile)

  1. Copy the plugin into your profile directory, e.g. $DSH_HOME/profiles/web/plugins/dsh-tool-see-image/ ($DSH_HOME is usually ~/.dsh).

  2. Declare the dependency in $DSH_HOME/profiles/web/package.json:

    "dsh-tool-see-image": "file:plugins/dsh-tool-see-image"
    

    Then run pnpm install (creates a junction to the source under profiles/node_modules).

  3. Compose it into the profile in $DSH_HOME/profiles/web/cordis.patch.yml:

    - insert:
        - id: tool-see-image
          name: 'dsh-tool-see-image'
          config:
            baseURL: https://open.bigmodel.cn/api/paas/v4
            apiKeyEnv: ZHIPU_API_KEY
            model: glm-4v-flash
    
  4. Set your API key: create one at the Zhipu (bigmodel) console (format id.secret), then set the environment variable (Windows example):

    setx ZHIPU_API_KEY "your-key"
    

    Restart your terminal, then restart dsh web (the web profile does not hot-reload patch layers yet — tested).

  5. Verify: in a new session the see_image tool should appear. Try it:

    Use see_image to look at path/to/your/image.png
    

Configuration (tool-see-image line in cordis.patch.yml)

KeyDefaultDescription
baseURLhttps://open.bigmodel.cn/api/paas/v4OpenAI-compatible endpoint; the plugin appends /chat/completions
apiKeyEnvZHIPU_API_KEYEnv var name that holds the API key
modelglm-4v-flashVision model id (free on Zhipu)
maxTokens1024Max output tokens. Note: glm-4v-flash caps at 1024 (higher returns 400 max_tokens参数非法; raise it if you switch to a bigger model)
timeoutMs60000Request timeout
maxBytes15728640 (15MB)Per-image size limit
prompt(Chinese detailed-description instruction)Default question; the question argument takes precedence

To use a different vision API, change these three keys, e.g. SiliconFlow:

config:
  baseURL: https://api.siliconflow.cn/v1
  apiKeyEnv: SILICONFLOW_API_KEY
  model: Qwen/Qwen2.5-VL-32B-Instruct

Uninstall / rollback

  1. Remove the - insert: ... tool-see-image ... block from cordis.patch.yml;
  2. Remove the junction: Remove-Item profiles\node_modules\dsh-tool-see-image;
  3. Remove that line from profiles/web/package.json dependencies;
  4. Restart dsh web.

Implementation notes (for plugin developers)

  • Exports { name, inject, Config, apply }, same shape as every DSH tool plugin;
  • inject: ["tools", "fs"] — the tool registry and the sandboxed file service are both Host-global services;
  • Registered at the global layer, so every session sees it (same as TUI-mode host tool rows);
  • Reads files through ctx.fs (sandbox/observation policy applied), never raw node:fs;
  • Parameter schema uses the DSH-specific format: required: true for required, omit the required key for optional (required: false is rejected by defineTool);
  • Network request carries a timeout and exec.signal cancellation; errors are model-readable.

Regression test

test/mount-test.mjs mounts this plugin line under a real Cordis Loader (timer + system-prompt + tools + this plugin) and asserts that see_image lands in the tool registry. Run:

set DSH_CHECKOUT=<your dsh install root, containing node_modules/@deepseek-ai>
node test/mount-test.mjs

Expected output: tools.schemas() 含 see_image: true and === MOUNT TEST PASS ===. The script temporarily links the plugin into the checkout's node_modules (Windows junction / other-platform symlink) and cleans up afterwards — no hardcoded local paths.

Field notes

  • 2026-08-13: real key + triz-workflow.png (a DSH Web GUI screenshot) → HTTP 200 in ~6.8s, correctly read the UI text (search box / MCP settings / Fetch / Filesystem / Sequential-Thinking).
  • Pitfall: glm-4v-flash's max_tokens cap is 1024 (the default of 2048 caused a 400; the default has been fixed).

Paste-to-text relay (bonus)

Beyond the see_image tool (which reads an image by path), this repo ships a patch script that lets you paste images straight into the chat box and have them auto-converted to text:

node scripts/patch-dsh-image-relay.mjs          # apply (idempotent, auto-backup)
node scripts/patch-dsh-image-relay.mjs --check  # status
node scripts/patch-dsh-image-relay.mjs --revert # rollback
pm2 restart dsh-web                              # then hard-refresh the browser

It patches three DSH packages (host-apiproxy, llm-deepseek, client-ui) so that:

  • the UI shows the pasted image (the hidden text block is filtered out);
  • DeepSeek receives a 【图片:...】 description from GLM-4V-Flash instead of raw pixels;
  • repeated images hit a local cache (~/.dsh/cache/image-relay/), and failures degrade gracefully within 8s.

Requires ZHIPU_API_KEY. Re-run the script after any npx dsh upgrade — the patch is lost when the npm cache is refreshed.

License

MIT