在平板或墙屏上集中查看多台机器的会话状态
29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/8 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add stephenlstrange2/dsh-remote-dashboard该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →数据截至 2026/10/09·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 集中查看多机会话状态
- 跨多台机器
- 平板页面自适应屏幕
只读墙面板,跨多台机器看 DeepSeek Harness 会话:拉或推,一个中枢,平板页面自适应屏幕。
README
由 DeepSeek 最新模型翻译生成dsh-remote-dashboard
只读的多机会话监视器,面向 DeepSeek Harness,为墙面屏 / 平板屏打造。
平板视图:四台机器、正在运行的会话及其当前工具、一条审批横幅,以及一台离线机器
手机布局
截图用的是编造的数据(docs/screenshots.mjs 从假会话渲染出来;改完页面后再跑一次即可)。页面按机器展示:在线状态和延迟(推送型机器显示 push · 5s)、运行中数量,以及每个会话的运行指示灯、标题、距上次活动的时间、当前执行的工具、文件夹、轮次、token、后台任务和目标进度。待审批项显示在橙色横幅里。连不上的机器会变灰,并显示错误信息。
machine A (DSH) ──┐ agent GET /v1/snapshot (Bearer token)
machine B (DSH) ──┼──────────────► HUB (one DSH) ──► tablet browser http://hub:3090/?key=VIEWER_KEY
machine C (DSH) ──┘ polled every pollMs serves the page + /api/fleet
[!WARNING]
没有 TLS,而且查看密钥会出现在 URL 里。 暴露之前先读这段。
- 流量走明文 HTTP。
展开完整文档(README 剩余 1 节)
dsh-remote-dashboard
只读的多机会话监视器,面向 DeepSeek Harness,为墙面屏 / 平板屏打造。
平板视图:四台机器、正在运行的会话及其当前工具、一条审批横幅,以及一台离线机器
手机布局
截图用的是编造的数据(docs/screenshots.mjs 从假会话渲染出来;改完页面后再跑一次即可)。页面按机器展示:在线状态和延迟(推送型机器显示 push · 5s)、运行中数量,以及每个会话的运行指示灯、标题、距上次活动的时间、当前执行的工具、文件夹、轮次、token、后台任务和目标进度。待审批项显示在橙色横幅里。连不上的机器会变灰,并显示错误信息。
machine A (DSH) ──┐ agent GET /v1/snapshot (Bearer token)
machine B (DSH) ──┼──────────────► HUB (one DSH) ──► tablet browser http://hub:3090/?key=VIEWER_KEY
machine C (DSH) ──┘ polled every pollMs serves the page + /api/fleet
[!WARNING]
没有 TLS,而且查看密钥会出现在 URL 里。 暴露之前先读这段。
- 流量走明文 HTTP。只要能嗅探平板、hub 和 agent 之间网络的人,就能读到会话标题、文件夹名、审批文本,以及 token / 密钥。请跑在 Tailscale(或其他 VPN)或你信得过的局域网里;千万别把它端口转发到公网。
- 你用 ?key=VIEWER_KEY 打开页面一次。hub 会把它换成 HttpOnly cookie,然后重定向到干净的 URL,但密钥毕竟在地址栏里敲过,所以可能留在浏览器历史、书签或代理 / 路由器日志里。把它当密码对待,一旦泄露就轮换:改掉 viewerKey,再重新打开页面。
- 一切都是只读的,但密钥泄露就等于暴露你整个机群。用 tokenFile(chmod 600),让密钥远离你可能提交的配置文件。
没有依赖,没有构建步骤。这里没有任何东西能写入 DSH:服务器只响应 GET / HEAD,外加一个 POST /v1/push,它只接受来自已配置且通过认证的机器的快照,而且只存进 hub 的内存。
模式
| 模式 | 提供 | 用途 |
| agent | /v1/snapshot(token) | 你想监视的每一台机器 |
| hub | 平板页面 + /api/fleet | 只做聚合的机器 |
| both | 全部内容,外加本机自己的会话 | 托管仪表盘的机器 |
| push | 什么都不提供:没有 host,没有端口 | 在 NAT / VM 后面 / 没有入站:机器把快照发给 hub |
对端 token 只留在 hub 上。平板只持有查看密钥,首次访问时它会变成 HttpOnly cookie。
安装
dsh plugin --profile web add /path/to/DSH-Dashboard
然后把配置加到该配置档的 cordis.patch.yml(顶层 YAML 列表)。
每台被监视的机器(agent),能通过 Tailscale 或局域网访问:
- id: dsh-remote-dashboard
config:
mode: agent
machine: lab-pc
host: 100.64.0.10 # this machine's Tailscale/LAN IP, never a public one
allowRemote: true # required for any non-loopback host
port: 3090
token: <random 16+ chars>
中枢机器:
- id: dsh-remote-dashboard
config:
mode: both
machine: hub-pc
host: 0.0.0.0 # or its LAN/Tailscale IP
allowRemote: true
port: 3090
viewerKey: <random 8+ chars>
pollMs: 3000
peers:
- { name: lab-pc, url: 'http://100.64.0.10:3090', token: <that agent's token> }
- { name: home-nuc, url: 'http://100.64.0.11:3090', token: <...> }
一台无法被访问的机器(虚拟机、NAT、另一个 tailnet):用 push 模式。 它不绑定任何端口,只向中枢 POST,所以唯一的要求是它能访问中枢: on the pushing machine
- id: dsh-remote-dashboard
config:
mode: push
machine: otx-box
hub: http://10.0.2.2:3090 # QEMU/Boxes user-mode NAT: the host is 10.0.2.2. Otherwise use the default gateway.
tokenFile: /home/me/.dsh-remote-dashboard-token # chmod 600; or token: <16+ chars>
pushMs: 3000
on the hub, in peers: (next to any polled peers)
- { name: otx-box, push: true, tokenFile: /home/me/.otx-box-token, pushMs: 3000 }
中枢给 push 机器命名时,用的是它自己配置里的名字(按 token 匹配),绝不采用 payload 里的名字,所以一台机器无法冒充另一台。push 对端超过 max(10 s, 3 × pushMs) 没有推送,就显示为离线。poll 对端和 push 对端可以随意混用。
在插件上执行 git pull 之后,重启 dsh web。 patchReload: live 会重新读取配置,但不会重新读取插件代码,所以用到较新特性的配置(比如 push 对端)会被旧代码拒绝,直到重启为止。
在平板上打开一次 http://<hub>:3090/?key=<viewerKey>,然后把它加到主屏幕。
用 openssl rand -hex 16 生成密钥。
安全
- 除非 allowRemote: true,否则拒绝绑定非 loopback 地址;开启后,token(agent)或 viewerKey(hub)就是必填项。
- 使用常量时间比较;对端 token 永远不会到达浏览器。
- POST /v1/push 在读取请求体之前先校验 token,请求体上限 1 MB(413),token 错误时返回一个普通的 401,不透露名字是否存在,并且对它存储的所有内容重新做边界限制(200 个会话、100 个任务、截断字符串、重新计算总数)。viewer key 在这里永远不被接受,push token 也永远打不开页面。
- tokenFile 让密钥不进入你可能提交的补丁文件;如果该文件可被 group/other 读取,插件会发出警告。
- mode: push 会拒绝 host、port、allowRemote、viewerKey 和 peers,这样配置写错时会大声报错。
- 没有 TLS:请把它放在 Tailscale 或可信局域网里。不要做端口转发。
- 快照包含会话标题、工作目录、工具名称和审批文本。把 viewer key 当作密码对待。
页面显示什么
每台机器:在线状态和往返时间(离线时显示距上次联系的时间)、运行数量。每个会话:运行指示灯、标题、距上次活动的时间、当前执行的工具、工作目录名、轮次、输入/输出 token、活跃的后台任务、目标进度。来自任意机器的待审批和待回答问题会显示在横幅和标签页标题里。
限制
- 实时指标(轮次、token、当前工具)统计的是插件启动后看到的事件。
- 只存在于磁盘上、尚未加载的会话不会列出。
- 页面用纯 ES5,兼容老旧平板浏览器。保持唤醒需要 HTTPS 或 localhost,所以在纯 HTTP 下请把平板屏幕超时设为「永不」,或者用 kiosk 浏览器。
计划中的工作,比如每台机器支持多个名称,列在 ROADMAP.md。
从 dsh-monitor 迁移
本插件在 0.2.0 之前叫 dsh-monitor(那个 npm 名字属于另一个不相关的插件)。每台机器执行:dsh plugin --profile web remove dsh-monitor、dsh plugin --profile web add dsh-remote-dashboard(或你克隆的完整路径),然后执行 python3 scripts/apply-config.py YOUR_ENTRY.yml --migrate-from dsh-monitor,把旧的 - id: dsh-monitor 块换成 - id: dsh-remote-dashboard。重启 dsh web。你的 token 和密钥不会变。
开发
改动任何东西之前先读 AGENTS.md,并在 CHANGELOG.md 里加一条带视觉效果的记录。
node docs/screenshots.mjs 会用假数据重新生成 README 截图(需要 Playwright;设置 PLAYWRIGHT_DIR 和 CHROME)。
npm test 覆盖配置校验、认证、hub 聚合、离线检测、收集器和推送模式(认证、大小限制、清理、冒充、离线、tokenFile)。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
stephenlstrange2/dsh-remote-dashboard
在平板或墙屏上集中查看多台机器的会话状态
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,399未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,384已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13950 个插件含 PR 收录与…
★ 360已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。