diff --git a/server/src/services/llmCommentaryService/index.js b/server/src/services/llmCommentaryService/index.js index ea3cd8a3..168c6f28 100644 --- a/server/src/services/llmCommentaryService/index.js +++ b/server/src/services/llmCommentaryService/index.js @@ -258,17 +258,31 @@ const runner = createRunner({ updateStatus, }); -registerHooks({ - io, - roleEvents, - roverManager, - emitStatusToSocket, - isAdminSocket, - clearRuntimeHistory: runner.clearRuntimeHistory, - getAdminState: () => buildAdminState(status, runtime.runHistory), - onDriverActivity: runner.wakeForDriverActivity, - onSensorEvent: snapshotEngine.onSensorEvent, - onRoverRemoved: snapshotEngine.removeRover, -}); +if (enabled && model && ollamaUrl) { + registerHooks({ + io, + roleEvents, + roverManager, + emitStatusToSocket, + isAdminSocket, + clearRuntimeHistory: runner.clearRuntimeHistory, + getAdminState: () => buildAdminState(status, runtime.runHistory), + onDriverActivity: runner.wakeForDriverActivity, + onSensorEvent: snapshotEngine.onSensorEvent, + onRoverRemoved: snapshotEngine.removeRover, + }); -runner.start(); + runner.start(); +} else { + const disabledReason = !enabled + ? 'llmCommentary.enabled is false' + : 'model or ollama server missing'; + updatePhase('disabled', { + running: false, + inFlight: false, + currentRunId: null, + lastOutcome: 'disabled', + lastReason: disabledReason, + }); + logger.info('LLM commentary service not started', { reason: disabledReason }); +}