没有公网 IP,怎么在外网安全访问本地 DeepSeek Harness WebUI
随着 AI 智能体技术快速发展,DeepSeek Harness 这类开源 Agent 框架能够直接在本地环境完成代码阅读、项目修改、命令执行等复杂工作流任务,把大模型的能力延伸到本地项目与开发环境中。但在实际使用时,DeepSeek Harness 默认仅允许本机、内网访问,无法直接在外网便捷调用;若直接粗暴将服务暴露公网,又会带来文件篡改、命令执行等高风险安全隐患。
很多开发者希望能够居家、出差等任意地点,远程访问部署在公司或家庭内网的 DeepSeek Harness 实例,同时保障内网代码、密钥、工作文件不向外泄露,做到访问身份可控、来源可限制。本文将结合 ZeroNews 企业级内网穿透平台,完整演示一套安全受控的远程访问方案:既实现公网 HTTPS 域名远程访问内网 DeepSeek Harness WebUI,又通过身份认证、IP 白名单、地域访问围栏等多重防护手段规避公网暴露带来的安全风险,兼顾使用便捷性与内网数据安全。
下面我们演示如何在 本机 macOS 上运行 ZeroNews 跟 DeepSeek Harness
先把 dsh Web UI 跑起来
用 npm 快速启动
我们参考官网提供的 npx 命令,快速启动 DeepSeek Harness
node 版本需要 22及以上
打开终端,执行以下命令:
npx @deepseek-ai/dsh web
终端会打印 Web UI 地址,Web UI 默认监听在,127.0.0.1,一般为:
http://127.0.0.1:3080

在本机浏览器中 输入 http://127.0.0.1:3080 ,打开 dsh 的 web UI

DeepSeek Harness 配置
由于 DeepSeek Harness 的 api/agent 设置做了严格的安全限制,须满足所有 /api 请求必须来自回环地址,所以我们在本地先配置好 API Key 及 要操作的工作区,即我们要操作的项目目录
先配置 模型的 API Key
打开本地页面左下角的设置菜单中的模型配置,配置模型供应商 的 API Key

然后添加工作区

模型的API Key / 工作区都添加完成后,就可以部署 ZeroNews 客户端
安装 ZeroNews 客户端
登录 ZeroNews 控制台 → 快速开始 → 选择 macOS, 根据芯片类型复制安装命令:
mkdir -p /Applications/zeronews
cd /Applications/zeronews
curl -o zeronews.tmp https://download.zeronews.cc/macos/arm/zeronews
mv zeronews.tmp zeronews
chmod +x zeronews
任何认证设备,绑定token
./zeronews authtoken v3bY3nTVB3K7Yaja

当提示 config saved ,说明 ZeroNews 客户端安装完成, 然后以服务方式启动。
sudo ./zeronews service install
sudo ./zeronews service start

这时候在控制台的客户端关联页面,能看到客户端已经上线。

再添加域名与 HTTPS 隧道
给 Web UI 添加域名
在控制台 的 自定义域名 页面中添加子域域名,例如前缀 dshweb

添加 HTTPS 隧道
在控制台的 隧道管理页面添加 HTTPS隧道
参数如下:
- 协议:HTTPS
- 公网域名:选择刚加的 dshweb.hn.takin.cc
- 绑定设备:在线的那台客户端
- 内网地址:127.0.0.1
- 内网端口:3080
- 带宽:先配置 5M
隧道添加完成后,在隧道列表中可以查看隧道域名

因为 DeepSeek Harness 的 trust 机制,需要以域名 trust 的方式重启 DeepSeek Harness
npx @deepseek-ai/dsh web --trusted-host dshweb.hn.takin.cc

重启后,就可以在浏览器中通过隧道域名访问 DeepSeek Harness Web UI 。

访问安全增强策略
DeepSeek Harness Web UI 本身没有认证鉴权功能,同时它的系统操作权限很大,能改文件、跑命令,如果直接暴露到公网,存在极大的安全隐患,所以我们需要给 DeepSeek Harness 隧道附加安全访问策略,来保障 DeepSeek Harness 的安全受控的访问。
先给 Web UI 加一层 BasicAuth 认证
DeepSeek Harness Web UI 本身没有认证鉴权机制,一旦域名被泄漏,任何人都能访问你的 Agent,安全风险极大。
这里我们通过 ZeroNews 的 BasicAuth 功能,给DeepSeek Harness Web UI 增加一层 认证鉴权机制,只有认证通过后的 用户,才能访问 DeepSeek Harness Web UI,认证失败拒绝访问。
在 隧道的流量策略中,配置 BasicAuth


BasicAuth 配置完成后,我们再访问 Web UI, 就需要输入账号密码进行验证,验证通过后,才能正常访问

IP 白名单 / 地址围栏
加 BasicAuth 后,依然存在暴力破解的情况,所以我们还需要再增加 IP级别或地区的访问控制,来缩小可访问来源用户的范围。
这里可以按访问场景配置两种安全访问策略二选一即可,可以根据实际情况配置
访问侧有固定IP
如访问侧具备固定公网IP时,我们可以配置精确允许访问的IP白名单,来将访问范围限制在IP白名单内,白名单外的Ip地址不能访问 Web UI,最大限度的缩小公网访问来源范围。


访问侧没有固定IP,但访问都在同一个城市或省内
这种场景中,由于访问用户的公网IP会变化,我们不能通过精确的IP地址来限制访问来源,但是我们知道访问用户的活动区域,如都在广东省, 我们配置 地址围栏 策略,限制只允许广东省可以访问,其他的都不能访问,从而将访问用户的范围限制在广东省内。


对于 DeepSeek Harness Web UI , BasicAuth 策略必须要要开,地址围栏跟IP黑白名单根据实际情况开启。
DeepSeek Harness 执行任务
这里我们展示下 DeepSeek Harness Web UI 在使用过程中的常用任务操作
在工作区,新增一个会话,我这里有一个 gated 工作区, 包含一个 gated 项目
那么我们可以要agent 帮我分析 项目,可以这么说
你分析这个项目

然后要它帮我们优化项目,可以这么说
审计项目,并给出优化建议,落地到文档中

如果要多任务并行,可以新建几个会话来并行处理,如 新增一个agent 会话来做测试,可以这么说:
给出项目的测试方案

小结
我们把 DeepSeek Harness 部署在可以长期跑在内网机器上,工作区、密钥、改文件/跑命令的能力都留在本机;然后通过 ZeroNews 的BaiscAuth / 地址围栏 / IP黑白名单等安全措施进行安全可靠的公网发布,有效的限制可访问的用户范围及用户身份,让我们在任何位置都能 安全的远程执行/查看任务。
更多推荐



所有评论(0)