DeepSeek Harness plugin

dsh-attachments-lcylym

Multimedia WebUI input support for DeepSeek Harness

Jump to install

Source facts

Repository
LCYLYM/dsh-attachments
Latest update
Aug 14, 2026
Category
UI Enhancements
GitHub stars
3
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/LCYLYM/dsh-attachments
Plugin: dsh-attachments-lcylym
Author: LCYLYM

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

DSH Multimedia WebUI Input

简体中文 | English

![DSH Multimedia WebUI Input: file and folder send, model read/edit, and safe cleanup](promo/assets/dsh-multimedia-webui-input-demo.gif)

Independent community plugin for the current DeepSeek Harness Web client. It adds file/folder selection and composer drag-and-drop without modifying the official DSH source tree.

Workspace Attachments describes the current delivery mechanism, not a separate product: selected WebUI resources are copied into the active Agent workspace only at send time, so the Agent can read, edit, and verify them through ordinary workspace tools.

The plugin deliberately uploads only when the user sends. The Host resolves the live session workspace, streams files into .dsh/tmp/attachments/<session>/<send>/, and then lets DSH's asynchronous reference serializer prepend the resulting absolute path to the model message. If preparation fails, DSH keeps the draft and attachment chip.

The Settings panel includes an on-demand Multimedia input & file management section. It can inspect and clean either the active session or every session in the active workspace. Both cleanup actions require confirmation and remove only committed directories carrying this plugin's ownership marker. They never cross into a different workspace or delete unknown content.

Install from NPM (recommended)

The public repository is LCYLYM/dsh-attachments. The public NPM package is dsh-multimedia-webui-input. The old scoped name was used only by the private pre-release distribution and is not required for the public install.

Run the official DSH Web UI, then add the plugin to its web profile:

npx --yes @deepseek-ai/dsh web

In another terminal:

npx --yes @deepseek-ai/dsh plugin --profile web add dsh-multimedia-webui-input

Restart the Web UI after changing the profile. DSH owns the profile directory, pnpm invocation, dependency reconciliation, and reversible removal:

npx --yes @deepseek-ai/dsh plugin --profile web remove dsh-multimedia-webui-input

The package declares both the official dsh.bundle and dsh.client faces and has no production dependencies. It targets the current @deepseek-ai/dsh NPM runtime (0.1.0-rc.6 at the time of this release), not a private source checkout or a hard-coded local path.

GitHub fallback and local QA installer

If a registry mirror is unavailable, DSH can install the same public repository through pnpm's GitHub spec:

npx --yes @deepseek-ai/dsh plugin --profile web add github:LCYLYM/dsh-attachments

The repository also retains a clone-local installer for source-based QA and older fingerprinted DSH checkouts. It is not required for the public NPM path:

./install.sh
node scripts/install.mjs uninstall

The installer capability-probes the checkout, verifies the composed profile, and rolls back on failure. It never patches the official DSH source tree and does not remove attachment data already copied into workspaces.

Current status

Implemented and regression-tested against the current official NPM runtime @deepseek-ai/dsh@0.1.0-rc.6 in an isolated DSH_HOME, with a reversible local installer, Host upload protocol, composer integration, on-demand cleanup, and cross-platform Node-only filesystem handling.

This is not an official DSH repository Plugin. It is a dual-face Cordis + dsh.client profile bundle. Current DSH installs it through the native profile plugin command. The package retains an identical legacy dshClient declaration for older scanners; a regression test keeps both declarations in lockstep. The current trigger integration uses the renamed @deepseek-ai/dsh-client-ui-input-trigger package and ctx.inputTriggers service from the official 2026-08-11 naming contract.

It does not hook or patch chat DOM. Integration uses official Cordis/Web surfaces: conversation.input.left, conversation.input.overlay, conversation.input.dock, asynchronous reference serialization, settings.section, and a same-origin Host HTTP route.

Installer boundary

The official DSH profile manager is the installation backend. Community registry or distro projects may discover this package from package.json (dsh.bundle for the profile patch and dsh.client for the WebUI half), but neither is a runtime dependency. The retired dsh.plugin.json manifest is intentionally not added as a second public contract.

Acknowledgements

Thanks to @vlln for reporting the two pre-release issues (#1 and #2) in the private test repository. The reports prompted the dsh.client discovery fix, the current official-bundle path, and this public NPM packaging review.

Local promotional assets

Both were captured from a real isolated DSH send/read/settings flow. The recording helper is QA-only and does not add a demo mode to the product.