Skip to content
dsh.fish
Bundle

dsh-local-file-upload

Upload local files into the current DeepSeek Harness workspace from the Web composer

Source
zhangbo1201
License
MIT
Updated
Updated 14 hours ago

Readme

# dsh-local-file-upload

[中文](README.zh.md)

Adds a local-file upload button to the DeepSeek Harness Web composer.

- Select multiple files in one pass, or paste ordinary files into the composer with `Cmd+V` / `Ctrl+V`.
- PNG/JPG/WebP/GIF continue through DSH's native image attachment path; other clipboard files use this plugin.
- 10 MiB limit per file.
- Writes into `.dsh-uploads/` under the current Session workspace.
- Allocates collision-safe names without overwriting existing files.
- Appends `@.dsh-uploads/<name>` to the composer after upload, ready for `dsh-at-file` and agent filesystem tools.
- Sanitizes path separators, whitespace, and `@` from stored names.
- Rejects symlinked upload directories and verifies the decoded byte count on Host.

## Install

```bash
dsh plugin --profile web add dsh-local-file-upload
```

To update later:

```bash
dsh plugin --profile web update dsh-local-file-upload
```

The transfer stays on the local DSH loopback connection; no file is uploaded to a cloud service.

Restart the active `dsh web` process after installation. The upload button appears in the composer toolbar.

## Cleanup

Uploads remain in the workspace's `.dsh-uploads/` directory until removed. Add `.dsh-uploads/` to the project's `.gitignore` to avoid committing uploaded files accidentally.

## Development

```bash
pnpm install
pnpm run check
```

Install

dsh plugin --profile web add github:zhangbo1201/dsh-file-upload

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source