精选
为什么选中它
待人工精选——以下事实来自源码仓库。
它能做什么
Upload arbitrary local files from the DeepSeek Harness Web composer and manage them in Settings.
适合谁
想用 DSH 获得这项能力的用户;装前建议先看源码和文档。
风险提示
- 未发现明显风险信号;安装前仍建议查看源码。
Upload arbitrary local files from the DeepSeek Harness Web composer and manage them in Settings.
待人工精选——以下事实来自源码仓库。
Upload arbitrary local files from the DeepSeek Harness Web composer and manage them in Settings.
想用 DSH 获得这项能力的用户;装前建议先看源码和文档。
dsh plugin --profile web add github:l541402398/dsh-file-uploads 作者没有声明支持的平台。
$DSH_HOME/uploads by default. - Lists uploaded files in Settings → Uploaded files, with download and delete actions. - Prevents overwrites by publishing duplicates as name (1).ext, name (2).ext, and so on. - Enforces per-file and total-directory quotas. ## Compatibility - DeepSeek Harness 0.1.0-rc.6 - Web profile - Node.js 22 or newer Harness currently transports native attachments as raster images only. This plugin intentionally uses the arbitrary-file path supported by the agent environment: it stores the file inside the Harness host/container and adds that path to the submitted text through the built-in input-reference serializer. ## Install Install the tagged GitHub release into the Web profile: sh dsh plugin --profile web add "github:l541402398/dsh-file-uploads#v1.0.0" Restart the running Web profile after installation, then refresh the browser page. To install the latest development branch instead: sh dsh plugin --profile web add "github:l541402398/dsh-file-uploads#main" To remove it: sh dsh plugin --profile web remove dsh-file-uploads ## Use 1. Open a conversation in the Harness Web GUI. 2. Select Files in the composer toolbar. 3. Choose one or more local files. 4. Review or remove the pending cards above the composer. 5. Add any normal prompt text you want, or leave the editor empty. 6. Submit the message. The model receives a line such as: text 上传文件:`/path/to/.dsh/uploads/report.pdf` The generated line is never shown in the editor before submission. The stored path refers to the filesystem visible to the Harness host; in a Docker deployment, this is the path inside the container. ## Settings The plugin adds an Uploaded files section to Settings. It displays: - the fixed storage directory; - per-file and total-directory limits; - current storage usage; - file name, size, modification time, and absolute path; - download and delete actions. Files persist until they are deleted manually. ## Configuration The plugin works without configuration. These environment variables override its defaults: | Variable | Default | Purpose | |---|---:|---| | DSH_UPLOAD_DIR | $DSH_HOME/uploads | Absolute upload directory. | | DSH_UPLOAD_MAX_BYTES | 104857600 | Maximum bytes per file (100 MiB). | | DSH_UPLOAD_TOTAL_MAX_BYTES | 1073741824 | Maximum total bytes in the directory (1 GiB). | Example Docker Compose fragment: yaml services: dsh: environment: DSH_UPLOAD_DIR: /data/dsh/uploads DSH_UPLOAD_MAX_BYTES: 104857600 DSH_UPLOAD_TOTAL_MAX_BYTES: 1073741824 volumes: - ./dsh-data:/data/dsh ## Security model - List, upload, download, and delete routes use the same loopback/trusted-host and Origin checks as the built-in Harness Web API. - Cross-site browser requests are rejected. - File names are normalized and stripped of path components and control characters. - Downloads and deletions accept only regular files in the configured directory and do not follow symbolic links. - Uploads are written to private temporary files, synced, and atomically published without overwriting existing files. - Interrupted .upload-* temporary files are removed when the plugin starts. - Unexpected server errors are logged without returning internal paths to the browser. This trust fence is not a user-account authentication system. If the Harness Web GUI is exposed to other users or the public Internet, protect the whole deployment with an authenticated reverse proxy and configure Harness trusted hosts correctly. ## Development Run the checks: sh npm test npm run check The package is a persistent dual-face Cordis bundle: - index.js — Host HTTP routes, storage, quotas, and trust checks. - client.js — composer button, pending-file rail, hidden reference codec, and Settings UI. - cordis.patch.yml — installable dsh.bundle composition row. - test/upload-manager.test.js — Host storage and security regression tests. See CONTRIBUTING.md for local-link development instructions. ## License MIT不看 Star,人工一条条挑的。
把 DSH 的 settings.yaml 做成可视化看板:所有已注册的 settings namespace——包括官方界面从未覆盖的第三方插件配置——都渲染成可编辑表单。项目还早,但方向很对:告别手改 YAML。
给 DSH 的 DIY 轨迹可视化:把 agent 的计划与执行画成图,不用翻原始日志也能看清它在干嘛。项目还早,但补上了「一眼看懂 agent 在做什么」这个真实缺口。
从 Claude Code / Codex 把活派给 DSH:在宿主内拉起带分级预设的 DSH agent 会话,看原生子代理进度,还能借它的多模态桥给纯文本的 DSH 补上视觉和生图。编排型插件,把 DSH 变成其他编码 agent 的后端。