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 的安装方式接入,从引导页打开「串口调试」即可使用。

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

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

小夜