DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
R

@lucagiftzek/dsh-request-image-cap

Request Image Cap

限制 DSH 投入模型请求的每张图像的单边像素尺寸(当请求包含多张图像时,Anthropic 拒绝单边超过 2000 像素的图像)。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:lucagiftzek/dsh-request-image-cap#a8f702ffc465c4405da6e7a7f7fbf4cc8c7906ea
README兼容性版本
A tall screenshot failing a many-image request, and the capped version

兼容性与来源证明

Request Image Cap 以 @lucagiftzek/dsh-request-image-cap 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.1.0stable
2026/11/2

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Experimental Voice Input Bundle@deepseek-ai/dsh-experimental-voice-input-bundle实验性语音输入,使用本地 SenseVoice;首次使用时下载其运行时Modlens@liustack/modlens面向仅支持文本的 LLM 的插件视觉能力,由免费的 Antigravity CLI 提供支持Ab Ocrdsh-ab-ocr--- description: "外部 ocr 工具:逐页识别扫描的 PDF 或图像,仅在处理完最后一页后按顺序合并页面,并使用模型确定的标题级别保存为一个 Markdown 文档。" kind: "package-reference" ---Tool Describe Image@linxin666/dsh-tool-describe-image面向模型的 describe_image 工具,用于 dsh Web GUI:通过在兼容 OpenAI 的端点调用视觉语言模型,为文本模型提供图像理解能力,以描述一张图像(本地路径、http(s) URL 或附件引用)。可热插拔 —

README

dsh-request-image-cap

Clamps every image sent to the model to a pixel cap, so many-image requests stop failing.

dsh plugin --profile web add @lucagiftzek/dsh-request-image-cap
# or from GitHub: dsh plugin --profile web add github:lucagiftzek/dsh-request-image-cap
# then restart dsh web

A tall screenshot failing a many-image request, and the capped version

Keep every image DSH transmits inside the provider's per-side pixel limit.

Why

The Anthropic Messages API accepts 8000 px per side for an ordinary request but only 2000 px per side once the request carries many images:

400 invalid_request_error
messages.10.content.5.image.source.base64.data: At least one of the image
dimensions exceed max allowed size for many-image requests: 2000 pixels

Both DSH image gates are area gates:

stageknobdefault
ingest (dsh-attachment-local)normalizedImageMaxPixels / normalizedImageMaxDimension4 194 304 px² / 8192 px
request projection (requestImageDimensions)llm-pi-ai.requestImagePixelBudget4 194 304 px²

A full-page screenshot therefore lands in the store as e.g. 828x5059 (inside the area budget, far outside the per-side rule) and is transmitted verbatim. The failure is latent: the same image is fine in a short request and only kills a long session later, then on every retry, because the bytes are already in the history.

What it does

Wraps ctx.attachments.readImageRequest(ref, policy, signal) (the single seam every LLM adapter uses to materialise request bytes) and converts a per-side cap into the area budget that produces it:

maxPixels' = floor(w * h * (cap / max(w, h))^2)

requestImageDimensions scales by sqrt(maxPixels/(w*h)) and floors, so the long edge lands at or under cap, aspect ratio preserved.

  • retroactive: acts at request time, so histories that already contain oversized images become sendable again;
  • non-destructive: stored bytes are untouched, only the model copy shrinks;
  • never widens a route policy that is already tighter;
  • fails safe: if a core upgrade renames the seam it logs a warning and stays inert rather than throwing at boot;
  • free: Anthropic resizes anything above ~1.15 MP server-side anyway.

Config

- id: request-image-cap
  config:
    enabled: true
    maxDimension: 2000   # 64..8192
    verbose: false       # log every clamp

Install

Install from npm: dsh plugin --profile web add @lucagiftzek/dsh-request-image-cap, or from GitHub: dsh plugin --profile web add github:lucagiftzek/dsh-request-image-cap.

dsh plugin --profile web add @lucagiftzek/dsh-request-image-cap
# or from GitHub: dsh plugin --profile web add github:lucagiftzek/dsh-request-image-cap

The package declares dsh.bundle, so it joins dsh.profile.bundles and its own patch inserts the entry. Override values with a - id: request-image-cap row (config: only, no second insert) in your profile's cordis.patch.yml. It mounts at boot: restart dsh web after installing; the log then shows request-image-cap: active, 2000px per side. A local checkout works too: dsh plugin --profile web add link:/absolute/path/to/dsh-request-image-cap. Requires Node 22.18 or newer; used on DSH 0.1.5 and 0.2.1 (the seam is ctx.attachments.readImageRequest).

Test

npm test    # node --test test/*.test.js

The tests call the real requestImageDimensions of your installed DSH. They find it under DSH_GLOBAL_PREFIX or the global prefix of the running node; set DSH_GLOBAL_PREFIX if DSH lives elsewhere.

Proof on the worst object found in a real attachment store: 828x5059 (388 KB) → 327x1998 (79 KB).

Upstream

The real fix belongs in requestImageDimensions: a route-owned maxDimension beside maxPixels. This plugin is the local stand-in.

When something goes wrong

  • Ask your agent to load the image-cap-doctor skill (copy skills/image-cap-doctor into ~/.dsh/skills/ once, how).
  • Symptom-first guide: docs/TROUBLESHOOTING.md.
  • Messages and log lines: docs/ERRORS.md.

More plugins by the same author

All of them are open source and run on DeepSeek Harness 0.2.x (several on 0.1.5 too).

PluginWhat it does
dsh-artifactsAn Artifacts tab that lists the files an agent produced and previews them in place, plus a template library agents can use and extend
dsh-mailMail client and agent mail tools: IMAP, POP3, SMTP and OAuth2 accounts, scheduled and bulk sends with unsubscribe handling
dsh-note-keeperObsidian-compatible Markdown notes in the sidebar with search, graph, audio notes and transcription, OCR and client-side encryption
dsh-phoneSMS and calls (Twilio, SIP via Asterisk) with call audio through your own server, live voicemail and Telegram
dsh-voiceRead-aloud, dictation and language-aware speech with 23 TTS and STT providers, per-language routing and word highlighting
dsh-orchestratorAgent swarm and task orchestration: an Orchestrate tab, orch_* tools, runners, provider cards and a machine API
dsh-workspace-railA workspace-first sidebar rail: pinned chats, projects as folders, live Recents, search and unread markers
DSH-Idle-WatchdogIdle-chat nudges and an authenticated HTTP API that posts a prompt into any chat
dsh-plugin-updatesUpdate checker that only offers releases your running DSH core can load
dsh-subagent-tiering

Built by Luca Tzekos, who also makes Job Opportunities API: employer-direct job data with per-field provenance you can verify yourself, free to read and available as an API. If this plugin is useful to you, a star on this repo or a look at jobopportunitiesapi.org is the best thanks.

Subagents default to a cheaper sibling of the parent model unless the agent names a route
dsh-fs-reobserveEnds self-inflicted stale-file errors after an agent's own shell commands
dsh-request-image-cap (this one)Clamps every image sent to the model to a pixel cap, fixing many-image request errors
dsh-sealAn encrypted channel in front of DSH: a Go reverse proxy plus a service worker that seal all DSH browser traffic