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.

Upload Origin — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
U

dsh-upload-origin

Upload Origin

DSH plugin: resolve the original local path of files uploaded to .dsh-uploads by matching name, size, and sha256.

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

npx -y @deepseek-ai/dsh plugin --profile web add github:wlc114514/dsh-upload-origin#d0bf279580992fde416f9d8d809d333e2c5c4029
READMECompatibilityVersions

Compatibility and provenance

Upload Origin is published as dsh-upload-origin and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
9/18/2026

Versions

0.1.0stable
9/18/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/18/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

Related plugins

More verified plugins in productivity-workflow.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Agent Teams@nanmicoder/dsh-agent-teamsAgentTeams for DeepSeek Harness: multi-agent team collaboration (captain, members, tasks with dependencies, messaging) driven by natural language, with a tree monitor in the web GUI

README

dsh-upload-origin

A host-side plugin for DeepSeek Harness that resolves the original local absolute path of a file the user dragged into the conversation.

Why

When a file is dragged into the web composer, the browser upload surface can send the file bytes and its display name, but it cannot expose the original absolute path to JavaScript. DSH stores the uploaded snapshot under:

<session cwd>/.dsh-uploads/<sessionId>/<sha256-16>-<name>

dsh-upload-origin runs on the DSH host, scans the session workspace and common user folders, and matches that snapshot against local files by name + size + sha256. The resolved original path is then injected into the system prompt for the current agent and is also available through a tool.

What it does

  1. Watches the current session's .dsh-uploads directory when a turn is assembled.

  2. Keeps only uploads that a human prompt actually referenced.

  3. Resolves each referenced upload against local files:

    • first through the official workspace file-reference index (ctx.fileReferences);
    • then through a bounded filesystem scan of the session cwd, Desktop, Documents, Downloads, OneDrive, and a shallow home scan.
  4. Injects a mapping block into the system prompt:

    [Uploaded files: original local paths]
    - uploaded: .dsh-uploads/session-.../7538541a1efdc6c6-report.docx
      original: C:\Users\Alice\Desktop\report.docx [exact]
      Prefer this original path when the user refers to their local file; the
      .dsh-uploads copy is a snapshot.
    
  5. Registers the resolve_uploaded_file tool for on-demand lookup.

Install

From npm (after publication):

dsh plugin --profile web add dsh-upload-origin

Install the prebuilt tarball from GitHub Releases:

dsh plugin --profile web add https://github.com/wlc114514/dsh-upload-origin/releases/download/v0.1.0/dsh-upload-origin-0.1.0.tgz

The package declares dsh.bundle, so it installs through the normal DSH bundle/profile flow.

Tool: resolve_uploaded_file

Arguments:

ArgumentTypeDescription
file_pathstring, optionalUploaded path, absolute or relative to the session workspace.
namestring, optionalOriginal file name to locate when no uploaded path is known.
search_rootsstring[], optionalExtra absolute directories to scan.
max_resultsinteger, optionalMaximum candidates to return (1-20, default 10).

The result contains the uploaded path, the original name, size, sha256, the best original path, confidence, candidates, scanned roots, and scan metadata.

Confidence values:

ConfidenceMeaning
exactName, size, and sha256 all match.
name+sizeName and size match; sha256 was not checked or differs.
name+size-hash-differsName and size match, but content has changed since upload.
name-only-size-differsSame name, different size.
name-onlySame name only. Verify manually.

Configuration

The plugin accepts these optional config fields in a bundle patch row:

- id: upload-origin
  name: 'dsh-upload-origin'
  config:
    maxSearchFiles: 250000
    searchTimeoutMs: 9000
    maxDepth: 12
    maxHashChecks: 30
    maxResults: 10
    recentUploadMs: 604800000
    maxRecentUploads: 8
    autoResolveTimeoutMs: 7000
FieldDefaultDescription
maxSearchFiles250000Maximum filesystem entries visited per resolution.
searchTimeoutMs9000Overall search deadline per resolution.
maxDepth12Directory depth for common roots.
maxHashChecks30Maximum candidate files whose content is hashed.
maxResults10Maximum candidates returned by the tool.
recentUploadMs604800000Only uploads newer than this are auto-resolved (7 days).
maxRecentUploads8Maximum recent uploads considered per prompt assembly.
autoResolveTimeoutMs7000Maximum wait for automatic prompt mapping per turn.

Limitations

  • Browsers do not expose the original absolute path during drag-and-drop. This plugin recovers it by matching the uploaded snapshot on the host.
  • If the original file was modified after upload, the sha256 will differ; the plugin falls back to name + size or name-only candidates.
  • Files outside the default roots are not found automatically. Pass search_roots to the tool or configure additional roots in a future version.
  • The uploaded copy remains the durable source of truth for reading; the original path is used when the user wants to edit their local file.

Security

  • Host-side only. No network calls.
  • No credentials are read, stored, or transmitted.
  • The plugin reads only local files whose names match the uploaded snapshot; content hashes are computed locally to confirm the match.
  • The resolve_uploaded_file tool is read-only.

License

MIT