DeepSeek Harness 是什么
DeepSeek Harness 是 deepseek 开源的 agent harness(智能体框架)。它采用【一切皆插件】的架构,由 Cordis 驱动,方便用插件扩展能力,而不是把所有逻辑写死在一个单体里, 和【只聊天】的网页不同,Harness 更贴近写代码、改仓库/执行任务这一类工作流任务。
DeepSeek Harness 提供本地 Web UI, 在Web UI 中可以执行各种任务,默认监听在本机 http://127.0.0.1:3080,默认只能本地或内网访问,在 Web UI 里选好工作区(workspace)之后,你可以给 Agent 下任务,例如总结仓库结构、改文件、跑命令;敏感操作会按当前权限策略征求确认。
我们可以把 DeepSeek Harness Web UI 部署在固定不动的一台电脑上,帮我们长时间自动执行任务,然后通过内网穿透将 Web UI 代理出来,这样我们就能通过公网,在任何位置都能访问家里或公司内部的 DeepSeek Harness Web UI。
ZeroNews 内网穿透
ZeroNews(零讯)是一个企业级安全内网穿透与反向代理平台,专注于为企业及个人提供安全/稳定/高速的内网应用访问方案,可以在企业无固定公网 IP 的网络环境下,几分钟就能为内网中的 DeepSeek Harness Web UI 提供稳定可访问的的 HTTPS 公网域名, 以便于在任何位置任何时候都能访问 DeepSeek Harness Web UI。
如何利用 ZeroNews 实现安全受控的远程访问 内网DeepSeek Harness
下面我们演示如何在 本机 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/zeronewscd /Applications/zeronewscurl -o zeronews.tmp https://download.zeronews.cc/macos/arm/zeronewsmv zeronews.tmp zeronewschmod +x zeronews
任何认证设备,绑定token
./zeronews authtoken v3bY3nTVB3K7Yaja
当提示 config saved ,说明 ZeroNews 客户端安装完成, 然后以服务方式启动。
sudo ./zeronews service installsudo ./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级别或地区的访问控制,来缩小可访问来源用户的范围。
这里可以按访问场景配置两种安全访问策略二选一即可,可以根据实际情况配置
1. 访问侧有固定IP
如访问侧具备固定公网IP时,我们可以配置精确允许访问的IP白名单,来将访问范围限制在IP白名单内,白名单外的Ip地址不能访问 Web UI,最大限度的缩小公网访问来源范围。
2. 访问侧没有固定IP,但访问都在同一个城市或省内
这种场景中,由于访问用户的公网IP会变化,我们不能通过精确的IP地址来限制访问来源,但是我们知道访问用户的活动区域,如都在广东省, 我们配置 地址围栏 策略,限制只允许广东省可以访问,其他的都不能访问,从而将访问用户的范围限制在广东省内。
对于 DeepSeek Harness Web UI , BasicAuth 策略必须要要开,地址围栏跟IP黑白名单根据实际情况开启。
DeepSeek Harness 执行任务
这里我们展示下 DeepSeek Harness Web UI 在使用过程中的常用任务操作
在工作区,新增一个会话,我这里有一个 gated 工作区, 包含一个 gated 项目
那么我们可以要agent 帮我分析 项目,可以这么说
你分析这个项目
然后要它帮我们优化项目,可以这么说
审计项目,并给出优化建议,落地到文档中
如果要多任务并行,可以新建几个会话来并行处理,如 新增一个agent 会话来做测试,可以这么说:
给出项目的测试方案
小结
我们把 DeepSeek Harness 部署在可以长期跑在内网机器上,工作区、密钥、改文件/跑命令的能力都留在本机;然后通过 ZeroNews 的BaiscAuth / 地址围栏 / IP黑白名单等安全措施进行安全可靠的公网发布,有效的限制可访问的用户范围及用户身份,让我们在任何位置都能 安全的远程执行/查看任务。