dsh-passwords
Turns DeepSeek Harness into a server-grade multi-tenant platform: remote access + auto HTTPS, subuser permissions & token/daily quotas, sandbox enforcement, encrypted auth & audit log.
Install
dsh plugin --profile web add dsh-passwords
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
dsh-passwords
[English](README_en.md) | 简体中文
<p align="center">
<img src="docs/banner.jpg" alt="dsh-passwords" width="100%">
</p>
<p align="center">
<a href="https://github.com/slywalker2006/dsh-passwords/releases/latest"><img src="https://img.shields.io/github/v/release/slywalker2006/dsh-passwords?style=flat-square" alt="Version"></a>
<a href="https://github.com/slywalker2006/dsh-passwords/stargazers"><img src="https://img.shields.io/github/stars/slywalker2006/dsh-passwords?style=flat-square" alt="Stars"></a>
<a href="https://www.npmjs.com/package/dsh-passwords"><img src="https://img.shields.io/npm/v/dsh-passwords?style=flat-square" alt="npm"></a>
<a href="https://www.npmjs.com/package/dsh-passwords"><img src="https://img.shields.io/npm/dm/dsh-passwords?style=flat-square" alt="Downloads"></a>
<a href="https://github.com/slywalker2006/dsh-passwords/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/slywalker2006/dsh-passwords/ci.yml?style=flat-square&label=CI" alt="CI"></a>
<a href="https://github.com/deepseek-ai/deepseek-harness"><img src="https://img.shields.io/badge/DSH-0.2.1--alpha.2-4c6ef5?style=flat-square&labelColor=454a54" alt="DSH"></a>
<img src="https://img.shields.io/badge/license-GPL--3.0-blue?style=flat-square" alt="License">
<a href="https://github.com/awesome-dsh-plugin/awesome-dsh-plugin"><img src="https://img.shields.io/badge/Awesome-DSH%20Plugin-9370db?style=flat-square" alt="Awesome DSH Plugin"></a>
<a href="https://github.com/0xsline/awesome-deepseek-harness"><img src="https://img.shields.io/badge/Awesome-DeepSeek%20Harness-4c6ef5?style=flat-square" alt="Awesome DeepSeek Harness"></a>
<a href="https://github.com/Zhiyuan-Fan/Awesome-DeepSeek-Harness-Plugins"><img src="https://img.shields.io/badge/%E6%94%B6%E5%BD%95-Awesome%20%E6%8F%92%E4%BB%B6%E7%B2%BE%E9%80%89-15aabf?style=flat-square" alt="Awesome 插件精选收录"></a>
<a href="https://github.com/bruc3van/awesome-dsh-plugin"><img src="https://img.shields.io/badge/%E6%94%B6%E5%BD%95-DSH%20%E7%B2%BE%E9%80%89%E7%9B%AE%E5%BD%95-1c7ed6?style=flat-square" alt="DSH 精选目录收录"></a>
<a href="https://github.com/imsai-sh/awesome-deepseek-harness-plugins"><img src="https://img.shields.io/badge/%E6%94%B6%E5%BD%95-1024%20%E6%8F%92%E4%BB%B6%E5%95%86%E5%BA%97-0ca678?style=flat-square" alt="1024 插件商店收录"></a>
</p>
<p align="center">
<strong>让多人远程共用 DeepSeek Harness,按账号管理工作区、会话和用量</strong><br>
<em>账号登录 · 工作区与会话授权 · 用量配额 · 审计日志 · 中英双语</em>
</p>
<div align="center">
[适用场景](#适用场景) · [功能](#功能) · [快速开始](#快速开始) · [首次配置](#首次配置) · [卸载](#卸载) · [自动 HTTPS](#自动-https) · [部署拓扑](#部署拓扑) · [配置参考](#配置参考) · [常见问题](#常见问题) · [安全与隐私](#安全与隐私) · [参与贡献](#参与贡献)
</div>
适用场景
你想做什么 · dsh-passwords 提供什么
小团队共用服务器上的 DSH · 独立登录账号、子用户管理与用量配额
只把指定项目或对话分享给他人 · 工作区白名单与逐会话授权
集中管理远程访问 · 登录限流、审计日志,以及宿主机自动 HTTPS 或反代部署
核心使用流程:主用户创建子账号 → 分配工作区、会话和额度 → 子用户登录并使用获授权的资源。
功能
- 登录认证:首次配置创建主用户;网页与受保护的 API 需要登录,会话 12 小时有效
- HTTPS 部署:宿主机直接部署支持自动申请与续期证书、HTTP 跳转 HTTPS(需公网域名可解析及 80/443 可达);Docker 默认由外层反代提供 HTTPS
- 多租户:一个主用户加任意多个子用户,账号管理全部在 dsh 设置页完成
- 权限与配额:目录白名单(可读取目录
allowedFolders)、逐会话开关、每小时 token 上限、每日时长上限、沙盒三档、上传与下载开关、SSH 与终端开关、封禁 - 会话授权:工作区权限不自动包含其中全部会话,主用户逐会话授予;归档状态在工作区列表与会话列表间保持一致
- 运维视图:主用户可查看全部工作区与会话,下载非敏感普通文件
- 审计与安全:登录限流与锁定、审计日志、SQLite 中用户名及审计敏感字段加密、密码 bcrypt 哈希、登出即吊销会话
- 设置页卡片:远程设置补丁重载、软件更新、账号与权限管理、站内留言,全部中英双语
界面截图
账号管理 · 权限与配额
<img src="https://raw.githubusercontent.com/slywalker2006/dsh-passwords/main/docs/screenshots/card-front.png" width="480"> · <img src="https://raw.githubusercontent.com/slywalker2006/dsh-passwords/main/docs/screenshots/card-back.png" width="480">
dsh 主界面 · 登录后 · 聊天 / 留言
<img src="https://raw.githubusercontent.com/slywalker2006/dsh-passwords/main/docs/screenshots/main-ui.png" width="480"> · <img src="https://raw.githubusercontent.com/slywalker2006/dsh-passwords/main/docs/screenshots/chat.png" width="480">
登录页 · 浅色 · 登录页 · 深色 · 登录页 · English
<img src="https://raw.githubusercontent.com/slywalker2006/dsh-passwords/main/docs/screenshots/white-login.png" width="360"> · <img src="https://raw.githubusercontent.com/slywalker2006/dsh-passwords/main/docs/screenshots/black-login.png" width="360"> · <img src="https://raw.githubusercontent.com/slywalker2006/dsh-passwords/main/docs/screenshots/white-login-en.png" width="360">
快速开始
前置条件
- Docker:需要 Docker Engine 或 Docker Desktop 和一个 DeepSeek API key;镜像内置 DSH,不需要先在宿主机安装 Node.js 或 dsh。
- 宿主机:运行环境需要 Node.js 22.19+(22.x)或 24+、可正常运行的 dsh、git 与 pnpm;一键安装器会检查依赖并按需安装,手动注册插件需要 pnpm。
- DSH 版本:版本门禁接受
>=0.2.1-alpha.1 <0.2.2-0,当前开发依赖与 Docker 默认运行时锁定0.2.1-alpha.2。通过版本门禁不等于范围内每个版本都已实测,详见[版本兼容](#版本兼容)。
当前发布版本为 2.7.8,Docker 镜像内置 DSH 0.2.1-alpha.2;源码检出以 package.json 为准。
推荐:Docker 本地试用
先启动容器,再通过浏览器创建主用户。以下多行命令适用于 bash,请将两个密钥占位值替换为自己的值:
docker run -d \ --name dsh-passwords \ --restart unless-stopped \ -e DEEPSEEK_API_KEY=sk-你的key \ -e SETUP_KEY=自己设定的强随机串 \ -p 127.0.0.1:3088:3088 \ -v dsh-home:/data/dsh \ -v dsh-passwords-state:/data/dsh-passwords \ skywalker237234/dsh-passwords:2.7.8
Windows PowerShell 可使用同一条命令的一行形式:
docker run -d --name dsh-passwords --restart unless-stopped -e "DEEPSEEK_API_KEY=sk-你的key" -e "SETUP_KEY=自己设定的强随机串" -p 127.0.0.1:3088:3088 -v dsh-home:/data/dsh -v dsh-passwords-state:/data/dsh-passwords skywalker237234/dsh-passwords:2.7.8
在运行 Docker 的机器上打开 http://127.0.0.1:3088,输入你设置的 SETUP_KEY 创建主用户,此后使用账号密码登录。这个地址只在 Docker 宿主机本机可访问;若容器运行在远程服务器上,请通过 SSH 端口转发访问,或配置 nginx / Caddy 的 HTTPS 反代。
省略 -e SETUP_KEY 时,容器会生成随机密钥;首次配置前用下面的命令读取,配置成功后该文件自动删除:
docker exec dsh-passwords cat /data/dsh- …(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::36,最后更新 2026-10-09