This guide walks you through installing and configuring jeeves-runner from scratch.
node:sqliteInstall globally via npm:
npm install -g @karmaniverous/jeeves-runner
Or add to a project:
npm install --save-dev @karmaniverous/jeeves-runner
Generate a starter config file:
jeeves-runner init
This creates a config.json in the default platform config directory (jeeves-runner/config.json). See the Configuration Guide for full reference.
jeeves-runner add-job \
-c ./jeeves-runner/config.json \
--id hello-world \
--name "Hello World" \
--schedule "*/5 * * * *" \
--script /path/to/hello.js
This registers a job that runs every 5 minutes. The script must be an absolute path to an executable script.
| Type | Description |
|---|---|
script |
Spawns a child process to run the script (default) |
session |
Dispatches the script content to an OpenClaw Gateway session |
jeeves-runner start -c ./jeeves-runner/config.json
The runner starts:
Check the runner is healthy:
curl http://localhost:1937/status
{
"name": "runner",
"version": "0.8.0",
"uptime": 12.345,
"status": "ok",
"health": {
"totalJobs": 1,
"running": 0,
"failedRegistrations": 0,
"okLastHour": 0,
"errorsLastHour": 0
}
}
List registered jobs:
curl http://localhost:1937/jobs
Or via the CLI:
jeeves-runner list-jobs -c ./jeeves-runner/config.json