前言¶
在 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 秒觸發一次巡航。巡航分五步執行:
- 轉身:側身展示,使用擠壓與翻轉過渡,非硬切
- 前進:平滑滑行至巡航路徑上的隨機點,每次巡航位置不同
- 入水:水面浮現深藍色像素水堆,隨後爆裂成飛濺效果
- 下潛:鯨魚以頭朝下姿態潛入 composer 邊緣下方
- 上浮:返回過程耗時與出航相同(各 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