DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Plugin Hunyuan Image — DSH Plugin for DeepSeek Harness
← Plugins
P

dsh-plugin-hunyuan-image

Plugin Hunyuan Image

DSH native plugin: integrates Tencent Hunyuan Image Generation (Hy-Image-3.5-preview / Hy-Image-3.0), with a local image library, context awareness, and cross-platform portability.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:rayyugz/dsh-plugin-hunyuan-image#3d1c3ba2cbeb43fbc8fa448cbf65464260e5991b
READMECompatibilityVersions

Compatibility and provenance

Plugin Hunyuan Image is published as dsh-plugin-hunyuan-image and currently resolves to version 1.0.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/10/2026

Versions

1.0.0
stable
10/10/2026

Related plugins

Loading related plugins…

Latest
1.0.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/10/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in vision-media.

Modlens@liustack/modlensPlug-in vision for text-only LLMs, powered by the free Antigravity CLITool Describe Image@linxin666/dsh-tool-describe-imageModel-facing describe_image tool for the dsh web GUI: gives a text-only model image understanding by asking a vision-language model at an OpenAI-compatible endpoint to describe one image (local path, http(s) URL, or attachment reference). Hot-pluggable — Vision Routerdsh-vision-routerEyes for text-only DeepSeek Harness agents: built-in free vision chain + pixel-level tools. Remote vision providers, including the default free fallback, receive image content unless strict local-only use is configured.Vision Toolkit@anionex/dsh-vision-toolkitDeepSeek Harness-native integration for agent-vision-toolkit: image Q&A, OCR, grounding, UI restoration, pixel diff, Artifacts, and Web UI.

README

Tencent Hunyuan Image Generation · Native DSH Plugin

Languages: English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Português · Español · Русский

Bring Tencent Hunyuan's Hy-Image-3.5-preview and Hy-Image-3.0 into DSH (DeepSeek Harness) — with a generation panel, local gallery, the official two-step size picker and batch generation. Zero native dependencies. Runs on macOS, Windows and Linux.


✨ Features

  • Two models

    • hy-image-v3.5-preview — Chat/Messages protocol; multimodal input, multi-turn editing, chain-of-thought rewriting; up to 4K (4096×4096) output
    • hy-image-v3 — classic text-to-image; prompt rewriting and the official 37 preset sizes
  • Official two-step size picker — resolution tier × aspect ratio, the same interaction as the Tencent TokenHub web console. The plugin converts your choice into the WxH string the API expects and guarantees it satisfies the official constraints (v3.5: edges in [256, 8192], area ≤ 16,777,216; v3.0: edges in [512, 2048], area ≤ 1,048,576). The UI shows the exact size that will be sent.

  • Batch generation — generate 1 / 2 / 4 images in one request (issued in parallel); results are shown one by one with a 1/4 index badge. Partial failures are reported explicitly.

  • Local gallery

    • Every successful generation is stored automatically (plain-JS JSON storage — no SQLite, no native module)
    • Thumbnail grid and list views
    • Keyword search (matches the prompt and the rewritten prompt) plus filtering by model and time range
    • Detail drawer with the full prompt, model, size, timestamp and local path
    • 🔁 Generate again — refills the original prompt and parameters in one click
    • Multi-select batch delete (also removes the local files), copy prompt, copy image
  • Customisable output folder — defaults to ~/Pictures/DSH-Hunyuan-Image, but you can point it anywhere (a non-system drive is recommended). Clicking "Choose…" opens the native OS folder picker. Changes take effect immediately, no plugin restart needed. Files are bucketed by month under <folder>/<YYYY-MM>/ to avoid piling thousands of files into one directory.

  • Official advanced parameters (session-scoped on purpose — see Roadmap)

    ParameterApplies toDescription
    Seed seedbothReproduce the same result
    Watermark footnote footnoteboth≤ 16 characters, rendered in the bottom-right corner
    External search augmentation use_search_toolv3.5Let the model search the web before drawing
    Reference-image area cap resize_max_pixelsv3.5Caps the token cost of large (4K/6K) reference images
    Automatic prompt rewriting revisev3.0Adds ~11 s; recommended on by default
  • Reference images — upload from disk (converted to a data URL) or pass a public URL. v3.5 accepts up to 20 (≤ 20 MB each); v3.0 up to 3 (≤ 10 MB each).

  • Callable by the model — the plugin registers a hunyuan_generate_image tool, so you can just say "draw a cat" in a conversation and the model will call it.

  • Durable images — Tencent's remote URLs expire after 12 hours; the plugin downloads every generated image to disk immediately, so gallery entries never break.

📌 Unimplemented features are listed honestly in Known limitations & roadmap. This README only describes what the current version actually does.


📦 Installation

