跳到正文
MyDSH我的 DSH 实战笔记
English
独立维护,非DeepSeek官方;与mydsh.dev等其他MyDSH站点无关联。

首页/起步与安装/安装与启动

在 Windows 11 上跑通 dsh web 并记下带 token 的启动 URL

第一次在本机开 Web 界面。要搞清楚两件事:403/401 是不是服务挂了,以及终端里那串带 token 的地址到底是干什么用的。

已核验版本与环境核验日期2026-11-14
宿主版本
0.1.2-alpha.5(源码checkout)
Node
22.22.2(engines: ^22.19.0 || >=24.0.0)
系统
Windows 11
核验日期
2026-11-14

可复制指令

dsh web

dsh web启动后会先在终端打印一行地址,形如:

dsh web: http://127.0.0.1:3080/?token=cp0HyI6s8-uj9B-Meq2Kvmsq1BveDyX5FgAgAD09mP0
dsh web: opening the default browser; pass --no-open to disable

这行里的 ?token= 后面那串不是装饰。裸开 http://127.0.0.1:3080/ 会返回HTTP 401,正文写着authentication required / reopen the URL printed by dsh web。这不是端口没监听,也不是服务崩了,是浏览器信任围栏在拦。

判断方法:先 curl -sI http://127.0.0.1:3080/。返回 401 说明进程活着、只是没带令牌;如果连不上(curl报connection refused),那才是进程真的没了。

完整步骤

  1. 先确认node版本满足engines。源码版要求 ^22.19.0 || >=24.0.0;npm上的0.2.2系列要求 >=24.9.0,两者门槛不同。
  2. 启动。源码checkout里跑的是TS入口,必须带tsx预加载;全局安装后则是 dsh web。
  3. 把终端里打印的完整地址(含 ?token=)整条复制到浏览器。不要手输,token里含大小写与短横,容易错一位。
  4. 浏览器里能打开界面、能发一句话、能拿到回复,才算跑通。
  5. 把token记在你自己的密码管理器里,不要贴进任何公开页面或聊天记录。

源码checkout的启动命令(本机实测可用):

node --max-old-space-size=8192 --import tsx/esm apps/cli/src/bin.ts web

全局安装后的启动命令:

dsh web

token 会变

重启进程就换一个新token,旧URL立刻失效。所以「昨天还能打开、今天401」是正常现象,不是配置坏了。自启脚本里通常会带 --no-open,等于不自动弹浏览器,URL只落在日志里——这种情况去日志最后一行找。

tail -1 ~/.dsh/logs/dsh-web-autostart.log

默认端口是3080。这个端口被占用时启动会失败,要么先关掉占用进程(netstat -ano | findstr :3080),要么用 --port 换一个。

怎么算跑通

照着逐条对,全过才算完成。有一条没过,先解决它再往下。

  • 浏览器能打开界面,不是401也不是403
  • 能发出一条消息并拿到回复
  • 重启进程后旧URL变401,新URL可用(说明token机制正常)
  • 端口占用时启动报错信息可读,不是静默失败

会失败在哪

现象 / 原因 / 怎么办,按实际踩到的顺序写。

现象原因怎么办
裸开3080报401 authentication required浏览器信任围栏要求带token,不是服务故障从终端或日志复制完整URL(含 ?token=)。别重启服务,重启只会换掉token
启动直接报EBADENGINEnode版本低于engines要求。0.2.2系列要 >=24.9.0,本机22.x不满足升node到24.9+,或改装0.2.1-rc.5及更早版本(那条线没有engines声明)
端口3080被占用上一次的dsh web没退干净,或别的程序占了这个端口netstat -ano | findstr :3080找到PID,确认是自己的残留再结束;否则换 --port

来源

标「已核验」的,来自本站实跑;标「公开资料整理」的,逐条附出处。