DSH Serial Console:让 DeepSeek Harness 与开发者共享同一串口的插件

前言

在 DSH 的插件式扩展中,串口调试常见做法是把板卡日志复制给模型,再让模型给出命令,最后人工回到终端执行和核对。DSH Serial Console 把这个过程放进同一个控制台:用户与 AI 模型共享同一个可审计的嵌入式串口会话。

下面介绍 InfinitePersistence 维护的社区插件 @infinitepersistence/dsh-serial-console,包括它能做什么、如何安装启用,以及当前需要注意的限制。

这是什么

DSH Serial Console 是一个面向 DeepSeek Harness 的社区串口控制台项目。它把浏览器终端、模型串口工具、板卡输出和会话审计记录放在同一个会话中。

该项目由 InfinitePersistence 社区维护,采用 MIT License,不代表 DeepSeek 官方产品或官方背书。

核心能力

浏览器终端

  • 在浏览器中查看板卡启动日志和实时串口输出。
  • 使用键盘直接操作设备,包括 Tab 补全、方向键、退格、粘贴、输入法和常用终端控制键。
  • 选择串口、波特率和 CR、LF、CRLF 等行尾模式。
  • 在 Text 与 HEX 视图之间切换。
  • 在 Text 终端中使用 Ctrl+F 查找历史输出,并在匹配项之间前后跳转。

用户与模型共享同一串口

DSH Serial Console 让 DeepSeek 模型与用户操作同一个串口,而不是分别占用设备。

它支持在串口页右侧直接查看模型思考、工具进度和最终回复。用户与模型共享发送队列,但当前尚未提供整条命令级别的输入租约。

模型工具

插件提供以下模型工具:

工具 用途
serial_list_ports 枚举可用串口
serial_connect 连接设备
serial_send 发送文本或原始字节
serial_read 读取有界事件窗口
serial_expect 等待提示符或指定内容
serial_mark 标记关键证据位置
serial_disconnect 安全断开设备

审计与来源标记

插件会保留独立的串口审计记录,并支持导出会话事件。

它使用 U/M/B/S 来源标记区分:

  • U:用户输入
  • M:模型输入
  • B:板卡输出
  • S:状态/审计

安装与启用

环境要求

  • Node.js ^22.19.0>=24.0.0
  • DeepSeek Harness 0.1.0-rc.7
  • pnpm 11.22.0
  • Windows 或 Linux 串口环境

已有 DSH 时安装

如果已经安装 DSH 0.1.0-rc.7,执行:

dsh plugin --profile web add '@infinitepersistence/dsh-serial-console@0.1.0-rc.4' --save-exact

安装完成后,使用同一个 profile 启动:

dsh --profile web

安装和启动必须使用同一个 profile。升级后请重启 Host,并在浏览器中使用 Ctrl+F5 刷新页面。

访问页面

启动后访问:

http://127.0.0.1:3080

进入任意对话,并选择“串口”标签。

作为程序库安装

如果只把控制台作为库嵌入自己的程序,可以执行:

pnpm add '@infinitepersistence/dsh-serial-console@0.1.0-rc.4' --save-exact

从源码构建

git clone https://github.com/InfinitePersistence/dsh-serial-console.git
cd dsh-serial-console
corepack enable
pnpm install
pnpm build

典型用法

查找历史输出

在终端聚焦时按:

Ctrl+F

输入内容后会高亮匹配项。跳转规则如下:

  • Enter:跳到下一个匹配项
  • Shift+Enter:跳到上一个匹配项
  • Esc:关闭查找

用模型工具连接串口

可以先做 X,再做 Y:

1、使用 serial_list_ports 查看可用串口。
2、使用 serial_connect 连接设备。
3、使用 serial_send 发送命令。
4、使用 serial_readserial_expect 读取输出。
5、需要时执行 serial_mark 标记关键位置。
6、结束时使用 serial_disconnect 断开连接。

适用场景与注意

适合谁

适合需要在浏览器中调试串口设备,并希望在同一个 DSH 会话中查看用户输入、模型调用和板卡输出的开发者。它也适合需要保留串口审计记录,以便复查操作顺序的调试流程。

当前限制

  • 一次只管理一个活动物理串口。
  • 暂不自动重连,也不会在重连后自动重放命令。
  • 当前 Text 模式依赖板卡回显;关闭 Shell echo 时不会显示用户正在键入的字符。
  • 用户与模型共享发送队列,但尚未提供整条命令级别的输入租约。
  • 终端检查点仅保存在当前浏览器内存中;刷新页面、重载插件或事件出现缺口后会重新构建画面。
  • 浏览器清空视图不会删除 Host 侧记录。

安全注意

插件会随当前 dsh 进程权限运行。安装前建议先检查源码、依赖和许可证。第三方组件的许可证信息见 THIRD_PARTY_NOTICES.md

链接

  • GitHub 仓库:https://github.com/InfinitePersistence/dsh-serial-console
  • 包名:@infinitepersistence/dsh-serial-console
羽毛球分组比赛记分
小程序二维码

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

小夜