slywalker2006/dsh-passwords

slywalker2006★ 1TypeScript最后同步: 2026-08-14

在 GitHub 打开

dsh-passwords: DeepSeek Harness login gateway - first-run setup, at-rest encryption, brute-force lockout, audit log, HTTPS

README 摘要

dsh-passwords 给 DeepSeek Harness(dsh)的网页界面加一道 密码门 。 dsh 自带的网页界面没有任何登录功能——只要别人知道你的服务器地址,打开就能用,还能烧你的 API key。这个项目在 dsh 前面挡一层登录页:没登录的人一律先看到登录页,输对账号密码才放进去。 🏅 已收录于 Awesome DeepSeek Harness 生态索引(Infrastructure & Development)与 Awesome DSH Plugin 插件精选列表(Development & Runtime)。 名字的由来:这个项目最早叫 dsh-mcp-platform(当时带 MCP 功能),后来 MCP 删了,只剩一个登录网关,就改名 dsh-passwords——好记:dsh 的密码门。 它做了什么 - 登录页 + 首次配置页(第一次访问先设管理员账号) - 登录一次管 12 小时(Cookie 会话,关浏览器也不丢) - 密码用 bcrypt 哈希存库,乱试密码 5 次锁 15 分钟 - 每一步都有审计日志,一条命令就能看谁在什么时候登录/失败过 - 用户数据全部加密落盘 :用户名、IP、审计记录都是密文,就算数据库文件被偷走也看不懂 - 支持 HTTPS + 80 端口自动跳转(强烈建议公网开启) - 登录页自动跟着 dsh 的主题走(dsh 用深色它就深色) 界面截图 登录页(浅色 · 跟随系统) 登录页(深色 · 跟随 dsh 主题) 首次配置页(首次访问) dsh 主界面(登录后) 安全测试实测输出 核心源码(auth.ts) 本地先跑起来看看 需要 Node.js 22.5 以上 ( node -v 看一眼)。 启动前记得改 .env 里的 SETUP KEY (下面讲它是什么)。 SETUP KEY 是什么?在哪? SETUP KEY 是 安装密钥 。第一次打开网页时会进入"首次配置"页,要求输入它,输对了才能创建管理员账号。作用就是防止陌生人抢在你前面把平台初始化了。 它在项目根目录的 .env 文件里 ,就是这一行: 操作很简单: 1. 打开 .env ,找到 SETUP KEY= 这一行 2. 把等号后面换成你自己生成的随机串: 3. 保存,重启网关 4. 打开网页,在"预设密钥"框里输入刚才这串值 ⚠ 不改成随机值的话网关会拒绝启动。初始化完成后这个密钥就没用了,之后登录只认账号密码。 部署到服务器(跟着抄就行) 1. 装 Node.js 22+ 2. 装 dsh 并准备 API key 去 DeepSeek 开放平台拿一个 API key( sk- 开头),等会要用。 3. 下载本项目 打开 .env 改三处: 改哪里 改成什么 SETUP KEY=... 必须改, openssl rand -hex …

在 GitHub 查看完整 README →
Tools / Devauthenticationdeepseekdeepseek-harnessdshdsh-pluginlogin-gatewaysecurityself-hosted

分类