DeepSeek Harness plugin

dsh-server-login

面向公网的多租户 DSH 托管平台:登录审核、每用户隔离的 DSH 环境(主 + 按需守护)、桌面与域名访问。

Jump to install

Source facts

Repository
pointer-a/dsh-server-login
Latest update
Aug 21, 2026
Category
Development & Runtime
GitHub stars
6
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/pointer-a/dsh-server-login
Plugin: dsh-server-login
Author: pointer-a

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-server-login

面向公网的多租户 DSH 托管平台 —— 部署到一台公网服务器后,多个用户注册并经管理员审核,各自获得一套相互隔离DeepSeek Harness(DSH)环境,随时通过域名安全访问。

> 以 DSH 插件市场 的 cordis-plugin 形态分发,遵守 [STANDARD.md](STANDARD.md)。

它解决什么

DSH 本身是单用户本地工具,没有认证、没有多租户隔离、Web 远程访问缺认证层。dsh-server-login 在其之上补一层服务端登录 + 多租户编排:管理员审核注册用户,每个用户落到自己的文件桌面,按文件夹启动 DSH、选择启用哪些插件,通过域名访问,且彼此文件隔离(已适配手机端)。

核心能力

  • 登录与审核:管理员先行(bootstrap-admin),用户注册后需管理员审核通过;独立管理台 UI。
  • 每用户隔离的 DSH 环境:主 DSH 负责正常工作;崩溃时按需拉起一次守护 DSH 修复并自动重启;装插件重启时守护执行主 DSH 给出的 post-restart 命令。
  • 登录桌面:文件浏览 / 建文件夹 / 上传;按文件夹启动 DSH;每文件夹独立勾选启用的插件(自动检测该用户 profile 中已安装的插件,持久化并注入 cordis patch)。
  • 域名访问:默认域名 + 每用户子路径 /u/<userId>/dsh/;自定义域名 + nginx 配置生成接口。
  • 硬隔离(Linux):每用户独立 OS 账号(setuid 降权),0700 目录真正隔离跨用户读。

架构总览

用户浏览器 → nginx(TLS) → 编排服务(Fastify + SQLite,单进程)
                              ├─ 认证 / 审核 / 桌面 / 域名 API
                              └─ /u/<userId>/dsh/* → 子 DSH(127.0.0.1:动态端口)
每用户子 DSH(主 + 按需守护)只绑回环端口,由编排服务反向代理对外。

编排服务以 child_process 按用户 spawn DSH 子进程,端口随机分配、崩溃自动重启。完整设计见 [docs/blueprint.md](docs/blueprint.md)。

快速开始

npm install
npm run build                                        # tsc → lib/
node lib/cli.js bootstrap-admin --username admin --password '<强密码>' --db ./dev.local.db
node lib/cli.js --port 3080 --db ./dev.local.db

访问 http://127.0.0.1:3080/:登录 / 注册 / 管理台 / 桌面(详细部署流程见 [docs/deployment.md](docs/deployment.md))。

配置

环境变量默认说明
DSH_SERVER_LOGIN_PORT3080编排服务绑定端口
DSH_SERVER_LOGIN_DATA_ROOT~/.dsh-server-login每用户 home/workspace 根(生产 /var/lib/dsh-server-login
DSH_SERVER_LOGIN_DSH_BINdsh子 DSH 可执行
DSH_SERVER_LOGIN_ISOLATION_MODEsoftsoft 软隔离 / account 账号级硬隔离(Linux,需 root)
DSH_SERVER_LOGIN_BASE_UID100000账号级隔离的 uid 基数
DSH_SERVER_LOGIN_SECURE_COOKIESfalseHTTPS 部署设为 true

其余可调项(dshCommandspawnAsUserCommandrestartBackoffMssessionTtlSecondsmaxUploadBytes 等)见 src/config.ts 与各文档。

文档

  • [docs/blueprint.md](docs/blueprint.md) — 技术设计(拓扑 / 数据模型 / API / 双 DSH)
  • [docs/deployment.md](docs/deployment.md) — Linux 生产部署(账号级隔离 / nginx / systemd)
  • [docs/domain-config.md](docs/domain-config.md) — 域名与 nginx 配置示例
  • [docs/troubleshooting.md](docs/troubleshooting.md) — 常见问题排查(502 / 404 / SSL / 401 / 端口冲突)

安全

默认软隔离(每用户 $DSH_HOME + session cwd + 沙箱写隔离)。Linux 生产部署建议开启账号级硬隔离(每用户 OS 账号,闭合同 UID 越权读)。详见 [docs/deployment.md](docs/deployment.md)。

问题反馈与支持

这是我开发的第一个正式项目,功能可能还不够完善,非常欢迎大家提出意见和反馈! 如果你在使用过程中遇到问题,或者有改进建议,欢迎提交 [Issue](../../issues):

  • 🐛 遇到 Bug:请描述你的复现步骤、报错信息、以及运行环境(系统/DSH 版本等)
  • 💡 功能建议:请说明你的使用场景和你期望的效果
  • 📖 文档疑问:指出 README 中看不懂或描述不清的地方

我会尽量在 1~2 天内回复,确认有效的问题会尽快修复并发布更新。 感谢你的支持!🌟

许可证

[MIT](LICENSE)