traffic-light:DeepSeek Harness 會話狀態信號燈

在使用 DeepSeek Harness 進行智能體開發時,需要實時感知當前會話是否正在運行或是否出現錯誤。現有的 Web UI 可能無法直接提供這種直觀反饋。traffic-light 插件通過在聊天輸入框區域增加一個三色信號燈,提供即時的狀態可視化。

這是一個 DeepSeek Harness Web UI 插件,由 aliuguofa 維護。它位於 conversation.composer.dock 插槽,顯示紅、黃、綠三色信號燈,反映會話狀態。點擊可查看詳情。這是一個純 UI 插件,宿主半爲空 apply()。

核心功能

該插件主要包含以下能力:

  1. 三色狀態指示:在聊天輸入框區域顯示紅、黃、綠三色信號燈。信號燈會根據當前會話狀態自動切換顏色。
  2. 實時狀態反映:綠燈表示會話空閒(就緒);黃燈表示助手正在思考或調用工具(生成中);紅燈表示出錯或中斷。
  3. 詳情面板:點擊信號燈會彈出詳情面板,顯示狀態說明、錯誤文本與排查提示(出錯時),以及實時吞吐量(生成中時)。
  4. 數據源可靠:無輪詢,無猜測。所有信號均來自 DSH 客戶端會話快照與官方 projection。
  5. 無障礙與國際化:支持 ARIA 屬性和鍵盤交互,支持中英文 i18n。
  6. 可定製性:支持自定義位置順序、燈色樣式與文案。

安裝與啓用

將插件目錄作爲 npm 包加入當前 DSH profile:

dsh plugin --profile desktop add ./traffic-light

安裝完成後刷新 Web GUI,信號燈會自動出現在輸入框區域。

狀態判定邏輯

插件依賴 DSH 框架注入的 useSession 和 useProjection hooks。狀態判定邏輯如下:

  • 綠燈:running === false 且無錯誤。
  • 黃燈:running === true。
  • 紅燈:promptError !== null 或 openState === "error"。

優先級爲:出錯(紅) > 生成中(黃) > 就緒(綠)。

自定義配置

修改位置順序

插件默認插入到輸入框停靠區(conversation.composer.dock)的特定位置。若需調整順序,需編輯 lib/client.js 中的 slots.register,修改 order 值(數值越大越靠後)。

修改燈色樣式

編輯 .tl-lamp-on.tl-* 相關的 CSS 規則,修改 background 或 box-shadow 屬性。

修改文案

編輯 lib/client.js 頂部的 zh / en 字典對象。

兼容性與依賴

  • 依賴環境:DSH Desktop 0.1.1-rc.1。
  • 依賴接口:conversation.composer.dock 插槽、會話快照字段(running / promptError / openState / openError / composerPhase)、liveTokenUsage projection。
  • 運行權限:僅讀取官方穩定字段,不寫入任何設置,不發起網絡請求。
  • 健壯性:當框架未注入必要 hooks 時,插件會安全降級渲染,不會破壞輸入框功能。

文件結構

插件採用自包含模式,文件結構如下:

traffic-light/
├── package.json          # 聲明 dsh.bundle + dsh.client
├── cordis.patch.yml      # Profile 層掛載配置
├── lib/
│   ├── index.js          # 宿主半:空 apply()
│   └── client.js         # 瀏覽器半:組件邏輯、狀態判定、i18n、CSS
├── LICENSE
└── README.md

插件遵循 MIT 許可證。

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

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

小夜