- 完成后
- 只读识别 3080 监听进程;安全停止旧 DSH 或切换新端口;验证新地址并保留回滚路径
- 适合
- 终端明确报告 3080 地址被占用的用户
- DSH
- 0.1.5-rc.1
- 系统
- Windows / macOS / Linux
- 操作时间
- 5~10 分钟
- 风险
- medium
本页目录(7)
直接修复
DeepSeek Harness Web UI 默认使用 127.0.0.1:3080。3080 被其他进程占用时,最小改动是换一个空闲端口启动:
npx @deepseek-ai/[email protected] web --port 8080
然后访问 http://127.0.0.1:8080。如果使用已安装的 CLI,也可以运行 dsh web --port 8080。在当前 0.1.5-rc.1 中,默认配置保留读取启动参数的表达式时,命令行端口值优先;用户 patch 若用字面量替换整段 config,会移除该读取,不能保证参数仍覆盖。
先只读确认占用者
只有启动终端明确报告 3080 地址已被使用,才属于本页问题。先读取监听信息,不要直接结束不认识的进程。
Windows PowerShell:
Get-NetTCPConnection -LocalPort 3080 -State Listen | Select-Object LocalAddress,LocalPort,OwningProcess
Get-Process -Id <OwningProcess>
macOS:
lsof -nP -iTCP:3080 -sTCP:LISTEN
Linux:
ss -ltnp 'sport = :3080'
预期结果是看到监听地址和进程标识。若没有监听者,但 DSH 仍在配置解析阶段退出,应回到Web UI 启动失败总排查,检查 Node、插件构建或配置错误。
路径一:正常停止旧 DSH
如果占用者是你之前启动且不再需要的 DSH,回到对应终端按一次 Ctrl+C,等待进程完成关闭,再重新运行默认命令。不要通过模糊进程名批量结束 Node 进程;同一台机器上可能还有其他开发服务。
停止后重新执行对应系统的只读检查命令。3080 不再处于监听状态,才说明旧实例已经释放端口。
路径二:保留旧服务并切换端口
如果占用者用途不明或仍需运行,保留它并给本次 DSH 使用新端口:
npx @deepseek-ai/[email protected] web --port 8080
新端口也被占用时,选择另一个本机空闲端口,并始终使用终端打印的地址。一次只修改端口,不要同时改 Host、反向代理和防火墙,这样更容易判断修复是否有效。
为什么 --host 0.0.0.0 不可用
官方 0.1.5-rc.1 CLI 参考列出了 --host、--port、可重复的 --trusted-host 与 --no-open,同时明确说明生产 Web 运行器有意不支持:
dsh web --host 0.0.0.0
该参数会以用法错误退出。这不是端口占用,也不应通过反复换端口解决。--trusted-host 只增加 /api 浏览器信任围栏接受的具名 authority,不会把监听地址开放到所有网卡。
需要远程或局域网访问时,应采用包含 TLS、认证、反向代理和访问控制的独立部署方案,不能把公网开放包装成端口冲突的简单修复。
验证修复
- 终端保持运行,没有新的绑定或配置错误。
- 新地址能加载 DSH Web UI。
- 原来的 3080 服务不受影响,或已按预期正常停止。
- Workspace 和模型入口可用。
- 关闭本次 DSH 后,新端口不再被它占用。
页面打开但输入框不可用通常不是端口错误,请看DSH Workspace 未选择;模型选择或凭据报错则进入DSH 模型与 Provider 配置。
修复后按启动排障的验证步骤复查服务与页面;2026-09-12 仅核对 rc.1 固定 CLI 说明,未运行跨平台端口测试。
回滚
停止使用 --port 启动的进程,下次不带该参数运行,就会恢复默认 3080。若同时修改过 Profile patch,不要假设命令停止后配置也自动恢复;用 dsh --profile web --dump-config 检查实际配置层。
来源与维护信息
本文根据以下原始资料整理。版本变化后,请以官方资料和页面标注的验证日期为准。