Option 1 — Install from the Release (recommended, no build step)

  1. Download dsh-plugin-hunyuan-image-1.0.0.tgz from the Releases page.

  2. Extract it into a permanent folder, e.g. ~/dsh-plugins/:

    mkdir -p ~/dsh-plugins
    tar -xzf dsh-plugin-hunyuan-image-1.0.0.tgz -C ~/dsh-plugins
    
  3. In the DSH chat, tell the assistant:

    Please install ~/dsh-plugins/package as a DSH plugin (use plugin_manager with install_bundle).

  4. Restart DSH.

Step-by-step reinstall / new-machine instructions: INSTALL.md (also available in 简体中文).

Option 2 — Build from source (developers)

Requires Node ≥ 20 and pnpm.

git clone https://github.com/rayyugz/dsh-plugin-hunyuan-image.git
cd dsh-plugin-hunyuan-image

pnpm install
pnpm build                        # compile the host half + bundle the client half
node scripts/smoke-activate.mjs   # smoke test — should print "全部通过"

# Link into the DSH profile
# macOS / Linux:
ln -s "$(pwd)" ~/.dsh/profiles/desktop/node_modules/dsh-plugin-hunyuan-image
# Windows (PowerShell, administrator):
# New-Item -ItemType Junction -Path "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-plugin-hunyuan-image" -Target "$PWD"

Then add the plugin name to the profile's package.json (in both dependencies and dsh.profile.bundles) and restart DSH.


⚙️ Configuration

1. Get an API Key

  1. Sign up / log in at Tencent Cloud
  2. Activate the TokenHub service
  3. Create a Key on the API Key page — it looks like sk-...
  4. Enable pay-as-you-go for hy-image-v3.5-preview and hy-image-v3 under Online inference → Vision models

2. Fill in the plugin settings

Open the plugin panel (🖼 Hunyuan Image button under the composer) → Settings tab:

FieldDescriptionDefault
API KeyThe Key created above—
Output folderAnywhere you like; a non-system drive is recommended~/Pictures/DSH-Hunyuan-Image
Default modelhy-image-v3.5-preview or hy-image-v3v3.5-preview
Default resolutionSee Sizes1K
Default aspect ratioSee Sizes1:1
Watermark footnote≤ 16 characters, bottom-right cornerempty

Click Save, then 🔌 Test connection to verify the Key works.

⚠️ Note: images are stored under a month sub-folder, e.g. AI-images/2026-10/1791629683045-xxxx.png — not directly in the folder root.


🖼 Sizes

The plugin mirrors the official TokenHub picker: pick a resolution tier and an aspect ratio.

Hy-Image-3.5-preview

TierAspect ratiosNotes
1K / 1.5K / 2K21:9 16:9 4:3 1:1 2:3 3:2 3:4 9:16Area ≈ 1M / 2.36M / 4.19M px
4KsameArea ≤ 16,777,216 px; e.g. 16:9 → 5461x3072
Auto—No size is sent; the model decides

Hy-Image-3.0

TierAspect ratiosNotes
720P / 1K1:1 3:4 4:3 9:16 16:9 3:5 5:3Must satisfy edges ∈ [512, 2048] and area ≤ 1,048,576
Auto—The model picks from the official 37 presets

Rough size reference (what actually gets sent):

v3.5  1K   16:9 = 1365x768      1:1 = 1024x1024
      2K   16:9 = 2731x1536     1:1 = 2048x2048
      4K   16:9 = 5461x3072     1:1 = 4096x4096
v3.0  720P 16:9 = 1280x720      1:1 = 960x960
      1K   16:9 = 1365x768      1:1 = 1024x1024

All 62 combinations are validated programmatically against the official constraints.


📚 Using the gallery

ActionHow
SearchSearch box at the top (300 ms debounce; matches prompt / rewritten prompt / keywords)
FilterBy model, and by time range
Multi-selectCheckbox on the card, or via the hover overlay
Batch deleteSelect items → the batch action bar appears at the top
Inspect one imageHover overlay, or open the detail drawer
Generate again🔁 in the detail drawer — switches back to the generator and refills the prompt and parameters
Copy prompt📋 in the detail drawer
Copy image🖼 in the detail drawer (falls back to copying the local path when the browser lacks ClipboardItem)

⚠️ Known limitations & roadmap

Limitations (imposed by the Tencent API or the DSH host)

ItemDetail
Remote image URL lifetimeOnly 12 hours — this plugin downloads every image to disk immediately, so gallery entries are permanent
Reference image sizev3.5 ≤ 20 MB each; v3.0 ≤ 10 MB each
Reference image countv3.5 ≤ 20; v3.0 ≤ 3
Watermark footnote≤ 16 UTF-8 characters
generate_max_pixels caps at 2KHigher resolutions must go through size (this plugin does that via the resolution tier)
Multi-turn editingv3.5 only. The plugin stores the server-returned assembled_history, but there is no UI for multi-turn editing yet
Advanced parameters are not persistedThe external-search, reference-area-cap and rewrite toggles apply to the current session only and reset when the panel is reopened. This is deliberate — it avoids hidden state that is hard to diagnose later

