DeepSeek Harness 插件

dsh-serial

DSH plugin: embedded serial debugging tools (scan ports, send data, monitor output, capture logs) for COM/UART work, driven by pyserial Python scripts.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
hgy043/dsh-serial
最近更新
2026年8月17日
分类
插件开发工具
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/hgy043/dsh-serial
插件名:dsh-serial
作者:hgy043

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

<h1 align="center">dsh-serial</h1>

<p align="center">嵌入式串口调试工具插件 —— 扫描端口、发送数据、实时监控、抓取日志;由 pyserial Python 脚本驱动,零原生依赖。</p>

能力

工具说明
serial_scan枚举串口(描述 / VID / PID / 芯片名 / 序列号 / 位置),支持关键词过滤
serial_send发送文本或 Hex 数据(支持行尾、重复发送、等待响应),适合 AT 命令与刷机命令
serial_monitor实时监控串口输出(正则过滤 / 排除,超时自动结束,可随时中止)
serial_log抓取串口输出存为 text / csv / jsonl 日志文件

安全规则内置在工具契约里:绝不猜波特率、绝不替你选串口、没有明确意图不发数据。

要求

  • Python 3 + pyserial:pip install pyserial
  • 串口驱动(Windows:CH340 / CP2102 / FT232 等按芯片装驱动)

安装

# git 源(主通道)
dsh plugin --profile web add "github:hgy043/dsh-serial#main"

# npm
dsh plugin --profile web add dsh-serial

# 本地开发
dsh plugin --profile web add E:/dsh-plugins/plugins/dsh-serial

安装后必须重启 web(bundle 层栈在 boot 时合成)。验证:

dsh --profile web --dump-config | grep -i serial

配置

~/.dsh/settings.yaml 中以插件 id serial 为键覆盖默认值(全部可选):

serial:
  python: py            # python 解释器名(默认 python,找不到自动试 py)
  baudrate: 115200
  workspace_dir: D:/my-embedded-project   # 子进程工作目录与状态落盘处

使用示例

以下为 GEC6818 嵌入式 Linux 开发板(COM7,PL2303GT)上的实测输出:

用户:扫描一下串口
→ serial_scan
→ { "status": "ok", "summary": "发现 5 个串口", "details": { "ports": [
    { "port": "COM7", "description": "Prolific USB-to-Serial Comm Port",
      "vid": "067B", "pid": "23A3", "chip": "PL2303GT", ... }, ... ] } }

用户:向 COM7 发送 AT 并等待响应
→ serial_send(data="AT", line_ending="crlf", wait_response=true)
→ { "status": "ok", "summary": "已发送 1 次到 COM7@115200",
    "details": { "tx": "AT", "tx_bytes": 4,
      "rx": "-/bin/sh: AT: not found\r\n~ # ", "rx_bytes": 79 } }
// 板子是 Linux 控制台而非 AT 猫——回复即真实 shell 输出

用户:监控 COM7 10 秒
→ serial_monitor(timeout_sec=10)
→ { "status": "ok", "summary": "监控结束,共 12 行,耗时 10.1s",
    "details": { "lines": [ { "timestamp": "...", "text": "~ # " }, ... ] } }

用户:把 COM7 的日志抓 5 秒
→ serial_log(duration=5)
→ { "status": "ok", "summary": "日志已保存: .../serial_20260817_195845_391755.log",
    "details": { "log_summary": { "lines": 8, "bytes": 142, "format": "text", ... } } }

插件管理

插件管理推荐使用 plugin-registry 的轻量控制台:

dsh plugin --profile web add github:vlln/plugin-registry#main&path:/packages/plugin/console

开发

  • 串口 I/O 由 serial-scripts/ 下的 Python 脚本完成,脚本上游归 serial skill~/.agents/skills/serial),插件内副本按版本冻结,同步 = 重跑复制命令,不要手改副本。
  • index.mjs / lib/*.mjs 后必须重启 web(ESM 缓存)。
  • 本地 link: 开发时官方包(@deepseek-ai/*)靠 node_modules junction 注入,发布安装无需。