开发服务器

长驻服务的后台守护进程管理——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
    }
  ]
}

配置字段

字段类型必填默认说明
idstring是—唯一 daemon id
namestring是—客户端 UI 中的显示名
commandstring | string[]是—要运行的命令(纯字符串按空白拆分)
cwdstring否—工作目录
envmap否{}额外环境变量
autoStartbool否falsenebflow 启动时是否启动
restartOnExitbool否false进程退出时是否重启
portint否—服务监听的端口(启用健康检查与在浏览器中打开)

崩溃恢复

全部可选且向后兼容——一个最小的 id/name/command 条目会获得合理的默认值:

字段默认说明
restartBackoffSec2首次自动重启前的延迟;每次尝试翻倍,上限 60s
restartMaxAttempts5连续崩溃重启达到此次数后放弃(崩溃循环保护)
restartStableWindowSec60运行超过此时间则重置连续崩溃计数——一天只崩溃一次的 daemon 永不会被误判为耗尽
healthCheckSec15周期性地对 port 做 TCP 探测;端口关闭的存活进程被视为已崩溃。0 关闭主动健康检查(仅保留进程退出检测)

状态

一个 daemon 报告四种状态之一——stopped、running、crashed、starting——外加运行时详情:pid、启动时间、退出码与最近输出。当配置了 port 时,一个独立的可达性探针会报告端口是否接受 TCP 连接,因此一个外部启动的服务器(不受 nebflow 管理)仍会显示为可达。

管理 Daemons

客户端设置面板有一个 Dev Servers(开发服务器)区块,你可以在此添加条目并启动/停止 daemons,无需手动编辑 JSON。