dsh-multi-user:DeepSeek Harness 单进程多用户视图分档插件

前言

DeepSeek Harness(DSH)的设计理念是“一切皆插件”。在单机多用户共用一个 DSH 进程的场景下,默认的 Web 界面对所有登录用户展示全量工作区,缺乏隔离。dsh-multi-user 插件通过登录墙和视图分档机制,解决了这一需求。

插件概览

名称:dsh-multi-user
一句话:Single-process multi-user workspace view partitioning for DeepSeek Harness: JWT-in-cookie login wall, per-user workspace/session partitioning, and admin user management.
维护者:nabin-qq273274877
分类:admin-security
许可证:MIT

核心功能

  1. JWT 登录墙:挂载后访问首页需先通过验证,未设主管理员时显示初始化页,已设则显示登录页;登录成功后插件自签 JWT 写入 HttpOnly Cookie。
  2. 按用户过滤工作区/会话:每个用户(含主管理员)维护一份已加入的工作区路径清单。用户通过目录选择器加入任意路径,只有加入过的路径(及其下会话)对本人可见,其他用户看不到。
  3. 用户管理:主管理员经初始化后,可在设置页的「用户管理」中添加、删除、重置密码及启用/停用子用户。
  4. 单进程无侵入架构:无需额外网关进程,直接作为普通插件集成,安装/还原成本低。

安装与启用

在终端执行以下命令安装插件:

npx @deepseek-ai/dsh plugin --profile web add dsh-multi-user

安装完成后,重启 dsh web 进程使插件生效。

典型用法

  1. 初始化主管理员:访问 http://127.0.0.1:3080/,根据页面提示设置主管理员账号。
  2. 添加子用户:登录主管理员账号,进入设置页的「用户管理」区域,添加子用户。
  3. 用户加入工作区:子用户登录后,在侧边栏通过目录选择器选择本地路径加入工作区,该路径及下属会话仅对该用户可见。

适用场景与注意事项

  • 安全边界:这不是强隔离方案。同一进程内所有用户共享 workspaceRegistry,Agent 工具仍可操作宿主机任意路径。
  • 卸载影响:卸载后 sidebar.workspaces 会恢复为官方的全量视图,但插件数据目录 $DSH_HOME/plugins-data/dsh-multi-user/ 会保留。

总结

该插件适合需要在同一台机器上实现多用户分档查看、轻量级登录验证的场景。通过 JWT-in-cookie 方式实现身份隔离,配合视图过滤降低管理复杂度。

GitHub 仓库
插件目录页

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