start-dsh
一个能够直接快速启动DSH的ps脚本,具备高峰时段检测功能,高峰时段启动时不会直接进入DSH,反之直接进入,帮助个人开发者省钱省力
- Stars
- 0
- Language
- PowerShell
- Created
- Aug 22, 2026
- Updated
- Sep 23, 2026
Introduction
start-dsh
DSH(DeepSeek Harness)Web 界面一键启动脚本(Windows PowerShell)。
本脚本等价于执行官网命令 npx @deepseek-ai/dsh web,并在此基础上提供:
- 高峰时段检查:北京时间周一至周五(不含中国法定节假日)9:00–12:00、14:00–18:00 启动前提示确认(y/n)
- 空闲时段直接进入:其余时段(含周末及中国法定节假日全天)为空闲时段,价格为高峰时段的一半,无需提示直接启动
- 内置法定节假日表:收录 2025、2026 年中国法定节假日;缺当年数据时退化为“仅按周一至周五”判定并给出警告
- 端口占用检测:DSH 已在运行时只打开浏览器,不重复启动
- 自动打开浏览器:端口就绪后自动访问
- 前台 / 后台 两种运行方式
环境要求
- Windows + PowerShell 5.1 及以上
- Node.js(提供
npx;或 PATH 中已安装dsh)
快速开始
.\start-dsh.ps1
空闲时段直接启动;高峰时段会提示:
当前为高峰时段(北京时间周一至周五 9:00-12:00、14:00-18:00,法定节假日除外),空闲时段价格为高峰时段的一半,是否继续进入?请输入 y/n
输入 y/Y 继续启动,输入 n/N 取消。
空闲时段(含周末与中国法定节假日全天)不会询问,直接进入并提示:
当前为空闲时段(周末),价格为高峰时段的一半,直接启动。
括号内为判定原因,可能为 周末、中国法定节假日、工作日非高峰时段。
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
-Port | 3080 | 监听端口,传 0 表示系统自动分配 |
-BindHost | 127.0.0.1 | 绑定地址,仅本机可访问(安全默认值) |
-TrustedHost | (空) | 额外信任的浏览器来源,对应 dsh 的 --trusted-host(host 或 host:port) |
-NoBrowser | — | 启动后不自动打开浏览器 |
-Background | — | 后台运行,日志写入 %USERPROFILE%\.dsh\logs |
示例
# 默认启动(前端 http://127.0.0.1:3080)
.\start-dsh.ps1
# 指定端口,且不自动打开浏览器
.\start-dsh.ps1 -Port 8080 -NoBrowser
# 后台启动
.\start-dsh.ps1 -Background
后台模式会打印 PID、日志路径与停止命令:
taskkill /PID <pid> /T /F
实现细节
- 北京时间以 UTC+8 计算,与本机时区无关(中国无夏令时)。
- 峰谷判定规则:
- 高峰时段:周一至周五(不含中国法定节假日)9:00–12:00 与 14:00–18:00(含起点、不含终点)。
- 空闲时段:其余所有时间,包括周末及中国法定节假日全天;空闲时段价格为高峰时段价格的一半。
- 法定节假日数据取自国务院办公厅通知,仅收录“放假”日期;调休补班日(周六/周日上班)仍按周末处理,全天为空闲时段。
- 节假日表内置 2025、2026 年。国务院通常每年 11 月前后公布次年安排,届时需在脚本内的
$script:ChinaHolidays中补充;若当前年份缺少数据,脚本仅按周一至周五判定并输出警告。 - 若目标端口已有 DSH 实例在运行,脚本直接打开浏览器并退出,不再提示。
- 工作目录固定为脚本所在目录,DSH 会话按该目录归类。