用系统账号登录,为每位用户隔离运行 dsh 实例
31.5/100
综合分
6
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:npm 同名包「dsh-hub」归属 dushaobindoudou/dsh-hub,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Mpaperlee/dsh-hub该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · market
装得上吗
静态安装检查有提示项,装前建议看一眼 README
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 65 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意npm 同名包「dsh-hub」归属 dushaobindoudou/dsh-hub,装到的可能不是本插件
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-hub @ 0.0.1
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 21:03:48
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
- 读取密钥环境变量src/index.mjs:108
const SECRET_PATH = process.env.COOKIE_SECRET_FILE ?? path.join(__dirname, '..', '.cookie-secret'); - 执行外部命令固定命令src/index.mjs:160
const out = execFileSync('getent', ['passwd', user], { timeout: 3000 }).toString(); - 执行外部命令固定命令src/index.mjs:203
const child = spawn('su', [user, '-c', 'exit 0'], opts); - 执行外部命令来自配置/变量src/index.mjs:284
execFileSync(bin, ['-D', 'OUTPUT', ...args], { stdio: 'ignore', timeout: 5000 }); - 执行外部命令来自配置/变量src/index.mjs:291
execFileSync(fs.existsSync(bin) ? bin : '/usr/bin/iptables', args, { stdio: 'ignore', timeout: 5000 }); - 执行外部命令来自配置/变量src/index.mjs:358
const child = spawn(process.execPath, args, opts); - 发起网络请求src/index.mjs:743
const req = http.request({
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 系统账号登录
- 每用户隔离实例
- HTTP/WS代理路由
README
由 DeepSeek 最新模型翻译生成dsh-hub
License: MIT
Node
Platform
dsh-8A2BE2.svg)
一个 JupyterHub 风格的 DeepSeek Harness (dsh) 多用户前端—— PAM 登录、每个系统用户一个隔离的 dsh 实例,以及基于 cookie 路由的 HTTP/WebSocket 代理。对 dsh 零修改:上游升级和每用户插件安装均不受影响。
中文简介:dsh-hub 是 DeepSeek Harness (dsh) 的多用户网关,思路完全对标
JupyterHub:服务器系统账号(PAM)登录,每个用户一个完全隔离的 dsh 实例
(独立 uid/gid、独立数据目录、iptables 端口防护),浏览器直接访问 http://:3080 即可使用。不修改 dsh 任何代码——上游升级、每用户自行安装插件均不受影响。
展开完整文档(README 剩余 1 节)
dsh-hub License: MIT Node Platform dsh-8A2BE2.svg) 一个 JupyterHub 风格的 DeepSeek Harness (dsh) 多用户前端—— PAM 登录、每个系统用户一个隔离的 dsh 实例,以及基于 cookie 路由的 HTTP/WebSocket 代理。对 dsh 零修改:上游升级和每用户插件安装均不受影响。 中文简介:dsh-hub 是 DeepSeek Harness (dsh) 的多用户网关,思路完全对标 JupyterHub:服务器系统账号(PAM)登录,每个用户一个完全隔离的 dsh 实例 (独立 uid/gid、独立数据目录、iptables 端口防护),浏览器直接访问 http://:3080 即可使用。不修改 dsh 任何代码——上游升级、每用户自行安装插件均不受影响。 browser ──http://:3080──▶ dsh-hub ──cookie──▶ 127.0.0.1: ──▶ dsh (user A) │ 127.0.0.1: ──▶ dsh (user B) └─ spawn as uid/gid + iptables owner-guard 架构(JupyterHub 类比) | JupyterHub | dsh-hub | | Authenticator (PAM) | 通过 authenticate-pam 实现 PAM(可选),并带有基于 su 的回退方案;HMAC 签名的会话 cookie | | Spawner | 以用户的 uid/gid 和每用户独立的 DSH_HOME 启动 dsh web --port | | Configurable HTTP proxy | http-proxy 根据会话 cookie 路由 HTTP + WebSocket | | Idle culler (jupyterhub-idle-culler) | 内置 culler,IDLE_CULL_MS(0 = 永不回收,tmux 风格的常驻) | | Single-user server trusts the hub | 通过回环代理并配合 SameSite cookie 的 CSRF 防护(JupyterHub 的信任分离) | 信任模型 dsh 的 Web 服务器会强制执行浏览器信任围栏(Origin/Host 权威校验), 以防御 DNS 重绑定和 CSRF。dsh-hub 的代理(默认 TRUST_MODE=origin-rewrite)将自身呈现为回环同源客户端: Host 和 Origin 会被重写为后端的回环权威,而跨站防护由 hub 的 SameSite=Lax 会话 cookie 承担——这正是 JupyterHub 在其代理与单用户 服务器之间使用的同一种信任分离。 TRUST_MODE=trusted-host 会使用 dsh 官方的 --trusted-host 标志启动实例,并原样转发 Host/Origin。注意:截至当前 dsh,RPC 主机对回环权威的 /api 通道会清空 trustedHosts,因此该模式仅在围栏确实消费该标志时有效(直接 LAN 绑定)。保留它是为了未来上游对代理部署的支持。 非安全上下文 polyfill 浏览器仅在安全上下文(HTTPS 或 localhost)中暴露 crypto.randomUUID()。在裸 http://:3080 上,dsh-hub 会向每个被代理的 HTML 页面注入一个自我防护的 v4-UUID polyfill(一旦 dsh 修复其剩余的直接调用,或者你通过 HTTPS 提供服务)。 远程设置(isLoopback 门控) dsh 的设置/凭据平面(Settings → Models 页面)在浏览器端被门控为仅限 loopback 页面:connection.isLoopback 派生自 location.hostname,因此即使 hub 的 origin 重写已经通过了服务端的 loopback 防护, LAN 主机名页面仍会报告 settings are unavailable in this browser。 Location 成员是 [LegacyUnforgeable] 自有访问器——没有任何 polyfill 能伪造它们——所以 dsh-hub 改为在传输过程中重写连接插件包: isLoopbackHostname(pageLocation.hostname) 变为 true。该补丁基于 dsh 未压缩包的模式匹配,按包修订版本缓存,并在上游升级重命名该表达式时 在 hub 日志中大声失败。 信任仍归属于 hub:只有经过 PAM 认证的用户才能访问后端,并且 SameSite=Lax 会话 cookie 仍会阻止跨站请求。 隔离保证(以 root 运行) - 每个 dsh 实例以用户自己的 uid/gid 运行,并设置 DSH_HOME=~/.dsh - 实例绑定 127.0.0.1:;一个 iptables owner-guard (loopback,--uid-owner)会 DROP 来自其他本地用户的连接 - 登录速率限制(5 次失败 → 每个 IP 锁定 1 分钟) - 可选的 ALLOW_USERS 允许列表 快速开始 git clone https://github.com/Mpaperlee/dsh-hub.git /opt/dsh-hub cd /opt/dsh-hub && npm install dev run (no root: no setuid/iptables, single-user semantics) DSH_BIN=/path/to/deepseek-harness/apps/cli/lib/bin.js HUB_PORT=3080 \ HUB_LOG_DIR=/tmp npm start 生产环境(root,systemd): sudo cp dsh-hub.service /etc/systemd/system/ sudo systemctl daemon-reload && sudo systemctl enable --now dsh-hub 用户浏览到 http://:3080,使用其系统用户名/密码登录,并获得一个私有的 dsh 实例。 配置 | 环境变量 | 默认值 | 含义 | | DSH_BIN | (必填) | dsh CLI 入口(已构建的检出目录:apps/cli/lib/bin.js) | | HUB_HOST / HUB_PORT | 0.0.0.0 / 3080 | hub 监听地址 | | TRUST_MODE | origin-rewrite | trusted-host 原样转发 Host/Origin(参见上文的信任模型) | | TRUSTED_HOSTS | 自动(LAN IPv4) | 用于 --trusted-host 的额外 authority(主机名/DNS 名称) | | IDLE_CULL_MS | 14400000(4 小时) | 0 禁用清理——浏览器关闭后后端继续运行 | | SESSION_TTL_MS | 7 天 | cookie 生命周期 | | ALLOW_USERS | (全部) | 逗号分隔的用户名允许列表 | | HUB_LOG_DIR | /var/log/dsh-hub | 每用户后端日志 | | COOKIE_SECRET_FILE | ./.cookie-secret | HMAC 密钥(自动生成,0600) | 说明 - 对话在浏览器关闭后仍会保留:goal/服务端驱动会在生成的 dsh 进程中继续运行;重新登录会重新附加到同一实例。 - 配置更改后执行 sudo systemctl restart dsh-hub。 - 非 root 运行是降级(开发)模式:没有 setuid 生成,没有 iptables 防护。 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Mpaperlee/dsh-hub
用系统账号登录,为每位用户隔离运行 dsh 实例
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化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,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目