开发服务器
长驻服务的后台守护进程管理——daemons.json 字段与崩溃恢复。
开发服务器(Dev Servers)(daemons)管理长驻后台进程——开发服务器、watcher、本地服务。nebflow 启动它们、保持它们存活,并在客户端中呈现它们的状态。
配置位于 ~/.nebflow/daemons.json:
{
"daemons": [
{
"id": "website-dev",
"name": "Website Dev",
"command": "npm run dev",
"cwd": "~/projects/nebflow-website",
"env": { "NODE_ENV": "development" },
"autoStart": true,
"restartOnExit": true,
"port": 3000
}
]
}
配置字段
| 字段 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
id | string | 是 | — | 唯一 daemon id |
name | string | 是 | — | 客户端 UI 中的显示名 |
command | string | string[] | 是 | — | 要运行的命令(纯字符串按空白拆分) |
cwd | string | 否 | — | 工作目录 |
env | map | 否 | {} | 额外环境变量 |
autoStart | bool | 否 | false | nebflow 启动时是否启动 |
restartOnExit | bool | 否 | false | 进程退出时是否重启 |
port | int | 否 | — | 服务监听的端口(启用健康检查与在浏览器中打开) |
崩溃恢复
全部可选且向后兼容——一个最小的 id/name/command 条目会获得合理的默认值:
| 字段 | 默认 | 说明 |
|---|---|---|
restartBackoffSec | 2 | 首次自动重启前的延迟;每次尝试翻倍,上限 60s |
restartMaxAttempts | 5 | 连续崩溃重启达到此次数后放弃(崩溃循环保护) |
restartStableWindowSec | 60 | 运行超过此时间则重置连续崩溃计数——一天只崩溃一次的 daemon 永不会被误判为耗尽 |
healthCheckSec | 15 | 周期性地对 port 做 TCP 探测;端口关闭的存活进程被视为已崩溃。0 关闭主动健康检查(仅保留进程退出检测) |
状态
一个 daemon 报告四种状态之一——stopped、running、crashed、starting——外加运行时详情:pid、启动时间、退出码与最近输出。当配置了 port 时,一个独立的可达性探针会报告端口是否接受 TCP 连接,因此一个外部启动的服务器(不受 nebflow 管理)仍会显示为可达。
管理 Daemons
客户端设置面板有一个 Dev Servers(开发服务器)区块,你可以在此添加条目并启动/停止 daemons,无需手动编辑 JSON。