dsh-whale-companion:把隱私安全的會話元數據變成一隻桌面鯨魚

前言

用 DSH 做智能體開發時,會話進度本身是看不見的:回合數、工具調用次數、連續使用記錄,都埋在 Host 側的事件流裏。想給這些數據加一層可視反饋,常見做法要麼把狀態塞回模型上下文,要麼把數據送到遠端服務,前者浪費 token,後者有隱私代價。

dsh-whale-companion 走了另一條路:插件只在 Host 側觀察已提交的會話事件元數據,不讀內容、不連網絡,把「潮汐、遠征、收藏」這套進度體系渲染成一隻可拖動的桌面鯨魚。下面介紹它的定位、功能、安裝方式和實現邊界。

這是什麼

dsh-whale-companion 是一個 local-first 的 DSH 鯨魚世界插件,由 LeemanCheung 維護,許可證爲 MIT。在目錄裏它被歸入「趣味換裝」類。一句話定位:隱私安全的會話元數據,變成一隻可拖動的桌面鯨魚伴侶,附帶 20 個可解鎖鯨魚精靈、可見潮汐、個人海灣(cove)、非懲罰性遠征,以及 opt-in、僅本地的鯨魚圈卡片。

版本 2.6.0 針對 DSH 0.1.2-rc.1,保留了既有的名稱、外觀、位置、進度、收藏、房間預設與 ImageGen 物種圖鑑。

對模型側,它不添加任何 prompt、工具、消息、token 用量或 KV-cache 內容;只在 Host 觀察已提交的會話事件元數據,並暴露瀏覽器 UI。

核心功能

可拖動的桌面鯨魚

插件提供一隻運行在 shell.overlay 上的鯨魚,支持指針拖拽、鍵盤移動、邊緣吸附,位置持久化時會做視口安全校正。整份 UI 共享一個 5 秒本地刷新週期。新的潮汐時刻出現在有界的可見氣泡裏,只有里程碑會通知讀屏器。

20 個鯨魚精靈與 XP 體系

20 個可解鎖鯨魚精靈隨 Ocean Levels 1–100 逐步解鎖,每個精靈把自身故事和可見潮汐響應映射到一類安全事件,不改變模型行爲。

XP 規則是明確的:

  • 每回合 10 XP(只有 user/message 計爲回合)
  • 每個工具結果 5 XP
  • 每次會話開始 20 XP

等級由 XP 推導,連續記錄使用 UTC 會話開始日期,缺勤不扣減進度或收藏。

潮汐、收藏與遠征

潮汐時刻由 live-only 的 session/created、user/message、tool/result 元數據驅動,且是有界的。重複的工具結果仍計入既有 XP,但無法刷潮汐時刻、收藏品或遠征進度。

Whale Home 頁面提供七天海洋日誌、當前鯨魚故事節點、cove 可視化預覽,以及一份基於真實字段的 Privacy Ledger。另有潮汐時間線、本地 PNG 明信片導出、24 項收藏品目錄、8 個固定房間槽位、3 套房間預設,以及一套非懲罰性遠征。6 套 cove 主題調整背景、界面強調色和環境光,鯨魚美術保留自身配色;12 個成就全部包含。

分享:漂流瓶與鯨魚圈卡片

訪客漂流瓶是隔離的只讀房間預覽,不會合並或覆蓋接收者的進度。

鯨魚圈卡片是 opt-in 的、僅基於本地文件的交換:只包含預設別名、物種、皮膚、粗粒度活躍分桶和共鳴星,沒有賬號、網絡、排行、自由文本、提示詞摘錄、任務名或工具數據。

呈現模式與動畫

安靜、標準、活潑三種呈現模式存於瀏覽器本地偏好,系統 reduced-motion 始終優先,存儲被拒絕時安全回退且不影響進度。

2.6.0 帶來一段 2.4 秒的墨鯨躍出動畫:96 幀、40 fps,原生 WebP 採用 25ms 均勻幀間隔。系統或產品內 reduced-motion 開啓時切換爲對應 PNG 靜幀,且不替換原有的 Dive/Classic 狀態動畫。

安裝與啓用

安裝到 DSH Web profile:

dsh plugin --profile web add github:LeemanCheung/dsh-whale-companion

安裝後重啓現有 DSH Web 進程並刷新頁面即可看到鯨魚。

開發驗證與美術管線

如果要自己構建或驗證,在倉庫根目錄執行:

corepack pnpm typecheck
corepack pnpm verify:minke
corepack pnpm test
corepack pnpm build
corepack pnpm pack:check

美術管線需要先裝依賴:

python -m pip install -r requirements-art.txt

管線固定於 Python 3.12、NumPy 2.3.3、Pillow 12.3.0。corepack pnpm art:minke 重建透明 sprite,corepack pnpm art:species 規範化倉庫內置的 20 物種 ImageGen 圖鑑。視覺快照基線在 Ubuntu CI 維護,其他平臺仍運行交互、動效、reduced-motion 和窄佈局斷言,但不生成 RC 截圖基線。生產客戶端內嵌這些柵格資產,不含運行時矢量鯨魚繪製。

隱私與實現邊界

這是這個插件最值得寫清楚的部分:

  • Host 只讀取 session id、事件序號、事件類型和時間戳,從不讀取、存儲、導出或渲染提示詞、助手輸出、代碼、路徑、工具參數或工具結果。
  • 內存回執摘要使用不離開 Host 進程的 HMAC 密鑰;持久化回執窗口上限 4,096 條,只防近期重複投遞,不防跨 Host 重啓的永久重放。備份刻意不含回執摘要、session id 或事件數據。
  • 後臺寫入失敗不會中斷 DSH 會話,可能只丟失該次進度更新,後續更新仍被接受;顯式的用戶保存仍會報告失敗。
  • 文本導入在 JSON 解析前統一限制 512 KiB;持久化寫入全部做 schema 校驗。
  • 進度存於單一 DSH 存儲後端,不跨設備同步。
  • overlay 每 5 秒輪詢一次,原因是當前 host Remote 事件允許列表沒有包內鯨魚狀態推送路由。
  • 鯨魚圈卡片刻意只支持本地導入/導出;要做託管社區,需要另行擁有、鑑權並審覈的傳輸提供方。

適用場景與注意

適合的讀者:在 DSH Web 環境里長期工作、想要一份本地優先的進度可視化,同時不希望插件觸碰提示詞內容、不給模型增加任何開銷的人。它也適合作爲「Host 側只觀察元數據」這類插件形態的參考實現。

注意以下幾點:

1、該插件以當前 dsh 進程的權限運行,安裝前建議先閱讀倉庫源碼與 LICENSE(MIT)確認可接受。
2、進度不做跨設備同步,換機器不會帶走進度。
3、回執機制防的是近期重複投遞,不是跨重啓的永久重放,這一點 README 寫得很明確。

結尾

dsh-whale-companion 展示了一種剋制的插件形態:只用事件元數據、全部計算和存儲留在本地、對模型零開銷,把日常會話變成一個可積累的鯨魚世界。如果你在做 DSH 插件或想給工作環境加點趣味,值得一試。

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

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

小夜