dsh-access-gate
Đã xác minh@lemoncat7/dsh-access-gate · v0.1.0-alpha.6 · MIT · Giao diện web
Non-invasive password gateway for DeepSeek Harness web deployments
Cài đặt
dsh plugin add @lemoncat7/dsh-access-gate Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.
Mã nguồn
Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.
Thẻ
Tác giả
Readme
DSH Access Gate
@lemoncat7/dsh-access-gate 为 DeepSeek Harness 提供独立、非侵入式的密码访问网关。插件不会替换 DSH 的 WebServer,也不修改 Knowledge、SSH 或其他插件的路由。
工作方式
Browser / API client -> Access Gate :3081 -> DSH upstream :3080
- 浏览器必须先登录,网关才会透明代理 HTTP 与 WebSocket。
/knowledge-api/v1默认允许携带 Bearer Token 的机器客户端通过;Token 仍由 Knowledge 插件验证。- 密码使用 Node.js
scrypt生成不可逆校验值,并保存到 DSH Credentials。 - 浏览器会话使用随机 256-bit Token,服务端只保留 SHA-256 摘要。
- 卸载插件即可移除网关,不会改动 DSH 主程序。
安装与配置
安装包后,在 DSH 的「设置 → 插件 → 访问密码门禁」中配置:
- 从 DSH 启动日志复制一次性初始化令牌并设置至少 6 位密码;公开部署建议使用 12 位以上的随机密码。
- 设置公开 Origin,例如
https://dsh.example.com:1443。 - 开启网关并设置监听地址、端口,保存后重启 DSH。
- 将 Nginx/1Panel 的
proxy_pass改为门禁端口(默认3081)。 - 限制原 DSH 端口(默认
3080)只能从可信主机访问。
公开部署必须开启 HTTPS Cookie。若反向代理与 DSH 不在同一网络命名空间,使用 0.0.0.0 并通过防火墙限制来源。
Knowledge 客户端
远程 Knowledge 客户端无需改变地址或 Token:
Authorization: Bearer dshk_...
网关只对配置的精确 API 前缀放行 Bearer 请求,不允许 /api、/plugins、/assets 等宽泛前缀。普通 DSH API 仍需要浏览器登录会话。
安全边界
此插件保护的是门禁端口。若原 DSH 端口仍暴露到公网,访问者可以绕过门禁。请同时使用 HTTPS、反向代理访问控制和主机防火墙。
开发
npm install
npm test
npm pack --dry-run