Skip to content

v0.5.0 — 独立 API 服务启停重构

Choose a tag to compare

@toddpan toddpan released this 25 Oct 11:16
· 3 commits to main since this release

独立 API 服务启停重构

设置页原来的「服务端口」只有一个输入框和「保存并立即生效」,这次把它重做成一个完整的服务面板:
首次安装自动分配端口并启动,用户可随时停止 / 启动,API 地址随表单实时变化。

交互

  • 状态一目了然:● 运行中 127.0.0.1:31800 / 已停止 · 独立端口未启动 · 主端口 XXXXX 仍可访问
  • API 地址动态显示:改端口或切换监听范围时地址实时预览,标签在 运行中 / 待应用 / 预览 间切换;运行中显示真实地址,一键复制
  • 动作跟随状态:启动服务 → 运行中改动后变 应用并重启,无改动显示 已应用;停止服务 独立可用
  • 端口留空 = 沿用当前端口(占位符灰显当前值),非法端口就地报错;自动 按钮向服务端要一个空闲端口
  • 监听范围:127.0.0.1(仅本机)/ 0.0.0.0(局域网,自动列出每条局域网地址并给出安全提醒)
  • 绑定失败(端口占用等)返回 409,原监听回滚、现状不变,错误原因就地展示

行为

  • 安装即用:首次启动自动分配空闲端口(31800–31899,占满回退系统端口)并自动监听
  • 状态持久化:运行中的服务在 DSH 重启后自动恢复同一端口;主动停止后重启仍保持停止,端口保留
  • 独立服务与 DSH 主 webserver 解耦,/system/status 与 dsh_web_service_info 都回带稳定端口与 URL

接口

操作 接口(管理令牌鉴权)
读取状态 GET /api/v1/api-keys/service
启动 / 换端口 / 换监听范围 POST /api/v1/api-keys/service/start
停止 POST /api/v1/api-keys/service/stop
建议空闲端口 GET /api/v1/api-keys/service/free-port
旧版兼容 GET / PUT /api/v1/api-keys/port(fixedPort: 0 停止)

其他

  • 去掉与 ONENAT / WorkBuddy 的关联文案和冗余说明,插件保持独立;GUI 侧边栏入口改为「API 服务」
  • 新增 service-settings 存储,旧版 fixedPort 配置读取时自动迁移
  • 新增 43 项服务生命周期冒烟测试;README / INSTALL / 教程 / SKILL 与设置页截图同步更新

安装

dsh plugin --profile <profile> add dsh-web-service
# 或指定 tarball
dsh plugin --profile <profile> add ./dsh-web-service-0.5.0.tgz

npm: npm i dsh-web-service@0.5.0