AI Newsletter Digest improvements: fixed QP soft line break decoding, URL extraction, and content cleaning

This commit is contained in:
Krilly
2026-03-04 13:29:22 +00:00
parent 29a98137a7
commit 57dd294675
13706 changed files with 2114953 additions and 237629 deletions

View File

@@ -0,0 +1,11 @@
# OpenClaw State Backup
This folder is auto-generated by automations/backup-to-gitea.sh before each git backup.
Included state:
- openclaw.json
- cron/jobs.json
- devices/paired.json
- skills/*.json
Generated at: 2026-02-21T07:01:42Z

View File

@@ -0,0 +1,350 @@
{
"version": 1,
"jobs": [
{
"id": "fbe52aa7-b6d1-4038-8787-cedc0b7ff57a",
"agentId": "main",
"name": "Daily OpenClaw Backup",
"enabled": true,
"notify": false,
"createdAtMs": 1771343375836,
"updatedAtMs": 1771610497169,
"schedule": {
"kind": "cron",
"expr": "0 2 * * *",
"tz": "Australia/Perth"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "Run the OpenClaw backup script: /home/openclaw/.openclaw/workspace/scripts/backup-to-gitea.sh\n\nIf it succeeds, reply NO_REPLY. If it fails, send a Gotify alert using:\n- URL: http://runtipi.kangaroo-eel.ts.net:8129\n- Token: AGKnHafW3FGzBlt\n- Title: 🚨 Backup Failed\n- Message: The OpenClaw backup to Gitea failed. Check logs for details.\n- Priority: 8 (high)\n- Use curl to POST to /message?token=AGKnHafW3FGzBlt with JSON: {\"title\": \"...\", \"message\": \"...\", \"priority\": 8}",
"model": "opencode/kimi-k2.5-free"
},
"state": {
"nextRunAtMs": 1771696800000,
"lastRunAtMs": 1771610400006,
"lastStatus": "error",
"lastDurationMs": 97163,
"consecutiveErrors": 1,
"lastError": "cron announce delivery failed"
},
"delivery": {
"mode": "announce"
}
},
{
"id": "a2a136e5-75a7-4e62-bc9c-63af5e8a8188",
"agentId": "main",
"name": "Morning Briefing",
"enabled": true,
"createdAtMs": 1771343566895,
"updatedAtMs": 1771628927093,
"schedule": {
"expr": "5 7 * * *",
"kind": "cron",
"tz": "Australia/Perth"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "🌅 Good morning! Run the daily briefing for Anthony:\n\n1. Get Perth weather: curl -s \"wttr.in/Perth+Australia?format=%l:+%c+%t+%h+%w\"\n2. Run AI newsletter digest: /home/openclaw/.openclaw/workspace/automations/ai-newsletter-digest/daily-digest.sh\n3. Combine weather + newsletter digest into a morning briefing\n4. Send via Telegram to Anthony (channel: telegram, to: telegram:1793951355)\n\nSign off as Krilly the Crab 🦀",
"model": "opencode/kimi-k2.5-free"
},
"state": {
"nextRunAtMs": 1771715100000,
"lastRunAtMs": 1771628700009,
"lastStatus": "ok",
"lastDurationMs": 227084,
"consecutiveErrors": 0
},
"delivery": {
"mode": "none"
}
},
{
"id": "e9dbcf5b-5d1b-477e-a804-97b2f1b9855e",
"agentId": "main",
"name": "Weekend Briefing",
"enabled": true,
"createdAtMs": 1771343574470,
"updatedAtMs": 1771632229038,
"schedule": {
"expr": "0 8 * * 0,6",
"kind": "cron",
"tz": "Australia/Perth"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "Generate weekend briefing:\n\n1. Get Perth weekend weather: curl -s \"wttr.in/Perth+Australia?format=%l:+%c+%t+%h+%w\"\n2. Get weekend forecast: curl -s \"wttr.in/Perth+Australia?F\"\n3. Run AI newsletter digest: /home/openclaw/.openclaw/workspace/automations/ai-newsletter-digest/daily-digest.sh\n4. Create weekend digest with weather + top AI/Tech stories\n5. Send via Telegram to Anthony (channel: telegram, to: telegram:1793951355)\n\nSign off as Krilly the Crab 🦀",
"model": "opencode/kimi-k2.5-free"
},
"delivery": {
"mode": "announce"
},
"state": {
"nextRunAtMs": 1771718400000,
"lastRunAtMs": 1771632000007,
"lastStatus": "error",
"lastDurationMs": 229031,
"consecutiveErrors": 2,
"lastError": "cron announce delivery failed"
}
},
{
"id": "9225c88a-8616-4e02-8196-257a2eb9c8b1",
"agentId": "main",
"name": "OpenClaw Daily Digest",
"enabled": true,
"notify": true,
"createdAtMs": 1771392667779,
"updatedAtMs": 1771626807184,
"schedule": {
"expr": "30 6 * * *",
"kind": "cron",
"tz": "Australia/Perth"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "## OpenClaw Daily Intelligence Briefing\n\nRun a comprehensive OpenClaw news scan (web_search + web_fetch + any available RSS sources), curate the best items, and deliver:\n\n1) Telegram highlights to Anthony (channel: telegram, to: telegram:1793951355)\n- Header: 🦀 OpenClaw Daily Digest — [date]\n- Top 35 items with links\n- One-line summary\n\n2) Full HTML email via Anthony's AgentInbox account (NOT SendClaw)\n- From: Anthony's AgentInbox sender address\n- To: anthony@martinwa.org\n- Subject: 🦀 OpenClaw Daily Digest — [date]\n- Use whatever AgentInbox sending method is already configured on this machine/account.\n- If AgentInbox credentials/config are missing, include that failure clearly in the Telegram note.\n\n3) Gotify high-priority notification\n- URL: http://runtipi.kangaroo-eel.ts.net:8129\n- Token: AGKnHafW3FGzBlt\n- Title: 🦀 OpenClaw Daily Digest\n- Message: 12 sentence summary\n- Priority: 8\n\nNotes:\n- Be concise on Telegram, detailed in email.\n- Sign off as Krilly the Crab 🦀",
"model": "opencode/kimi-k2.5-free"
},
"delivery": {
"mode": "announce",
"channel": "telegram"
},
"state": {
"nextRunAtMs": 1771713000000,
"lastRunAtMs": 1771626600007,
"lastStatus": "error",
"lastDurationMs": 207177,
"consecutiveErrors": 1,
"lastError": "cron announce delivery failed"
}
},
{
"id": "10e22343-fbb4-4018-bb08-c5b249662411",
"agentId": "main",
"name": "Check Krilly Email",
"enabled": true,
"notify": false,
"createdAtMs": 1771410489851,
"updatedAtMs": 1771657262727,
"schedule": {
"kind": "cron",
"expr": "*/30 * * * *",
"tz": "Australia/Perth"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "Run this shell script silently: /home/openclaw/.openclaw/workspace/automations/check-krilly-email.sh\n\nThe script checks for new emails and sends its own Telegram notification if any are found. It produces no output when there's nothing new. Run it and reply with NO_REPLY unless there's an error.",
"model": "opencode/kimi-k2.5-free"
},
"state": {
"lastRunAtMs": 1771657200011,
"lastStatus": "ok",
"lastDurationMs": 62716,
"consecutiveErrors": 0,
"nextRunAtMs": 1771659000000
},
"delivery": {
"mode": "none"
}
},
{
"id": "5128ea89-27cc-4e44-94e9-ba01161bdb70",
"agentId": "main",
"sessionKey": "agent:main:main:thread:15152",
"name": "Weekend Planner 2.0 (OpenClaw Native)",
"enabled": true,
"createdAtMs": 1771550432144,
"updatedAtMs": 1771574430914,
"schedule": {
"kind": "cron",
"expr": "0 16 * * 5",
"tz": "Australia/Perth"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"model": "openrouter/arcee-ai/trinity-large-preview:free",
"message": "It's Friday 4:00 PM Perth. Create a concise weekend plan DRAFT for Anthony.\n\nRequirements:\n- Use available context/tools to include weather and any upcoming calendar items.\n- Structure: Saturday, Sunday, Prep List, Optional Fun Idea.\n- Keep it practical, warm, and short.\n- End with: \"Reply APPROVE to lock this in, or REGEN for another version.\"\n- Send the draft as your final user-facing response."
},
"delivery": {
"mode": "announce"
},
"state": {
"nextRunAtMs": 1772179200000,
"lastRunAtMs": 1771574430912,
"lastStatus": "error",
"lastDurationMs": 2,
"lastError": "model not allowed: openrouter/arcee-ai/trinity-large-preview:free",
"consecutiveErrors": 1
}
},
{
"id": "90cba09e-f3c2-41d0-90c5-c5858bd163bc",
"name": "Birthday Tracker",
"enabled": true,
"createdAtMs": 1771638024893,
"updatedAtMs": 1771638024893,
"schedule": {
"kind": "cron",
"expr": "0 9 * * *",
"tz": "Australia/Perth"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "Run birthday tracker script: /home/openclaw/.openclaw/workspace/automations/birthday-tracker/birthday-tracker.sh check"
},
"delivery": {
"mode": "announce",
"channel": "last",
"to": "1793951355"
},
"state": {
"nextRunAtMs": 1771722000000
}
},
{
"id": "d84c4292-bb60-4aae-848a-a09313c4f6ce",
"name": "FreshRSS Morning Digest",
"enabled": false,
"createdAtMs": 1771638658580,
"updatedAtMs": 1771638658580,
"schedule": {
"kind": "cron",
"expr": "45 6 * * *",
"tz": "Australia/Perth"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "Run FreshRSS digest: /home/openclaw/.openclaw/workspace/automations/freshrss-digest/daily-digest.sh"
},
"delivery": {
"mode": "announce",
"channel": "last",
"to": "1793951355"
},
"state": {}
},
{
"id": "42026e97-31c9-4820-8c71-35a52cf01393",
"name": "FreshRSS Lunch Digest",
"enabled": false,
"createdAtMs": 1771638661469,
"updatedAtMs": 1771646458709,
"schedule": {
"kind": "cron",
"expr": "0 12 * * *",
"tz": "Australia/Perth"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "Run FreshRSS digest: /home/openclaw/.openclaw/workspace/automations/freshrss-digest/daily-digest.sh"
},
"delivery": {
"mode": "announce",
"channel": "last",
"to": "1793951355"
},
"state": {
"lastRunAtMs": 1771646439928,
"lastStatus": "error",
"lastDurationMs": 18781,
"lastError": "cron announce delivery failed",
"consecutiveErrors": 1
}
},
{
"id": "080c70a8-7305-4738-b4d1-993b2a72f6d4",
"name": "FreshRSS Evening Digest",
"enabled": false,
"createdAtMs": 1771638664007,
"updatedAtMs": 1771638664007,
"schedule": {
"kind": "cron",
"expr": "0 17 * * *",
"tz": "Australia/Perth"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "Run FreshRSS digest: /home/openclaw/.openclaw/workspace/automations/freshrss-digest/daily-digest.sh"
},
"delivery": {
"mode": "announce",
"channel": "last",
"to": "1793951355"
},
"state": {}
},
{
"id": "ddc03d83-3ec4-438a-aa4e-059c489e675a",
"name": "Google Calendar Birthday Sync",
"enabled": true,
"createdAtMs": 1771639696568,
"updatedAtMs": 1771639696568,
"schedule": {
"kind": "cron",
"expr": "0 10 * * 0",
"tz": "Australia/Perth"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "Sync Google Calendar birthdays: /home/openclaw/.openclaw/workspace/automations/birthday-tracker/sync-google-calendar.sh"
},
"delivery": {
"mode": "announce",
"channel": "last",
"to": "1793951355"
},
"state": {
"nextRunAtMs": 1771725600000
}
},
{
"id": "0eb758ad-2db3-4579-b622-c2de68d66640",
"name": "Smart Newsletter Digest",
"enabled": true,
"createdAtMs": 1771642787862,
"updatedAtMs": 1771642787862,
"schedule": {
"kind": "cron",
"expr": "0 20 * * *",
"tz": "Australia/Perth"
},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "Run smart newsletter digest: /home/openclaw/.openclaw/workspace/automations/newsletter-digest/smart-digest.sh"
},
"delivery": {
"mode": "announce",
"channel": "last",
"to": "1793951355"
},
"state": {
"nextRunAtMs": 1771675200000
}
}
]
}

