modestoma/dsh-webfile1

dsh-webfile

适用于 DeepSeek Harness 的 S3、FDS 和 FTP 文件工具插件

AI 分析

核心用途是为智能体提供 8 个文件操作工具(如列表、上传、下载等),支持审批拦截和传输进度显示。适合需要让 AI 智能体管理远程存储和文件传输的任务。

包名
dsh-webfile
版本
0.0.0
许可证
MIT
最近更新
2026年8月16日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:modestoma/dsh-webfile

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
      mi-fds:
        protocol: fds
        endpoint: https://cnbj2.fds.api.xiaomi.com   # minimal config: endpoint + bucket + ak/sk
        bucket: mi-bucket
        accessKeyRef: FDS_ACCESS_KEY        # required: FDS has no ambient credential chain
        secretKeyRef: FDS_SECRET_KEY
        # region: cnbj2                     # or set region instead and let it derive the host
        # https: false                      # default true; set false for plain HTTP
    maxTransferBytes: 2147483648            # per-file transfer cap, default 2 GiB
    multipartThresholdBytes: 67108864       # S3/FDS multipart threshold, default 64 MiB

Connection fields

FieldProtocolNotes
protocolall threes3, fds, or ftp (required)
endpoints3Custom endpoint (MinIO etc.); omit for AWS public cloud
regions3Region (required)
buckets3Default bucket
pathStyles3Path-style addressing; MinIO needs true
accessKeyRef / secretKeyRef / sessionTokenRefs3Credential reference names, see below
regionfdsFDS region (cnbj2 / awsbj0 / awsusor0 / awssgp0 / awsde0 / ksyru0-eco / awsind0-eco); either region or endpoint
endpointfdsFull host with or without scheme; takes precedence over region — when set, region may be omitted
bucketfdsDefault bucket
httpsfdsDefault true; FDS also serves plain HTTP
accessKeyRef / secretKeyReffdsCredential reference names (required — FDS has no ambient credential chain), see below
hostftpServer address (required)
portftpDefault 21; 990 for implicit FTPS
userRef / passwordRefftpCredential reference names; omit for anonymous login
tlsftpnone / explicit / implicit (required)
passiveftpDefault true; only passive mode is supported

Patch semantics

  • Target by id: patch rows without an id are skipped with a warning;
  • Whole-value replace: config shallow-replaces the entire value; omitted fields fall back to schema defaults;
  • Do not re-mount: never insert another row with the same name in the user layer — configure through id overrides only;
  • Disable: - id: dsh-webfile / disabled: true turns the plugin off for that profile;
  • Hot reload: long-lived surfaces watch this file — saving replays the patch transactionally via HMR, no restart needed; a parse failure fails loud and keeps the last good tree.