127.0.0.1:3080 打不开、访问被拒怎么办?dsh web 地址、端口排查与 DeepSeek Harness Web UI 启动指南
127.0.0.1:3080 是 dsh web 启动的 DeepSeek Harness Web UI 的默认访问地址。打不开、显示连接被拒(ECONNREFUSED),九成是因为 dsh web 服务没有在运行——先把服务启动起来,再按下面的顺序排查端口占用、系统代理和浏览器缓存,多数问题三步内解决。
这行地址是什么:dsh web 与 127.0.0.1:3080
终端里出现的 dsh web: http://127.0.0.1:3080 是 DeepSeek Harness Web UI 的启动提示,不是报错。 它告诉你:Web UI 已经在本机 3080 端口上跑起来了,浏览器访问这个地址就能打开界面(来源)。
几个关键事实:
dsh web是dsh --profile web的别名——官方 CLI 定义里,web就是--profile web的快捷写法(来源)。- 3080 是默认端口:
http://127.0.0.1:3080由官方在 README 中确认,无需任何配置。 - 本机启动会自动打开浏览器:v0.1.0-rc.8 起,本地启动 dsh web 会用默认浏览器打开页面;不想自动打开可以传
--no-open(来源)。 - 127.0.0.1 只代表本机:这个地址只有自己电脑能访问。通过 SSH 远程启动时,只会打印宿主机的 URL,本地访问要靠 SSH 客户端转发端口(来源)。
如果你看到这行提示但浏览器没打开,直接手动访问 http://127.0.0.1:3080 即可。
打不开 / 连接被拒(ECONNREFUSED)的排查流程
连接被拒(connection refused / ECONNREFUSED)的意思是:目标端口上没有任何程序在监听——也就是 dsh web 没在运行。 按下面 5 步排查:
- 确认 dsh web 是否在运行:打开启动它的终端,看进程是否还活着;如果窗口被关掉、或启动后手动退出,服务就停了。
- 重新启动 dsh web:
或已全局安装:bash
npx @deepseek-ai/dsh web # 一次性运行(未全局安装时)等待终端出现bashdsh webdsh web: http://127.0.0.1:3080提示,再访问浏览器。 - 查端口是否被占用:另一个程序占着 3080 时,dsh web 可能启动失败或换不到端口。macOS / Linux 用:
Windows 用:bash
lsof -i :3080看到占用进程,确认不是 dsh 后先停掉它,或改用powershellnetstat -ano | findstr :3080dsh web --port 8080换端口。 - 检查系统代理:开着全局代理(如 Clash、VPN)且代理规则把
127.0.0.1也转发出去时,访问本地地址可能被拦截。把本机地址加入代理的白名单/直连规则,或临时关闭全局代理再访问。 - 换浏览器 / 清缓存重试:个别浏览器缓存或插件会挡本地地址,换个浏览器或无痕窗口访问 http://127.0.0.1:3080 试试。
gateway proxy error: connect econnrefused 127.0.0.1:3080
这条报错同样指向本地服务没监听——模型网关调用时去连 127.0.0.1:3080 没连上。处理方式与上面一致:先把 dsh web 启动起来;若端口被占用则先释放端口。多发生在「Web UI 页面还开着、但后台 dsh web 进程已退出」的场景,重启服务后刷新页面即可。
--no-open 与其他常用启动参数
不想让 dsh web 自动打开浏览器时用 --no-open——服务照常启动,只是不弹浏览器窗口。 官方 CLI 行为参考确认 web 支持 --host、--port、--trusted-host、--no-open 四个参数(来源):
--no-open:只运行服务器,不打开浏览器。适合 SSH 远程、服务器环境,或你自己手动管理浏览器窗口:终端仍会打印访问地址,复制到浏览器打开即可。bashdsh web --no-open--port <n>:换端口。3080 被占用或想避开代理规则时用:改完访问 http://127.0.0.1:8080。bashdsh web --port 8080--host <ip>:改监听地址;--trusted-host <host>:声明可信任的访问来源(可重复传)。官方 CLI 行为参考只列了这三个 web 参数(--host、--port、可重复的--trusted-host),并明确暂不支持--host 0.0.0.0——传 0.0.0.0 会直接报 usage error 退出。需要远程/局域网访问时,正确做法是用--trusted-host <主机名>把它加入/api浏览器信任栅栏(browser-trust fence),而不是把监听地址放开到所有网卡(来源)。- 生产运行需要构建产物:从 npm 安装的 dsh 自带构建产物;从源码仓库跑时,缺
pnpm run build的产物会让dsh web在启动时明确报错、提示先构建。注意这是「服务本体」的要求,与插件无关(来源)。 - 关闭用 Ctrl+C:第一次 Ctrl+C 触发优雅关闭——插件树最多有 5 秒清理现场;卡住时再按一次 Ctrl+C 立即强制退出。SIGINT 的退出码是 130(来源)。
- 注意这些是 web 应用的参数,要放在
dsh web之后,不能放在dsh前面(dsh web --port 8080而不是dsh --port 8080 web)。dsh web --help打印的也是 web 应用的帮助,不是 dsh 启动器的。
注意事项
127.0.0.1:3080是本机地址,手机、其他电脑访问不了;远程访问要靠端口转发。- 连接被拒先怀疑「服务没运行」,别急着改配置。
- 端口被占用时先
lsof -i :3080(macOS/Linux)或netstat -ano | findstr :3080(Windows)定位进程。 - 开全局代理时把 127.0.0.1 加入直连/白名单,避免本地地址被劫持。
dsh web启动提示出现后再访问页面;提示没出现说明服务没起来。- Web UI 打开后,装插件可到「设置 → 插件中心」——即社区插件市场 DSH Plugin Hub,图形化安装比命令行更省事。

来源:DeepSeek Harness README、dsh CLI 行为参考、v0.1.0-rc.8 Release Notes
常见问题
它是 dsh web 启动的 DeepSeek Harness Web UI 的默认访问地址。127.0.0.1 表示只在本机可访问,3080 是 Web UI 的默认端口,本机启动时还会自动用默认浏览器打开页面(v0.1.0-rc.8 起)。
九成是因为 dsh web 服务没有在运行——先重新启动 dsh web,再依次排查端口是否被其他进程占用(lsof -i :3080)、系统全局代理是否劫持了 127.0.0.1 流量、浏览器缓存是否需要刷新。
这条报错表示调用模型网关时本地 Web 服务(127.0.0.1:3080)没有在监听。先启动 dsh web 让服务跑起来;若端口已被占用,先找到占用进程释放端口,再重新启动。
手动在浏览器访问 http://127.0.0.1:3080 即可。v0.1.0-rc.8 起本机启动会默认自动打开浏览器;如果之前加了 --no-open 参数,去掉它就会恢复自动打开。SSH 远程启动只会打印宿主地址,需要自己转发端口访问。
启动时用 dsh web --port 8080 指定其他端口,改完后访问 http://127.0.0.1:8080。端口被占用或想避开代理规则时很常用,注意 --port 属于 web 应用的参数,要放在 dsh web 之后。
来源
- DeepSeek Harness README(dsh web 启动与默认地址)· deepseek-ai
- DeepSeek Harness CLI 行为参考(web 参数与 --no-open)· deepseek-ai
- DeepSeek Harness Release Notes(v0.1.0-rc.8)· deepseek-ai