Not implemented yet

FeatureStatusWhy
Auto "open gallery" button when you mention the gallery❌Requires listening to session message events and injecting an action button; not wired up in v1.0
Export / Save-as dialog⚠️ stubDSH does not expose a "save as" dialog to plugins yet; the call returns an explicit reason rather than failing silently
WeChat / Feishu sharing⚠️ stubDSH does not expose an IM sharing channel to plugins yet
Drag an image into the conversation❌Depends on DSH exposing drag events
Multi-turn editing UI❌The data layer is ready (assembledHistory); only the UI is missing
DSH official plugin marketplace❌Requires review by the DSH team
Localised panel UI❌The in-panel UI is currently Chinese-only; only the plugin title and description are localised (EN/ZH). These translated READMEs are a stopgap

Feedback and pull requests are very welcome — please open an Issue.


🛠 Development

Project layout

dsh-plugin-hunyuan-image/
├── package.json              # plugin manifest (dsh.bundle.patch + dsh.client)
├── cordis.patch.yml          # Cordis loader patch: declares the host plugin row
├── icon.svg / locale/        # display metadata (icon + EN/ZH title & description)
├── scripts/
│   ├── build-client.mjs      # bundles TS/TSX into the DSH client module-table format
│   └── smoke-activate.mjs    # activation smoke test (run before restarting DSH)
├── src/
│   ├── server.ts             # ★ Host half: Cordis plugin entry (apply + inject)
│   ├── client.ts             # ★ Client half: registers the composer dock + panel overlay
│   ├── types.ts              # cross-module data contracts
│   ├── size-presets.ts       # resolution tier + aspect ratio → "WxH" (with constraint checks)
│   ├── host/
│   │   └── routes.ts         # host HTTP endpoints: /hunyuan/api/* and /hunyuan/file
│   ├── client-services/
│   │   ├── rpc.ts            # client → host fetch wrapper
│   │   ├── config-client.ts  # config cache + updates
│   │   ├── bus.ts            # event bus (folder picker, file picker, …)
│   │   └── file-url.ts       # local image path → loadable URL
│   ├── services/
│   │   ├── config.ts         # config persistence (JSON, atomic write)
│   │   ├── storage.ts        # local file management + image download (path follows config live)
│   │   ├── hunyuan.ts        # Hunyuan API gateway (v3 + v3.5)
│   │   └── gallery.ts        # JSON gallery (in-memory index + atomic write, no native deps)
│   └── slots/
│       ├── generator-panel.tsx   # generator panel (overlay "Generate" tab)
│       ├── gallery-panel.tsx     # gallery panel (overlay "Gallery" tab)
│       └── settings-panel.tsx    # settings panel (overlay "Settings" tab)
├── README.md + 7 translations (.zh-CN · .zh-TW · .ja · .ko · .pt · .es · .ru)
├── INSTALL.md / INSTALL.zh-CN.md
└── LICENSE

Architecture notes

  • Two entries: dist/server.js is the Host half (Node.js process) and dist/client.js is the Client half (browser). The latter must be in window.__ModuleLoader__.load({id, factory}) format, produced by scripts/build-client.mjs via esbuild; JSX is force-compiled to React.createElement because the DSH module table provides React but not react/jsx-runtime.
  • UI entry point: the client registers a single conversation.composer.dock slot (a button). Clicking it opens an overlay with three tabs: Generate / Gallery / Settings.
  • Client ↔ host: the client calls the host through fetch('/hunyuan/api/<method>'); images are served back through /hunyuan/file?path=<absolute path> (restricted to files inside the configured output folder, to prevent path traversal).
  • Zero native dependencies: the gallery is a JSON file rather than SQLite, so it loads fine under the macOS code-signing / hardened-runtime restrictions of the DSH app, and needs no rebuild on Windows or Linux.

Local build

pnpm install
pnpm build         # tsc → dist/ (host), esbuild → dist/client.js (client)
pnpm typecheck     # tsc --noEmit
node scripts/smoke-activate.mjs

Debug mode

Start DSH with --plugin-debug=hunyuan-image for verbose logging.


🤝 Contributing

Issues and pull requests are welcome.

  • 🐛 Found a bug → open a bug report
  • 💡 Have an idea → open a feature request
  • 🔧 Sending code → fork, branch, PR

📄 License

MIT © rayyugz


🙏 Acknowledgements

  • The Tencent Hunyuan team for the API
  • The DSH team for the plugin platform
  • Everyone who files issues and helps improve this plugin