dsh-spill-s3:DeepSeek Harness 的 S3 兼容溢出存儲後端

DeepSeek Harness (DSH) 在處理超長工具輸出時,會將內容溢出(Spill)到外部存儲,而不是直接塞進模型上下文。默認的 dsh-spill-local 只能寫入本地磁盤。dsh-spill-s3 是一個插件,它實現了 ctx.spillStore 接口,將溢出的數據寫入 S3 兼容的對象存儲(如 AWS S3、MinIO、Cloudflare R2),替代本地磁盤存儲。

插件定位

  • 名稱: dsh-spill-s3
  • 維護者: tancheng33
  • 分類: 聯網工具
  • 核心價值: 將溢出的工具輸出從本地磁盤轉移至對象存儲,解決容器化部署或分佈式環境下的數據持久化問題。

核心功能

  1. 實現 S3 兼容的溢出後端。
  2. 將過大的工具輸出溢出到對象存儲。
  3. 支持 AWS S3、MinIO、Cloudflare R2 或任何 S3 兼容服務器。
  4. 實現 ctx.spillStore 接口。
  5. 安裝時自動禁用 spill-local。
  6. 不依賴 AWS SDK,使用 node:crypto 進行簽名。

安裝與啓用

安裝該插件需要使用 DSH 的插件管理命令。安裝包包含 cordis.patch.yml 配置文件,該文件會自動禁用默認的 spill-local 後端,因爲 ctx.spillStore 在每個上下文中只接受一個實現。

dsh plugin --profile <name> add dsh-spill-s3

典型用法

安裝後,需要在配置文件中指定存儲桶和端點。注意 bucket 字段在配置中是空的,必須由你手動填寫,因爲插件不會自動創建桶。

在 cordis.patch.yml 中添加如下配置:

- id: spill-s3
  config:
    endpoint: https://s3.us-east-1.amazonaws.com
    region: us-east-1
    bucket: my-agent-spill
    prefix: dsh-spill
    forcePathStyle: false      # AWS 虛擬主機風格
    accessKeyIdRef: AWS_ACCESS_KEY_ID
    secretAccessKeyRef: AWS_SECRET_ACCESS_KEY
    sessionTokenRef: AWS_SESSION_TOKEN
    serverSideEncryption: AES256
    retrieval: cli
    presignExpiresSeconds: 3600
    timeoutMs: 30000

MinIO / R2 / 自託管示例

如果使用 MinIO 或自建服務,通常需要設置 forcePathStyle: true。

- id: spill-s3
  config:
    endpoint: http://127.0.0.1:9000
    region: us-east-1          # 任意值,僅用於簽名範圍
    bucket: agent-spill
    forcePathStyle: true       # 必填
    serverSideEncryption: ''   # 某些服務器會拒絕此頭
    # ... rest of config

適用場景與注意事項

  • 適用場景: 適用於無頭/容器化運行環境、需要長期保存溢出數據、或需要團隊成員共享溢出結果的場景。
  • 前置條件: 存儲桶必須已存在,插件不會創建它。
  • 憑證機制: accessKeyIdRef 等字段是引用名稱而非明文值,值會在每次上傳時通過 ctx.credentials 解析。建議配合憑證中心使用。
  • 檢索模式: 支持三種模式:
    • cli (默認): 模型執行 aws s3 cp。
    • presigned: 模型獲取帶有有效期的預簽名 URL(需注意這是帶有生命週期的憑證)。
    • locator-only: 僅告知位置,由用戶手動讀取。
  • 安全與性能: 使用 node:crypto 簽名,無 AWS SDK 依賴。Session ID 會被哈希處理以保護隱私。

總結

該插件通過替換存儲後端,讓 DSH 的溢出機制適應雲端和容器化環境,而不改變溢出策略。

  • GitHub: https://github.com/tancheng33/dsh-spill-s3
  • 目錄: https://www.skillhub.cn/plugins/tancheng33/dsh-spill-s3
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