Windows下采用NSSM方式部署DedeBIZ智能助手

获取适用于您的机器(32位或64位)的 nssm.exe(它们都打包在 Iain 的 ZIP 文件中),并将其放入已包含在 %PATH% 环境变量中的目录(或即将添加到该变量的目录)。

以管理员身份打开命令行,并执行以下命令,将 dedebizaia 配置为服务:

C:\>nssm install dedebizaia

“NSSM 服务安装程序” 将会出现,请按以下方式进行配置:

Application(应用)选项卡

  • Path(路径):* C:\dedebizaia\dedebizaia.exe
  • Startup directory(启动目录):* C:\dedebizaia
  • Arguments(参数):* s

Details(详细信息)选项卡

  • Display name(显示名称): dedebizaia
  • Description(描述): 一个简单高效的自托管 AI 助手。
  • Startup type(启动类型): Automatic (Delayed Start)(自动(延迟启动))

这里选择了延迟启动,这样服务不会影响系统的早期启动阶段,dedebizaia 将在非延迟服务启动两分钟后运行。

I/O 选项卡

  • Output (stdout): C:\dedebizaia\log\dedebizaia-nssm.txt
  • Error (stderr): C:\dedebizaia\log\dedebizaia-nssm.txt

这样,dedebizaia 运行时所有通常在命令行控制台中显示的文本输出都会被捕获并记录到该日志文件中。

File rotation(文件轮转)选项卡

  • 勾选: Rotate files(启用文件轮转)
  • 限制文件大小: 1000000 字节(1MB)
  • Environment(环境)选项卡
  • 环境变量: PATH=%PATH%;C:\dedebizaia

这样可以确保 dedebizaia.exe 在服务运行时都能被正确找到。

配置完成后,点击 “Install service”(安装服务),如果成功,系统会进行确认。

如果失败,请返回命令行查看错误信息。安装成功后,在命令行中执行:nssm start dedebizaia,你应该会看到以下信息:

dedebizaia: START: The operation completed successfully.

可以通过查看日志文件C:\dedebizaia\log\dedebizaia-nssm.txt来确认启动是否成功,文件内容应包括:

[DedeBIZ AI Assistant]v1.0.0 server listen on 0.0.0.0:8087

dedebizaia 现在已作为服务运行,不需要手动启动,除非出现问题。NSSM 还会在 dedebizaia 崩溃时尝试自动重启服务。

如果在修改 dedebiz.toml 之后需要重启 dedebizaia,请以管理员身份打开命令行,并执行:nssm restart dedebizaia

你可能会遇到 NSSM 交互中的如下问题:

C:\>nssm restart dedebizaia
dedebizaia: STOP: The operation completed successfully.
dedebizaia: Unexpected status SERVICE_PAUSED in response to START control.

C:\>nssm start dedebizaia
dedebizaia: START: An instance of the service is already running.

C:\>nssm stop dedebizaia
dedebizaia: STOP: The operation completed successfully.

C:\>nssm start dedebizaia
dedebizaia: Unexpected status SERVICE_PAUSED in response to START control.

C:\>nssm restart dedebizaia
dedebizaia: STOP: The operation completed successfully.
dedebizaia: START: The operation completed successfully.

这样,dedebizaia 就能稳定地作为 Windows 服务运行,并在必要时进行维护和重启。