🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

网络面板 puthead/dsh-net-inspector

DeepSeek Harness
puthead5 天前有提交已提供中文文档扫描:含敏感能力

在输入框上方查看并筛选四路 HTTP 请求详情

29.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add puthead/dsh-net-inspector
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 5 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
  • 发起网络请求
    lib/client.js:251
    const response = await window.fetch(`${API}/meta`);
  • 发起网络请求
    lib/client.js:331
    const response = await window.fetch(`${API}/ingest`, {
  • 发起网络请求
    lib/client.js:1433
    const response = await window.fetch(`${API}/events?since=${store.hostSeq}&limit=200`);
  • 发起网络请求
    lib/client.js:1482
    void window.fetch(`${API}/clear`, { method: 'POST' }).catch(() => {});
  • 写入剪贴板
    lib/client.js:1829
    await navigator.clipboard.writeText(text);
  • 写入本地文件
    lib/probe.js:39
    appendFile(LOG, line + "\n", () => {});
  • 发起网络请求
    lib/cdp.js:269
    request = http.get(url, (response) => {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的 DevTools 风格网络面板:把 Host fetch、Web 页面、侧边栏 webview 和通过 CDP 连接的外部 Chromium 的请求都抓进同一个面板。

README

由 DeepSeek 最新模型翻译生成
description: dsh-net-inspector —— 抓 Host 进程、DSH 页面、桌面内置浏览器与外部 Chromium(CDP)HTTP 流量的 DSH 插件 dsh-net-inspector 给 DeepSeek Harness 内置一个类似浏览器 DevTools「Network」的网络面板:点输入框工具栏上的波形按钮打开它,面板停靠在输入框正上方,能看到请求方法、URL、状态码、耗时、大小、请求头、请求体、响应头、响应体,并按 Host / DSH 页面 / 内置浏览器 / CDP 分栏过滤。 同一份面板里合并四条完全不同的流量: | 来源 | 抓什么 | 怎么抓 | | Host 进程 | 工具调用(web_fetch、web_search、图片 API、MCP)、LLM 请求等所有出站 HTTP | 包装 Host 进程的 globalThis.fetch | | DSH 页面 | DSH 页面自己的 fetch / XMLHttpRequest / WebSocket / EventSource | 在页面内包装对应构造函数 |
展开完整文档(README 剩余 1 节)
description: dsh-net-inspector —— 抓 Host 进程、DSH 页面、桌面内置浏览器与外部 Chromium(CDP)HTTP 流量的 DSH 插件

dsh-net-inspector

给 DeepSeek Harness 内置一个类似浏览器 DevTools「Network」的网络面板:点输入框工具栏上的波形按钮打开它,面板停靠在输入框正上方,能看到请求方法、URL、状态码、耗时、大小、请求头、请求体、响应头、响应体,并按 Host / DSH 页面 / 内置浏览器 / CDP 分栏过滤。

同一份面板里合并四条完全不同的流量:

| 来源 | 抓什么 | 怎么抓 |
| Host 进程 | 工具调用(web_fetch、web_search、图片 API、MCP)、LLM 请求等所有出站 HTTP | 包装 Host 进程的 globalThis.fetch |
| DSH 页面 | DSH 页面自己的 fetch / XMLHttpRequest / WebSocket / EventSource | 在页面内包装对应构造函数 |
| 内置浏览器 | DSH 桌面版右侧栏浏览器(Electron <webview>)里打开的任意网页 | 对每个 <webview> 元素 executeJavaScript 注入采集脚本,再用同一条通道把排队的事件抽回页面 |
| CDP | 外部 Chrome / Edge 的任意标签页(XHR、fetch、文档、图片……) | 连上 --remote-debugging-port 的 DevTools 协议,订阅 Network 域 |

安装

plugin_manager install_bundle <本仓库所在的绝对路径>

安装后插件行 net-inspector 变为 active。桌面版在启动时组装客户端 bundle,所以 lib/client.js 与 lib/index.js 的改动都要重启 DSH 才生效。

用法

- 输入框工具行(模型选择器左侧)有波形图标按钮,点一下在输入框上方展开面板;再点一次、点右上角 × 或按 Esc 收起。按钮右上角的红色角标只统计「上次打开面板之后」新出现的失败请求,不会把历史错误一直挂着。
- 「全部 / Host / DSH 页面 / 内置浏览器 / CDP」是分段标签;过滤框支持空格分词、-关键词 排除、method:post、status:4(前缀匹配)或 status:404。
- 点「耗时」「大小」表头排序(再点切换升/降);底部「失败 N」按钮一键只看失败请求。
- 点任意一行:右侧展开详情,含 URL、来源、开始时间、耗时、错误、请求头表、请求体、响应头表、响应体。JSON 自动美化,URL / cURL / 每一段内容都能单独复制并给出「已复制」反馈。
- 键盘:列表聚焦时 ↑ / ↓ 切换请求,/ 聚焦过滤框,Esc 逐级清空过滤 → 取消选中 → 收起面板;过滤框内 Esc 清空过滤。

Agent 侧还注册了 net_inspect 工具,模型可以自己读最近的请求(四侧都能读):

{ "limit": 10, "side": "client", "urlContains": "api", "includeBodies": false }

每行前缀 [H] 是 Host 进程发出、[B] 是 DSH 页面发出、[W] 是右侧栏内置浏览器发出、[C] 是外部浏览器(CDP)发出。

抓外部浏览器(CDP)

默认只抓 Host 和 DSH 页面。要抓 Chrome / Edge 里打开的任意网页,让浏览器带一个调试端口启动,插件会自动连上去:

& 'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'
--remote-debugging-port=9222
--user-data-dir="$env:TEMP\edge-cdp-profile"

- 面板底部出现 CDP N 绿标(N = 当前挂上的标签页数),列表里出现带橙色 C 徽标的行,来源写「外部浏览器」;点顶部分段标签的「CDP」可以只看这类流量。
- 端口不通时底部显示 CDP 未连接,点「CDP」标签也会看到这一状态;改端口/重开浏览器后 5 秒内自动重连。
- 抓的是浏览器内部视角,没有证书问题:HTTPS 请求、请求体、响应体、状态码都完整,和 DevTools 的 Network 面板一致。

限制:

- 只覆盖 CDP 连接之后发起的请求。连接瞬间正在加载的页面可能缺文档请求,刷新一次就齐了。
- 只支持 Chromium(Chrome / Edge / Brave 等带 DevTools 协议的浏览器)。Firefox 需要 --start-debugger-server 的另一种协议,未实现。

配置(cordis.patch.yml)

- id: net-inspector
name: dsh-net-inspector
config:
enabled: true
maxEvents: 2000 # 环形缓冲条数 bodyCap: 24576 # 单条 body 预览字节上限(Host / 浏览器 / CDP 都按它截断) ignore: # URL 正则,命中即不记录(四侧都生效)
- 'dsh-app://app/dsh-whale/'
cdp: # 可选:外部浏览器 enabled: true endpoints:
- 'http://127.0.0.1:9222'
retryMs: 5000 # 连不上时的重试间隔

ignore 默认只屏蔽 dsh-whale 插件的每秒轮询——不屏蔽的话几分钟就能把环形缓冲刷满。面板底部会显示「忽略 N 条(ignore 规则)」和「丢弃 N 条(环形缓冲淘汰)」。

设计取舍

- 透明:包装函数原样调用原 fetch/构造函数,返回值与异常不做任何改写;任何记录异常都被吞掉,面板本身不会打断请求。
- 有界:环形缓冲 + 每体字节上限;text/event-stream(LLM 流式响应)、二进制、图片、音视频一律不 clone、不读 body——clone 一个流式响应会让它整段缓冲,既泄漏内存又拖慢调用方。
- 仅本机:桥接路由 /api/dsh-net-inspector/{meta,events,config,clear,ingest} 只接受 127.0.0.1 / ::1 且 Host 头匹配的回环请求;/clear 只接受 POST。捕获内容含 API Key、Cookie 等敏感头,面板只在本机内存里保存,不落盘、不上报。
- 浏览器→Host 上报:页面每 1.5s(或攒够 40 条、或页面隐藏时)把浏览器侧事件 POST /ingest 给 Host,合并进同一个环形缓冲,net_inspect 因此能读到页面请求;上报失败只影响 Agent 可见性,面板仍用本地副本正常显示。
- 轮询而非推送:面板 900ms 拉一次增量事件(?since=seq,响应里同时带缓冲/丢弃/忽略计数),关闭面板时降到 5s 只为角标计数;实现简单、断线自愈,不需要额外 WebSocket。Host 重启导致 seq 回绕时客户端会自动重置游标,Host 列不会卡死。
- 暂停 ≠ 丢数据:暂停只冻结界面,采集与上报继续;错误角标按「上次看过之后」计数,浏览器事件与 Host 镜像按 URL + 时间戳去重,不会一次失败计两遍。
- CDP 只读:lib/cdp.js 自带一个不依赖 ws 的 WebSocket 客户端(握手、分片、ping/pong、掩码),只发 Network.enable / Target.setAutoAttach 这类订阅命令,不注入脚本、不改写请求;响应体按 bodyCap 截断,二进制与 event-stream 不读。连不上就在后台静默重试,不刷日志。

已知限制

- Host 侧只覆盖 globalThis.fetch(undici)。走 node:http/node:https 原生模块的代码不会出现在面板里。
- 流式响应(SSE)只记录状态码、响应头与耗时,不记录响应体——这是刻意的。
- 浏览器侧记录的是「插件加载之后」的页面请求;页面加载初期、在插件加载前就建立的常连接(例如 RPC/流式通道)无法补钩子,不会出现在面板里。刷新页面后新建立的连接可以。
- WebSocket 只记录 send 出去的帧(页面发出的请求)与连接生命周期,不逐条记录收到的帧,避免 token 级流式消息把缓冲刷爆。
- DSH 桌面版右侧栏的内置浏览器:每个 <webview> 在 dom-ready(含每次导航后)注入采集脚本,覆盖 fetch / XHR / WebSocket / 静态资源与文档请求;脚本把事件排队,面板每 700ms 用 executeJavaScript 取一次,不需要开 DevTools、也不受页面 CSP 影响。标签未挂载时,面板底部显示「内置浏览器未开」,注入次数为 0。
- 请求体若是 Blob/ArrayBuffer/流,只记录类型与大小,不展开内容。

文件

package.json 插件清单(dsh.bundle.patch + dsh.client) cordis.patch.yml 插入 net-inspector 行 lib/index.js Host 半:fetch 包装、环形缓冲、HTTP 桥、net_inspect 工具 lib/cdp.js CDP 源:自建 WebSocket + Target/Network 订阅 lib/client.js 浏览器半:fetch/XHR/WebSocket/EventSource 包装 + 内置 webview 注入 + 停靠面板 UI lib/probe.js 诊断用飞行记录器:心跳 / 会话 / flush 打点,默认写系统临时目录,可用 DSH_NET_PROBE_LOG 改路径
预览分享卡片长什么样 ↓puthead/dsh-net-inspector
分享 · DeepSeek Harness Hub
puthead/dsh-net-inspector

在输入框上方查看并筛选四路 HTTP 请求详情

这是你的仓库?认领条目

回到顶部