开源 Agent 框架 DeepSeek Harness:内网穿透安全远程访问实践
DeepSeek Harness 作为开源 Agent 智能体框架,具备修改文件、执行命令、分析代码仓库等强大能力,默认仅支持本机内网访问。很多开发者希望能够在外网远程操作 Web UI,但直接将服务暴露到公网会带来极高安全风险。
本文将使用 ZeroNews 搭建 HTTPS 隧道,完整演示内网环境下 DeepSeek Harness 外网访问全流程,同时重点讲解 BasicAuth、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 的内网穿透能力,无需公网服务器,即可为内网的 Harness Web UI 生成 HTTPS 公网访问入口。
配置过程中务必开启 BasicAuth 身份认证,再结合业务场景选用 IP 白名单或者地址围栏进一步缩小访问来源。整套方案下模型密钥、项目工作区全部保留在内网设备,公网仅做流量转发,既实现随时随地远程下发 Agent 任务,又保障内网资源的安全受控。
更多推荐

所有评论(0)