Repository navigation
v0.5.0 — 独立 API 服务启停重构
独立 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.tgznpm: npm i dsh-web-service@0.5.0