跳转至

系统服务管理 (systemd / launchd)

为了支持将 Kesoku 部署为长期运行的后台守护进程(例如 Discord 或 Google Chat 聊天机器人),命令行工具内置了 kesoku service 服务管理命令组。该工具会自动检测宿主机操作系统类型,在 Linux 上自动生成并管理 systemd 服务单元,在 macOS 上自动生成 launchd 属性列表配置(.plist)。


📥 安装后台服务

将 Kesoku 注册为开机自启的系统后台服务:

1. 用户级服务 (User-Level, 推荐)

运行在当前普通用户权限范围内,不需要 root / sudo 管理员权限:

kesoku service install -c private/config.toml

2. 系统级服务 (System-Level)

运行在全局系统范围内,需要 sudo 权限来安装:

sudo kesoku service install --system -c private/config.toml

🔧 注入与继承环境变量

默认情况下,服务安装程序会自动从您执行安装命令的终端 shell 中继承以下环境变量(如果存在): PATH, HTTP_PROXY, HTTPS_PROXY, GOOGLE_API_KEY, GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION, GOOGLE_GENAI_USE_VERTEXAI, DISCORD_TOKEN

如果您需要显式覆盖或为服务注入其他的环境变量,可以使用 -e / --env 选项(可以多次声明):

kesoku service install -c config.toml -e GEMINI_API_KEY=your_api_key -e CUSTOM_PORT=8080

🔍 预览配置 (Dry-Run)

在不真正写入系统目录的情况下,在终端打印出生成的 systemd unit 文件或 plist 文件配置内容:

kesoku service install --dry-run -c config.toml

🕹️ 控制服务运行

服务安装成功后,您可以使用以下子命令控制守护进程的运行状态:

启动服务

kesoku service start

停止服务

kesoku service stop

重启服务

kesoku service restart

查询运行状态

显示当前服务是否处于 active 运行中,或是已经退出,并展示其 PID 信息:

kesoku service status

注意:如果您的服务是通过 --system 安装的,控制命令也必须带上 --system 标识(如 kesoku service start --system)。


📜 实时查看日志

后台守护进程的所有标准输出 (stdout) 和错误输出 (stderr) 都会被自动重定向到操作系统标准的日志管理守护进程中(Linux 上为 journald,macOS 上为系统日志)。

您可以通过命令行直接查看或跟踪日志流:

查看最近日志

默认打印最后 50 行日志:

kesoku service logs

实时流式跟踪日志

持续输出最新的日志信息(效果等同于 tail -f):

kesoku service logs -f

限制日志输出行数

查看指定行数的历史日志:

kesoku service logs -n 100

🗑️ 卸载后台服务

停止运行服务,取消开机自启,并干净地清除系统中残留的所有 Kesoku 服务配置文件:

kesoku service uninstall