前言¶
DeepSeek Harness (DSH) 的 Web 服务默认通常仅监听本地地址。要在局域网内的其他设备直接访问或调试,往往需要修改配置文件或设置 SSH 隧道。dsh-web-lan 插件通过包装 Web Server 请求处理,提供了一个无需额外配置的解决方案,将局域网流量转换为回环访问,并增加了密码登录门以控制访问权限。
插件简介¶
dsh-web-lan 是一个为 DSH Web 服务提供的局域网访问层插件,由开发者 yes8080 维护。它解决了纯 HTTP 局域网环境下的兼容性问题,提供了密码认证入口,并支持在设置页面直接管理访问密码。
核心功能¶
crypto.randomUUID补丁:修复明文 HTTP 局域网环境下crypto.randomUUID is not a function导致的 API 层失败问题。- 密码登录门:未认证的请求只能看到登录页,认证成功后以回环身份获取完整权限(包括 Agent 工具)。
- 客户端
isLoopback修复:补丁强制将浏览器端的isLoopback设为true,修复了局域网页面中”设置 → 插件配置”标签页显示空白的问题。 - 密码管理:支持在 Web 界面的”设置 → 插件 → 插件配置”中的”局域网访问”卡片修改密码,修改立即生效并持久化到
~/.dsh/settings.yaml。
安装与启用¶
执行以下命令安装并重启服务:
dsh plugin --profile web add 'git+https://github.com/yes8080/dsh-web-lan.git'
npm exec @deepseek-ai/dsh web
启动后,终端会输出局域网访问地址(通常为 http://<ip>:3080)。
典型用法¶
- 访问与登录:在局域网内的其他设备访问
http://<ip>:3080,使用默认密码123登录(建议首次登录后立即修改)。 - 环境变量设置密码:在启动前设置环境变量
export DSH_LAN_PASSWORD='strong_password'。 - 设置页管理:登录后进入”设置 → 插件 → 插件配置”卡片,在”局域网访问”区域修改密码。
安全与注意事项¶
- 默认密码风险:默认密码
123弱且公开,安装后请立即通过设置页面修改或使用环境变量覆盖。 - 传输方式:密码及数据通过 HTTP 明文传输,仅适用于可信的局域网环境。
- 权限范围:登录用户拥有与本地用户相同的完整权限。
- 环境依赖:运行需要
pnpm,若未启用需先执行corepack enable pnpm。
卸载¶
若需移除插件,执行:
dsh plugin --profile web remove dsh-web-lan
npm exec @deepseek-ai/dsh web
卸载后会自动恢复默认的 127.0.0.1 监听,局域网访问功能关闭。可选清理残留数据:
# 编辑 ~/.dsh/settings.yaml,删除 lan-access 段
rm ~/.dsh/dsh-lan-sessions.json
结语¶
dsh-web-lan 通过插件化的方式简化了 DSH Web 在局域网内的访问流程,解决了兼容性缺陷并提供了一层基本的安全门。适合需要在本地网络内快速部署和调试 DSH 应用的场景。