dsh-status-card:爲 DeepSeek Harness 回覆注入狀態卡片

前言

在 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 並在瀏覽器中硬刷新頁面。

使用

插件安裝並啓用後,在瀏覽器中打開設置頁面,進入“狀態卡片”選項:

  1. 啓用/關閉:通過開關控制是否在回覆中輸出狀態卡片。
  2. 修改標題:自定義卡片顯示的標題文本。
  3. 選擇模板:從內置模板庫(A–F)中選擇一款風格。
  4. 自定義模板:選擇“自定義模板”以編輯嚴格的 GenUI JSON,需符合 64 KiB 限制和非空 items 數組的要求。
  5. 預覽與保存:在設置頁查看實時預覽,校驗通過後保存。

瀏覽器端會讀取 navigator.languages(以 navigator.language 作爲回退),將檢測結果同步到 DSH Settings。首選語言以 zh 開頭時,設置界面、內置模板和系統提示注入使用中文;否則使用英文。

注意事項

  • 會話生效:安裝插件、切換瀏覽器語言或修改設置後,需要新建一個會話才能使新的狀態卡片配置生效。已有會話不會自動應用新配置。
  • 持久化:設置會通過 DSH Settings 服務持久化存儲。
  • 本地預覽:設置頁預覽由插件本地實現,不跨插件導入 GenUI 客戶端值,以確保客戶端 bundle 純度。
  • 渲染依賴:必須先安裝並啓用 GenUI,聊天中的 dsh-ui 圍欄纔會被正確渲染。

總結

dsh-status-card 通過在系統提示層面注入指令,實現了在 Agent 回覆中動態展示狀態卡片的能力。它減少了手動拼接格式的工作量,並提供了多種內置風格和自定義選項,適合需要在對話中強調角色狀態或展示覆雜信息的場景。

GitHub 倉庫 | 插件目錄

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

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

小夜