dsh-cheerful:爲 DSH Web 界面增加 cheer 工具與禮炮綵帶

前言

在 DeepSeek Harness(DSH)裏跑 agent 時,Web 界面通常只反映工具調用與文本流,缺少輕量的視覺反饋。若希望在模型主動慶祝、或在一輪多步任務結束時給出不打擾操作的畫面提示,需要在 Host 註冊工具並在瀏覽器側掛浮層。dsh-cheerful 由 Mika-Maki 維護,屬於社區目錄中的「趣味換裝」類插件;當前爲 V0.1-Unstable 實驗版,接口與行爲可能變動,README 建議僅在個人或測試環境使用。下文基於倉庫 README 與 package.json 說明其定位、安裝與用法。

這是什麼

dsh-cheerful 給 DSH 增加名爲 cheer 的工具:模型一旦調用,Web 界面左右兩側的禮炮同時向中間噴出綵帶,純畫面、不顯示居中文字。Host 側通過 defineTool 註冊工具;瀏覽器側用 canvas 浮層繪製,並支持設置裏的「自動禮花」與工具卡上的「再放一次」本地重播。

  • 維護者:Mika-Maki
  • 倉庫:https://github.com/Mika-Maki/dsh-cheerful
  • 社區目錄:https://www.skillhub.cn/plugins/Mika-Maki/dsh-cheerful
  • npm 包名:dsh-cheerful,版本 0.1.0(資料中 package.json)
  • 許可證:MIT
  • 運行要求(engines):Node >=22.19.0,DSH >=0.2.1-rc.2 <0.3.0;peer 依賴含 @deepseek-ai/cordis、@deepseek-ai/dsh-tools、@deepseek-ai/schemastery(版本範圍見 package.json)

核心功能

cheer 工具

參數 類型 說明
side both | left | right 可選,默認來自插件 Config 的 defaultSide
intensity 1–3 可選,默認來自 Config 的 defaultIntensity

模型未傳參時使用 profile 裏可覆蓋的默認值(見下文配置)。

畫面與交互

README 中說明的效果要點如下:

  • 左右禮炮 emoji:彈入過沖、後坐、暖色輝光,右側鏡像朝內。
  • 每側約 30–70 條綵帶或長流蘇,帶重力、空氣阻力、擺動與自旋。
  • CPU 側 canvas 單層繪製,pointer-events: none,不阻擋點擊。
  • 不渲染居中文字,僅禮炮與綵帶。
  • 系統開啓 prefers-reduced-motion: reduce 時不播放粒子。
  • 歷史會話回放不會重放禮炮,僅實時調用觸發。
  • 工具卡提供「再放一次」按鈕,可在本地重播。

自動禮花

客戶端在「設置 → 通用 → 自動禮花」中可調,並寫入 localStorage(鍵 dsh-cheerful/settings)。規則摘要:

  1. 目標完成:會話 goal 投影進入 complete 時放一次。
  2. 單輪多步:一次提問中 agent 達到「最少步數」及以上時,該輪結束放一次;單步一問一答不放。
  3. 每輪最多一次:目標完成與單輪多步共用當輪配額,下一輪重置。
  4. 頁面在後臺不放;1 秒防抖;僅看本輪從運行到結束的真實變化,刷新或回放不誤觸發。

默認項(界面可調):自動禮花開;最少步數 2;單輪禮炮強度 2;目標完成禮炮強度 3。

安裝與啓用

安裝會把 bundle 追加進 profile 的 dsh.profile.bundles。README 給出以下方式(任選其一):

# GitHub(推薦,無需發佈 npm)
dsh plugin --profile web add github:Mika-Maki/dsh-cheerful

# npm(發佈後可用)
dsh plugin --profile web add dsh-cheerful

# 本地 tarball(npm pack 產物)
dsh plugin --profile web add file:/path/to/dsh-cheerful-0.1.0.tgz

# 本地目錄開發
dsh plugin --profile web add "link:$PWD"

卸載:

dsh plugin --profile web remove dsh-cheerful

插件以當前 dsh 進程權限運行;安裝前請自行查看源碼與 MIT 許可證,確認符合你的環境策略。

配置

Host 側(profile patch)

在 profile 的 cordis.patch.yml 中可覆蓋插件 Config,例如:

- id: cheerful
  name: dsh-cheerful
  config:
    defaultSide: left        # both | left | right
    defaultIntensity: 3      # 1..3

約定:插件名 cheerful 須與 cordis.patch.yml 的 id 一致。

客戶端(控制台)

也可在瀏覽器控制台讀寫設置:

window.__dshCheerful.setSettings({ minSteps: 4, turnIntensity: 3 })
window.__dshCheerful.getSettings()
window.__dshCheerful.resetSettings()

典型用法

  1. 按上文命令向 web profile 安裝插件,重啓或按 DSH 慣例加載 profile 後啓動 dsh web。
  2. 在 agent 可用的工具列表中出現 cheer 後,由模型調用,例如指定兩側與強度:side: both、intensity: 3(具體由模型與 schema 決定)。
  3. 若不需要模型主動觸發,可依賴「自動禮花」在 goal 完成或多步輪次結束時播放;在設置中關閉總開關即可停用自動行爲,仍可通過工具調用與「再放一次」手動播放。

Host 側改動需重啓 dsh web;瀏覽器側爲手寫 window.__ModuleLoader__.load 包,改 client 後 README 稱無需構建。

適用場景與注意

  • 適合:希望在 DSH Web UI 做輕量慶祝反饋、演示 agent 完成目標或多步任務時的開發者;分類上屬於趣味換裝,不改變核心業務邏輯。
  • 注意:V0.1-Unstable,不適合直接當作生產穩定依賴;不寫自定義會話事件,避免影響 session resume;僅使用標準 slot / hooks,不 import 其他插件內部模塊。
  • 生態:DSH 理念是「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,本文不以「官方應用商店」表述。

結尾

dsh-cheerful 用一個小工具加一層不擋操作的禮炮綵帶,把「慶祝」從純文本擴展到 Web 畫面,並可選自動禮花規則。進一步細節與預覽圖見 GitHub README。

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

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

小夜