View File

@@ -0,0 +1,265 @@
{
"19bdb6c4b8bb95b961a08e9783c4e8c693470c326520e52abb4de73a21ec3035": {
"deviceId": "19bdb6c4b8bb95b961a08e9783c4e8c693470c326520e52abb4de73a21ec3035",
"publicKey": "eq45m_VEXdw-ulThS_kVxZqBWrOP7G-uofOfFHlruFY",
"platform": "linux",
"clientId": "gateway-client",
"clientMode": "backend",
"role": "operator",
"roles": [
"operator",
"node"
],
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing",
"operator.read"
],
"tokens": {
"operator": {
"token": "C5eSNo4YGUbkOlJ0zFAqIIvl8Fj5RkPRF6HYWCsRsGM",
"role": "operator",
"scopes": [
"operator.read"
],
"createdAtMs": 1771335715448,
"rotatedAtMs": 1771657184693,
"lastUsedAtMs": 1771458588334
},
"node": {
"token": "xsomVS1NV3_jQOFvYX-n6EuZGWusY4Z1SxVg6mqXJEE",
"role": "node",
"scopes": [],
"createdAtMs": 1771566631762
}
},
"createdAtMs": 1771335715448,
"approvedAtMs": 1771566631762
},
"3e9fdd7e77c4f83fde9c33d63b0724f4b35ddf3a9730751e3ce20a15d539227f": {
"deviceId": "3e9fdd7e77c4f83fde9c33d63b0724f4b35ddf3a9730751e3ce20a15d539227f",
"publicKey": "zrrGT5HsReUmZ7UXVaqMrIyhONL58_JtXyPtPPSBmGQ",
"displayName": "Anthonys iMac",
"platform": "macOS 15.5.0",
"clientId": "openclaw-macos",
"clientMode": "node",
"role": "node",
"roles": [
"operator",
"node"
],
"scopes": [],
"tokens": {
"operator": {
"token": "ULjzNVJMuMLiUUy9hTM5_oqFxvCTySATPc41KAdBX_M",
"role": "operator",
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"createdAtMs": 1771336202780,
"rotatedAtMs": 1771576681916,
"lastUsedAtMs": 1771431155136
},
"node": {
"token": "1MH05UyLCNqXqHSoEkeR4RYTdKr5eYahKrUs9qV561s",
"role": "node",
"scopes": [],
"createdAtMs": 1771337393947,
"rotatedAtMs": 1771576685320,
"lastUsedAtMs": 1771459616261
}
},
"createdAtMs": 1771336202780,
"approvedAtMs": 1771460386339
},
"9f505748b5c905b1b9bcefcebb3741c3beab8f1a4a0349d5a59036cc1d292d64": {
"deviceId": "9f505748b5c905b1b9bcefcebb3741c3beab8f1a4a0349d5a59036cc1d292d64",
"publicKey": "leT9mwLI2XC8UjC1GLhCFKAg2WWT4w8uOj2J5t8JMLY",
"platform": "MacIntel",
"clientId": "openclaw-control-ui",
"clientMode": "webchat",
"role": "operator",
"roles": [
"operator"
],
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"tokens": {
"operator": {
"token": "FuHHYKJ92DbtP3VgL6MGxpRkmqdbpavDPFKySv8v74Y",
"role": "operator",
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"createdAtMs": 1771337885272
}
},
"createdAtMs": 1771337885272,
"approvedAtMs": 1771337885272
},
"11ab169ce102fd1e53d8819dec6af5812ffc5c10358e44a5ac462774a8874066": {
"deviceId": "11ab169ce102fd1e53d8819dec6af5812ffc5c10358e44a5ac462774a8874066",
"publicKey": "hE_rggY5uGJ7fhdrLx--mlk-7tO59bNUpfVRKrGWN68",
"platform": "MacIntel",
"clientId": "openclaw-control-ui",
"clientMode": "webchat",
"role": "operator",
"roles": [
"operator"
],
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"tokens": {
"operator": {
"token": "NCgsseAkGLp-G2XU-dMLbq8grAdiN0JpMvDix5D6L6I",
"role": "operator",
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"createdAtMs": 1771338047123,
"lastUsedAtMs": 1771448513899
}
},
"createdAtMs": 1771338047123,
"approvedAtMs": 1771338047123
},
"9f9275bde17de6212ba1c1bbbff28b12205155dd6fbdd23eb9d5cf841c53b612": {
"deviceId": "9f9275bde17de6212ba1c1bbbff28b12205155dd6fbdd23eb9d5cf841c53b612",
"publicKey": "G44FwHNzRLoRHBdthwpGT2GBe16JveBq11dxp1OnD48",
"platform": "MacIntel",
"clientId": "openclaw-control-ui",
"clientMode": "webchat",
"role": "operator",
"roles": [
"operator"
],
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"tokens": {
"operator": {
"token": "P2i3mtIICyYtfr-jvewaABQNtgaSyztTV3gquF6TcyQ",
"role": "operator",
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"createdAtMs": 1771343754932,
"lastUsedAtMs": 1771343782083
}
},
"createdAtMs": 1771343754932,
"approvedAtMs": 1771343754932
},
"33bea54cec104bf88bd44cff623e1e8126ff9676c5b0e00139029611d63558e1": {
"deviceId": "33bea54cec104bf88bd44cff623e1e8126ff9676c5b0e00139029611d63558e1",
"publicKey": "7NCqxCMjZ0rCLPvB6XEUcy67DKJZHpqWO08YleAnaY8",
"displayName": "Anthonys iMac",
"platform": "macOS 15.5.0",
"clientId": "openclaw-macos",
"clientMode": "ui",
"role": "operator",
"roles": [
"operator",
"node"
],
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"tokens": {
"operator": {
"token": "I00TuT4vmBRY2jiWehW7mCaBQlf116BSiH2UCqUbc8M",
"role": "operator",
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"createdAtMs": 1771583776575
},
"node": {
"token": "dybLF_PYfno2mqzN-1ueDlYXP1P0ZQFWRay19d6SQdU",
"role": "node",
"scopes": [],
"createdAtMs": 1771583787059
}
},
"createdAtMs": 1771583776575,
"approvedAtMs": 1771583787059,
"remoteIp": "100.112.123.124"
},
"8bb9004c4994b6d9768a5c2502e9784ce5ad4a40c467f875d88b81515ecb9f95": {
"deviceId": "8bb9004c4994b6d9768a5c2502e9784ce5ad4a40c467f875d88b81515ecb9f95",
"publicKey": "AjmEOfC4qtjdWENEHl9GjZe2J2pxXINM862h3Kzb38c",
"platform": "ios",
"clientId": "openclaw-ios",
"clientMode": "webchat",
"role": "operator",
"roles": [
"operator"
],
"scopes": [
"operator.admin"
],
"tokens": {
"operator": {
"token": "eYykrs5RYJ_r6PkrhzQfgPpDWf9IJvb8KFxRUrSbZ38",
"role": "operator",
"scopes": [
"operator.admin"
],
"createdAtMs": 1771592795614
}
},
"createdAtMs": 1771592795614,
"approvedAtMs": 1771592795614,
"remoteIp": "100.111.198.120"
},
"38a1c116b7d7c0ea28f7d175b14c7bf4aae35f1d024bdfe9bc075277b8d463d2": {
"deviceId": "38a1c116b7d7c0ea28f7d175b14c7bf4aae35f1d024bdfe9bc075277b8d463d2",
"publicKey": "YCLQIDN5BxREjdiMHxG-IGbHjqgAIAfxJp1V9tZIia4",
"platform": "ios",
"clientId": "cli",
"clientMode": "cli",
"role": "operator",
"roles": [
"operator"
],
"scopes": [
"operator.read",
"operator.write"
],
"remoteIp": "100.111.198.120",
"tokens": {
"operator": {
"token": "5O7QLVdeAP7f3ypXoI6kx7PLURZZwEq64RuY8im8pzc",
"role": "operator",
"scopes": [
"operator.read",
"operator.write"
],
"createdAtMs": 1771644663170
}
},
"createdAtMs": 1771644663170,
"approvedAtMs": 1771644663170
}
}

