dsh-webfile
S3 & FTP file tools for DeepSeek Harness: 8 agent tools (list, stat, mkdir, delete, move, copy, download, upload) — approval-gated mutations, transfer jobs with progress & cancel.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:modestoma/dsh-webfile说明文档
阅读完整 README ↗Configuration
Override the plugin config by id in the profile's cordis.patch.yml ($DSH_HOME/profiles//cordis.patch.yml):
- id: dsh-webfile
config:
connections:
prod-logs:
protocol: s3
endpoint: https://oss.example.com # omit for AWS public cloud
region: cn-north-1
bucket: prod-logs
pathStyle: true # required for MinIO
accessKeyRef: OSS_ACCESS_KEY # credential reference name, see below
secretKeyRef: OSS_SECRET_KEY
legacy-ftp:
protocol: ftp
host: ftp.example.com
port: 21
userRef: FTP_USER
passwordRef: FTP_PASSWORD
tls: explicit # none | explicit | implicit
maxTransferBytes: 2147483648 # per-file transfer cap, default 2 GiB
multipartThresholdBytes: 67108864 # S3 multipart threshold, default 64 MiB
Connection fields
| Field | Protocol | Notes |
|---|---|---|
protocol | both | s3 or ftp (required) |
endpoint | s3 | Custom endpoint (MinIO etc.); omit for AWS public cloud |
region | s3 | Region (required) |
bucket | s3 | Default bucket |
pathStyle | s3 | Path-style addressing; MinIO needs true |
accessKeyRef / secretKeyRef / sessionTokenRef | s3 | Credential reference names, see below |
host | ftp | Server address (required) |
port | ftp | Default 21; 990 for implicit FTPS |
userRef / passwordRef | ftp | Credential reference names; omit for anonymous login |
tls | ftp | none / explicit / implicit (required) |
passive | ftp | Default true; only passive mode is supported |