EVA Unit-01 桌寵插件:NERV 同步率 HUD 與 Web Audio 合成音效

前言

在 DSH Web GUI 中進行智能體開發時,長時間面對控制台與對話窗口容易產生視覺疲勞。本插件通過掛載到 shell.overlay 插槽,在桌面層提供一個 Q 版 EVA 初號機桌寵。它不依賴外部音頻文件,而是使用 44 種 Web Audio 合成音效,並根據 DSH 的 shell.overlay props 和 sessions 服務實時驅動 NERV 同步率 HUD。

核心功能

  1. Q 版桌寵與渲染層
    桌寵註冊在 shell.overlay,渲染內容通過 react-dom 的 createPortal 投到 document.body > div.eva01-portal。容器設置 pointer-events:none,桌寵本體設置 pointer-events:auto,z-index 設爲 60。這既保證了桌寵壓過常駐面板(如側邊欄),又使其保持在模態 UI(如報錯彈窗)之下。

  2. NERV 同步率 HUD
    HUD 狀態由當前會話的 ConversationSnapshot 驅動,支持六種情緒與對應的同步率目標值:

    • IDLE:同步率 60%
    • ACTIVE:同步率 88%(當前會話或存在任意 running 會話)
    • STANDBY:同步率 71%(存在 pendingInteraction)
    • OPERATE:同步率 94%(存在正在執行的工具調用)
    • ALERT:同步率 33%(出現新的 agent 錯誤)
    • BERSERK:同步率 400%(雙擊觸發)
  3. 26 個離散動作
    插件內置 26 個離散動作,包括 wave、nod、deny、look、stretch、hop、walk、stomp、charge、roar、salute、shiver、slash、unbind、guard、shutdown、turn、crouch、scan、tapcore、tiptoe、rebound 等。動作優先級互斥,基於情緒門控和優先級表觸發。

  4. Web Audio 合成音效
    音效通過振盪器與共享白噪 buffer 實時合成,無音頻文件依賴。支持 44 種音效 kind,例如 prog(振動刀)、jaw(撕開口枷)、s2(S² 機関)等。

  5. 暴走模式
    雙擊桌寵觸發 8 秒 Berserk 模式,包含蓄力、咆哮、紅眼、劇烈抖動、紅色 AT 場和同步率 400% 的視覺反饋。

安裝與啓用

安裝命令如下:

dsh plugin --profile web add link:E:/DSH/plugins/eva-unit01

該命令會將包名追加到 profile 的 package.json 的 dsh.profile.bundles。更改 bundle 列表後需要重啓 DSH 才能生效。

典型用法

  1. 移動:按住桌寵拖動,限制在窗口內;窗口縮放後自動鉗回視口;跨過屏幕中線會整體鏡像。
  2. 交互:
    • 單擊:觸發隨機臺詞 + 機體回彈 + blip,34% 概率點頭。
    • 雙擊:觸發 8 秒 Berserk 模式。
  3. 音效控制:懸停右上角 ♪ 切換音效開關。
  4. 收集:懸停右上角 – 收集紫色球體。
  5. 調試觸發:在瀏覽器控制台調用 window.__eva01.play('hop') 觸發指定動作。

技術實現細節

  • 狀態源:情緒狀態不依賴宿主事件,而是直接訂閱 sessions 服務獲取 ConversationSnapshot,確保刷新頁面後計數不丟失,並能顯示當前正在執行的工具名。
  • 資源嵌入:機體通過參考圖片切片生成 16 層 data URI,眼睛與臍帶電纜保留矢量繪製。
  • 依賴:插件依賴 @deepseek-ai/cordis peer dependency。

適用場景與注意事項

該插件適合希望在 DSH Web GUI 中獲得實時狀態反饋和桌面級交互體驗的開發者。使用時需注意:
* 插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證(MIT)。
* 依賴宿主環境提供的 shell.overlay 與 sessions 服務。
* 音效採用實時合成,瀏覽器不支持時靜默降級。

生態鏈接

羽毛球分组比赛记分
小程序二维码

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

小夜