前言¶
在 DeepSeek Harness (DSH) 的使用場景中,Agent 的回覆通常以純文本呈現。如果需要在回覆中直觀展示當前狀態(如角色設定、心情、當前任務等),需要在每次對話中手動拼接代碼塊或 Markdown,這不僅繁瑣,且難以維護統一的格式。
dsh-status-card 是一個由 liqiming-whu 維護的 DSH 插件。它的核心功能是在每次 Agent 回覆的正文開頭,注入一段可配置的 dsh-ui 狀態卡片指令。這利用了 DSH 的系統提示注入機制,不干擾對話歷史,能夠爲 Agent 的回覆提供統一的視覺狀態展示。
核心功能¶
該插件提供以下能力:
- 回覆注入:在每次 Agent 回覆正文開頭輸出內聯
dsh-ui狀態卡片。 - 無歷史干擾:通過
ctx.systemPrompt.section()注入格式指令,不追加用戶或助手對話歷史。 - 視覺風格:使用 emoji 代替 Material Icons,適配不同風格。
- 內置模板:提供六款內置模板(A 軟萌活力、B 極簡專注、C 專業工作、D 星艦科技、E 溫暖陪伴、F 開發者終端)。
- 高度可配置:支持啓用/關閉開關、自定義卡片標題、自定義 GenUI JSON 模板。
- 設置頁輔助:設置頁提供實時卡片預覽和自定義模板校驗。
- 語言適配:自動檢測瀏覽器首選語言,
zh開頭使用中文,其他使用英文。 - 自定義限制:自定義模板限制爲 64 KiB,必須包含非空
items數組。
前置要求¶
安裝本插件前,需確保環境滿足以下條件:
- 已安裝 DeepSeek Harness。
- 終端可運行
pnpm。 - Web profile 上已安裝並啓用
@omdsh-dev/dsh-genui。這是渲染dsh-ui圍欄的前置依賴。
安裝¶
推薦安裝穩定版本 v0.2.1:
dsh plugin --profile web add "git+https://github.com/liqiming-whu/dsh-status-card.git#v0.2.1"
安裝完成後,重啓 dsh web 並在瀏覽器中硬刷新頁面。
使用¶
插件安裝並啓用後,在瀏覽器中打開設置頁面,進入“狀態卡片”選項:
- 啓用/關閉:通過開關控制是否在回覆中輸出狀態卡片。
- 修改標題:自定義卡片顯示的標題文本。
- 選擇模板:從內置模板庫(A–F)中選擇一款風格。
- 自定義模板:選擇“自定義模板”以編輯嚴格的 GenUI JSON,需符合 64 KiB 限制和非空
items數組的要求。 - 預覽與保存:在設置頁查看實時預覽,校驗通過後保存。
瀏覽器端會讀取 navigator.languages(以 navigator.language 作爲回退),將檢測結果同步到 DSH Settings。首選語言以 zh 開頭時,設置界面、內置模板和系統提示注入使用中文;否則使用英文。
注意事項¶
- 會話生效:安裝插件、切換瀏覽器語言或修改設置後,需要新建一個會話才能使新的狀態卡片配置生效。已有會話不會自動應用新配置。
- 持久化:設置會通過 DSH Settings 服務持久化存儲。
- 本地預覽:設置頁預覽由插件本地實現,不跨插件導入 GenUI 客戶端值,以確保客戶端 bundle 純度。
- 渲染依賴:必須先安裝並啓用 GenUI,聊天中的
dsh-ui圍欄纔會被正確渲染。
總結¶
dsh-status-card 通過在系統提示層面注入指令,實現了在 Agent 回覆中動態展示狀態卡片的能力。它減少了手動拼接格式的工作量,並提供了多種內置風格和自定義選項,適合需要在對話中強調角色狀態或展示覆雜信息的場景。