前言¶
在 DeepSeek Harness (DSH) 的 Web 控制台開發中,開發者常面臨終端交互受限、難以實時追蹤 AI 生成的文件以及缺乏全鏈路行爲統計的問題。dsh-devpanel 作爲一個開發者工具箱插件,直接在瀏覽器控制台中提供了真實的多標籤 PTY 終端以及 AI 輸出文件瀏覽器。它不依賴複雜的構建流程,通過掛載 Remote 命名空間和注入樣式表,爲 DSH 增加了原生終端的交互體驗和可視化的工作流追蹤能力。
插件定位¶
- 名稱:dsh-devpanel
- 維護者:lispking
- 核心價值:在瀏覽器端復刻原生終端體驗,並打通 AI 工具調用與文件變更的關聯,提供雙維度(AI + 終端)的行爲統計。
核心功能¶
該插件通過三個主要面板增強 DSH 控制台:
1. 真實 PTY 終端面板¶
終端面板停靠在編輯器下方,提供類似原生 Shell 的環境。
- 真實會話:在會話的工作目錄中啓動系統登錄 Shell (
$SHELL,回退到/bin/sh),並正確導出TERM環境變量,確保git、ls等命令的彩色輸出和提示符正常渲染。 - 多標籤管理:支持新建標籤頁、關閉單標籤頁、關閉全部。關閉最後一個標籤頁會銷燬面板,重新打開則初始化新的默認標籤。
- 原生行爲:支持選中文本複製、
Cmd/Ctrl+Shift+V粘貼、clear命令,並能正確處理多字節 UTF-8 輸出,避免亂碼。 - 進程控制:可以向前臺進程組發送
SIGINT、SIGTERM、SIGKILL、SIGTSTP和SIGHUP信號,或終止捕獲的進程樹(附帶 2 秒寬限期)。 - 增量輸出:瀏覽器通過輪詢
read接口獲取增量輸出,主機端維護 1MB 的滾動緩衝區,確保長輸出不會導致內存溢出。
2. AI 輸出文件側邊欄¶
右側側邊欄列出當前會話中 AI 寫入或編輯的文件,以及 Shell 命令產生的文件。
- 來源追蹤:收集 AI 工具的
write/edit調用產生的文件(去重,按首次出現排序),並解析 Shell 命令輸出中的路徑進行驗證。 - 多格式渲染:支持語法高亮、Markdown 渲染、圖片預覽,並提供全屏查看模式。
3. 雙維度使用統計面板¶
通過模態覆蓋層展示 AI 和終端的活動數據。
- 數據維度:合併 AI 活動側(Token 消耗、調用次數、模型分佈、響應時長)與終端活動側(會話數、提交命令數、運行時長)。
- 可視化:包含概覽卡片、每日雙系列趨勢圖、年度活動熱力圖。
- 持久化:歷史會話索引通過
ctx.sessionQuery最佳嘗試回放,並持久化到DSH_HOME/devpanel/usage-v1.json。 - 導出:支持調用和終端詳情的 CSV/JSON 導出。
其他特性¶
- 會話作用域 CWD:終端和相對文件讀取均基於會話的項目目錄(回退至用戶主目錄或主機 CWD)。
- 雙語 UI:內置簡體中文和英文字典,註冊在
toolkit命名空間下。 - 乾淨生命週期:插件卸載時會終止所有活動的 PTY 會話,清理注入的樣式表和 Remote 命名空間。
架構設計¶
插件採用客戶端/主機分離的雙面架構,通過 Typert Remote 邊界通信:
- 主機端:提供
TerminalPanelService(管理 PTY 會話、滾動緩衝區)和UsageService(處理session/event火箭筒、持久化統計)。 - 客戶端:通過掛載
TYPERT_REMOTE命名空間,註冊三個插槽:conversation.session.header.utilities(操作圖標)、details(文件側邊欄,優先級-10覆蓋默認詳情頁)、conversation.composer.dock(終端對話框)。
安裝與啓用¶
目前未提供具體的安裝命令。可以通過以下鏈接獲取插件源碼或目錄信息:
- GitHub 倉庫:https://github.com/lispking/dsh-devpanel
- 插件目錄:https://www.skillhub.cn/plugins/lispking/dsh-devpanel
典型用法¶
- 終端交互:在 DSH 控制台頂部工具欄點擊終端圖標,啓動多標籤終端。手動輸入命令,或啓動後臺進程(如
python server.py),觀察實時增量輸出。 - 文件瀏覽:在 AI 編寫代碼或修改配置後,點擊控制台頂部工具欄的側邊欄圖標,查看右側列出的所有 AI 生成或修改的文件,支持預覽圖片和代碼高亮。
- 工作統計:點擊控制台頂部的統計圖標,打開模態面板,查看 Token 消耗、模型分佈以及終端運行時長,並導出 CSV 分析數據。
適用場景與注意¶
- 適用對象:需要在瀏覽器中深度調試代碼、頻繁查看 AI 輸出文件、或需要量化分析 AI 與終端協作效率的開發者。
- 注意事項:
- 插件以當前 DSH 進程的權限運行,涉及文件讀寫和進程控制,安裝前應檢查源碼與許可證。
- 插件的生命週期與會話綁定,插件卸載時會終止所有活動的 PTY 會話,請勿在會話中運行關鍵任務後再卸載插件。