Deepy:DeepSeek Harness 的像素鯨魚伴侶

前言

在 DeepSeek Harness 的 Web UI 中,當會話處於空閒、思考或等待狀態時,界面往往只有靜態提示。對於習慣通過視覺反饋感知狀態的智能體開發者,這種靜默會降低掌控感。Deepy(dsh-deepy-pet)是一個 Web UI 客戶端插件,在 composer 頂部邊緣放置一隻像素風格的藍鯨,通過狀態動畫和 30 秒巡航行爲,提供持續的視覺反饋。

插件簡介

Deepy 是 ChenWeiqi12345 維護的趣味換裝類插件,名稱爲 “Deepy”。它不持有會話狀態,而是讀取 conversation slot 已暴露的 useSession、useSessionStatus 和 useChat 等標準 props,根據當前會話狀態改變表情與行爲。鯨魚保持參考輪廓:緊湊頭部、長身、分叉尾鰭、雙目與腮紅,通過這些特徵表達不同狀態。

核心功能

狀態映射

Deepy 對應以下會話狀態:

  • Idle:已完成會話且無待辦工作
  • Thinking:助手正在推理或調用工具
  • Writing:助手正在流式輸出回答文本
  • Error:最近一輪失敗或提示失敗
  • Done:剛完成一輪成功交互
  • Playful:被點擊,或隨機空閒情緒
  • Waiting:等待用戶審批或回答問題
  • Expecting:用戶在 composer 中輸入,鯨魚停止巡航並注視
  • Daze:隨機空閒情緒
  • Sleeping:兩分鐘無活動或隨機小睡
  • Cruising:30 秒巡航(見下文)

30 秒巡航機制

當沒有會話工作或審批需要顯示狀態動畫時,每 30 秒觸發一次巡航。巡航分五步執行:

  1. 轉身:側身展示,使用擠壓與翻轉過渡,非硬切
  2. 前進:平滑滑行至巡航路徑上的隨機點,每次巡航位置不同
  3. 入水:水面浮現深藍色像素水堆,隨後爆裂成飛濺效果
  4. 下潛:鯨魚以頭朝下姿態潛入 composer 邊緣下方
  5. 上浮:返回過程耗時與出航相同(各 6 秒),頭肩先出水面,伴隨第二次水爆,無透明度漸變

巡航期間若檢測到會話工作或用戶輸入,巡航會被推遲,以確保狀態動畫可讀。

打字優先

一旦 composer 草稿變爲非空文本,Deepy 立即取消巡航並切換到 expectant 表情。最後一次編輯後保持注視幾秒,再回到當前會話狀態。

名字與提示

在設置中打開「⚙ → Your name / Deepy’s name」可分別重命名用戶與鯨魚,名字保存在本地。任務完成後,Deepy 在氣泡中顯示完成語句,例如:”{pet} has finished helping {user}!”。失敗、等待、打字、逗弄、發呆、睡眠、巡航和上浮等行爲各有對應的隨機語句,語句使用當前設置中的名字。

交互控制

  • 拖拽:左右拖動鯨魚調整位置,巡航過程中拖拽可停止出航
  • 點擊 / 觸摸:觸發 playful 狀態
  • ⚙:打開設置面板,可修改用戶名、鯨魚名、尺寸與位置
  • 方向鍵:微調位置
  • + / -:調整尺寸
  • R:在鯨魚獲得焦點時重置尺寸與位置(保留名字)

位置、尺寸與名字保存在瀏覽器的 deepy-pet.settings.v1 本地存儲中,刷新後恢復。重置操作保留名字。

安裝與啓用

Deepy 是純 ESM 與 canvas 代碼,無需構建步驟。要求 DeepSeek Harness >= 0.2.0 < 0.3.0 並啓用 Web UI(dsh web 或桌面應用)。

從 GitHub 安裝:

dsh plugin --profile web add github:ChenWeiqi12345/dsh-deepy-pet

桌面應用:打開「Settings → Plugins → Install」,粘貼倉庫 URL。

從本地檢出安裝(開發時有用):

git clone https://github.com/ChenWeiqi12345/dsh-deepy-pet.git
dsh plugin --profile web add link:/absolute/path/to/dsh-deepy-pet

從 tarball 安裝:

pnpm pack
dsh plugin --profile web add ./dsh-deepy-pet-1.0.0.tgz

安裝後刷新 Web UI 頁面。移除命令:

dsh plugin --profile web remove dsh-deepy-pet

技術實現

Deepy 註冊到 conversation.input.dock,順序爲 30,位於 composer 上方。它讀取 slot 的標準 props:useSession、useSessionStatus、useChat 以及所有者提供的輸入快照。僅使用 useChat 區分流式推理塊與流式回答文本。輸入草稿加短空閒窗口用於檢測打字,草稿非空則取消巡航並顯示 expectant 表情。

巡航分爲 React 管理的 perch 位置與一個命令式 requestAnimationFrame 層。第二個 requestAnimationFrame 循環繪製前/側身轉身、下潛、水下返回與上浮。兩個循環均不重新渲染會話。

鯨魚由像素遮罩繪製,水平擠壓加 CSS 翻轉過渡實現轉身,CSS 像素飛濺層獨立於移動畫布繪製下潛與上浮的水線。UI 使用 --dsw-* 主題令牌,藝術保持皇家藍調色。畫布透明,無卡片或面板背景,融入深色 composer 區域。

隱私與許可

插件不發起網絡請求,無遙測,無宿主服務。僅讀取會話狀態,該狀態由 conversation slot 已暴露。許可證爲 MIT。

適用場景與注意

適合需要在會話運行中獲得持續視覺反饋的開發者,例如長時間推理、流式生成、等待審批等場景。插件以當前 DSH 進程權限運行,安裝前建議檢查源碼與許可證。

總結

Deepy 通過像素鯨魚與 30 秒巡航機制,在 DeepSeek Harness 的 Web UI 中提供非侵入式的狀態可視化與交互。安裝命令與配置路徑均來自官方 README,功能與實現細節以源碼爲準。

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

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

小夜