lemonmmice/dsh-agent-toolchain--plugins-dsh-postman ↗★ 0
@dsh-agent-toolchain/dsh-postman
在Web侧边栏提供Postman风格的HTTP/WS/TCP客户端 适合需要在DSH内部直接调试接口、发送网络请求的开发者。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:lemonmmice/dsh-agent-toolchain#8dc0b45342b159d82fcc5cda36110d2bdae97fe1&path:plugins/dsh-postman说明文档
阅读完整 README ↗使用方式
- 重启 DSH(插件注册与 client.js 加载在启动时生效),刷新页面后侧边栏出现「接口调试」入口。
- 面板发请求:选方法、填 URL、在「请求头 / 请求体」里补参数,点「发送」;响应区显示状态码 / 耗时 / 大小 / 响应头 / 响应体(JSON 自动美化)。URL 输入框回车=发送。
- 历史:每次发送自动记录,「历史」标签里点任意一条即可回填到编辑器复用。
- 调 WebSocket / 原始 TCP(复用同一套消息日志 + 发送框,按钮为「连接 / 断开」):
ws:///wss://:协议标识变WS。默认浏览器直连;勾选「经宿主(带鉴权头)」则由宿主发起握手, 把「请求头 / 鉴权」里的头带进 WS 握手(浏览器直连设不了握手头)。这些头在 HTTP 模式下设好即可(WS 模式下这些标签隐藏但值仍生效),支持{{env}}。tcp://host:port:协议标识变TCP,由宿主开原始 TCP(浏览器根本连不了),走/conn/*转发;二进制帧显示为字节数 + base64。- 发消息 Enter / Shift+Enter 换行,消息日志实时收发,
{{env}}会替换后再发。
- 调 gRPC:URL 填
grpc://host:port,协议标识变gRPC。粘贴.proto→「解析 proto」列出服务 / 方法下拉 → 填请求 message(JSON) → 顶部「调用」发 unary 调用,响应展示在下方;可选 TLS,metadata 取自「请求头 / 鉴权」。 - agent 发请求:用
http_request工具(method/url 必填,headers/body/timeoutMs 可选), 同样会计入面板历史(仅 HTTP/HTTPS)。
连接转发(宿主 WS/TCP 代理,供带鉴权头的 WebSocket 与原始 TCP 使用)
浏览器 WebSocket 不能设握手头、更连不了原始 TCP,所以由宿主开连接、ws 包发起握手,
浏览器经这几条路由桥接(host→browser 走游标长轮询,browser→host 走 POST):
POST /api/dsh-postman/conn/open—{kind:'ws'|'tcp', url?|host?+port?, tls?, headers?, subprotocols?}→{id, kind}GET /api/dsh-postman/conn/poll?id&cursor— 长轮询该连接的事件(open/message/close/error,带单调seq)POST /api/dsh-postman/conn/send—{id, data, encoding?}(encoding:'base64'发二进制,否则 utf8 文本)POST /api/dsh-postman/conn/close—{id}GET /api/dsh-postman/conn/status
上限:并发连接 32、单帧保留 256KB、单次发送 1MB、空闲 5 分钟回收。目标地址任意,控制口仍限本机回环。