前言¶
在 DeepSeek Harness(DSH)裏做 Web 側能力時,常見做法是手寫路由或改宿主配置,改完還要猜插件是否被正確掛載、Cordis 層棧是否生效。社區插件 my-first-plugin 把範圍壓到最小:只註冊 GET /_dsh/hello 並返回固定結構的 JSON,用來確認「安裝 → patch 寫入 → 重啓 dsh web → 請求命中」整條路徑是否打通。下面介紹它的定位、安裝步驟和可復現的驗證方式。
這是什麼¶
my-first-plugin 由維護者 LWH13345412221 發佈,在 SkillHub 目錄中歸類爲模型推理相關插件;倉庫自述爲「一個最小的 DeepSeek Harness 插件示例」,當前包版本爲 0.1.0,採用 MIT 許可證。
它不做模型推理本身,而是作爲最小插件骨架:在 Web 服務上掛一條 /_dsh/hello,返回一行 JSON。適合作爲你寫第一個 DSH 插件時的對照模板,或在環境排查時快速確認插件運行時是否正常。
核心功能¶
經 README 與 package.json 覈對,當前版本能力如下:
- 通過
dsh.bundle.patch指向自帶的cordis.patch.yml,把 bundle 掛進 profile 層棧。 - 在宿主側(
lib/index.js)的apply()中向 Web 服務器註冊GET /_dsh/hello。 - 成功請求時返回 JSON,結構爲
{"ok":true,"value":{"hello":"from my-first-plugin","time":"..."}}(time爲運行時生成的時間字段)。
倉庫未聲明額外配置項;擴展方向在 README 中僅作說明(客戶端注入、config 塊、更多 webServer.register),不屬於 0.1.0 的默認行爲。
安裝與啓用¶
安裝命令須帶 --profile web,與 README 原文一致:
dsh plugin --profile web add github:LWH13345412221/my-first-plugin
安裝後,在所用 profile 的 cordis.patch.yml 中插入插件條目(插件自帶同名 patch,也可整段 insert 進你的層棧):
- insert:
- id: my-first-plugin
name: 'my-first-plugin'
保存後重啓 dsh web,新 bundle 纔會加載。
典型用法¶
本地 Web 端口以你當前 profile 爲準,將 <web-port> 替換爲實際端口後執行:
curl http://127.0.0.1:<web-port>/_dsh/hello
期望響應示例:
{"ok":true,"value":{"hello":"from my-first-plugin","time":"..."}}
若得不到上述結構,按順序檢查:插件是否 add 成功、cordis.patch.yml 是否包含 my-first-plugin 條目、dsh web 是否在修改後重啓。
目錄結構(便於對照源碼)¶
my-first-plugin/
├── lib/index.js # 宿主半側:註冊 /_dsh/hello 路由
├── cordis.patch.yml # bundle 掛載聲明
├── package.json # 包信息(聲明 dsh.bundle)
└── assets/banner.svg # README 橫幅
適用場景與注意¶
適合誰: 剛接觸 DSH 插件開發的同行,需要一份可運行的最小示例;或在已有 dsh web 環境裏做「插件是否加載」的冒煙測試。
權限與安全: 插件與當前 dsh 進程同權限運行;安裝前請自行閱讀 GitHub 倉庫 源碼與 MIT 許可證,勿在未審閱的情況下直接用於生產環境。
生態說明: DSH 強調「一切皆插件」;SkillHub(目錄頁)是社區插件索引,與 DeepSeek / 幻方無官方從屬關係,並非官方應用商店。
結尾¶
經過上面的步驟,你可以用一條 curl 確認 DSH Web 插件從安裝到路由響應是否完整。若要繼續擴展界面、配置或多路由,可直接在倉庫 README「繼續擴展」小節對照修改 package.json 與 lib/index.js。
- 目錄頁:https://www.skillhub.cn/plugins/LWH13345412221/my-first-plugin
- GitHub:https://github.com/LWH13345412221/my-first-plugin