前言¶
DeepSeek Harness (DSH) 是一個支持插件擴展的智能體開發框架。在 Web GUI 中執行長任務時,開發者往往難以直觀掌握 agent 的當前狀態和階段性成果。dsh-status-bar 插件在 Web 界面的輸入框上方增加了一個狀態欄,用於實時展示 agent 的執行活動,並通過 LLM 蒸餾生成成果總結,支持展開查看結構化的詳細報告。
插件概覽¶
- 名稱:dsh-status-bar
- 維護者:OuYangxin12
- 分類:客戶端
- 許可:MIT
- GitHub:https://github.com/OuYangxin12/dsh-status-bar
核心功能¶
該插件提供以下能力:
* 實時顯示:顯示 agent 的執行狀態,包括工具調用、思考過程和耗時。
* 成果總結:利用 LLM 蒸餾技術生成一行“當前成果”摘要。
* 詳細報告:支持展開查看結構化的詳細進度報告。
* 數據源:直接讀取 ConversationSnapshot,利用瀏覽器零 RPC 獲取數據;Host 端聚合工具調用和事件日誌。
* 雙面插件:同時運行在 Host 端和 Browser 端。
* HTTP API:提供調試用的 HTTP 接口。
安裝與啓用¶
通過官方 CLI 安裝該插件:
dsh plugin --profile web add github:OuYangxin12/dsh-status-bar
安裝後重啓 dsh web 進程即可生效。
配置¶
插件支持通過環境變量進行配置(均爲可選):
| 變量名 | 默認值 | 說明 |
|---|---|---|
DSH_STATUS_BAR_PROVIDER / DSH_STATUS_BAR_MODEL |
優先使用便宜模型 | 總結功能所用的模型路由 |
DSH_STATUS_BAR_MIN_GAP_MS |
10000 | 兩次自動總結的最小間隔(強制刷新不受限) |
DSH_STATUS_BAR_MAX_AGE_MS |
30000 | 連續思考流下的兜底刷新上限 |
DSH_STATUS_BAR_MAX_TOKENS |
160 | 單行總結的輸出上限 |
DSH_STATUS_BAR_DETAIL_MAX_TOKENS |
700 | 詳細報告的輸出上限 |
使用說明¶
安裝後,狀態欄會顯示在輸入框上方,包含兩個主要部分:
1. 一行速覽:展示由 LLM 生成的當前成果摘要,可點擊展開。
2. 過程行:顯示執行時間、狀態、當前工具和思考尾部。
刷新機制:
插件採用事件驅動而非固定輪詢來更新狀態。刷新觸發條件包括:
* 工具調用/結果、step 邊界觸發短去抖(1~2.5s)後總結。
* 長時間思考流觸發兜底刷新(默認上限 30s)。
* Turn 開始時快速首報(約 3s)。
* 用戶新輸入/steering 時立即強制刷新。
* Turn 結束時強制刷新單行及詳細報告。
* 詳情頁展開時,新進展出現後自動跟隨刷新(8s 去抖)。
HTTP 調試接口:
插件提供 HTTP 接口用於調試(僅在 Web Profile 下可用):
* GET /status-bar/stream:獲取 SSE 流(NDJSON 格式),包含 summary/detail/活動狀態。
* GET /status-bar/state:獲取當前全部會話總結快照。
* GET /status-bar/detail?session=<id>[&force=1]:請求生成或刷新詳細報告(通過 SSE 推送)。
注意事項¶
- 空閒狀態:在空閒或無總結數據時,插件不會渲染任何內容,不佔用佈局。
- 包名要求:在手動掛載時,
insert配置必須使用包名dsh-status-bar。這是由於 client bundle 掃描機制通過require.resolve(<名字>/package.json)解析包根,絕對路徑文件名只能掛載 host 半。 - 調試用途:HTTP 面板僅用於調試,生產環境依賴 UI 渲染。
總結¶
dsh-status-bar 通過事件驅動的機制和 LLM 蒸餾能力,爲 DSH Web GUI 提供了可視化的進度反饋。它解決了長任務執行過程中缺乏狀態透明度的問題,適合需要詳細監控 agent 進度的開發者使用。