mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-12 23:40:45 +00:00
refactor: consolidate daemon runtime and start hints
This commit is contained in:
@@ -9,8 +9,11 @@ import {
|
||||
resolveNodeSystemdServiceName,
|
||||
resolveNodeWindowsTaskName,
|
||||
} from "../../daemon/constants.js";
|
||||
import { resolveGatewayLogPaths } from "../../daemon/launchd.js";
|
||||
import { resolveNodeService } from "../../daemon/node-service.js";
|
||||
import {
|
||||
buildPlatformRuntimeLogHints,
|
||||
buildPlatformServiceStartHints,
|
||||
} from "../../daemon/runtime-hints.js";
|
||||
import type { GatewayServiceRuntime } from "../../daemon/service-runtime.js";
|
||||
import { loadNodeHostConfig } from "../../node-host/config.js";
|
||||
import { defaultRuntime } from "../../runtime.js";
|
||||
@@ -55,39 +58,21 @@ type NodeDaemonStatusOptions = {
|
||||
};
|
||||
|
||||
function renderNodeServiceStartHints(): string[] {
|
||||
const base = [formatCliCommand("openclaw node install"), formatCliCommand("openclaw node start")];
|
||||
switch (process.platform) {
|
||||
case "darwin":
|
||||
return [
|
||||
...base,
|
||||
`launchctl bootstrap gui/$UID ~/Library/LaunchAgents/${resolveNodeLaunchAgentLabel()}.plist`,
|
||||
];
|
||||
case "linux":
|
||||
return [...base, `systemctl --user start ${resolveNodeSystemdServiceName()}.service`];
|
||||
case "win32":
|
||||
return [...base, `schtasks /Run /TN "${resolveNodeWindowsTaskName()}"`];
|
||||
default:
|
||||
return base;
|
||||
}
|
||||
return buildPlatformServiceStartHints({
|
||||
installCommand: formatCliCommand("openclaw node install"),
|
||||
startCommand: formatCliCommand("openclaw node start"),
|
||||
launchAgentPlistPath: `~/Library/LaunchAgents/${resolveNodeLaunchAgentLabel()}.plist`,
|
||||
systemdServiceName: resolveNodeSystemdServiceName(),
|
||||
windowsTaskName: resolveNodeWindowsTaskName(),
|
||||
});
|
||||
}
|
||||
|
||||
function buildNodeRuntimeHints(env: NodeJS.ProcessEnv = process.env): string[] {
|
||||
if (process.platform === "darwin") {
|
||||
const logs = resolveGatewayLogPaths(env);
|
||||
return [
|
||||
`Launchd stdout (if installed): ${logs.stdoutPath}`,
|
||||
`Launchd stderr (if installed): ${logs.stderrPath}`,
|
||||
];
|
||||
}
|
||||
if (process.platform === "linux") {
|
||||
const unit = resolveNodeSystemdServiceName();
|
||||
return [`Logs: journalctl --user -u ${unit}.service -n 200 --no-pager`];
|
||||
}
|
||||
if (process.platform === "win32") {
|
||||
const task = resolveNodeWindowsTaskName();
|
||||
return [`Logs: schtasks /Query /TN "${task}" /V /FO LIST`];
|
||||
}
|
||||
return [];
|
||||
return buildPlatformRuntimeLogHints({
|
||||
env,
|
||||
systemdServiceName: resolveNodeSystemdServiceName(),
|
||||
windowsTaskName: resolveNodeWindowsTaskName(),
|
||||
});
|
||||
}
|
||||
|
||||
function resolveNodeDefaults(
|
||||
|
||||
Reference in New Issue
Block a user