Initial commit: OpenClaw configuration and Jarvis workspace

This commit is contained in:
Jarvis
2026-02-05 08:37:34 -07:00
commit 705d8a9438
23 changed files with 1331 additions and 0 deletions

22
.gitignore vendored Normal file
View File

@@ -0,0 +1,22 @@
# Sensitive OpenClaw files
credentials/
*.key
*.pem
*.env
.env*
# Private session logs that might contain sensitive info
session-logs/
logs/
# Budget tracking (contains spending info)
budget-tracker.json
# Any files with secrets or tokens
*secret*
*token*
*password*
# Backup files
*.bak
*~

View File

@@ -0,0 +1,20 @@
{
"version": 1,
"profiles": {
"anthropic:default": {
"type": "token",
"provider": "anthropic",
"token": "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"
}
},
"lastGood": {
"anthropic": "anthropic:default"
},
"usageStats": {
"anthropic:default": {
"errorCount": 0,
"lastFailureAt": 1770267656945,
"lastUsed": 1770305809732
}
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
{
"pid": 11415,
"createdAt": "2026-02-05T15:37:20.890Z"
}

View File

@@ -0,0 +1,331 @@
{
"agent:main:main": {
"sessionId": "bd8ce668-8db7-49eb-8dfa-67aac370286a",
"updatedAt": 1770305840548,
"systemSent": true,
"abortedLastRun": false,
"chatType": "direct",
"deliveryContext": {
"channel": "discord",
"to": "channel:1468718506835972127",
"accountId": "default"
},
"lastChannel": "discord",
"origin": {
"label": "quantumfla5h user id:108193513740460032",
"provider": "discord",
"surface": "discord",
"chatType": "direct",
"from": "discord:108193513740460032",
"to": "channel:1468718506835972127",
"accountId": "default"
},
"sessionFile": "/home/jramos/.openclaw/agents/main/sessions/bd8ce668-8db7-49eb-8dfa-67aac370286a.jsonl",
"compactionCount": 0,
"skillsSnapshot": {
"prompt": "\n\nThe following skills provide specialized instructions for specific tasks.\nUse the read tool to load a skill's file when the task matches its description.\nWhen a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.\n\n<available_skills>\n <skill>\n <name>bluebubbles</name>\n <description>Build or update the BlueBubbles external channel plugin for OpenClaw (extension package, REST send/probe, webhook inbound).</description>\n <location>/home/jramos/.npm-global/lib/node_modules/openclaw/skills/bluebubbles/SKILL.md</location>\n </skill>\n <skill>\n <name>healthcheck</name>\n <description>Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).</description>\n <location>/home/jramos/.npm-global/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>\n </skill>\n <skill>\n <name>skill-creator</name>\n <description>Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.</description>\n <location>/home/jramos/.npm-global/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>\n </skill>\n <skill>\n <name>weather</name>\n <description>Get current weather and forecasts (no API key required).</description>\n <location>/home/jramos/.npm-global/lib/node_modules/openclaw/skills/weather/SKILL.md</location>\n </skill>\n</available_skills>",
"skills": [
{
"name": "bluebubbles"
},
{
"name": "healthcheck"
},
{
"name": "skill-creator"
},
{
"name": "weather"
}
],
"resolvedSkills": [
{
"name": "bluebubbles",
"description": "Build or update the BlueBubbles external channel plugin for OpenClaw (extension package, REST send/probe, webhook inbound).",
"filePath": "/home/jramos/.npm-global/lib/node_modules/openclaw/skills/bluebubbles/SKILL.md",
"baseDir": "/home/jramos/.npm-global/lib/node_modules/openclaw/skills/bluebubbles",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "healthcheck",
"description": "Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).",
"filePath": "/home/jramos/.npm-global/lib/node_modules/openclaw/skills/healthcheck/SKILL.md",
"baseDir": "/home/jramos/.npm-global/lib/node_modules/openclaw/skills/healthcheck",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "skill-creator",
"description": "Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.",
"filePath": "/home/jramos/.npm-global/lib/node_modules/openclaw/skills/skill-creator/SKILL.md",
"baseDir": "/home/jramos/.npm-global/lib/node_modules/openclaw/skills/skill-creator",
"source": "openclaw-bundled",
"disableModelInvocation": false
},
{
"name": "weather",
"description": "Get current weather and forecasts (no API key required).",
"filePath": "/home/jramos/.npm-global/lib/node_modules/openclaw/skills/weather/SKILL.md",
"baseDir": "/home/jramos/.npm-global/lib/node_modules/openclaw/skills/weather",
"source": "openclaw-bundled",
"disableModelInvocation": false
}
],
"version": 0
},
"authProfileOverride": "anthropic:default",
"authProfileOverrideSource": "auto",
"authProfileOverrideCompactionCount": 0,
"modelProvider": "anthropic",
"model": "claude-sonnet-4-5",
"contextTokens": 1000000,
"systemPromptReport": {
"source": "run",
"generatedAt": 1770305797277,
"sessionId": "bd8ce668-8db7-49eb-8dfa-67aac370286a",
"sessionKey": "agent:main:main",
"provider": "anthropic",
"model": "claude-sonnet-4-5",
"workspaceDir": "/home/jramos/.openclaw/workspace",
"bootstrapMaxChars": 20000,
"sandbox": {
"mode": "off",
"sandboxed": false
},
"systemPrompt": {
"chars": 21966,
"projectContextChars": 11836,
"nonProjectContextChars": 10130
},
"injectedWorkspaceFiles": [
{
"name": "AGENTS.md",
"path": "/home/jramos/.openclaw/workspace/AGENTS.md",
"missing": false,
"rawChars": 7804,
"injectedChars": 7804,
"truncated": false
},
{
"name": "SOUL.md",
"path": "/home/jramos/.openclaw/workspace/SOUL.md",
"missing": false,
"rawChars": 1664,
"injectedChars": 1664,
"truncated": false
},
{
"name": "TOOLS.md",
"path": "/home/jramos/.openclaw/workspace/TOOLS.md",
"missing": false,
"rawChars": 567,
"injectedChars": 567,
"truncated": false
},
{
"name": "IDENTITY.md",
"path": "/home/jramos/.openclaw/workspace/IDENTITY.md",
"missing": false,
"rawChars": 283,
"injectedChars": 283,
"truncated": false
},
{
"name": "USER.md",
"path": "/home/jramos/.openclaw/workspace/USER.md",
"missing": false,
"rawChars": 959,
"injectedChars": 959,
"truncated": false
},
{
"name": "HEARTBEAT.md",
"path": "/home/jramos/.openclaw/workspace/HEARTBEAT.md",
"missing": false,
"rawChars": 167,
"injectedChars": 167,
"truncated": false
},
{
"name": "BOOTSTRAP.md",
"path": "/home/jramos/.openclaw/workspace/BOOTSTRAP.md",
"missing": true,
"rawChars": 0,
"injectedChars": 68,
"truncated": false
}
],
"skills": {
"promptChars": 1724,
"entries": [
{
"name": "bluebubbles",
"blockChars": 306
},
{
"name": "healthcheck",
"blockChars": 502
},
{
"name": "skill-creator",
"blockChars": 307
},
{
"name": "weather",
"blockChars": 231
}
]
},
"tools": {
"listChars": 1984,
"schemaChars": 14501,
"entries": [
{
"name": "read",
"summaryChars": 298,
"schemaChars": 392,
"propertiesCount": 4
},
{
"name": "edit",
"summaryChars": 129,
"schemaChars": 591,
"propertiesCount": 6
},
{
"name": "write",
"summaryChars": 127,
"schemaChars": 313,
"propertiesCount": 3
},
{
"name": "exec",
"summaryChars": 181,
"schemaChars": 1037,
"propertiesCount": 12
},
{
"name": "process",
"summaryChars": 85,
"schemaChars": 844,
"propertiesCount": 11
},
{
"name": "browser",
"summaryChars": 1251,
"schemaChars": 1869,
"propertiesCount": 28
},
{
"name": "canvas",
"summaryChars": 106,
"schemaChars": 661,
"propertiesCount": 18
},
{
"name": "nodes",
"summaryChars": 101,
"schemaChars": 1479,
"propertiesCount": 33
},
{
"name": "cron",
"summaryChars": 1959,
"schemaChars": 530,
"propertiesCount": 12
},
{
"name": "message",
"summaryChars": 478,
"schemaChars": 3612,
"propertiesCount": 79
},
{
"name": "tts",
"summaryChars": 129,
"schemaChars": 223,
"propertiesCount": 2
},
{
"name": "gateway",
"summaryChars": 225,
"schemaChars": 465,
"propertiesCount": 11
},
{
"name": "agents_list",
"summaryChars": 72,
"schemaChars": 33,
"propertiesCount": 0
},
{
"name": "sessions_list",
"summaryChars": 54,
"schemaChars": 176,
"propertiesCount": 4
},
{
"name": "sessions_history",
"summaryChars": 36,
"schemaChars": 149,
"propertiesCount": 3
},
{
"name": "sessions_send",
"summaryChars": 84,
"schemaChars": 203,
"propertiesCount": 5
},
{
"name": "sessions_spawn",
"summaryChars": 107,
"schemaChars": 312,
"propertiesCount": 8
},
{
"name": "session_status",
"summaryChars": 207,
"schemaChars": 89,
"propertiesCount": 2
},
{
"name": "web_search",
"summaryChars": 175,
"schemaChars": 733,
"propertiesCount": 6
},
{
"name": "web_fetch",
"summaryChars": 129,
"schemaChars": 360,
"propertiesCount": 3
},
{
"name": "image",
"summaryChars": 184,
"schemaChars": 163,
"propertiesCount": 4
},
{
"name": "memory_search",
"summaryChars": 235,
"schemaChars": 139,
"propertiesCount": 3
},
{
"name": "memory_get",
"summaryChars": 151,
"schemaChars": 128,
"propertiesCount": 3
}
]
}
},
"lastTo": "channel:1468718506835972127",
"lastAccountId": "default",
"inputTokens": 10,
"outputTokens": 572,
"totalTokens": 42201
}
}

90
canvas/index.html Normal file
View File

@@ -0,0 +1,90 @@
<!doctype html>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>OpenClaw Canvas</title>
<style>
html, body { height: 100%; margin: 0; background: #000; color: #fff; font: 16px/1.4 -apple-system, BlinkMacSystemFont, system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }
.wrap { min-height: 100%; display: grid; place-items: center; padding: 24px; }
.card { width: min(720px, 100%); background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.10); border-radius: 16px; padding: 18px 18px 14px; }
.title { display: flex; align-items: baseline; gap: 10px; }
h1 { margin: 0; font-size: 22px; letter-spacing: 0.2px; }
.sub { opacity: 0.75; font-size: 13px; }
.row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
button { appearance: none; border: 1px solid rgba(255,255,255,0.14); background: rgba(255,255,255,0.10); color: #fff; padding: 10px 12px; border-radius: 12px; font-weight: 600; cursor: pointer; }
button:active { transform: translateY(1px); }
.ok { color: #24e08a; }
.bad { color: #ff5c5c; }
.log { margin-top: 14px; opacity: 0.85; font: 12px/1.4 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; white-space: pre-wrap; background: rgba(0,0,0,0.35); border: 1px solid rgba(255,255,255,0.08); padding: 10px; border-radius: 12px; }
</style>
<div class="wrap">
<div class="card">
<div class="title">
<h1>OpenClaw Canvas</h1>
<div class="sub">Interactive test page (auto-reload enabled)</div>
</div>
<div class="row">
<button id="btn-hello">Hello</button>
<button id="btn-time">Time</button>
<button id="btn-photo">Photo</button>
<button id="btn-dalek">Dalek</button>
</div>
<div id="status" class="sub" style="margin-top: 10px;"></div>
<div id="log" class="log">Ready.</div>
</div>
</div>
<script>
(() => {
const logEl = document.getElementById("log");
const statusEl = document.getElementById("status");
const log = (msg) => { logEl.textContent = String(msg); };
const hasIOS = () =>
!!(
window.webkit &&
window.webkit.messageHandlers &&
window.webkit.messageHandlers.openclawCanvasA2UIAction
);
const hasAndroid = () =>
!!(
(window.openclawCanvasA2UIAction &&
typeof window.openclawCanvasA2UIAction.postMessage === "function")
);
const hasHelper = () => typeof window.openclawSendUserAction === "function";
statusEl.innerHTML =
"Bridge: " +
(hasHelper() ? "<span class='ok'>ready</span>" : "<span class='bad'>missing</span>") +
" · iOS=" + (hasIOS() ? "yes" : "no") +
" · Android=" + (hasAndroid() ? "yes" : "no");
const onStatus = (ev) => {
const d = ev && ev.detail || {};
log("Action status: id=" + (d.id || "?") + " ok=" + String(!!d.ok) + (d.error ? (" error=" + d.error) : ""));
};
window.addEventListener("openclaw:a2ui-action-status", onStatus);
function send(name, sourceComponentId) {
if (!hasHelper()) {
log("No action bridge found. Ensure you're viewing this on an iOS/Android OpenClaw node canvas.");
return;
}
const sendUserAction =
typeof window.openclawSendUserAction === "function"
? window.openclawSendUserAction
: undefined;
const ok = sendUserAction({
name,
surfaceId: "main",
sourceComponentId,
context: { t: Date.now() },
});
log(ok ? ("Sent action: " + name) : ("Failed to send action: " + name));
}
document.getElementById("btn-hello").onclick = () => send("hello", "demo.hello");
document.getElementById("btn-time").onclick = () => send("time", "demo.time");
document.getElementById("btn-photo").onclick = () => send("photo", "demo.photo");
document.getElementById("btn-dalek").onclick = () => send("dalek", "demo.dalek");
})();
</script>

77
cron/jobs.json Normal file
View File

@@ -0,0 +1,77 @@
{
"version": 1,
"jobs": [
{
"id": "77e0c1fa-1a84-4bd0-850b-62c5a8f8a59e",
"agentId": "main",
"name": "Daily Weather Report",
"enabled": true,
"createdAtMs": 1770270803088,
"updatedAtMs": 1770304235810,
"schedule": {
"kind": "cron",
"expr": "30 6 * * *",
"tz": "America/Denver"
},
"sessionTarget": "main",
"wakeMode": "next-heartbeat",
"payload": {
"kind": "systemEvent",
"text": "Fetch Denver weather: current conditions + today's high/low forecast. Use Open-Meteo API with both current_weather and daily forecast endpoints. Format as: Current: X°F, High: Y°F, Low: Z°F, conditions. Keep it brief and send to Discord."
},
"state": {
"nextRunAtMs": 1770384600000,
"lastRunAtMs": 1770303600006,
"lastStatus": "ok",
"lastDurationMs": 8
}
},
{
"id": "6f19d187-7dd1-4409-af62-8f7d2bce6d7c",
"agentId": "main",
"name": "Daily Cost Report",
"enabled": true,
"createdAtMs": 1770270803116,
"updatedAtMs": 1770304235831,
"schedule": {
"kind": "cron",
"expr": "30 6 * * *",
"tz": "America/Denver"
},
"sessionTarget": "main",
"wakeMode": "next-heartbeat",
"payload": {
"kind": "systemEvent",
"text": "Generate daily cost report: 1) Run session_status to get token usage, 2) Calculate session cost (Sonnet 4.5: $3/1M input, $15/1M output), 3) Read budget-tracker.json, update total_spent and remaining, 4) Save updated budget-tracker.json, 5) Send brief report to Discord with: session tokens, estimated cost, remaining budget of $20 starting credit. Keep concise."
},
"state": {
"nextRunAtMs": 1770384600000,
"lastRunAtMs": 1770303600021,
"lastStatus": "ok",
"lastDurationMs": 0
}
},
{
"id": "227933d9-1aba-400f-b421-ec1af923c399",
"agentId": "main",
"name": "Evening Cost Report",
"enabled": true,
"createdAtMs": 1770304320377,
"updatedAtMs": 1770304320377,
"schedule": {
"kind": "cron",
"expr": "0 20 * * *",
"tz": "America/Denver"
},
"sessionTarget": "main",
"wakeMode": "next-heartbeat",
"payload": {
"kind": "systemEvent",
"text": "Generate evening cost report: 1) Run session_status, 2) Calculate today's session cost (Sonnet 4.5: $3/1M input, $15/1M output), 3) Read budget-tracker.json, update totals, 4) Save budget-tracker.json, 5) Send brief evening update to Discord: today's usage and remaining budget. Keep concise."
},
"state": {
"nextRunAtMs": 1770346800000
}
}
]
}

77
cron/jobs.json.bak Normal file
View File

@@ -0,0 +1,77 @@
{
"version": 1,
"jobs": [
{
"id": "77e0c1fa-1a84-4bd0-850b-62c5a8f8a59e",
"agentId": "main",
"name": "Daily Weather Report",
"enabled": true,
"createdAtMs": 1770270803088,
"updatedAtMs": 1770304235810,
"schedule": {
"kind": "cron",
"expr": "30 6 * * *",
"tz": "America/Denver"
},
"sessionTarget": "main",
"wakeMode": "next-heartbeat",
"payload": {
"kind": "systemEvent",
"text": "Fetch Denver weather: current conditions + today's high/low forecast. Use Open-Meteo API with both current_weather and daily forecast endpoints. Format as: Current: X°F, High: Y°F, Low: Z°F, conditions. Keep it brief and send to Discord."
},
"state": {
"nextRunAtMs": 1770384600000,
"lastRunAtMs": 1770303600006,
"lastStatus": "ok",
"lastDurationMs": 8
}
},
{
"id": "6f19d187-7dd1-4409-af62-8f7d2bce6d7c",
"agentId": "main",
"name": "Daily Cost Report",
"enabled": true,
"createdAtMs": 1770270803116,
"updatedAtMs": 1770304235831,
"schedule": {
"kind": "cron",
"expr": "30 6 * * *",
"tz": "America/Denver"
},
"sessionTarget": "main",
"wakeMode": "next-heartbeat",
"payload": {
"kind": "systemEvent",
"text": "Generate daily cost report: 1) Run session_status to get token usage, 2) Calculate session cost (Sonnet 4.5: $3/1M input, $15/1M output), 3) Read budget-tracker.json, update total_spent and remaining, 4) Save updated budget-tracker.json, 5) Send brief report to Discord with: session tokens, estimated cost, remaining budget of $20 starting credit. Keep concise."
},
"state": {
"nextRunAtMs": 1770384600000,
"lastRunAtMs": 1770303600021,
"lastStatus": "ok",
"lastDurationMs": 0
}
},
{
"id": "227933d9-1aba-400f-b421-ec1af923c399",
"agentId": "main",
"name": "Evening Cost Report",
"enabled": true,
"createdAtMs": 1770304320377,
"updatedAtMs": 1770304320377,
"schedule": {
"kind": "cron",
"expr": "0 20 * * *",
"tz": "America/Denver"
},
"sessionTarget": "main",
"wakeMode": "next-heartbeat",
"payload": {
"kind": "systemEvent",
"text": "Generate evening cost report: 1) Run session_status, 2) Calculate today's session cost (Sonnet 4.5: $3/1M input, $15/1M output), 3) Read budget-tracker.json, update totals, 4) Save budget-tracker.json, 5) Send brief evening update to Discord: today's usage and remaining budget. Keep concise."
},
"state": {
"nextRunAtMs": 1770346800000
}
}
]
}

View File

@@ -0,0 +1 @@
{"ts":1770303600023,"jobId":"6f19d187-7dd1-4409-af62-8f7d2bce6d7c","action":"finished","status":"ok","summary":"Run session_status to show current model usage, token consumption, and costs. Provide a brief summary of usage trends if notable.","runAtMs":1770303600021,"durationMs":0,"nextRunAtMs":1770390000000}

View File

@@ -0,0 +1 @@
{"ts":1770303600020,"jobId":"77e0c1fa-1a84-4bd0-850b-62c5a8f8a59e","action":"finished","status":"ok","summary":"Get the current weather for Denver using Open-Meteo API (latitude=39.74, longitude=-104.99). Use exec with curl to fetch: https://api.open-meteo.com/v1/forecast?latitude=39.74&longitude=-104.99&current_weather=true&temperature_unit=fahrenheit — Parse the JSON and provide a concise morning weather summary.","runAtMs":1770303600006,"durationMs":8,"nextRunAtMs":1770390000000}

65
devices/paired.json Normal file
View File

@@ -0,0 +1,65 @@
{
"a964ef10e2ffd5bc0516040d9374165f44d5503ac06dbf1725e7b794989b25bd": {
"deviceId": "a964ef10e2ffd5bc0516040d9374165f44d5503ac06dbf1725e7b794989b25bd",
"publicKey": "IpOoK822IN-5iRswDGpYWS0y5VJ6nqTK-YnFJ4UepCE",
"platform": "linux",
"clientId": "gateway-client",
"clientMode": "backend",
"role": "operator",
"roles": [
"operator"
],
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"tokens": {
"operator": {
"token": "37918a43e1044131a00ffd093c12127d",
"role": "operator",
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"createdAtMs": 1770253965832,
"lastUsedAtMs": 1770304320368
}
},
"createdAtMs": 1770253965832,
"approvedAtMs": 1770253965832,
"displayName": "agent"
},
"681784fd3e370f9e5a76233a5bcea69317d65a52188e1c8afc29a6e099b21057": {
"deviceId": "681784fd3e370f9e5a76233a5bcea69317d65a52188e1c8afc29a6e099b21057",
"publicKey": "62V1lAqxhcgR3QeW6cqBuQokpeTsMLXa4lgHZJeGcP8",
"platform": "Linux x86_64",
"clientId": "openclaw-control-ui",
"clientMode": "webchat",
"role": "operator",
"roles": [
"operator"
],
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"tokens": {
"operator": {
"token": "74901ee2db7847c6b3a035836d42602a",
"role": "operator",
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"createdAtMs": 1770253981327,
"lastUsedAtMs": 1770266841800
}
},
"createdAtMs": 1770253981327,
"approvedAtMs": 1770253981327
}
}

1
devices/pending.json Normal file
View File

@@ -0,0 +1 @@
{}

9
exec-approvals.json Normal file
View File

@@ -0,0 +1,9 @@
{
"version": 1,
"socket": {
"path": "/home/jramos/.openclaw/exec-approvals.sock",
"token": "PJ92DkbXUODOlMu4pxduKaiCjdAoDnSZ"
},
"defaults": {},
"agents": {}
}

16
identity/device-auth.json Normal file
View File

@@ -0,0 +1,16 @@
{
"version": 1,
"deviceId": "a964ef10e2ffd5bc0516040d9374165f44d5503ac06dbf1725e7b794989b25bd",
"tokens": {
"operator": {
"token": "37918a43e1044131a00ffd093c12127d",
"role": "operator",
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing"
],
"updatedAtMs": 1770304320374
}
}
}

7
identity/device.json Normal file
View File

@@ -0,0 +1,7 @@
{
"version": 1,
"deviceId": "a964ef10e2ffd5bc0516040d9374165f44d5503ac06dbf1725e7b794989b25bd",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAIpOoK822IN+5iRswDGpYWS0y5VJ6nqTK+YnFJ4UepCE=\n-----END PUBLIC KEY-----\n",
"privateKeyPem": "-----BEGIN PRIVATE KEY-----\nMC4CAQAwBQYDK2VwBCIEIEVif1Hjc9WqipNTAnea9RViZi639gH2fZVdOOKCh3a5\n-----END PRIVATE KEY-----\n",
"createdAtMs": 1770253892436
}

86
openclaw.json Normal file
View File

@@ -0,0 +1,86 @@
{
"meta": {
"lastTouchedVersion": "2026.2.2-3",
"lastTouchedAt": "2026-02-05T05:09:07.938Z"
},
"wizard": {
"lastRunAt": "2026-02-05T05:09:07.925Z",
"lastRunVersion": "2026.2.2-3",
"lastRunCommand": "configure",
"lastRunMode": "local"
},
"update": {
"checkOnStart": true
},
"auth": {
"profiles": {
"anthropic:default": {
"provider": "anthropic",
"mode": "token"
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-sonnet-4-5"
},
"models": {
"anthropic/claude-opus-4-5": {
"alias": "opus"
},
"anthropic/claude-sonnet-4-5": {
"alias": "sonnet"
}
},
"workspace": "/home/jramos/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto"
},
"channels": {
"discord": {
"enabled": true,
"token": "MTQ2ODY5NDg4MTkxMTE3NzM3OA.GLhe-S.Ykl3fRO9VkVcYApxNcUKto-AGnuKU8YBi8V8ZI",
"groupPolicy": "allowlist",
"guilds": {}
}
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"auth": {
"mode": "token",
"token": "5d1556913de8d28a8a1785b304f3c2bfc893918d72214998"
},
"tailscale": {
"mode": "off",
"resetOnExit": false
}
},
"skills": {
"install": {
"nodeManager": "npm"
}
},
"plugins": {
"entries": {
"discord": {
"enabled": true
}
}
}
}

81
openclaw.json.bak Normal file
View File

@@ -0,0 +1,81 @@
{
"meta": {
"lastTouchedVersion": "2026.2.2-3",
"lastTouchedAt": "2026-02-05T05:05:40.164Z"
},
"wizard": {
"lastRunAt": "2026-02-05T05:05:40.151Z",
"lastRunVersion": "2026.2.2-3",
"lastRunCommand": "configure",
"lastRunMode": "local"
},
"update": {
"checkOnStart": true
},
"auth": {
"profiles": {
"anthropic:default": {
"provider": "anthropic",
"mode": "api_key"
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-3-5-sonnet-20240620"
},
"models": {
"amazon-bedrock/us.anthropic.claude-sonnet-4-5-20250929-v1:0": {}
},
"workspace": "/home/jramos/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto"
},
"channels": {
"discord": {
"enabled": true,
"token": "MTQ2ODY5NDg4MTkxMTE3NzM3OA.GLhe-S.Ykl3fRO9VkVcYApxNcUKto-AGnuKU8YBi8V8ZI",
"groupPolicy": "allowlist",
"guilds": {}
}
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"auth": {
"mode": "token",
"token": "5d1556913de8d28a8a1785b304f3c2bfc893918d72214998"
},
"tailscale": {
"mode": "off",
"resetOnExit": false
}
},
"skills": {
"install": {
"nodeManager": "npm"
}
},
"plugins": {
"entries": {
"discord": {
"enabled": true
}
}
}
}

82
openclaw.json.bak.1 Normal file
View File

@@ -0,0 +1,82 @@
{
"meta": {
"lastTouchedVersion": "2026.2.2-3",
"lastTouchedAt": "2026-02-05T04:44:40.961Z"
},
"wizard": {
"lastRunAt": "2026-02-05T04:44:40.951Z",
"lastRunVersion": "2026.2.2-3",
"lastRunCommand": "onboard",
"lastRunMode": "local"
},
"update": {
"checkOnStart": true
},
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-3-5-sonnet-20240620"
},
"models": {
"amazon-bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0": {},
"anthropic/claude-3-5-sonnet-20240620": {}
},
"workspace": "/home/jramos/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto"
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"auth": {
"mode": "token",
"token": "5d1556913de8d28a8a1785b304f3c2bfc893918d72214998"
},
"tailscale": {
"mode": "off",
"resetOnExit": false
}
},
"skills": {
"install": {
"nodeManager": "npm"
}
},
"auth": {
"profiles": {
"anthropic:default": {
"provider": "anthropic",
"mode": "api_key"
}
}
},
"plugins": {
"entries": {
"discord": {
"enabled": true
}
}
},
"channels": {
"discord": {
"enabled": true,
"token": "MTQ2ODY5NDg4MTkxMTE3NzM3OA.GLhe-S.Ykl3fRO9VkVcYApxNcUKto-AGnuKU8YBi8V8ZI",
"groupPolicy": "allowlist",
"guilds": {}
}
}
}

82
openclaw.json.bak.2 Normal file
View File

@@ -0,0 +1,82 @@
{
"meta": {
"lastTouchedVersion": "2026.2.2-3",
"lastTouchedAt": "2026-02-05T04:43:03.517Z"
},
"wizard": {
"lastRunAt": "2026-02-05T01:12:37.041Z",
"lastRunVersion": "2026.2.2-3",
"lastRunCommand": "onboard",
"lastRunMode": "local"
},
"update": {
"checkOnStart": true
},
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-3-5-sonnet-20240620"
},
"models": {
"amazon-bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0": {},
"anthropic/claude-3-5-sonnet-20240620": {}
},
"workspace": "/home/jramos/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto"
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"auth": {
"mode": "token",
"token": "5d1556913de8d28a8a1785b304f3c2bfc893918d72214998"
},
"tailscale": {
"mode": "off",
"resetOnExit": false
}
},
"skills": {
"install": {
"nodeManager": "npm"
}
},
"auth": {
"profiles": {
"anthropic:default": {
"provider": "anthropic",
"mode": "api_key"
}
}
},
"plugins": {
"entries": {
"discord": {
"enabled": true
}
}
},
"channels": {
"discord": {
"enabled": true,
"token": "MTQ2ODY5NDg4MTkxMTE3NzM3OA.GLhe-S.Yk13fRO9VkVcYApxNcUkto-AGnuKU8YBi8V8ZI",
"groupPolicy": "allowlist",
"guilds": {}
}
}
}

58
openclaw.json.bak.3 Normal file
View File

@@ -0,0 +1,58 @@
{
"meta": {
"lastTouchedVersion": "2026.2.2-3",
"lastTouchedAt": "2026-02-05T04:12:59.618Z"
},
"wizard": {
"lastRunAt": "2026-02-05T01:12:37.041Z",
"lastRunVersion": "2026.2.2-3",
"lastRunCommand": "onboard",
"lastRunMode": "local"
},
"update": {
"checkOnStart": true
},
"agents": {
"defaults": {
"model": {
"primary": "amazon-bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0"
},
"models": {
"amazon-bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0": {}
},
"workspace": "/home/jramos/.openclaw/workspace",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto"
},
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback",
"auth": {
"mode": "token",
"token": "5d1556913de8d28a8a1785b304f3c2bfc893918d72214998"
},
"tailscale": {
"mode": "off",
"resetOnExit": false
}
},
"skills": {
"install": {
"nodeManager": "npm"
}
}
}

51
openclaw.json.bak.4 Normal file
View File

@@ -0,0 +1,51 @@
{
"messages": {
"ackReactionScope": "group-mentions"
},
"agents": {
"defaults": {
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
},
"compaction": {
"mode": "safeguard"
},
"workspace": "/home/jramos/.openclaw/workspace",
"model": {
"primary": "amazon-bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0"
},
"models": {
"amazon-bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0": {}
}
}
},
"gateway": {
"mode": "local",
"auth": {
"mode": "token",
"token": "5d1556913de8d28a8a1785b304f3c2bfc893918d72214998"
},
"port": 18789,
"bind": "loopback",
"tailscale": {
"mode": "off",
"resetOnExit": false
}
},
"skills": {
"install": {
"nodeManager": "npm"
}
},
"wizard": {
"lastRunAt": "2026-02-05T01:12:37.041Z",
"lastRunVersion": "2026.2.2-3",
"lastRunCommand": "onboard",
"lastRunMode": "local"
},
"meta": {
"lastTouchedVersion": "2026.2.2-3",
"lastTouchedAt": "2026-02-05T01:12:37.060Z"
}
}

3
update-check.json Normal file
View File

@@ -0,0 +1,3 @@
{
"lastCheckedAt": "2026-02-05T01:12:45.738Z"
}

1
workspace Submodule

Submodule workspace added at 9a4b93dde6