View File

@@ -0,0 +1,783 @@
{
"meta": {
"lastTouchedVersion": "2026.2.19-2",
"lastTouchedAt": "2026-02-21T11:05:42.683Z"
},
"env": {
"shellEnv": {
"enabled": true
},
"vars": {
"GOTIFY_API_KEY": "AGoV3cAUyUMDbyt",
"GOTIFY_URL": "http://runtipi.kangaroo-eel.ts.net:8129",
"N8N_API_TOKEN": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJjNDMwMjUzNS1hNWMzLTRkZjAtODIzNi1lZmE5YmVmNTAxMjQiLCJpc3MiOiJuOG4iLCJhdWQiOiJwdWJsaWMtYXBpIiwiaWF0IjoxNzY1NTk1MzkyfQ.RrwOyN27-F3Pztxtv4IAyBt1MKKU1l5lWb6nMGpGNic",
"N8N_BASE_URL": "https://n8n.kangaroo-eel.ts.net/",
"CEREBRAS_API_KEY": "csk-k5dtdkpwht62c5rm3pkr5fehn833mckv8crv3xepxcj8m299"
},
"NIM_API_KEY": "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",
"OPENCODE_API_KEY": "sk-84HEPfjNyw4Lv3YWp5yUV4LAvOlz1oL6wYF00oONARWaneKCPgtEJvHyE61aOypS",
"OPENAI_API_KEY": "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",
"ELEVENLABS_API_KEY": "sk_0dc5e532ba3bfb3fdd8ff13542d8355403f418ba9045be15",
"PERPLEXITY_API_KEY": "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",
"ANTHROPIC_API_KEY": "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",
"MATON_API_KEY": "N5mAp7eJNYUPI7p_1V-agJwwVPqNBlYufzxbYrmAKZJTSRrah-XcMx9y4yzhyfKLaxIS4mPk29rAwmhrBLXJB4VFncsTGKiTn2LpkjR26w",
"OPENROUTER_API_KEY": "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",
"NVIDIA_API_KEY": "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",
"GROQ_API_KEY": "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",
"CEREBRAS_API_KEY": "csk-k5dtdkpwht62c5rm3pkr5fehn833mckv8crv3xepxcj8m299",
"MOONSHOT_API_KEY": "sk-kimi-IBIVPwOACX7bvzJlTf3s4w7ZfppeTrYaVjt7JvmpfBcz09VqypIzNlXIGFPe0s8b"
},
"wizard": {
"lastRunAt": "2026-02-21T06:57:55.197Z",
"lastRunVersion": "2026.2.19-2",
"lastRunCommand": "onboard",
"lastRunMode": "local"
},
"diagnostics": {
"otel": {
"traces": true
},
"cacheTrace": {
"includeMessages": true,
"includePrompt": true,
"includeSystem": true
}
},
"update": {
"channel": "stable",
"checkOnStart": true
},
"browser": {
"enabled": true,
"evaluateEnabled": true,
"executablePath": "/usr/bin/chromium",
"headless": true,
"noSandbox": true,
"attachOnly": false
},
"auth": {
"profiles": {
"anthropic:default": {
"provider": "anthropic",
"mode": "token"
},
"openai-codex:default": {
"provider": "openai-codex",
"mode": "oauth"
},
"google-antigravity:anthonymau@gmail.com": {
"provider": "google-antigravity",
"mode": "oauth"
},
"kimi-coding:default": {
"provider": "kimi-coding",
"mode": "api_key"
},
"openrouter:default": {
"provider": "openrouter",
"mode": "api_key"
}
},
"order": {}
},
"models": {
"mode": "merge",
"providers": {
"moonshot": {
"baseUrl": "https://api.moonshot.ai/v1",
"apiKey": "",
"auth": "api-key",
"api": "openai-completions",
"authHeader": true,
"models": [
{
"id": "moonshot/kimi-2.5",
"name": "Kimi 2.5",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 131072,
"maxTokens": 8192
}
]
},
"nim": {
"baseUrl": "https://integrate.api.nvidia.com/v1",
"apiKey": "",
"auth": "api-key",
"api": "openai-completions",
"authHeader": true,
"models": [
{
"id": "nvidia/llama-3.1-nemotron-70b-instruct",
"name": "Nemotron 70B",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 131072,
"maxTokens": 8192
},
{
"id": "nvidia/nemotron-3-nano-30b-a3b",
"name": "Nemotron Nano 30B",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 1048576,
"maxTokens": 8192,
"compat": {
"thinkingFormat": "openai"
}
},
{
"id": "meta/llama-3.3-70b-instruct",
"name": "Llama 3.3 70B (NIM)",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 131072,
"maxTokens": 8192
},
{
"id": "qwen/qwen3-next-80b-a3b-thinking",
"name": "Qwen3 80B Thinking (NIM)",
"reasoning": true,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 131072,
"maxTokens": 8192
}
]
},
"openrouter": {
"baseUrl": "https://openrouter.ai/api/v1",
"apiKey": "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",
"auth": "api-key",
"api": "openai-completions",
"authHeader": true,
"models": [
{
"id": "openrouter/arcee-ai/trinity-large-preview:free",
"name": "Trinity Large Preview (Free)",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 262144,
"maxTokens": 8192
}
]
}
},
"bedrockDiscovery": {
"enabled": false
}
},
"nodeHost": {
"browserProxy": {
"enabled": false,
"allowProfiles": []
}
},
"agents": {
"defaults": {
"model": {
"primary": "opencode/kimi-k2.5-free",
"fallbacks": [
"opencode/kimi-k2.5-free",
"opencode/glm-5-free",
"openrouter/qwen/qwen3-coder:free",
"openrouter/stepfun/step-3.5-flash:free",
"anthropic/claude-sonnet-4-6",
"cerebras/zai-glm-4.7"
]
},
"models": {
"moonshot/kimi-2.5": {
"alias": "kimi",
"streaming": true
},
"opencode/minimax-m2.5-free": {
"streaming": true
},
"opencode/kimi-k2.5-free": {
"streaming": true
},
"opencode/glm-5-free": {
"alias": "glm5-free",
"streaming": true
},
"zai/glm-5": {
"alias": "zai-glm5",
"streaming": true
},
"zai/glm-4.7": {
"alias": "nvidia-glm47",
"streaming": true
},
"azure-openai-responses/gpt-5-nano": {
"streaming": true
},
"anthropic/claude-sonnet-4-6": {
"streaming": true
},
"google-antigravity/gemini-3-pro-low": {
"streaming": true
},
"google-antigravity/gemini-3-flash": {
"streaming": true
},
"huggingface/Qwen/Qwen3.5-397B-A17B": {
"streaming": true
},
"openai-codex/gpt-5.3-codex": {
"alias": "codex53",
"streaming": true
},
"nim/nvidia/llama-3.1-nemotron-70b-instruct": {
"alias": "nemotron-70b"
},
"nim/nvidia/nemotron-3-nano-30b-a3b": {
"alias": "nemotron-nano"
},
"nim/meta/llama-3.3-70b-instruct": {
"alias": "llama-nim"
},
"nim/qwen/qwen3-next-80b-a3b-thinking": {
"alias": "qwen3-nim"
},
"opencode/big-pickle": {
"alias": "big-pickle"
},
"groq/openai/gpt-oss-120b": {
"alias": "gpt-oss-120b"
},
"groq/moonshotai/kimi-k2-instruct-0905": {
"alias": "kimi-k2-groq"
},
"groq/llama-3.3-70b-versatile": {
"alias": "llama33-groq"
},
"groq/meta-llama/llama-4-maverick-17b-128e-instruct": {
"alias": "llama4-maverick"
},
"groq/meta-llama/llama-4-scout-17b-16e-instruct": {
"alias": "llama4-scout"
},
"groq/qwen/qwen3-32b": {
"alias": "qwen3-32b-groq"
},
"groq/openai/gpt-oss-20b": {
"alias": "gpt-oss-20b"
},
"github-copilot/claude-sonnet-4.5": {},
"openrouter/arcee-ai/trinity-large-preview:free": {
"alias": "trinity-free",
"streaming": true
},
"kimi-coding/k2p5": {
"alias": "Kimi K2.5"
}
},
"workspace": "/home/openclaw/.openclaw/workspace",
"timeFormat": "12",
"memorySearch": {
"enabled": true,
"sources": [
"memory",
"sessions"
],
"provider": "local",
"fallback": "none",
"local": {
"modelPath": "hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf"
},
"store": {
"vector": {
"enabled": true
}
},
"sync": {
"onSessionStart": true
},
"query": {
"hybrid": {
"enabled": true,
"mmr": {
"enabled": true
}
}
},
"cache": {
"enabled": true
}
},
"contextPruning": {
"mode": "cache-ttl",
"ttl": "1h"
},
"compaction": {
"mode": "safeguard",
"memoryFlush": {
"enabled": true
}
},
"elevatedDefault": "on",
"blockStreamingBreak": "message_end",
"blockStreamingChunk": {
"breakPreference": "paragraph"
},
"heartbeat": {
"every": "1h",
"model": "azure-openai-responses/gpt-5-nano",
"target": "last",
"suppressToolErrorWarnings": true
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
},
"sandbox": {
"mode": "off",
"workspaceAccess": "rw",
"sessionToolsVisibility": "all",
"scope": "shared",
"perSession": true,
"browser": {
"enabled": true,
"headless": true,
"enableNoVnc": true,
"allowHostControl": true,
"autoStart": true
}
}
}
},
"tools": {
"profile": "full",
"allow": [],
"byProvider": {},
"web": {
"search": {
"enabled": true,
"provider": "brave",
"apiKey": "BSAxLNeAWMjDWS7853MPNaa6aA3auMQ"
},
"fetch": {
"enabled": true
}
},
"links": {
"enabled": true,
"scope": {
"default": "allow",
"rules": []
},
"models": []
},
"sessions": {
"visibility": "tree"
},
"loopDetection": {
"enabled": false,
"detectors": {
"genericRepeat": true,
"knownPollNoProgress": true,
"pingPong": true
}
},
"message": {
"crossContext": {
"allowWithinProvider": true,
"allowAcrossProviders": false,
"marker": {
"enabled": true,
"prefix": "{channel}",
"suffix": "{channel}"
}
},
"broadcast": {
"enabled": true
}
},
"agentToAgent": {
"enabled": true,
"allow": []
},
"elevated": {
"enabled": true,
"allowFrom": {
"telegram": [
"1793951355"
]
}
},
"exec": {
"host": "gateway",
"security": "full",
"ask": "off",
"node": "19bdb6c4b8bb95b961a08e9783c4e8c693470c326520e52abb4de73a21ec3035",
"notifyOnExit": true,
"applyPatch": {
"enabled": true,
"workspaceOnly": false,
"allowModels": []
}
},
"subagents": {
"tools": {
"allow": [],
"alsoAllow": []
}
},
"sandbox": {
"tools": {
"allow": []
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": true,
"nativeSkills": true,
"text": false,
"bash": true,
"config": true,
"debug": true,
"restart": true,
"useAccessGroups": true,
"allowFrom": {}
},
"approvals": {
"exec": {
"enabled": false,
"mode": "both",
"agentFilter": [],
"sessionFilter": [],
"targets": []
}
},
"session": {
"scope": "per-sender",
"dmScope": "main",
"typingMode": "thinking",
"sendPolicy": {
"default": "allow",
"rules": []
}
},
"cron": {
"enabled": true
},
"hooks": {
"enabled": true,
"token": "ec571440175e3740975119ba8b6b97ba3a46b1f8e797cb924dc5c63c98050142",
"defaultSessionKey": "hook:ingress",
"allowRequestSessionKey": false,
"allowedAgentIds": [],
"gmail": {
"includeBody": true,
"allowUnsafeExternalContent": true,
"thinking": "minimal"
},
"internal": {
"enabled": true,
"entries": {
"boot-md": {
"enabled": true
},
"command-logger": {
"enabled": true
},
"bootstrap-extra-files": {
"enabled": true
},
"session-memory": {
"enabled": true
}
}
}
},
"web": {
"enabled": true
},
"channels": {
"whatsapp": {
"dmPolicy": "allowlist",
"selfChatMode": true,
"allowFrom": [
"+61410349137"
],
"groupPolicy": "allowlist",
"debounceMs": 0,
"mediaMaxMb": 50
},
"telegram": {
"name": "Anthony",
"markdown": {
"tables": "code"
},
"enabled": true,
"commands": {
"native": true,
"nativeSkills": false
},
"customCommands": [],
"configWrites": true,
"dmPolicy": "pairing",
"botToken": "8598508497:AAHmTMbnR7un2ADtmsjJr8moQkDOU9ILBps",
"replyToMode": "first",
"groups": {},
"allowFrom": [
"1793951355"
],
"groupAllowFrom": [
1793951355
],
"groupPolicy": "allowlist",
"dms": {},
"chunkMode": "length",
"draftChunk": {
"minChars": 200,
"maxChars": 800,
"breakPreference": "paragraph"
},
"streamMode": "partial",
"network": {
"autoSelectFamily": false
},
"actions": {
"reactions": true,
"sendMessage": true
},
"reactionNotifications": "own",
"reactionLevel": "ack",
"heartbeat": {
"useIndicator": true
},
"linkPreview": true
},
"bluebubbles": {
"name": "Anthony",
"markdown": {
"tables": "off"
},
"enabled": true,
"serverUrl": "http://anthonys-imac.kangaroo-eel.ts.net:1234",
"password": "RecOvery2026!",
"webhookPath": "/bluebubbles-webhook",
"dmPolicy": "pairing",
"allowFrom": [
"anthony@martinwa.org"
],
"groupPolicy": "allowlist",
"chunkMode": "length",
"mediaLocalRoots": [
""
],
"blockStreaming": true,
"accounts": {}
}
},
"discovery": {
"wideArea": {
"enabled": true
}
},
"canvasHost": {
"enabled": true,
"liveReload": true
},
"talk": {
"apiKey": ""
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"controlUi": {
"enabled": true,
"allowedOrigins": [
"https://vibeclaw.dev",
"https://openclaw-ai.kangaroo-eel.ts.net",
"http://openclaw-ai.kangaroo-eel.ts.net",
"http://127.0.0.1:18789",
"http://localhost:18789"
],
"allowInsecureAuth": false,
"dangerouslyDisableDeviceAuth": false
},
"auth": {
"mode": "token",
"token": "f5635aeb21763071b4e9beb862618f351995766d851b28dd",
"allowTailscale": true
},
"trustedProxies": [
"127.0.0.1",
"100.64.0.0/10"
],
"tools": {
"allow": []
},
"tailscale": {
"mode": "serve",
"resetOnExit": false
},
"remote": {
"url": "wss://openclaw-ai.kangaroo-eel.ts.net",
"transport": "direct",
"token": "8943b9da4975ba000b919cbf403b83c2f99df03c169ac4aa",
"password": "admin",
"sshTarget": "openclaw@openclaw-ai",
"sshIdentity": "openclaw"
},
"reload": {
"mode": "hybrid"
},
"tls": {
"autoGenerate": true
},
"http": {
"endpoints": {
"chatCompletions": {
"enabled": true
},
"responses": {
"enabled": true,
"files": {
"allowUrl": true
},
"images": {
"allowUrl": true
}
}
}
},
"nodes": {
"browser": {
"mode": "auto"
},
"denyCommands": []
}
},
"memory": {
"backend": "qmd",
"citations": "auto",
"qmd": {
"command": "qmd",
"includeDefaultMemory": true,
"paths": []
}
},
"skills": {
"allowBundled": [],
"load": {
"watch": true
},
"install": {
"nodeManager": "npm"
},
"entries": {
"agentmail": {
"enabled": true,
"env": {
"AGENTMAIL_API_KEY": "am_us_22a6a04a84144467993d5b90be8bbd5d1482ca615a4e17561682dd3d6831f932"
}
},
"stealth-browser": {
"enabled": false
},
"healthcheck": {
"enabled": true
},
"n8n": {
"enabled": true,
"apiKey": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJjNDMwMjUzNS1hNWMzLTRkZjAtODIzNi1lZmE5YmVmNTAxMjQiLCJpc3MiOiJuOG4iLCJhdWQiOiJwdWJsaWMtYXBpIiwiaWF0IjoxNzY1NTk1MzkyfQ.RrwOyN27-F3Pztxtv4IAyBt1MKKU1l5lWb6nMGpGNic"
},
"notion": {
"enabled": true,
"apiKey": "secret_WbYevYCbHRpMngedlRaVXA8rCj0nlVPefciUzr1GWna"
},
"openai-whisper-api": {
"enabled": true,
"apiKey": "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"
},
"goplaces": {
"enabled": true,
"apiKey": "AIzaSyDSxyVL5fv3RstiY3YUV76pavuhiZMMXAA"
}
}
},
"plugins": {
"enabled": true,
"entries": {
"telegram": {
"enabled": true
},
"bluebubbles": {
"enabled": true
},
"device-pair": {
"enabled": true
},
"google-antigravity-auth": {
"enabled": true
},
"llm-task": {
"enabled": true,
"config": {
"allowedModels": []
}
},
"memory-core": {
"enabled": true
},
"whatsapp": {
"enabled": true
}
}
}
}