前言¶
對 DSH 插件使用者來說,第三方倉庫、包名、版本和安裝命令常常需要分別確認。DSH Marketplace 是 ouyangyipeng 維護的非官方社區插件,把 GitHub topic:dsh-plugin 的即時社區倉庫放進 DeepSeek Harness 的 設置 → 插件 → Marketplace,並支持插件發現、搜索、檢查、安裝、更新和卸載。下面介紹安裝、接口、緩存、安全邊界和配置。
核心能力¶
- 將 GitHub
topic:dsh-plugin的即時社區倉庫放進 DeepSeek Harness 的 設置 → 插件 → Marketplace - 支持插件發現、搜索、檢查、安裝、更新和卸載
- DS-Harness Desktop 從
desktop-v0.2.0起離線內置固定版本 Marketplace - 支持標準 DSH Web profile 安裝、更新、卸載
- 使用目錄緩存、ETag 重驗證、可見的 rate-limit 狀態和 stale-on-error 回退
- 以
pnpm add --ignore-scripts暫存和安裝,並要求預構建入口、bundle patch 和路徑檢查 - 提供
/dsh-marketplace/v1/bootstrap、/dsh-marketplace/v1/catalog、/dsh-marketplace/v1/install、/dsh-marketplace/v1/removeHTTP API - 只允許同源 loopback + 進程 nonce 調用寫接口
安裝與啓用¶
DS-Harness Desktop¶
DS-Harness Desktop 從 desktop-v0.2.0 起離線內置固定版本 Marketplace。打開應用後進入 設置 → 插件 → Marketplace,不需要先安裝本插件。
內置版本顯示“Desktop 內置”,不能在 Marketplace 裏更新或卸載自己;它隨經過驗證的 Desktop release 更新。
標準 DSH Web profile¶
標準 DSH Web profile 安裝需要當前 DeepSeek Harness、Node.js ^22.19.0 || >=24.0.0 和位於 PATH 中的 pnpm。
先安裝指定版本:
dsh plugin --profile web add "github:ouyangyipeng/dsh-marketplace#v0.1.1"
再重啓 dsh web,然後打開 設置 → 插件 → Marketplace。
經過上面的步驟後,更新或卸載獨立安裝的 DSH Marketplace 使用:
dsh plugin --profile web update dsh-marketplace
dsh plugin --profile web remove dsh-marketplace
典型用法¶
安裝後,進入 設置 → 插件 → Marketplace,即可瀏覽 topic:dsh-plugin 社區倉庫,並執行搜索、檢查、安裝、更新或卸載。
本地開發時,可以克隆倉庫並運行檢查:
git clone https://github.com/ouyangyipeng/dsh-marketplace.git
cd dsh-marketplace
pnpm install
pnpm test
pnpm run typecheck
pnpm run build
pnpm site:check
pnpm pack --dry-run
如果當前目錄是 checkout 出來的本地倉庫,可以接入標準 DSH Web profile:
dsh plugin --profile web add "link:$(pwd)"
dsh web
HTTP API¶
DSH Marketplace 提供以下接口:
GET /dsh-marketplace/v1/bootstrapGET /dsh-marketplace/v1/catalogPOST /dsh-marketplace/v1/installPOST /dsh-marketplace/v1/remove
寫接口只允許同源 loopback + 進程 nonce 調用。要求 TCP 對端、Host 和可選 Origin 均爲 loopback,並同時提交同源 bootstrap 返回的進程 nonce。LAN 客戶端、遠端 Origin、錯誤 nonce、非 JSON 內容、超過 16 KiB 的 body 和 host-bundled repository mutation 都會被拒絕;bundled conflict 返回 HTTP 409。
目錄與緩存¶
- GitHub Search 對一個查詢最多返回 1,000 條結果
- 未登錄 Search API 限流較低
- Marketplace 不收集或持久化 GitHub token
- 獨立安裝默認配置爲
profile: web、cacheTtlMs: 600000
安全邊界¶
DSH Marketplace 能檢查包格式和收緊安裝過程,但不能證明第三方插件可信。插件重啓後會在 DSH 進程內運行;啓用前仍應閱讀源碼。
它始終以 pnpm add --ignore-scripts 暫存和安裝。只有 TypeScript 源碼、依賴 prepare/postinstall、實際是獨立應用或沒有標準 DSH bundle 聲明的倉庫仍會出現在目錄中,但安裝會明確失敗。
配置¶
獨立安裝使用以下默認配置:
- insert:
- id: dsh-marketplace
name: dsh-marketplace
config:
profile: web
cacheTtlMs: 600000
可選配置:
home:覆蓋 DSH Home;空值依次使用DSH_HOME和~/.dshbundledRepositories:宿主擁有的不可變owner/repository列表;默認[]。座標在加載時規範化,非法值和大小寫歸一後的重複值會讓插件啓動失敗
適用場景與注意¶
DSH Marketplace 適合使用 DeepSeek Harness 標準 Web profile 或 DS-Harness Desktop 的 DSH 插件開發者,用於集中查看、安裝和更新 DSH 社區插件。
需要注意:Marketplace 能檢查包格式,但不能證明第三方插件可信。插件在 DSH 進程內運行,啓用前應檢查源碼、依賴和許可證。DSH Marketplace 本身是 MIT 許可證的社區維護非官方插件;DeepSeek Harness、DeepSeek 名稱與社區插件保留各自的許可證和商標。
鏈接¶
- GitHub 倉庫:https://github.com/ouyangyipeng/dsh-marketplace