dsh-serial-debugger:在 DSH 右側邊欄裏做串口調試

前言

做嵌入式或硬件聯調時,串口助手幾乎是標配:選 COM 口、設波特率、看實時數據、往設備發指令。DeepSeek Harness(DSH)把開發環境收進一個界面後,如果還要單獨切到 XCOM 或正點原子助手,窗口來回切,上下文也容易斷。

下面介紹社區插件 dsh-serial-debugger(維護者 floydc-sz):在 DSH 主界面右側邊欄以原生標籤頁形式提供串口參數設置、實時接收顯示和數據發送,佈局參考常見串口助手,顏色與字體跟隨 DSH 主題。插件歸類爲客戶端,當前 GitHub 星標爲 1。

這是什麼

dsh-serial-debugger 是面向 DeepSeek Harness 的串口調試插件。宿主側用 Node 註冊 HTTP 路由並管理串口橋子進程;瀏覽器側是預構建的客戶端 bundle,在 DSH UI 內渲染完整調試面板。串口能力在 Windows 上通過常駐 PowerShell 子進程調用 .NET 的 System.IO.Ports 實現,不依賴 npm 原生擴展、無需構建步驟。

界面入口只有一處:Harness 主界面右側邊欄裏的 「串口調試」 標籤,沒有左側欄或獨立設置頁。

核心功能

面板自上而下分參數區、接收區、發送區三段,在窄邊欄與寬麪板中均可自適應。

參數與連接

  • 串口選擇:下拉顯示 COM3:USB-SERIAL CH340 形式的設備描述,可「刷新」重新枚舉;無可用串口時降級爲手輸。
  • 串口參數:波特率、停止位、數據位、校驗位(兩行兩列網格排布);打開串口後參數鎖定。
  • 操作:打開/關閉串口、「保存窗口」(接收區導出 .txt)、「清除接收」。
  • 開關:16 進制顯示、DTR、RTS、自動滾動、時間戳。

接收與發送

  • 接收區:佔滿剩餘高度,實時追加;可選文本或十六進制、時間戳;手動上滾時暫停自動滾動;發送內容以 → 前綴弱化顯示;底部狀態行顯示連接、當前參數、收發字節數與條數。
  • 發送區:輸入框支持 Ctrl+Enter 發送;可選 16 進制發送(如 AA 55 01 或 0xAA,0x55)、發送新行(追加 CRLF)、定時發送(週期毫秒)、從文件分塊發送(1 KB 塊並顯示進度)。

架構要點(便於排查問題)

瀏覽器每約 250ms 向同源 HTTP 拉取增量狀態;宿主維護有界收發日誌,並通過 stdin/stdout 上的 NDJSON 與 lib/serial-helper.ps1 通信。路由前綴爲 /dsh-serial-debugger,由插件自有,不受 DSH /api 令牌策略約束。

安裝與啓用

插件是普通 DSH 包,要求 Node >= 20、DSH ^0.2.0-rc.1,且 僅支持 Windows(package.json 中 os: ["win32"])。

方式一:安裝爲 bundle(推薦)

在拿到本包目錄路徑後執行(路徑替換爲實際位置):

dsh plugin --profile desktop add <本包路徑>

方式二:手動放置

  1. 將整個目錄複製到 profile 的 node_modules:
Copy-Item -Recurse -Force "<本包路徑>" "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-serial-debugger"
  1. 在 ~/.dsh/profiles/desktop/cordis.patch.yml 末尾追加:
- insert:
    - id: serial-debugger
      name: dsh-serial-debugger
  1. 重載 DSH(或等待 HMR)。側邊欄引導頁會出現 「串口調試」 一行。

可選環境變量

  • DSH_SERIAL_POWERSHELL:指向 pwsh.exe 等,覆蓋默認的 Windows PowerShell 5.1 路徑。
  • DSH_SERIAL_HELPER:指向替代串口橋腳本(同樣 NDJSON 協議),用於替換實現或測試替身。

典型用法

經過上面的安裝步驟後,按下面順序在界面內完成一次聯調:

  1. 點擊標題欄 「打開側邊欄」,在右側邊欄引導頁點 「串口調試」。
  2. 在參數區選擇串口、設置波特率等(常見如 115200、8N1),點擊 「打開串口」。首次訪問會惰性啓動 PowerShell 串口橋(約 2 秒),未就緒時面板會提示。
  3. 在中間接收區觀察實時數據;按需勾選 16 進制顯示、時間戳、自動滾動。
  4. 在下方發送區輸入內容,點擊 發送 或 Ctrl+Enter;需要週期指令時可勾選定時發送並設置週期(毫秒)。
  5. 調試結束關閉串口;需要留檔時用 「保存窗口」 導出接收區。

若本機尚無物理串口,README 建議首次接真實設備前可用 TX/RX 短接做迴環確認;項目提供不依賴硬件的測試套件(tools\run-tests.ps1,含 131 項)。

適用場景與注意

適合誰:在 Windows 上使用 DSH 做智能體或應用開發,同時需要 UART/COM 口監視與發送的開發者;希望少開一個獨立串口助手窗口、把調試留在 Harness 上下文裏的人。

平臺與依賴:串口橋依賴 Windows 自帶的 System.IO.Ports 與 PowerShell,不能在 Linux/macOS 上使用本插件的串口功能。

安全與權限:插件 HTTP 路由在 loopback 上不鑑權;DSH webserver 無全局鑑權層,本機其它進程理論上可調用這些接口讀寫串口。插件以當前 DSH 進程權限運行;安裝前應自行查看 GitHub 源碼 與 MIT 許可證(版本 1.0.0 見 package.json)。

行爲限制(README 已說明):發送側不做轉義(文本 UTF-8、十六進制按字節直髮);接收按到達分塊顯示,不保證按行聚合;關閉面板期間數據仍保留在有界日誌中,重新打開會補上尾部 500 條。

DSH 生態強調「一切皆插件」;SkillHub 目錄頁 是社區收錄站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-serial-debugger 把經典串口助手能力收進 DSH 右側邊欄:參數、收發、十六進制與文件發送在一處完成,且零 npm 串口原生依賴。若你的開發棧已在 Windows + DSH 上,可按 README 的安裝方式接入,從引導頁打開「串口調試」即可使用。

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

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

小夜