前言¶
在 Agent 編程過程中,及時的反饋機制有助於提升開發體驗。DeepSeek Harness (DSH) 提供了插件擴展能力。dsh-fireworks 是一個插件,能在對話窗口上空渲染煙花,根據不同的事件觸發慶祝效果。它不直接干擾交互,而是作爲一種視覺反饋存在。
核心功能¶
六類事件驅動¶
插件針對 DSH 的特定生命週期事件配置了不同的煙花效果:
session/created:開場迎賓(如雙子星、青門初開)。turn/end:回合禮花,規模隨 token 變化。tool:工具調用成功星花,1.4s 內合批連放。milestone:累計 token 里程碑大禮(2k/8k/20k/50k/120k/300k 六檔)。todo:任務全部完成時的收工終場(多彈齊射)。fail:工具失敗時的啞炮(剋制幽默)。
基於 Token 的規模映射¶
煙花的盛大程度由 token 用量決定。計算公式爲 outputTokens + 0.2 * inputTokens,通過 log₂ 曲線映射爲 magnitude(0..1)。該數值插值控制星數、爆速、爆炸高度、亮度和飽和度。
視覺與渲染¶
- 卡組與變體:內置 30 張屬性卡和 20 種花型(牡丹、菊、柳、冠毛、頻閃等)。支持稀有度系統(1-5)和洗牌袋不放回抽取,確保同事件連發時變種不重複。
- 渲染引擎:優先使用 WebGL2 GPU 渲染,利用三桶累積緩衝實現長曝光質感,使用點精靈徑向衰減和 8bit 量化防殘影。若 WebGL2 不可用,自動回退至 Canvas2D。
- 一發多色:支持按概率配比混色,
color.bands可定義不同顏色的星羣佔比。
集成與控制¶
- 零侵入:使用
position:fixed; pointer-events:none的透明浮層,不遮擋對話交互。 - 自適應:自動識別頁面底色亮度,淺色主題下自動切換墨色渲染;深淺主題切換實時跟隨。
- 顯示範圍:支持全屏、側邊欄、角落等多種顯示模式。
- 設置與性能:提供設置頁總開關、全局強度滑桿、各類獨立開關及試放按鈕。具備性能自律機制:粒子上限、幀時降質、頁面隱藏暫停、
prefers-reduced-motion支持,以及宿主側令牌桶限流(10 枚/5s)以防止子 Agent 風暴刷屏。
安裝¶
執行以下命令安裝插件:
dsh plugin --profile web add @weibaohui/dsh-fireworks -w
安裝後重啓 dsh web 即可生效。入口位於 設置 → 煙花慶祝。
典型用法¶
- 自動觸發:正常進行 Agent 編程,插件會自動根據事件觸發對應煙花(新會話迎賓 → 每輪禮花 → 工具星花 → 里程碑 → 終場齊射)。
- 手動試放:在設置頁使用各類別的「試放」按鈕,或點擊「全部試放」查看效果。
- 控制台調用:在瀏覽器控制台輸入
__dshFireworks.fire('finale', 0.9)觸發終場齊射。 - 預覽引擎:直接在瀏覽器打開
demo/demo.html進行測試(?shot=1連放,?demo=1錄播)。
依賴與要求¶
- DeepSeek Harness 版本需 >= 0.1.7-rc.2。
- Node.js 版本需 >= 22.5。
- 依賴
@deepseek-ai/cordis作爲 peer dependency。 - 依賴
@weibaohui/dsh-plugin-kit。
結尾¶
dsh-fireworks 將代碼執行的反饋具象化爲視覺體驗,適合希望在 Agent 開發中獲得儀式感或即時反饋的開發者。源碼與文檔位於 GitHub。