chore: sync OpenClaw runtime state
Sync latest runtime state from zap VM: credential rotations, device registrations, completion scripts, cron jobs, and telemetry offsets. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
"description": "15m homelab service monitoring with Telegram alerting",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772676352724,
|
||||
"updatedAtMs": 1773327610735,
|
||||
"updatedAtMs": 1773903614233,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 */4 * * *",
|
||||
@@ -18,7 +18,7 @@
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "Run homelab service monitoring and send alerts only when needed.\n\n1) Execute: bash scripts/ops-sentinel.sh\n2) If verdict is OK, reply exactly: NO_REPLY\n3) If verdict is MONITOR or NEEDS_ATTENTION, send a concise alert with:\n - Verdict\n - P1/P2 counts\n - Failing or degraded components by name\n - Up to 3 concrete next actions\n4) Keep it short and operational. Do not include secrets.",
|
||||
"message": "Run homelab service monitoring and send alerts only when needed.\n\n1) Execute: BACKUP_LOG=/home/openclaw/.openclaw/workspace/memory/minio-backup.log bash /home/openclaw/.openclaw/workspace/scripts/ops-sentinel.sh\n2) If verdict is OK, reply exactly: NO_REPLY\n3) If verdict is MONITOR or NEEDS_ATTENTION, send a concise alert with:\n - Verdict\n - P1/P2 counts\n - Failing or degraded components by name\n - Up to 3 concrete next actions\n4) Keep it short and operational. Do not include secrets.",
|
||||
"timeoutSeconds": 120
|
||||
},
|
||||
"delivery": {
|
||||
@@ -28,11 +28,11 @@
|
||||
"bestEffort": true
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773342000000,
|
||||
"lastRunAtMs": 1773327600006,
|
||||
"nextRunAtMs": 1773918000000,
|
||||
"lastRunAtMs": 1773903600006,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 10729,
|
||||
"lastDurationMs": 14227,
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"consecutiveErrors": 0,
|
||||
"lastDelivered": true
|
||||
@@ -153,7 +153,7 @@
|
||||
"description": "Weekly check of official tool/skills best practices and workspace hint sync",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772745966431,
|
||||
"updatedAtMs": 1773213742911,
|
||||
"updatedAtMs": 1773809649024,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 9 * * 1",
|
||||
@@ -171,16 +171,14 @@
|
||||
"bestEffort": true
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773676800000,
|
||||
"lastRunAtMs": 1773072000005,
|
||||
"lastRunStatus": "error",
|
||||
"lastStatus": "error",
|
||||
"lastDurationMs": 65819,
|
||||
"lastDelivered": false,
|
||||
"lastDeliveryStatus": "not-delivered",
|
||||
"consecutiveErrors": 1,
|
||||
"lastError": "⚠️ ✍️ Write: `to skills/llm-tool-best-practices/hints/openai.md (4 chars)` failed",
|
||||
"lastDeliveryError": "⚠️ ✍️ Write: `to skills/llm-tool-best-practices/hints/openai.md (4 chars)` failed"
|
||||
"nextRunAtMs": 1774281600000,
|
||||
"lastRunAtMs": 1773785229140,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 57801,
|
||||
"lastDelivered": true,
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"consecutiveErrors": 0
|
||||
},
|
||||
"agentId": "automation"
|
||||
},
|
||||
@@ -190,7 +188,7 @@
|
||||
"description": "Download latest MinIO backup, verify sha256, extract to temp dir, validate structure",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1773006976709,
|
||||
"updatedAtMs": 1773213742889,
|
||||
"updatedAtMs": 1773570608127,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "30 3 * * 0",
|
||||
@@ -210,13 +208,13 @@
|
||||
"bestEffort": true
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773570600000,
|
||||
"lastRunAtMs": 1773006988635,
|
||||
"nextRunAtMs": 1774175400000,
|
||||
"lastRunAtMs": 1773570600007,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 54288,
|
||||
"lastDelivered": false,
|
||||
"lastDeliveryStatus": "not-delivered",
|
||||
"lastDurationMs": 8120,
|
||||
"lastDelivered": true,
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"consecutiveErrors": 0
|
||||
},
|
||||
"agentId": "automation"
|
||||
@@ -226,9 +224,9 @@
|
||||
"agentId": "automation",
|
||||
"sessionKey": "agent:main:tui-eff442f9-0f62-4e3d-8e21-2fd24475d23f",
|
||||
"name": "Inbox priority triage to Telegram",
|
||||
"enabled": true,
|
||||
"enabled": false,
|
||||
"createdAtMs": 1773213945899,
|
||||
"updatedAtMs": 1773330396923,
|
||||
"updatedAtMs": 1773811342013,
|
||||
"schedule": {
|
||||
"kind": "every",
|
||||
"everyMs": 14400000,
|
||||
@@ -249,14 +247,13 @@
|
||||
"bestEffort": true
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773344785984,
|
||||
"lastRunAtMs": 1773330385984,
|
||||
"lastRunAtMs": 1773799251561,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 10939,
|
||||
"lastDelivered": true,
|
||||
"lastDurationMs": 23785,
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"consecutiveErrors": 0
|
||||
"consecutiveErrors": 0,
|
||||
"lastDelivered": true
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -266,7 +263,7 @@
|
||||
"name": "litellm model sync",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1773260226908,
|
||||
"updatedAtMs": 1773303436051,
|
||||
"updatedAtMs": 1773908231724,
|
||||
"schedule": {
|
||||
"kind": "every",
|
||||
"everyMs": 43200000,
|
||||
@@ -277,7 +274,6 @@
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "In /home/openclaw/.openclaw/workspace, run the LiteLLM model sync script:\n\npython3 /home/openclaw/.openclaw/workspace/scripts/sync-litellm-models.py\n\nThen verify whether fallback metadata count is zero by running:\npython3 /home/openclaw/.openclaw/workspace/scripts/sync-litellm-models.py --audit-only --json\n\nIf the sync succeeds and fallbackCount is 0, finish silently.\nIf there is any error, or fallbackCount is not 0, produce a concise summary of the problem including the affected model count and next recommended action.",
|
||||
"model": "gpt-5-mini",
|
||||
"thinking": "low",
|
||||
"timeoutSeconds": 600
|
||||
},
|
||||
@@ -285,14 +281,14 @@
|
||||
"mode": "none"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773346626913,
|
||||
"lastRunAtMs": 1773303426913,
|
||||
"nextRunAtMs": 1773951427013,
|
||||
"lastRunAtMs": 1773908227013,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 9138,
|
||||
"lastDelivered": false,
|
||||
"lastDurationMs": 4711,
|
||||
"lastDeliveryStatus": "not-delivered",
|
||||
"consecutiveErrors": 0
|
||||
"consecutiveErrors": 0,
|
||||
"lastDelivered": false
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -302,7 +298,7 @@
|
||||
"name": "litellm weekly audit",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1773260257511,
|
||||
"updatedAtMs": 1773260286640,
|
||||
"updatedAtMs": 1773809648991,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "17 9 * * 1",
|
||||
@@ -313,7 +309,6 @@
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "Audit the LiteLLM/OpenClaw model sync state for drift.\n\nIn /home/openclaw/.openclaw/workspace:\n1. Run:\n python3 /home/openclaw/.openclaw/workspace/scripts/sync-litellm-models.py --audit-only --json\n2. Check whether LiteLLM metadata/detail endpoints appear healthy enough to use beyond /models.\n3. Compare current model count and audit status with a normal healthy state.\n\nIf everything looks normal, finish silently.\nIf any of the following are true, produce a concise summary:\n- fallbackCount > 0\n- model count changed unexpectedly\n- new unknown/alias-derived models appeared that should get first-class metadata\n- LiteLLM endpoint health/details look worse than expected\n\nInclude only the key findings and the next recommended action.",
|
||||
"model": "gpt-5-mini",
|
||||
"thinking": "low",
|
||||
"timeoutSeconds": 600
|
||||
},
|
||||
@@ -321,7 +316,227 @@
|
||||
"mode": "none"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773652620000
|
||||
"nextRunAtMs": 1774257420000,
|
||||
"lastRunAtMs": 1773785195975,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 22938,
|
||||
"lastDelivered": false,
|
||||
"lastDeliveryStatus": "not-delivered",
|
||||
"consecutiveErrors": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "3bc270ac-a841-4ba5-b193-3a409fdbc214",
|
||||
"agentId": "automation",
|
||||
"sessionKey": "agent:main:tui-0cc62af4-9547-4c2b-b078-fa8d5c7fc1d1",
|
||||
"name": "memory-reindex",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1773778927874,
|
||||
"updatedAtMs": 1773914405934,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "*/5 * * * *"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "Run `openclaw memory index` via exec tool. No reply needed, just run it silently.",
|
||||
"timeoutSeconds": 60
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "none"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773914700000,
|
||||
"lastRunAtMs": 1773914400006,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 5928,
|
||||
"lastDelivered": false,
|
||||
"lastDeliveryStatus": "not-delivered",
|
||||
"consecutiveErrors": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b398c988-8b12-4f9d-8e37-513e1ae2837a",
|
||||
"agentId": "automation",
|
||||
"sessionKey": "agent:main:tui-0cc62af4-9547-4c2b-b078-fa8d5c7fc1d1",
|
||||
"name": "obsidian-inbox-watcher",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1773780426888,
|
||||
"updatedAtMs": 1773914409598,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "*/5 * * * *"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "You are zap. Check /mnt/swarm-common/obsidian-vault/will/inbox/ for any .md files (ignore the processed/ subdirectory). If none found, do nothing silently.\n\nFor each file found:\n1. Read the file content with the read tool\n2. Use memory_search to check if this topic/task is already known\n3. Determine what kind of note it is:\n - **Task/todo** → capture it in memory/tasks.json (or today's daily note if tasks.json doesn't exist) and reply to Will via Telegram\n - **Direct question or ask** → answer it and reply via Telegram\n - **Reference/info** → save to an appropriate memory file (daily note or memory/references/)\n - **Reminder** → create a cron reminder\n4. Move the processed file to /mnt/swarm-common/obsidian-vault/will/inbox/processed/ using exec\n5. Always tell Will via Telegram what you did with the note",
|
||||
"timeoutSeconds": 120
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "none"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773914700000,
|
||||
"lastRunAtMs": 1773914405934,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 3664,
|
||||
"lastDelivered": false,
|
||||
"lastDeliveryStatus": "not-delivered",
|
||||
"consecutiveErrors": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "46d4f9d5-0d67-4ec6-b81e-690e3d926e0c",
|
||||
"agentId": "main",
|
||||
"sessionKey": "agent:main:cron:b398c988-8b12-4f9d-8e37-513e1ae2837a",
|
||||
"name": "Tax Reminder",
|
||||
"enabled": true,
|
||||
"deleteAfterRun": true,
|
||||
"createdAtMs": 1773780918595,
|
||||
"updatedAtMs": 1773780918595,
|
||||
"schedule": {
|
||||
"kind": "at",
|
||||
"at": "2026-04-14T12:00:00.000Z"
|
||||
},
|
||||
"sessionTarget": "main",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "systemEvent",
|
||||
"text": "Reminder: Tax deadline is tomorrow! Make sure filing is complete or resolve any steps remaining related to taxes."
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1776168000000
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "00a2a0aa-2035-472c-a8ad-c308eecbb9c1",
|
||||
"agentId": "main",
|
||||
"sessionKey": "agent:main:tui-fccdd396-61e9-467f-a439-f909307f4f25",
|
||||
"name": "Weekly recycling reminder",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1773853175958,
|
||||
"updatedAtMs": 1773853175958,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 2 * * 5",
|
||||
"tz": "America/Los_Angeles"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "Remind Will to take the recycling out tonight."
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1773997200000
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "793fd52c-3a69-404d-9c6d-f4ddc997c04f",
|
||||
"agentId": "main",
|
||||
"sessionKey": "agent:main:tui-297f760f-d770-417b-8a77-e6af92bcdb30",
|
||||
"name": "Shift water reminder",
|
||||
"enabled": false,
|
||||
"createdAtMs": 1773863287211,
|
||||
"updatedAtMs": 1773863287211,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 14,15,16,17,18,19,20,21 * * 1-5",
|
||||
"tz": "America/Los_Angeles"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "Send a Telegram reminder to Will: 💧 Time to drink some water!"
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "none"
|
||||
},
|
||||
"state": {}
|
||||
},
|
||||
{
|
||||
"id": "215f7ef2-9090-4727-b80e-1c8788e24e8b",
|
||||
"agentId": "main",
|
||||
"sessionKey": "agent:main:tui-297f760f-d770-417b-8a77-e6af92bcdb30",
|
||||
"name": "Shift walk reminder",
|
||||
"enabled": false,
|
||||
"createdAtMs": 1773863294899,
|
||||
"updatedAtMs": 1773863294899,
|
||||
"schedule": {
|
||||
"expr": "0 14,20 * * 1-5",
|
||||
"kind": "cron",
|
||||
"tz": "America/Los_Angeles"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "Send a Telegram reminder to Will: 🚶 Time to get up and walk for 5–10 minutes!"
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "none"
|
||||
},
|
||||
"state": {}
|
||||
},
|
||||
{
|
||||
"id": "5f1377fc-da4c-40bc-9c3b-14c652e32d3c",
|
||||
"agentId": "main",
|
||||
"sessionKey": "agent:main:tui-297f760f-d770-417b-8a77-e6af92bcdb30",
|
||||
"name": "Shift walk reminder (30min offset)",
|
||||
"enabled": false,
|
||||
"createdAtMs": 1773863299201,
|
||||
"updatedAtMs": 1773863299201,
|
||||
"schedule": {
|
||||
"expr": "30 15,18,21 * * 1-5",
|
||||
"kind": "cron",
|
||||
"tz": "America/Los_Angeles"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "Send a Telegram reminder to Will: 🚶 Time to get up and walk for 5–10 minutes!"
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "none"
|
||||
},
|
||||
"state": {}
|
||||
},
|
||||
{
|
||||
"id": "5d90c263-7c9c-4a25-8639-72135973d8f9",
|
||||
"agentId": "main",
|
||||
"sessionKey": "agent:main:tui-297f760f-d770-417b-8a77-e6af92bcdb30",
|
||||
"name": "Enable shift reminders",
|
||||
"enabled": true,
|
||||
"deleteAfterRun": true,
|
||||
"createdAtMs": 1773863331585,
|
||||
"updatedAtMs": 1773863331585,
|
||||
"schedule": {
|
||||
"kind": "at",
|
||||
"at": "2026-04-07T16:00:00.000Z"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "agentTurn",
|
||||
"message": "Today is April 7th — the new daily schedule goes live. Enable the following cron jobs: 'Shift water reminder' (793fd52c), 'Shift walk reminder' (215f7ef2), 'Shift walk reminder (30min offset)' (5f1377fc). Use the cron tool to set enabled=true on each. Then send Will a Telegram message letting him know his shift reminders are now active."
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1775577600000
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user