diff --git a/.clawhub/lock.json b/.clawhub/lock.json index ae23801..35d4c56 100644 --- a/.clawhub/lock.json +++ b/.clawhub/lock.json @@ -52,6 +52,10 @@ "playwright-scraper-skill": { "version": "1.2.0", "installedAt": 1771420763721 + }, + "youtube-transcript-analyzer": { + "version": "1.0.0", + "installedAt": 1771592050250 } } } diff --git a/TOOLS.md b/TOOLS.md index a41d7b3..5bd63d7 100644 --- a/TOOLS.md +++ b/TOOLS.md @@ -32,7 +32,6 @@ - **Token:** AGKnHafW3FGzBlt ### ⛔ NEVER USE - Cost Warnings -- **`openrouter/anthropic/*` — BANNED** — caused $96 bill in 1 hour (2026-02-19) - Always use `anthropic/claude-*` direct, never via openrouter - OpenRouter is fine for deepseek, qwen, and other non-Anthropic models diff --git a/USER.md b/USER.md index b9ccac5..9d01857 100644 --- a/USER.md +++ b/USER.md @@ -21,6 +21,12 @@ - **Tools:** MS Office Suite, FreshRSS, Notion, Home Assistant, n8n, Gitea, Telegram - **Goals:** Make things "just work" — reduce friction, automate repetitive tasks +## Email Preference + +- **Primary inbox + outgoing account for agent email:** `krillyclaw@gmail.com` +- **Secondary/backup:** `krilly@agentmail.to` +- **Use primary by default unless Anthony says otherwise** + ## Family - **Mother:** Grace Martin (born June 1951) diff --git a/automations/n8n/backup-verifier-runbook.md b/automations/n8n/backup-verifier-runbook.md new file mode 100644 index 0000000..83fc5ec --- /dev/null +++ b/automations/n8n/backup-verifier-runbook.md @@ -0,0 +1,29 @@ +# Auto-Backup Verifier — Runbook + +## Purpose +Verify daily that backup pushed to Gitea includes critical files. + +## Import +1. Open n8n → Workflows → Import from file +2. Import `backup-verifier-workflow.json` +3. Configure credentials: + - HTTP Header Auth for Gitea API (Authorization: token ) + - Telegram credential named `Telegram account` +4. Set env var in n8n for Gotify: + - `GOTIFY_TOKEN=` + +## What it checks +- AGENTS.md +- MEMORY.md +- TOOLS.md +- state-backup/openclaw.json +- state-backup/cron/jobs.json +- state-backup/devices/paired.json + +## Alerts +- Success: Gotify priority 2 +- Failure: Gotify priority 9 + Telegram alert + +## Notes +- Schedule is 02:20 AWST by default (after backup) +- Keep workflow inactive until credentials are confirmed diff --git a/automations/n8n/backup-verifier-workflow.json b/automations/n8n/backup-verifier-workflow.json new file mode 100644 index 0000000..d42e66d --- /dev/null +++ b/automations/n8n/backup-verifier-workflow.json @@ -0,0 +1,169 @@ +{ + "name": "Auto-Backup Verifier", + "nodes": [ + { + "parameters": { + "rule": { + "interval": [ + { + "field": "cronExpression", + "expression": "20 2 * * *" + } + ] + }, + "timezone": "Australia/Perth" + }, + "id": "cron-trigger", + "name": "Daily 02:20 AWST", + "type": "n8n-nodes-base.scheduleTrigger", + "typeVersion": 1.2, + "position": [200, 300] + }, + { + "parameters": { + "assignments": { + "assignments": [ + { "name": "repoOwner", "type": "string", "value": "Anthony" }, + { "name": "repoName", "type": "string", "value": "openclaw-backups" }, + { "name": "branch", "type": "string", "value": "main" }, + { "name": "requiredPaths", "type": "string", "value": "AGENTS.md,MEMORY.md,TOOLS.md,state-backup/openclaw.json,state-backup/cron/jobs.json,state-backup/devices/paired.json" } + ] + } + }, + "id": "set-context", + "name": "Set Context", + "type": "n8n-nodes-base.set", + "typeVersion": 3.4, + "position": [420, 300] + }, + { + "parameters": { + "url": "=http://gitea.kangaroo-eel.ts.net:3000/api/v1/repos/{{$json.repoOwner}}/{{$json.repoName}}/branches/{{$json.branch}}", + "authentication": "genericCredentialType", + "genericAuthType": "httpHeaderAuth", + "options": { "timeout": 10000 } + }, + "id": "get-branch", + "name": "Get Branch Head", + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.2, + "position": [660, 300], + "retryOnFail": true, + "maxTries": 3, + "waitBetweenTries": 2000 + }, + { + "parameters": { + "url": "=http://gitea.kangaroo-eel.ts.net:3000/api/v1/repos/{{$node[\"Set Context\"].json.repoOwner}}/{{$node[\"Set Context\"].json.repoName}}/git/trees/{{$json.commit.id}}?recursive=1", + "authentication": "genericCredentialType", + "genericAuthType": "httpHeaderAuth", + "options": { "timeout": 10000 } + }, + "id": "get-tree", + "name": "Get Repo Tree", + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.2, + "position": [900, 300], + "retryOnFail": true, + "maxTries": 3, + "waitBetweenTries": 2000 + }, + { + "parameters": { + "jsCode": "const required = $node['Set Context'].json.requiredPaths.split(',').map(s => s.trim());\nconst tree = $json.tree || [];\nconst existing = new Set(tree.map(t => t.path));\nconst missing = required.filter(p => !existing.has(p));\nreturn [{ json: {\n status: missing.length ? 'failed' : 'ok',\n missing,\n checked: required.length,\n headSha: ($node['Get Branch Head'].json.commit || {}).id || '',\n repo: `${$node['Set Context'].json.repoOwner}/${$node['Set Context'].json.repoName}`\n}}];" + }, + "id": "validate", + "name": "Validate Required Files", + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [1140, 300] + }, + { + "parameters": { + "conditions": { + "string": [ + { "value1": "={{$json.status}}", "operation": "equals", "value2": "ok" } + ] + } + }, + "id": "if-ok", + "name": "Backup OK?", + "type": "n8n-nodes-base.if", + "typeVersion": 2, + "position": [1360, 300] + }, + { + "parameters": { + "url": "=http://runtipi.kangaroo-eel.ts.net:8129/message?token={{$env.GOTIFY_TOKEN}}", + "sendBody": true, + "contentType": "json", + "bodyParameters": { + "parameters": [ + { "name": "title", "value": "✅ Backup Verified" }, + { "name": "message", "value": "={{`Repo ${$json.repo} verified. SHA: ${$json.headSha.slice(0,7)}. Checked ${$json.checked} required files.`}}" }, + { "name": "priority", "value": "2" } + ] + }, + "options": { "timeout": 10000 } + }, + "id": "notify-ok", + "name": "Gotify Success", + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.2, + "position": [1600, 200] + }, + { + "parameters": { + "url": "=http://runtipi.kangaroo-eel.ts.net:8129/message?token={{$env.GOTIFY_TOKEN}}", + "sendBody": true, + "contentType": "json", + "bodyParameters": { + "parameters": [ + { "name": "title", "value": "🚨 Backup Verification Failed" }, + { "name": "message", "value": "={{`Repo ${$json.repo} failed verification. Missing: ${$json.missing.join(', ')}. SHA: ${$json.headSha.slice(0,7)}`}}" }, + { "name": "priority", "value": "9" } + ] + }, + "options": { "timeout": 10000 } + }, + "id": "notify-fail-gotify", + "name": "Gotify Failure", + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.2, + "position": [1600, 360] + }, + { + "parameters": { + "chatId": "1793951355", + "text": "={{`🦀 Backup verifier failed\nRepo: ${$json.repo}\nMissing: ${$json.missing.join(', ')}\nSHA: ${$json.headSha.slice(0,7)}`}}", + "additionalFields": {} + }, + "id": "notify-fail-telegram", + "name": "Telegram Failure", + "type": "n8n-nodes-base.telegram", + "typeVersion": 1.2, + "position": [1810, 360], + "credentials": { + "telegramApi": { + "name": "Telegram account" + } + } + } + ], + "connections": { + "Daily 02:20 AWST": { "main": [[{ "node": "Set Context", "type": "main", "index": 0 }]] }, + "Set Context": { "main": [[{ "node": "Get Branch Head", "type": "main", "index": 0 }]] }, + "Get Branch Head": { "main": [[{ "node": "Get Repo Tree", "type": "main", "index": 0 }]] }, + "Get Repo Tree": { "main": [[{ "node": "Validate Required Files", "type": "main", "index": 0 }]] }, + "Validate Required Files": { "main": [[{ "node": "Backup OK?", "type": "main", "index": 0 }]] }, + "Backup OK?": { + "main": [ + [{ "node": "Gotify Success", "type": "main", "index": 0 }], + [{ "node": "Gotify Failure", "type": "main", "index": 0 }] + ] + }, + "Gotify Failure": { "main": [[{ "node": "Telegram Failure", "type": "main", "index": 0 }]] } + }, + "settings": { "executionOrder": "v1" }, + "active": false +} diff --git a/automations/n8n/newsletter-compressor-workflow.json b/automations/n8n/newsletter-compressor-workflow.json new file mode 100644 index 0000000..e8596eb --- /dev/null +++ b/automations/n8n/newsletter-compressor-workflow.json @@ -0,0 +1,98 @@ +{ + "name": "Newsletter Compressor", + "nodes": [ + { + "parameters": { + "rule": {"interval": [{"field": "cronExpression", "expression": "15 7 * * *"}]}, + "timezone": "Australia/Perth" + }, + "id": "cron", + "name": "Daily 07:15 AWST", + "type": "n8n-nodes-base.scheduleTrigger", + "typeVersion": 1.2, + "position": [220, 300] + }, + { + "parameters": { + "httpMethod": "POST", + "path": "newsletter-compressor-run", + "responseMode": "onReceived", + "options": {} + }, + "id": "webhook", + "name": "Webhook Execute (POST)", + "type": "n8n-nodes-base.webhook", + "typeVersion": 2, + "position": [220, 460] + }, + { + "parameters": { + "assignments": { + "assignments": [ + { + "name": "wakeText", + "type": "string", + "value": "Create a morning newsletter compressor briefing for Anthony. Collect latest unread/recent newsletter-style items (AI/news/tech), cluster into themes, and send a concise Telegram brief to telegram:1793951355 with: (1) Top 5 bullets, (2) Why it matters in one line each, (3) One recommended read. Keep it tight and useful. If nothing meaningful, send NO_REPLY." + } + ] + } + }, + "id": "set", + "name": "Set Prompt", + "type": "n8n-nodes-base.set", + "typeVersion": 3.4, + "position": [470, 380] + }, + { + "parameters": { + "url": "http://openclaw.kangaroo-eel.ts.net:18789/api/wake", + "authentication": "genericCredentialType", + "genericAuthType": "httpHeaderAuth", + "sendBody": true, + "contentType": "json", + "bodyParameters": { + "parameters": [ + {"name": "text", "value": "={{$json.wakeText}}"}, + {"name": "mode", "value": "now"} + ] + }, + "options": {"timeout": 15000} + }, + "id": "wake", + "name": "Trigger OpenClaw Briefing", + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.2, + "position": [730, 380], + "retryOnFail": true, + "maxTries": 3, + "waitBetweenTries": 2000 + }, + { + "parameters": { + "url": "http://runtipi.kangaroo-eel.ts.net:8129/message?token=AGKnHafW3FGzBlt", + "sendBody": true, + "contentType": "json", + "bodyParameters": { + "parameters": [ + {"name": "title", "value": "📰 Newsletter Compressor Triggered"}, + {"name": "message", "value": "Morning newsletter compression job was triggered via n8n."}, + {"name": "priority", "value": "3"} + ] + } + }, + "id": "gotify", + "name": "Gotify Status", + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.2, + "position": [980, 380] + } + ], + "connections": { + "Daily 07:15 AWST": {"main": [[{"node": "Set Prompt", "type": "main", "index": 0}]]}, + "Webhook Execute (POST)": {"main": [[{"node": "Set Prompt", "type": "main", "index": 0}]]}, + "Set Prompt": {"main": [[{"node": "Trigger OpenClaw Briefing", "type": "main", "index": 0}]]}, + "Trigger OpenClaw Briefing": {"main": [[{"node": "Gotify Status", "type": "main", "index": 0}]]} + }, + "settings": {"executionOrder": "v1"}, + "active": false +} diff --git a/automations/n8n/openclaw-drift-detector-workflow.json b/automations/n8n/openclaw-drift-detector-workflow.json new file mode 100644 index 0000000..234ed2a --- /dev/null +++ b/automations/n8n/openclaw-drift-detector-workflow.json @@ -0,0 +1,142 @@ +{ + "name": "OpenClaw Drift Detector", + "nodes": [ + { + "parameters": { + "rule": {"interval": [{"field": "cronExpression", "expression": "45 6 * * *"}]}, + "timezone": "Australia/Perth" + }, + "id": "cron", + "name": "Daily 06:45 AWST", + "type": "n8n-nodes-base.scheduleTrigger", + "typeVersion": 1.2, + "position": [220, 320] + }, + { + "parameters": { + "assignments": { + "assignments": [ + {"name": "repoOwner", "type": "string", "value": "Anthony"}, + {"name": "repoName", "type": "string", "value": "openclaw-backups"}, + {"name": "branch", "type": "string", "value": "main"} + ] + } + }, + "id": "set", + "name": "Set Repo Context", + "type": "n8n-nodes-base.set", + "typeVersion": 3.4, + "position": [440, 320] + }, + { + "parameters": { + "url": "=http://gitea.kangaroo-eel.ts.net:3000/api/v1/repos/{{$json.repoOwner}}/{{$json.repoName}}/commits?sha={{$json.branch}}&limit=2", + "options": {"timeout": 10000} + }, + "id": "commits", + "name": "Get Last 2 Commits", + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.2, + "position": [680, 320], + "retryOnFail": true, + "maxTries": 3, + "waitBetweenTries": 1500 + }, + { + "parameters": { + "jsCode": "const commits = Array.isArray($json) ? $json : ($json.data || []);\nif (commits.length < 2) {\n return [{json:{status:'insufficient_history', message:'Not enough commits to compare'}}];\n}\nreturn [{json:{status:'ok', head: commits[0].sha, base: commits[1].sha, headMsg: commits[0].commit?.message || '', baseMsg: commits[1].commit?.message || ''}}];" + }, + "id": "prep", + "name": "Prepare Compare SHAs", + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [920, 320] + }, + { + "parameters": { + "conditions": {"string": [{"value1": "={{$json.status}}", "operation": "equals", "value2": "ok"}]} + }, + "id": "if-ready", + "name": "Ready to Compare?", + "type": "n8n-nodes-base.if", + "typeVersion": 2, + "position": [1140, 320] + }, + { + "parameters": { + "url": "=http://gitea.kangaroo-eel.ts.net:3000/api/v1/repos/Anthony/openclaw-backups/compare/{{$json.base}}...{{$json.head}}", + "options": {"timeout": 10000} + }, + "id": "compare", + "name": "Compare Commits", + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.2, + "position": [1360, 260], + "retryOnFail": true, + "maxTries": 3, + "waitBetweenTries": 1500 + }, + { + "parameters": { + "jsCode": "const files = $json.files || [];\nconst watch = [\n 'state-backup/openclaw.json',\n 'state-backup/cron/jobs.json',\n 'state-backup/devices/paired.json',\n 'AGENTS.md','SOUL.md','USER.md','TOOLS.md','MEMORY.md','HEARTBEAT.md'\n];\nconst changed = files.map(f => f.filename).filter(f => watch.some(w => f===w));\nconst critical = changed.filter(f => f.startsWith('state-backup/'));\nreturn [{json:{drift: changed.length>0, changed, critical, changedCount: changed.length, criticalCount: critical.length}}];" + }, + "id": "analyze", + "name": "Analyze Drift", + "type": "n8n-nodes-base.code", + "typeVersion": 2, + "position": [1580, 260] + }, + { + "parameters": { + "conditions": {"boolean": [{"value1": "={{$json.drift}}", "operation": "true"}]} + }, + "id": "if-drift", + "name": "Drift Detected?", + "type": "n8n-nodes-base.if", + "typeVersion": 2, + "position": [1800, 260] + }, + { + "parameters": { + "url": "http://runtipi.kangaroo-eel.ts.net:8129/message?token=AGKnHafW3FGzBlt", + "sendBody": true, + "contentType": "json", + "bodyParameters": {"parameters": [ + {"name": "title", "value": "🦀 OpenClaw Drift Detected"}, + {"name": "message", "value": "={{`Changed files: ${$json.changed.join(', ')}${$json.criticalCount>0 ? '\nCritical state changed.' : ''}`}}"}, + {"name": "priority", "value": "={{$json.criticalCount>0 ? 9 : 6}}"} + ]} + }, + "id": "gotify", + "name": "Gotify Drift Alert", + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.2, + "position": [2020, 220] + }, + { + "parameters": { + "chatId": "1793951355", + "text": "={{`🦀 OpenClaw drift detected\nChanged: ${$json.changed.join(', ')}${$json.criticalCount>0 ? '\n⚠️ Critical state changed' : ''}`}}" + }, + "id": "tg", + "name": "Telegram Drift Alert", + "type": "n8n-nodes-base.telegram", + "typeVersion": 1.2, + "position": [2240, 220], + "credentials": {"telegramApi": {"name": "Telegram account"}} + } + ], + "connections": { + "Daily 06:45 AWST": {"main": [[{"node": "Set Repo Context", "type": "main", "index": 0}]]}, + "Set Repo Context": {"main": [[{"node": "Get Last 2 Commits", "type": "main", "index": 0}]]}, + "Get Last 2 Commits": {"main": [[{"node": "Prepare Compare SHAs", "type": "main", "index": 0}]]}, + "Prepare Compare SHAs": {"main": [[{"node": "Ready to Compare?", "type": "main", "index": 0}]]}, + "Ready to Compare?": {"main": [[{"node": "Compare Commits", "type": "main", "index": 0}], []]}, + "Compare Commits": {"main": [[{"node": "Analyze Drift", "type": "main", "index": 0}]]}, + "Analyze Drift": {"main": [[{"node": "Drift Detected?", "type": "main", "index": 0}]]}, + "Drift Detected?": {"main": [[{"node": "Gotify Drift Alert", "type": "main", "index": 0}], []]}, + "Gotify Drift Alert": {"main": [[{"node": "Telegram Drift Alert", "type": "main", "index": 0}]]} + }, + "settings": {"executionOrder": "v1"}, + "active": false +} diff --git a/automations/n8n/weekend-planner-2-workflow.json b/automations/n8n/weekend-planner-2-workflow.json new file mode 100644 index 0000000..ad9f95e --- /dev/null +++ b/automations/n8n/weekend-planner-2-workflow.json @@ -0,0 +1,106 @@ +{ + "name": "Weekend Planner 2.0 (HITL)", + "nodes": [ + { + "parameters": { + "rule": {"interval": [{"field": "cronExpression", "expression": "0 16 * * 5"}]}, + "timezone": "Australia/Perth" + }, + "id": "cron", + "name": "Friday 4:00 PM AWST", + "type": "n8n-nodes-base.scheduleTrigger", + "typeVersion": 1.2, + "position": [220, 280] + }, + { + "parameters": { + "httpMethod": "POST", + "path": "weekend-planner-2-run", + "responseMode": "onReceived", + "options": {} + }, + "id": "webhook-run", + "name": "Webhook Execute (POST)", + "type": "n8n-nodes-base.webhook", + "typeVersion": 2, + "position": [220, 430] + }, + { + "parameters": { + "assignments": { + "assignments": [ + {"name": "draftPrompt", "type": "string", "value": "Create a weekend plan draft for Anthony in Perth. Use: calendar items next 3 days, Perth weather, and practical recommendations. Output concise sections: Saturday, Sunday, Prep List, and one fun optional idea. Keep it useful and warm."}, + {"name": "approvalHint", "type": "string", "value": "Reply APPROVE to send full plan, or REGEN to regenerate."} + ] + } + }, + "id": "set", + "name": "Set Planner Prompt", + "type": "n8n-nodes-base.set", + "typeVersion": 3.4, + "position": [450, 350] + }, + { + "parameters": { + "url": "http://openclaw.kangaroo-eel.ts.net:18789/api/wake", + "sendBody": true, + "contentType": "json", + "bodyParameters": { + "parameters": [ + {"name": "text", "value": "={{$json.draftPrompt}}"}, + {"name": "mode", "value": "now"} + ] + }, + "options": {"timeout": 15000} + }, + "id": "wake-draft", + "name": "Generate Plan Draft", + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.2, + "position": [700, 350], + "retryOnFail": true, + "maxTries": 3, + "waitBetweenTries": 2000 + }, + { + "parameters": { + "url": "http://runtipi.kangaroo-eel.ts.net:8129/message?token=AGKnHafW3FGzBlt", + "sendBody": true, + "contentType": "json", + "bodyParameters": { + "parameters": [ + {"name": "title", "value": "🗓️ Weekend Planner Draft Ready"}, + {"name": "message", "value": "={{`Draft generated. ${$node['Set Planner Prompt'].json.approvalHint}`}}"}, + {"name": "priority", "value": "5"} + ] + } + }, + "id": "gotify-draft", + "name": "Gotify Draft Ready", + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.2, + "position": [940, 350] + }, + { + "parameters": { + "chatId": "1793951355", + "text": "🦀 Weekend Planner draft is ready. Reply here with APPROVE to send final plan, or REGEN to regenerate." + }, + "id": "telegram-review", + "name": "Telegram Review Prompt", + "type": "n8n-nodes-base.telegram", + "typeVersion": 1.2, + "position": [1160, 350], + "credentials": {"telegramApi": {"name": "Telegram account"}} + } + ], + "connections": { + "Friday 4:00 PM AWST": {"main": [[{"node": "Set Planner Prompt", "type": "main", "index": 0}]]}, + "Webhook Execute (POST)": {"main": [[{"node": "Set Planner Prompt", "type": "main", "index": 0}]]}, + "Set Planner Prompt": {"main": [[{"node": "Generate Plan Draft", "type": "main", "index": 0}]]}, + "Generate Plan Draft": {"main": [[{"node": "Gotify Draft Ready", "type": "main", "index": 0}]]}, + "Gotify Draft Ready": {"main": [[{"node": "Telegram Review Prompt", "type": "main", "index": 0}]]} + }, + "settings": {"executionOrder": "v1"}, + "active": false +} diff --git a/memory/2026-02-20.md b/memory/2026-02-20.md new file mode 100644 index 0000000..69af617 --- /dev/null +++ b/memory/2026-02-20.md @@ -0,0 +1,6 @@ +# 2026-02-20 + +- Anthony confirmed email preference: use `krilly@agentmail.to` as the main inbox and outgoing account for agent email. +- Keep `krilly@sendclaw.com` secondary unless explicitly requested. +- Anthony created a dedicated Gmail for me: `krillyclaw@gmail.com` and confirmed it should now be my primary inbox/outgoing account. +- `krilly@agentmail.to` is now secondary/backup. diff --git a/memory/heartbeat-state.json b/memory/heartbeat-state.json index 9c2e948..acf3a84 100644 --- a/memory/heartbeat-state.json +++ b/memory/heartbeat-state.json @@ -1,9 +1,9 @@ { "lastChecks": { - "email": 1771494000, + "email": 1771542780, "calendar": null, "weather": null, "news": 1771444800 }, - "notes": "Calendar check unavailable - iMac does not support system.run. Email at krilly@agentmail.to - no new messages." + "notes": "7:13 AM Perth (Fri Feb 20). Morning briefing cron fired at 7:05 AM. No new emails. Calendar check unavailable - iMac does not support system.run." } diff --git a/skills/n8n/scripts/__pycache__/n8n_api.cpython-311.pyc b/skills/n8n/scripts/__pycache__/n8n_api.cpython-311.pyc new file mode 100644 index 0000000..61f6170 Binary files /dev/null and b/skills/n8n/scripts/__pycache__/n8n_api.cpython-311.pyc differ diff --git a/skills/n8n/scripts/n8n_api.py b/skills/n8n/scripts/n8n_api.py index 2fce8df..e9f9c49 100644 --- a/skills/n8n/scripts/n8n_api.py +++ b/skills/n8n/scripts/n8n_api.py @@ -17,9 +17,12 @@ class N8nClient: """n8n API client""" def __init__(self, base_url: str = None, api_key: str = None): - self.base_url = base_url or os.getenv('N8N_BASE_URL') + raw_base = base_url or os.getenv('N8N_BASE_URL') + self.base_url = raw_base.rstrip('/') if raw_base else None self.api_key = api_key or os.getenv('N8N_API_KEY') - + + if not self.base_url: + raise ValueError("N8N_BASE_URL not found in environment") if not self.api_key: raise ValueError("N8N_API_KEY not found in environment") diff --git a/skills/youtube-transcript-analyzer/.clawhub/origin.json b/skills/youtube-transcript-analyzer/.clawhub/origin.json new file mode 100644 index 0000000..996a2e0 --- /dev/null +++ b/skills/youtube-transcript-analyzer/.clawhub/origin.json @@ -0,0 +1,7 @@ +{ + "version": 1, + "registry": "https://clawhub.ai", + "slug": "youtube-transcript-analyzer", + "installedVersion": "1.0.0", + "installedAt": 1771592050248 +} diff --git a/skills/youtube-transcript-analyzer/SKILL.md b/skills/youtube-transcript-analyzer/SKILL.md new file mode 100644 index 0000000..e9393c8 --- /dev/null +++ b/skills/youtube-transcript-analyzer/SKILL.md @@ -0,0 +1,82 @@ +--- +name: youtube-transcript +description: Extract and analyze YouTube video transcripts without watching the video. Use when users request video summaries, ask to "analyze this YouTube video", want transcripts extracted, or need to understand video content quickly. Handles any YouTube URL and provides cleaned transcripts plus AI analysis. +--- + +# YouTube Transcript Analysis + +Extract, clean, and analyze YouTube video transcripts to understand content without watching. + +## Overview + +This skill enables rapid analysis of YouTube videos by extracting transcripts and providing comprehensive summaries. Perfect for research, content review, or understanding video material without time investment. + +## Quick Workflow + +1. **Extract**: Use `scripts/extract_transcript.sh` to get clean text from YouTube URL +2. **Read**: Load the extracted transcript file +3. **Analyze**: Provide structured summary based on content type +4. **Format**: Present findings in scannable, organized format + +## Extraction Process + +Use the bundled script for any YouTube video: + +```bash +scripts/extract_transcript.sh "https://www.youtube.com/watch?v=VIDEO_ID" output.txt +``` + +The script automatically: +- Downloads yt-dlp if not present +- Extracts captions (auto-generated or manual) +- Cleans VTT formatting to plain text +- Provides character count and preview + +## Analysis Approach + +### Content Type Recognition + +Identify video type first, then tailor analysis: + +**Educational/Tutorial**: Step-by-step breakdown, key concepts, prerequisites +**Product Review**: Comparisons, pros/cons, recommendations, specifications +**News/Commentary**: Main topics, key arguments, sources cited +**Entertainment**: Highlights, key moments, recurring themes + +### Structure Your Analysis + +**For any video type:** +- **Title/Topic**: Clear description of video content +- **Duration insight**: Brief/detailed based on transcript length +- **Key points**: 3-7 main takeaways in bullet format +- **Notable quotes**: Important statements (if applicable) +- **Action items**: Next steps or recommendations (if present) + +**For technical content:** +- Include specific terminology, version numbers, tools mentioned +- Note any code examples or configurations discussed +- Identify prerequisites or dependencies + +### Quality Considerations + +**Auto-generated transcripts may have:** +- Repetitive phrases +- Transcription errors for technical terms +- Missing punctuation +- Filler words ("um", "uh", "you know") + +Filter and interpret accordingly - focus on clear, coherent content. + +## Advanced Analysis + +For detailed analysis patterns and content-specific approaches, see [analysis-patterns.md](references/analysis-patterns.md). + +## Error Handling + +**If extraction fails:** +- Video may lack captions +- May be private/restricted +- Network connectivity issues +- Age-restricted content + +**Fallback approach:** Use web_fetch on the YouTube URL to get basic video information, then inform user about transcript limitations. \ No newline at end of file diff --git a/skills/youtube-transcript-analyzer/_meta.json b/skills/youtube-transcript-analyzer/_meta.json new file mode 100644 index 0000000..19b4b30 --- /dev/null +++ b/skills/youtube-transcript-analyzer/_meta.json @@ -0,0 +1,6 @@ +{ + "ownerId": "kn70p7web844540j9h6pt290sd818htj", + "slug": "youtube-transcript-analyzer", + "version": "1.0.0", + "publishedAt": 1771206844131 +} \ No newline at end of file diff --git a/skills/youtube-transcript-analyzer/references/analysis-patterns.md b/skills/youtube-transcript-analyzer/references/analysis-patterns.md new file mode 100644 index 0000000..45b9efa --- /dev/null +++ b/skills/youtube-transcript-analyzer/references/analysis-patterns.md @@ -0,0 +1,53 @@ +# YouTube Transcript Analysis Patterns + +## Common Analysis Tasks + +### Video Summaries +- **Structure**: Intro → Main Points → Key Takeaways +- **Focus on**: Numbered lists, major topics, specific recommendations +- **Include**: Timestamps for longer videos, action items if present + +### Educational Content +- **Extract**: Core concepts, steps in processes, key facts +- **Format**: Bullet points for easy scanning +- **Highlight**: Definitions, formulas, examples + +### Product Reviews/Comparisons +- **Organize by**: Products compared, pros/cons, final verdict +- **Include**: Specific features mentioned, pricing if discussed +- **Note**: Personal opinions vs objective facts + +### Tutorial/How-to Videos +- **Structure**: Step-by-step instructions +- **Include**: Prerequisites, tools needed, common mistakes +- **Format**: Numbered steps with key details + +## Text Cleaning Notes + +### Common Transcript Issues +- **Repetition**: Auto-generated transcripts often repeat phrases +- **Music tags**: `[music]` tags indicate background music +- **Filler words**: "uh", "um", "you know" are common +- **Missing punctuation**: Transcripts lack proper sentence structure + +### Quality Indicators +- **Good quality**: Clear sentences, proper nouns correctly transcribed +- **Medium quality**: Some repetition, occasional word errors +- **Poor quality**: Heavy repetition, many transcription errors, missing words + +## Analysis Tips + +### For Technical Content +- Look for specific terminology, model names, version numbers +- Note any code examples or configuration details +- Identify prerequisites and dependencies mentioned + +### For Opinion/Commentary +- Distinguish between facts and opinions +- Note sources cited or referenced +- Identify main arguments and supporting evidence + +### For Entertainment Content +- Focus on key moments, reactions, highlights +- Note recurring themes or running jokes +- Identify guest appearances or special segments \ No newline at end of file diff --git a/skills/youtube-transcript-analyzer/scripts/extract_transcript.sh b/skills/youtube-transcript-analyzer/scripts/extract_transcript.sh new file mode 100644 index 0000000..9360859 --- /dev/null +++ b/skills/youtube-transcript-analyzer/scripts/extract_transcript.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +# YouTube Transcript Extractor +# Extracts and cleans transcript from YouTube video URL + +set -e + +if [ $# -eq 0 ]; then + echo "Usage: $0 [output-file]" + echo "Example: $0 'https://www.youtube.com/watch?v=dQw4w9WgXcQ' transcript.txt" + exit 1 +fi + +VIDEO_URL="$1" +OUTPUT_FILE="${2:-transcript.txt}" + +# Check if yt-dlp exists +if ! command -v yt-dlp &> /dev/null; then + # Try to find it in home directory + if [ -f "$HOME/yt-dlp" ]; then + YT_DLP="$HOME/yt-dlp" + else + echo "Error: yt-dlp not found. Installing to ~/yt-dlp..." + curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o "$HOME/yt-dlp" + chmod +x "$HOME/yt-dlp" + YT_DLP="$HOME/yt-dlp" + fi +else + YT_DLP="yt-dlp" +fi + +echo "Extracting transcript from: $VIDEO_URL" + +# Extract transcript as VTT subtitle file +$YT_DLP --write-auto-sub --write-sub --sub-lang en --skip-download --sub-format vtt "$VIDEO_URL" -o "temp_transcript" --quiet 2>/dev/null || { + echo "Warning: Some warnings occurred during extraction, but continuing..." +} + +# Check if transcript was extracted +if [ ! -f "temp_transcript.en.vtt" ]; then + echo "Error: Failed to extract transcript. Video may not have captions available." + exit 1 +fi + +echo "Cleaning transcript..." + +# Clean up the VTT format to extract just the text +grep -v "^[0-9]" temp_transcript.en.vtt | \ +grep -v "^WEBVTT" | \ +grep -v "^Kind:" | \ +grep -v "^Language:" | \ +grep -v "^\s*$" | \ +grep -v "align:start" | \ +sed 's/<[^>]*>//g' | \ +tr '\n' ' ' | \ +sed 's/ */ /g' | \ +sed 's/^ *//g' | \ +sed 's/ *$//g' > "$OUTPUT_FILE" + +# Clean up temporary file +rm -f temp_transcript.en.vtt + +echo "Transcript saved to: $OUTPUT_FILE" +echo "Character count: $(wc -c < "$OUTPUT_FILE")" + +# Show first few lines as preview +echo -e "\nPreview:" +head -c 200 "$OUTPUT_FILE" +echo -e "...\n" \ No newline at end of file diff --git a/state-backup/README.md b/state-backup/README.md index 445ad47..97ece5d 100644 --- a/state-backup/README.md +++ b/state-backup/README.md @@ -8,4 +8,4 @@ Included state: - devices/paired.json - skills/*.json -Generated at: 2026-02-19T12:13:47Z +Generated at: 2026-02-20T13:01:46Z diff --git a/state-backup/cron/jobs.json b/state-backup/cron/jobs.json index 2f12c84..cac54ab 100644 --- a/state-backup/cron/jobs.json +++ b/state-backup/cron/jobs.json @@ -8,7 +8,7 @@ "enabled": true, "notify": false, "createdAtMs": 1771343375836, - "updatedAtMs": 1771477124683, + "updatedAtMs": 1771524040705, "schedule": { "kind": "cron", "expr": "0 2 * * *", @@ -22,10 +22,10 @@ "model": "opencode/kimi-k2.5-free" }, "state": { - "nextRunAtMs": 1771524000000, - "lastRunAtMs": 1771437600016, + "nextRunAtMs": 1771610400000, + "lastRunAtMs": 1771524000006, "lastStatus": "ok", - "lastDurationMs": 12483, + "lastDurationMs": 40699, "consecutiveErrors": 0 }, "delivery": { @@ -38,7 +38,7 @@ "name": "Morning Briefing", "enabled": true, "createdAtMs": 1771343566895, - "updatedAtMs": 1771474066604, + "updatedAtMs": 1771542423170, "schedule": { "expr": "5 7 * * *", "kind": "cron", @@ -52,10 +52,10 @@ "model": "opencode/kimi-k2.5-free" }, "state": { - "nextRunAtMs": 1771542300000, - "lastRunAtMs": 1771455900004, + "nextRunAtMs": 1771628700000, + "lastRunAtMs": 1771542300004, "lastStatus": "ok", - "lastDurationMs": 15170, + "lastDurationMs": 123166, "consecutiveErrors": 0 }, "delivery": { @@ -68,7 +68,7 @@ "name": "Weekend Briefing", "enabled": true, "createdAtMs": 1771343574470, - "updatedAtMs": 1771463024946, + "updatedAtMs": 1771573673222, "schedule": { "expr": "0 8 * * 0,6", "kind": "cron", @@ -78,14 +78,19 @@ "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", + "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": 1771632000000 + "nextRunAtMs": 1771632000000, + "lastError": "cron announce delivery failed", + "lastRunAtMs": 1771573496349, + "lastStatus": "error", + "lastDurationMs": 176873, + "consecutiveErrors": 1 } }, { @@ -95,7 +100,7 @@ "enabled": true, "notify": true, "createdAtMs": 1771392667779, - "updatedAtMs": 1771477114198, + "updatedAtMs": 1771557508458, "schedule": { "expr": "30 6 * * *", "kind": "cron", @@ -105,7 +110,7 @@ "wakeMode": "now", "payload": { "kind": "agentTurn", - "message": "## OpenClaw Daily Intelligence Briefing\n\nRun a comprehensive search for OpenClaw news and information, then deliver a curated digest to Anthony.\n\n---\n\n### Step 1 — Search all sources\n\n#### 🔍 Web searches (run all of these via web_search)\n- `openclaw AI agent`\n- `clawdbot`\n- `clawhub new skills`\n- `clawflows automation`\n- `openclaw update release`\n- `openclaw site:reddit.com`\n- `openclaw site:github.com`\n- `openclaw site:discord.com`\n\n#### 📰 FreshRSS (last 24h)\nUse the freshrss skill: `/home/openclaw/.openclaw/workspace/skills/freshrss-reader/scripts/freshrss.sh headlines --hours 24 --count 100`\n- FRESHRSS_URL: `http://freshrss.kangaroo-eel.ts.net`\n- Filter results for: openclaw, clawdbot, clawhub, clawflows, AI agent, autonomous agent, self-hosted AI\n- If credentials are missing or it fails, skip gracefully\n\n#### 🤖 Reddit — fetch all of these with web_fetch and extract interesting posts:\n\n**Dedicated communities:**\n- `https://www.reddit.com/r/openclaw/new.json?limit=10`\n- `https://www.reddit.com/r/clawdbot/new.json?limit=10`\n- `https://www.reddit.com/r/OpenClaw/new.json?limit=10`\n\n**Broader AI agent & self-hosted communities (search within for openclaw/clawdbot):**\n- `https://www.reddit.com/r/selfhosted/search.json?q=openclaw+OR+clawdbot&sort=new&t=week&limit=10`\n- `https://www.reddit.com/r/homeserver/search.json?q=openclaw+OR+clawdbot&sort=new&t=week&limit=10`\n- `https://www.reddit.com/r/LocalLLaMA/search.json?q=openclaw+OR+clawdbot&sort=new&t=week&limit=10`\n- `https://www.reddit.com/r/artificial/search.json?q=openclaw&sort=new&t=week&limit=10`\n- `https://www.reddit.com/r/AIAssistants/search.json?q=openclaw&sort=new&t=week&limit=10`\n- `https://www.reddit.com/r/homeautomation/search.json?q=openclaw+OR+clawdbot&sort=new&t=week&limit=10`\n\n**Sitewide Reddit search:**\n- `https://www.reddit.com/search.json?q=openclaw&sort=new&t=day&limit=15`\n- `https://www.reddit.com/search.json?q=clawdbot&sort=new&t=week&limit=10`\n\n#### 🐙 GitHub\n- Fetch `https://api.github.com/search/repositories?q=openclaw&sort=updated&order=desc&per_page=5` for new/updated repos\n- Fetch `https://api.github.com/search/issues?q=openclaw&sort=updated&order=desc&per_page=5` for recent issues/PRs\n\n#### 📦 ClawHub\n- Fetch `https://clawhub.com` and look for recently added or updated skills\n\n#### 🗞️ Hacker News\n- `https://hn.algolia.com/api/v1/search?query=openclaw&tags=story&numericFilters=created_at_i>` + (current unix timestamp minus 604800 for last 7 days)\n\n---\n\n### Step 2 — Curate\n\nFrom everything collected, select the most noteworthy items. Prioritise:\n- New OpenClaw features, releases, or changelogs\n- New skills published on ClawHub\n- Community tips, tutorials, or showcase posts\n- Bug reports or known issues worth flagging\n- Interesting automations or use cases shared by the community\n- Any news from the broader AI agent ecosystem that's relevant to OpenClaw users\n\nBe honest: if it's been a quiet day, say so. Don't pad the digest.\n\n---\n\n### Step 3 — Telegram message\n\nSend a punchy Telegram message (channel: telegram, to: telegram:1793951355):\n- Header: 🦀 *OpenClaw Daily Digest* — [date]\n- Top 3-5 items as bullets with links\n- One-line summary at the bottom\n- Keep it tight — this is a highlights reel, not a report\n\n---\n\n### Step 4 — Email\n\nSend a full HTML email via the SendClaw API:\n- **From:** krilly@sendclaw.com\n- **To:** anthony@martinwa.org\n- **Subject:** 🦀 OpenClaw Daily Digest — [date]\n- **API:** POST https://sendclaw.com/api/send\n- **Auth:** Bearer sk_15000b789ec9a820f785681a4115396bd22c028e08c652e0\n- **Body:** Rich HTML with all findings grouped by source, links, and a short Krilly editorial note on anything particularly interesting or exciting\n\n---\n\n### Step 5 — Gotify Notification (High Priority)\n\nSend a Gotify notification with high priority to wake the screen:\n- **URL:** http://runtipi.kangaroo-eel.ts.net:8129\n- **Token:** AGKnHafW3FGzBlt\n- **Title:** 🦀 OpenClaw Daily Digest\n- **Message:** Brief summary of top items (1-2 sentences)\n- **Priority:** 8 (high - will wake screen)\n- Use curl to POST to /message?token=AGKnHafW3FGzBlt with JSON: {\"title\": \"...\", \"message\": \"...\", \"priority\": 8}\n\n---\n\n### Notes\n- Get the current date/time via session_status\n- If a subreddit doesn't exist (404), skip it silently\n- Be concise on Telegram, thorough in email\n- Sign off as Krilly the Crab 🦀", + "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 3–5 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: 1–2 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": { @@ -113,10 +118,10 @@ "channel": "telegram" }, "state": { - "nextRunAtMs": 1771540200000, - "lastRunAtMs": 1771444800011, + "nextRunAtMs": 1771626600000, + "lastRunAtMs": 1771557459820, "lastStatus": "ok", - "lastDurationMs": 326100, + "lastDurationMs": 48638, "consecutiveErrors": 0 } }, @@ -127,7 +132,7 @@ "enabled": true, "notify": false, "createdAtMs": 1771410489851, - "updatedAtMs": 1771502437803, + "updatedAtMs": 1771592433663, "schedule": { "kind": "cron", "expr": "*/15 * * * *", @@ -141,15 +146,47 @@ "model": "opencode/kimi-k2.5-free" }, "state": { - "lastRunAtMs": 1771502400006, + "lastRunAtMs": 1771592400007, "lastStatus": "ok", - "lastDurationMs": 37797, + "lastDurationMs": 33656, "consecutiveErrors": 0, - "nextRunAtMs": 1771503300000 + "nextRunAtMs": 1771593300000 }, "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 + } } ] } \ No newline at end of file diff --git a/state-backup/devices/paired.json b/state-backup/devices/paired.json index 8578a43..310c38a 100644 --- a/state-backup/devices/paired.json +++ b/state-backup/devices/paired.json @@ -3,41 +3,8 @@ "deviceId": "19bdb6c4b8bb95b961a08e9783c4e8c693470c326520e52abb4de73a21ec3035", "publicKey": "eq45m_VEXdw-ulThS_kVxZqBWrOP7G-uofOfFHlruFY", "platform": "linux", - "clientId": "gateway-client", - "clientMode": "backend", - "role": "operator", - "roles": [ - "operator" - ], - "scopes": [ - "operator.admin", - "operator.approvals", - "operator.pairing" - ], - "tokens": { - "operator": { - "token": "Nn7S7lrqMyoaLySzumT9OxT5jd8wKhwNio4cXSVJrVA", - "role": "operator", - "scopes": [ - "operator.admin", - "operator.approvals", - "operator.pairing" - ], - "createdAtMs": 1771335715448, - "lastUsedAtMs": 1771458588334 - } - }, - "createdAtMs": 1771335715448, - "approvedAtMs": 1771335715448, - "displayName": "agent" - }, - "3e9fdd7e77c4f83fde9c33d63b0724f4b35ddf3a9730751e3ce20a15d539227f": { - "deviceId": "3e9fdd7e77c4f83fde9c33d63b0724f4b35ddf3a9730751e3ce20a15d539227f", - "publicKey": "zrrGT5HsReUmZ7UXVaqMrIyhONL58_JtXyPtPPSBmGQ", - "displayName": "Anthony’s iMac", - "platform": "macOS 15.5.0", - "clientId": "openclaw-macos", - "clientMode": "ui", + "clientId": "cli", + "clientMode": "cli", "role": "operator", "roles": [ "operator", @@ -46,11 +13,48 @@ "scopes": [ "operator.admin", "operator.approvals", - "operator.pairing" + "operator.pairing", + "operator.read" ], "tokens": { "operator": { - "token": "pOqkzFQ9AUu_W2agKki6NzBzhoyMGY2NKkAz1tZHr-s", + "token": "VtY4O_93oKn3Zw2jslr49Ru9HOSm0xLZNvJ1BBmfssc", + "role": "operator", + "scopes": [ + "operator.admin", + "operator.approvals", + "operator.pairing" + ], + "createdAtMs": 1771335715448, + "rotatedAtMs": 1771591592155, + "lastUsedAtMs": 1771458588334 + }, + "node": { + "token": "xsomVS1NV3_jQOFvYX-n6EuZGWusY4Z1SxVg6mqXJEE", + "role": "node", + "scopes": [], + "createdAtMs": 1771566631762 + } + }, + "createdAtMs": 1771335715448, + "approvedAtMs": 1771566631762 + }, + "3e9fdd7e77c4f83fde9c33d63b0724f4b35ddf3a9730751e3ce20a15d539227f": { + "deviceId": "3e9fdd7e77c4f83fde9c33d63b0724f4b35ddf3a9730751e3ce20a15d539227f", + "publicKey": "zrrGT5HsReUmZ7UXVaqMrIyhONL58_JtXyPtPPSBmGQ", + "displayName": "Anthony’s 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", @@ -58,15 +62,15 @@ "operator.pairing" ], "createdAtMs": 1771336202780, - "rotatedAtMs": 1771460386339, + "rotatedAtMs": 1771576681916, "lastUsedAtMs": 1771431155136 }, "node": { - "token": "175K58mkmsdlFXJ8p_Kc8XpD6cUGQ1E7NAkdCgSpC5w", + "token": "1MH05UyLCNqXqHSoEkeR4RYTdKr5eYahKrUs9qV561s", "role": "node", "scopes": [], "createdAtMs": 1771337393947, - "rotatedAtMs": 1771459788915, + "rotatedAtMs": 1771576685320, "lastUsedAtMs": 1771459616261 } }, @@ -164,5 +168,43 @@ }, "createdAtMs": 1771343754932, "approvedAtMs": 1771343754932 + }, + "33bea54cec104bf88bd44cff623e1e8126ff9676c5b0e00139029611d63558e1": { + "deviceId": "33bea54cec104bf88bd44cff623e1e8126ff9676c5b0e00139029611d63558e1", + "publicKey": "7NCqxCMjZ0rCLPvB6XEUcy67DKJZHpqWO08YleAnaY8", + "displayName": "Anthony’s 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 } } \ No newline at end of file diff --git a/state-backup/openclaw.json b/state-backup/openclaw.json index 704d36e..7b2e9be 100644 --- a/state-backup/openclaw.json +++ b/state-backup/openclaw.json @@ -1,7 +1,7 @@ { "meta": { - "lastTouchedVersion": "2026.2.17", - "lastTouchedAt": "2026-02-19T11:24:31.677Z" + "lastTouchedVersion": "2026.2.19-2", + "lastTouchedAt": "2026-02-20T11:17:43.761Z" }, "env": { "shellEnv": { @@ -26,11 +26,25 @@ "CEREBRAS_API_KEY": "csk-hpp5jf3dw4myrhnyrv3jcn9npp83ffdt56xd3mfkjktjx4fd" }, "wizard": { - "lastRunAt": "2026-02-19T09:16:46.931Z", - "lastRunVersion": "2026.2.17", - "lastRunCommand": "doctor", + "lastRunAt": "2026-02-20T11:17:43.720Z", + "lastRunVersion": "2026.2.19-2", + "lastRunCommand": "configure", "lastRunMode": "local" }, + "diagnostics": { + "otel": { + "traces": true + }, + "cacheTrace": { + "includeMessages": true, + "includePrompt": true, + "includeSystem": true + } + }, + "update": { + "channel": "stable", + "checkOnStart": true + }, "browser": { "enabled": true, "evaluateEnabled": true, @@ -62,27 +76,76 @@ "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", - "contextWindow": 131072 + "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", - "contextWindow": 1048576 + "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)", - "contextWindow": 131072 + "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)", - "contextWindow": 131072 + "reasoning": true, + "input": [ + "text" + ], + "cost": { + "input": 0, + "output": 0, + "cacheRead": 0, + "cacheWrite": 0 + }, + "contextWindow": 131072, + "maxTokens": 8192 } ] } @@ -93,10 +156,8 @@ }, "nodeHost": { "browserProxy": { - "enabled": true, - "allowProfiles": [ - "*" - ] + "enabled": false, + "allowProfiles": [] } }, "agents": { @@ -104,43 +165,84 @@ "model": { "primary": "openai-codex/gpt-5.3-codex", "fallbacks": [ - "anthropic/claude-sonnet-4-6", + "anthropic/claude-opus-4-6", + "opencode/minimax-m2.5-free", "opencode/kimi-k2.5-free", "opencode/glm-5-free", + "zai/glm-5", + "zai/glm-4.7", + "azure-openai-responses/gpt-5-nano", + "anthropic/claude-sonnet-4-6", + "google-antigravity/gemini-3-pro-low", + "google-antigravity/gemini-3-flash", + "huggingface/Qwen/Qwen3.5-397B-A17B", + "google-antigravity/claude-opus-4-6-thinking", + "openrouter/qwen/qwen3-coder:free", + "openrouter/openai/gpt-oss-120b:free", + "openrouter/stepfun/step-3.5-flash:free", + "nim/nvidia/llama-3.1-nemotron-70b-instruct", + "nim/nvidia/nemotron-3-nano-30b-a3b", + "nim/meta/llama-3.3-70b-instruct", + "nim/qwen/qwen3-next-80b-a3b-thinking", "opencode/big-pickle", - "opencode/minimax-m2.5-free" + "groq/openai/gpt-oss-120b", + "groq/moonshotai/kimi-k2-instruct-0905", + "groq/llama-3.3-70b-versatile", + "groq/meta-llama/llama-4-maverick-17b-128e-instruct", + "groq/meta-llama/llama-4-scout-17b-16e-instruct", + "groq/qwen/qwen3-32b", + "groq/openai/gpt-oss-20b", + "github-copilot/claude-sonnet-4.5", + "openai-codex/gpt-5.2", + "openrouter/arcee-ai/trinity-large-preview:free" ] }, "models": { "anthropic/claude-opus-4-6": { - "alias": "opus" + "alias": "opus", + "streaming": true + }, + "opencode/minimax-m2.5-free": { + "streaming": true + }, + "opencode/kimi-k2.5-free": { + "streaming": true }, - "opencode/minimax-m2.5-free": {}, - "opencode/kimi-k2.5-free": {}, "opencode/glm-5-free": { - "alias": "glm5-free" + "alias": "glm5-free", + "streaming": true }, "zai/glm-5": { - "alias": "zai-glm5" + "alias": "zai-glm5", + "streaming": true }, "zai/glm-4.7": { - "alias": "nvidia-glm47" + "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 }, - "azure-openai-responses/gpt-5-nano": {}, - "anthropic/claude-sonnet-4-6": {}, - "openai/gpt-5.3-codex": {}, - "google-antigravity/gemini-3-pro-low": {}, - "google-antigravity/gemini-3-flash": {}, - "huggingface/Qwen/Qwen3.5-397B-A17B": {}, "openai-codex/gpt-5.3-codex": { - "alias": "codex53" + "alias": "codex53", + "streaming": true }, "google-antigravity/claude-opus-4-6-thinking": {}, "openrouter/qwen/qwen3-coder:free": { - "alias": "qwen-coder-free" - }, - "openrouter/z-ai/glm-4.5-air:free": { - "alias": "glm45-free" + "alias": "qwen-coder-free", + "streaming": true }, "openrouter/openai/gpt-oss-120b:free": { "alias": "gpt-oss-free" @@ -184,18 +286,9 @@ "groq/openai/gpt-oss-20b": { "alias": "gpt-oss-20b" }, - "cerebras/zai-glm-4.7": { - "alias": "glm47-cerebras" - }, - "cerebras/qwen-3-235b-a22b-instruct-2507": { - "alias": "qwen3-235b-cerebras" - }, - "cerebras/gpt-oss-120b": { - "alias": "gpt-oss-120b-cerebras" - }, - "cerebras/llama3.1-8b": { - "alias": "llama8b-cerebras" - } + "github-copilot/claude-sonnet-4.5": {}, + "openai-codex/gpt-5.2": {}, + "openrouter/arcee-ai/trinity-large-preview:free": {} }, "workspace": "/home/openclaw/.openclaw/workspace", "timeFormat": "12", @@ -208,7 +301,8 @@ "provider": "openai", "remote": { "batch": { - "enabled": true + "enabled": true, + "wait": true } }, "store": { @@ -221,7 +315,10 @@ }, "query": { "hybrid": { - "enabled": true + "enabled": true, + "mmr": { + "enabled": true + } } }, "cache": { @@ -245,7 +342,9 @@ }, "heartbeat": { "every": "1h", - "model": "opencode/kimi-k2.5-free" + "model": "anthropic/claude-3-5-haiku-latest", + "target": "last", + "suppressToolErrorWarnings": true }, "maxConcurrent": 4, "subagents": { @@ -258,7 +357,7 @@ "scope": "shared", "perSession": true, "browser": { - "enabled": false, + "enabled": true, "headless": true, "enableNoVnc": true, "allowHostControl": true, @@ -269,9 +368,7 @@ }, "tools": { "profile": "full", - "allow": [ - "*" - ], + "allow": [], "byProvider": {}, "web": { "search": { @@ -287,18 +384,15 @@ "enabled": true, "scope": { "default": "allow", - "rules": [ - { - "action": "allow" - } - ] + "rules": [] }, "models": [] }, "sessions": { - "visibility": "all" + "visibility": "tree" }, "loopDetection": { + "enabled": false, "detectors": { "genericRepeat": true, "knownPollNoProgress": true, @@ -308,8 +402,11 @@ "message": { "crossContext": { "allowWithinProvider": true, + "allowAcrossProviders": false, "marker": { - "enabled": true + "enabled": true, + "prefix": "{channel}", + "suffix": "{channel}" } }, "broadcast": { @@ -318,9 +415,7 @@ }, "agentToAgent": { "enabled": true, - "allow": [ - "*" - ] + "allow": [] }, "elevated": { "enabled": true, @@ -330,10 +425,12 @@ "host": "gateway", "security": "full", "ask": "off", + "node": "19bdb6c4b8bb95b961a08e9783c4e8c693470c326520e52abb4de73a21ec3035", "notifyOnExit": true, "applyPatch": { "enabled": true, - "workspaceOnly": false + "workspaceOnly": false, + "allowModels": [] } }, "subagents": { @@ -359,27 +456,30 @@ "config": true, "debug": true, "restart": true, + "useAccessGroups": true, "allowFrom": {} }, "approvals": { "exec": { "enabled": false, - "mode": "targets", - "agentFilter": [ - "" - ], + "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", @@ -414,6 +514,7 @@ }, "channels": { "telegram": { + "name": "Anthony", "markdown": { "tables": "code" }, @@ -426,27 +527,79 @@ "configWrites": true, "dmPolicy": "pairing", "botToken": "8598508497:AAHmTMbnR7un2ADtmsjJr8moQkDOU9ILBps", + "replyToMode": "off", + "groups": { + "custom-1": { + "requireMention": true, + "groupPolicy": "allowlist", + "skills": [], + "enabled": true, + "allowFrom": [ + 1793951355 + ], + "topics": { + "Topic": { + "groupPolicy": "allowlist", + "enabled": true, + "allowFrom": [ + 61410349137 + ] + } + } + } + }, + "allowFrom": [ + 1793951355 + ], + "groupAllowFrom": [ + 1793951355 + ], "groupPolicy": "allowlist", + "dms": {}, + "chunkMode": "length", "draftChunk": { + "minChars": 200, + "maxChars": 800, "breakPreference": "paragraph" }, "streamMode": "partial", "network": { - "autoSelectFamily": true + "autoSelectFamily": false }, "actions": { "reactions": true, "sendMessage": true }, + "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", - "groupPolicy": "allowlist" + "allowFrom": [ + "anthony@martinwa.org" + ], + "groupPolicy": "allowlist", + "chunkMode": "length", + "mediaLocalRoots": [ + "" + ], + "blockStreaming": true, + "accounts": {} + } + }, + "discovery": { + "wideArea": { + "enabled": true } }, "canvasHost": { @@ -459,32 +612,48 @@ "gateway": { "port": 18789, "mode": "local", - "bind": "loopback", + "bind": "tailnet", "controlUi": { - "allowedOrigins": [ - "https://web.telegram.org", - "https://openclaw-ai.kangaroo-eel.ts.net" - ], + "enabled": true, + "allowedOrigins": [], + "allowInsecureAuth": true, "dangerouslyDisableDeviceAuth": true }, "auth": { "mode": "token", - "token": "e48f4335fff0f5254eda0e984ca79ed61d90df5d70d95165" + "token": "f5635aeb21763071b4e9beb862618f351995766d851b28dd", + "allowTailscale": true }, + "trustedProxies": [ + "127.0.0.1", + "100.64.0.0/10" + ], "tools": { - "allow": [ - "" - ] + "allow": [] }, "tailscale": { - "mode": "serve", - "resetOnExit": false + "mode": "off" + }, + "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, + "domain": "openclaw-ai.kangaroo-eel.ts.net" + }, "http": { "endpoints": { + "chatCompletions": { + "enabled": true + }, "responses": { "enabled": true, "files": { @@ -508,9 +677,10 @@ "citations": "auto" }, "skills": { - "allowBundled": [ - "" - ], + "allowBundled": [], + "load": { + "watch": true + }, "install": { "nodeManager": "npm" }, @@ -528,15 +698,19 @@ "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" } } @@ -567,4 +741,4 @@ } } } -} +} \ No newline at end of file diff --git a/tmp_vte.en.vtt b/tmp_vte.en.vtt new file mode 100644 index 0000000..a2835e8 --- /dev/null +++ b/tmp_vte.en.vtt @@ -0,0 +1,11336 @@ +WEBVTT +Kind: captions +Language: en + +00:00:00.080 --> 00:00:01.990 align:start position:0% + +Today<00:00:00.480> I'll<00:00:00.719> be<00:00:00.800> giving<00:00:01.040> you<00:00:01.199> a<00:00:01.520> full + +00:00:01.990 --> 00:00:02.000 align:start position:0% +Today I'll be giving you a full + + +00:00:02.000 --> 00:00:04.309 align:start position:0% +Today I'll be giving you a full +comprehensive<00:00:02.720> tutorial<00:00:03.360> on<00:00:03.600> how<00:00:03.760> to<00:00:03.919> set<00:00:04.080> up + +00:00:04.309 --> 00:00:04.319 align:start position:0% +comprehensive tutorial on how to set up + + +00:00:04.319 --> 00:00:06.789 align:start position:0% +comprehensive tutorial on how to set up +OpenClaw<00:00:05.040> so<00:00:05.200> it<00:00:05.440> is<00:00:05.600> productive,<00:00:06.240> efficient, + +00:00:06.789 --> 00:00:06.799 align:start position:0% +OpenClaw so it is productive, efficient, + + +00:00:06.799 --> 00:00:08.629 align:start position:0% +OpenClaw so it is productive, efficient, +and<00:00:07.040> actually<00:00:07.279> helps<00:00:07.600> you<00:00:07.839> get<00:00:08.160> something + +00:00:08.629 --> 00:00:08.639 align:start position:0% +and actually helps you get something + + +00:00:08.639 --> 00:00:10.950 align:start position:0% +and actually helps you get something +done.<00:00:09.280> I'm<00:00:09.519> going<00:00:09.599> to<00:00:09.679> go<00:00:09.840> through<00:00:10.080> skills, + +00:00:10.950 --> 00:00:10.960 align:start position:0% +done. I'm going to go through skills, + + +00:00:10.960 --> 00:00:12.790 align:start position:0% +done. I'm going to go through skills, +memory,<00:00:11.519> the<00:00:11.679> different<00:00:11.920> files<00:00:12.320> you<00:00:12.559> need<00:00:12.639> to + +00:00:12.790 --> 00:00:12.800 align:start position:0% +memory, the different files you need to + + +00:00:12.800 --> 00:00:15.190 align:start position:0% +memory, the different files you need to +configure,<00:00:13.440> voice<00:00:13.840> mode,<00:00:14.320> groups,<00:00:14.960> all<00:00:15.120> of + +00:00:15.190 --> 00:00:15.200 align:start position:0% +configure, voice mode, groups, all of + + +00:00:15.200 --> 00:00:16.790 align:start position:0% +configure, voice mode, groups, all of +the<00:00:15.440> different<00:00:15.679> things<00:00:15.839> that<00:00:16.240> actually<00:00:16.560> allow + +00:00:16.790 --> 00:00:16.800 align:start position:0% +the different things that actually allow + + +00:00:16.800 --> 00:00:18.870 align:start position:0% +the different things that actually allow +you<00:00:16.960> to<00:00:17.119> get<00:00:17.279> some<00:00:17.440> value<00:00:17.840> out<00:00:18.000> of<00:00:18.160> this<00:00:18.400> tool + +00:00:18.870 --> 00:00:18.880 align:start position:0% +you to get some value out of this tool + + +00:00:18.880 --> 00:00:20.550 align:start position:0% +you to get some value out of this tool +and<00:00:19.039> that<00:00:19.199> I<00:00:19.359> learned<00:00:19.600> the<00:00:19.840> hard<00:00:20.000> way<00:00:20.240> spending + +00:00:20.550 --> 00:00:20.560 align:start position:0% +and that I learned the hard way spending + + +00:00:20.560 --> 00:00:23.029 align:start position:0% +and that I learned the hard way spending +now<00:00:20.800> over<00:00:21.119> probably<00:00:21.680> 60<00:00:22.080> 70<00:00:22.480> hours + +00:00:23.029 --> 00:00:23.039 align:start position:0% +now over probably 60 70 hours + + +00:00:23.039 --> 00:00:25.349 align:start position:0% +now over probably 60 70 hours +configuring<00:00:23.519> my<00:00:23.760> own<00:00:24.160> open<00:00:24.400> claw<00:00:24.720> instance. + +00:00:25.349 --> 00:00:25.359 align:start position:0% +configuring my own open claw instance. + + +00:00:25.359 --> 00:00:27.189 align:start position:0% +configuring my own open claw instance. +So<00:00:25.519> with<00:00:25.600> that<00:00:25.840> said,<00:00:26.240> let's<00:00:26.560> get<00:00:26.640> into<00:00:26.880> it. + +00:00:27.189 --> 00:00:27.199 align:start position:0% +So with that said, let's get into it. + + +00:00:27.199 --> 00:00:28.950 align:start position:0% +So with that said, let's get into it. +So,<00:00:27.439> first<00:00:27.680> I<00:00:27.920> do<00:00:28.080> need<00:00:28.240> to<00:00:28.320> give<00:00:28.400> you<00:00:28.560> a<00:00:28.800> quick + +00:00:28.950 --> 00:00:28.960 align:start position:0% +So, first I do need to give you a quick + + +00:00:28.960 --> 00:00:31.269 align:start position:0% +So, first I do need to give you a quick +disclaimer<00:00:29.439> about<00:00:29.840> security.<00:00:30.640> And<00:00:30.800> also<00:00:31.039> just + +00:00:31.269 --> 00:00:31.279 align:start position:0% +disclaimer about security. And also just + + +00:00:31.279 --> 00:00:32.790 align:start position:0% +disclaimer about security. And also just +generally<00:00:31.679> want<00:00:31.840> to<00:00:32.000> mention<00:00:32.239> that<00:00:32.399> in<00:00:32.640> this + +00:00:32.790 --> 00:00:32.800 align:start position:0% +generally want to mention that in this + + +00:00:32.800 --> 00:00:34.310 align:start position:0% +generally want to mention that in this +video<00:00:33.120> I'm<00:00:33.280> going<00:00:33.360> to<00:00:33.440> be<00:00:33.600> pretty<00:00:33.840> thorough. + +00:00:34.310 --> 00:00:34.320 align:start position:0% +video I'm going to be pretty thorough. + + +00:00:34.320 --> 00:00:35.910 align:start position:0% +video I'm going to be pretty thorough. +I'm<00:00:34.480> going<00:00:34.480> to<00:00:34.559> be<00:00:34.719> very<00:00:34.960> detailed.<00:00:35.600> I'm<00:00:35.840> going + +00:00:35.910 --> 00:00:35.920 align:start position:0% +I'm going to be very detailed. I'm going + + +00:00:35.920 --> 00:00:37.430 align:start position:0% +I'm going to be very detailed. I'm going +to<00:00:36.000> try<00:00:36.160> to<00:00:36.320> actually<00:00:36.640> teach<00:00:36.880> you<00:00:37.120> something + +00:00:37.430 --> 00:00:37.440 align:start position:0% +to try to actually teach you something + + +00:00:37.440 --> 00:00:39.910 align:start position:0% +to try to actually teach you something +new.<00:00:38.000> So,<00:00:38.160> while<00:00:38.320> it<00:00:38.559> will<00:00:38.719> be<00:00:38.960> pretty<00:00:39.280> long, + +00:00:39.910 --> 00:00:39.920 align:start position:0% +new. So, while it will be pretty long, + + +00:00:39.920 --> 00:00:41.670 align:start position:0% +new. So, while it will be pretty long, +there's<00:00:40.160> a<00:00:40.399> reason<00:00:40.640> for<00:00:40.879> that.<00:00:41.280> And<00:00:41.360> I<00:00:41.600> would + +00:00:41.670 --> 00:00:41.680 align:start position:0% +there's a reason for that. And I would + + +00:00:41.680 --> 00:00:42.790 align:start position:0% +there's a reason for that. And I would +suggest<00:00:41.920> that<00:00:42.160> you're<00:00:42.320> going<00:00:42.399> to<00:00:42.480> get<00:00:42.559> a<00:00:42.719> lot + +00:00:42.790 --> 00:00:42.800 align:start position:0% +suggest that you're going to get a lot + + +00:00:42.800 --> 00:00:44.709 align:start position:0% +suggest that you're going to get a lot +more<00:00:43.040> value<00:00:43.280> out<00:00:43.440> of<00:00:43.520> a<00:00:43.760> video<00:00:44.000> like<00:00:44.239> this<00:00:44.480> than + +00:00:44.709 --> 00:00:44.719 align:start position:0% +more value out of a video like this than + + +00:00:44.719 --> 00:00:46.389 align:start position:0% +more value out of a video like this than +a<00:00:44.960> quick<00:00:45.200> 10-minute<00:00:45.680> setup<00:00:46.000> where<00:00:46.160> they're + +00:00:46.389 --> 00:00:46.399 align:start position:0% +a quick 10-minute setup where they're + + +00:00:46.399 --> 00:00:47.750 align:start position:0% +a quick 10-minute setup where they're +just<00:00:46.559> blitzing<00:00:46.960> through<00:00:47.120> all<00:00:47.280> of<00:00:47.360> the<00:00:47.520> steps + +00:00:47.750 --> 00:00:47.760 align:start position:0% +just blitzing through all of the steps + + +00:00:47.760 --> 00:00:49.830 align:start position:0% +just blitzing through all of the steps +and<00:00:47.920> you<00:00:48.079> have<00:00:48.239> no<00:00:48.399> idea<00:00:48.719> what's<00:00:49.039> going<00:00:49.200> on. + +00:00:49.830 --> 00:00:49.840 align:start position:0% +and you have no idea what's going on. + + +00:00:49.840 --> 00:00:52.069 align:start position:0% +and you have no idea what's going on. +Anyways,<00:00:50.320> that<00:00:50.640> brings<00:00:50.800> us<00:00:50.960> to<00:00:51.280> security. + +00:00:52.069 --> 00:00:52.079 align:start position:0% +Anyways, that brings us to security. + + +00:00:52.079 --> 00:00:53.670 align:start position:0% +Anyways, that brings us to security. +Now,<00:00:52.320> while<00:00:52.640> what<00:00:52.800> I'm<00:00:52.960> going<00:00:53.039> to<00:00:53.199> show<00:00:53.280> you<00:00:53.440> in + +00:00:53.670 --> 00:00:53.680 align:start position:0% +Now, while what I'm going to show you in + + +00:00:53.680 --> 00:00:56.229 align:start position:0% +Now, while what I'm going to show you in +this<00:00:53.840> video<00:00:54.000> in<00:00:54.320> terms<00:00:54.480> of<00:00:54.640> setup<00:00:55.039> is<00:00:55.440> secure, + +00:00:56.229 --> 00:00:56.239 align:start position:0% +this video in terms of setup is secure, + + +00:00:56.239 --> 00:00:58.389 align:start position:0% +this video in terms of setup is secure, +if<00:00:56.480> you<00:00:56.559> want<00:00:56.719> to<00:00:56.879> go<00:00:57.199> kind<00:00:57.440> of<00:00:57.600> extreme<00:00:58.079> and + +00:00:58.389 --> 00:00:58.399 align:start position:0% +if you want to go kind of extreme and + + +00:00:58.399 --> 00:01:00.389 align:start position:0% +if you want to go kind of extreme and +make<00:00:58.480> sure<00:00:58.640> that<00:00:58.800> you're<00:00:59.120> very<00:00:59.520> secure,<00:01:00.160> I + +00:01:00.389 --> 00:01:00.399 align:start position:0% +make sure that you're very secure, I + + +00:01:00.399 --> 00:01:02.549 align:start position:0% +make sure that you're very secure, I +have<00:01:00.480> a<00:01:00.800> full<00:01:01.199> 50inute<00:01:01.840> long<00:01:02.079> video<00:01:02.239> that + +00:01:02.549 --> 00:01:02.559 align:start position:0% +have a full 50inute long video that + + +00:01:02.559 --> 00:01:04.549 align:start position:0% +have a full 50inute long video that +breaks<00:01:02.800> down<00:01:03.039> every<00:01:03.440> step<00:01:03.680> you<00:01:03.920> can<00:01:04.080> take<00:01:04.239> to + +00:01:04.549 --> 00:01:04.559 align:start position:0% +breaks down every step you can take to + + +00:01:04.559 --> 00:01:06.710 align:start position:0% +breaks down every step you can take to +harden<00:01:05.199> and<00:01:05.519> secure<00:01:05.840> your<00:01:06.080> OpenClaw + +00:01:06.710 --> 00:01:06.720 align:start position:0% +harden and secure your OpenClaw + + +00:01:06.720 --> 00:01:08.390 align:start position:0% +harden and secure your OpenClaw +instance.<00:01:07.280> So,<00:01:07.439> I'll<00:01:07.600> put<00:01:07.760> that<00:01:07.920> on<00:01:08.159> screen + +00:01:08.390 --> 00:01:08.400 align:start position:0% +instance. So, I'll put that on screen + + +00:01:08.400 --> 00:01:10.070 align:start position:0% +instance. So, I'll put that on screen +right<00:01:08.640> here.<00:01:09.119> I'm<00:01:09.280> not<00:01:09.439> going<00:01:09.520> to<00:01:09.680> repeat + +00:01:10.070 --> 00:01:10.080 align:start position:0% +right here. I'm not going to repeat + + +00:01:10.080 --> 00:01:11.750 align:start position:0% +right here. I'm not going to repeat +everything<00:01:10.479> in<00:01:10.720> that<00:01:10.960> video<00:01:11.200> because<00:01:11.520> again, + +00:01:11.750 --> 00:01:11.760 align:start position:0% +everything in that video because again, + + +00:01:11.760 --> 00:01:13.190 align:start position:0% +everything in that video because again, +it's<00:01:12.000> already<00:01:12.240> filmed<00:01:12.560> and<00:01:12.720> it's<00:01:12.880> there<00:01:13.040> for + +00:01:13.190 --> 00:01:13.200 align:start position:0% +it's already filmed and it's there for + + +00:01:13.200 --> 00:01:14.789 align:start position:0% +it's already filmed and it's there for +you<00:01:13.280> to<00:01:13.439> watch.<00:01:13.840> And<00:01:14.000> I'm<00:01:14.159> going<00:01:14.240> to<00:01:14.320> assume + +00:01:14.789 --> 00:01:14.799 align:start position:0% +you to watch. And I'm going to assume + + +00:01:14.799 --> 00:01:16.630 align:start position:0% +you to watch. And I'm going to assume +generally<00:01:15.360> that<00:01:15.600> you<00:01:15.840> already<00:01:16.080> know<00:01:16.240> how<00:01:16.479> to + +00:01:16.630 --> 00:01:16.640 align:start position:0% +generally that you already know how to + + +00:01:16.640 --> 00:01:19.030 align:start position:0% +generally that you already know how to +set<00:01:16.799> up<00:01:17.040> open<00:01:17.360> claw<00:01:17.920> in<00:01:18.240> terms<00:01:18.400> of<00:01:18.640> getting<00:01:18.960> at + +00:01:19.030 --> 00:01:19.040 align:start position:0% +set up open claw in terms of getting at + + +00:01:19.040 --> 00:01:21.429 align:start position:0% +set up open claw in terms of getting at +least<00:01:19.520> access<00:01:19.840> to<00:01:20.000> the<00:01:20.240> open<00:01:20.479> claw<00:01:20.720> gateway<00:01:21.119> or + +00:01:21.429 --> 00:01:21.439 align:start position:0% +least access to the open claw gateway or + + +00:01:21.439 --> 00:01:23.109 align:start position:0% +least access to the open claw gateway or +accessing<00:01:21.840> it<00:01:22.000> from<00:01:22.159> the<00:01:22.320> terminal<00:01:22.799> or + +00:01:23.109 --> 00:01:23.119 align:start position:0% +accessing it from the terminal or + + +00:01:23.119 --> 00:01:25.270 align:start position:0% +accessing it from the terminal or +telegram.<00:01:23.840> I<00:01:24.000> will<00:01:24.240> repeat<00:01:24.479> those<00:01:24.799> steps<00:01:25.040> but + +00:01:25.270 --> 00:01:25.280 align:start position:0% +telegram. I will repeat those steps but + + +00:01:25.280 --> 00:01:27.350 align:start position:0% +telegram. I will repeat those steps but +I<00:01:25.439> will<00:01:25.600> go<00:01:25.759> through<00:01:25.920> that<00:01:26.159> quickly<00:01:26.720> and<00:01:26.960> focus + +00:01:27.350 --> 00:01:27.360 align:start position:0% +I will go through that quickly and focus + + +00:01:27.360 --> 00:01:29.270 align:start position:0% +I will go through that quickly and focus +most<00:01:27.600> of<00:01:27.759> my<00:01:27.920> effort<00:01:28.159> on<00:01:28.400> all<00:01:28.560> of<00:01:28.640> the<00:01:28.880> skills + +00:01:29.270 --> 00:01:29.280 align:start position:0% +most of my effort on all of the skills + + +00:01:29.280 --> 00:01:31.510 align:start position:0% +most of my effort on all of the skills +integrations<00:01:30.000> connections<00:01:30.640> etc.<00:01:31.119> Now<00:01:31.360> with + +00:01:31.510 --> 00:01:31.520 align:start position:0% +integrations connections etc. Now with + + +00:01:31.520 --> 00:01:33.510 align:start position:0% +integrations connections etc. Now with +that<00:01:31.680> in<00:01:31.840> mind<00:01:32.079> the<00:01:32.400> general<00:01:32.799> best<00:01:33.119> practice + +00:01:33.510 --> 00:01:33.520 align:start position:0% +that in mind the general best practice + + +00:01:33.520 --> 00:01:35.830 align:start position:0% +that in mind the general best practice +here<00:01:33.840> is<00:01:34.079> to<00:01:34.240> treat<00:01:34.640> openclaw<00:01:35.360> like<00:01:35.520> an + +00:01:35.830 --> 00:01:35.840 align:start position:0% +here is to treat openclaw like an + + +00:01:35.840 --> 00:01:38.630 align:start position:0% +here is to treat openclaw like an +untrusted<00:01:36.720> virtual<00:01:37.280> assistant.<00:01:38.159> What<00:01:38.400> I<00:01:38.479> mean + +00:01:38.630 --> 00:01:38.640 align:start position:0% +untrusted virtual assistant. What I mean + + +00:01:38.640 --> 00:01:40.390 align:start position:0% +untrusted virtual assistant. What I mean +by<00:01:38.799> that<00:01:38.960> is<00:01:39.119> that<00:01:39.360> imagine<00:01:39.759> you<00:01:39.920> had<00:01:40.159> actually + +00:01:40.390 --> 00:01:40.400 align:start position:0% +by that is that imagine you had actually + + +00:01:40.400 --> 00:01:42.149 align:start position:0% +by that is that imagine you had actually +a<00:01:40.560> real<00:01:40.799> person,<00:01:41.119> maybe<00:01:41.439> living<00:01:41.680> in<00:01:41.840> another + +00:01:42.149 --> 00:01:42.159 align:start position:0% +a real person, maybe living in another + + +00:01:42.159 --> 00:01:43.830 align:start position:0% +a real person, maybe living in another +country<00:01:42.720> and<00:01:42.960> they<00:01:43.119> were<00:01:43.280> helping<00:01:43.520> you<00:01:43.680> with + +00:01:43.830 --> 00:01:43.840 align:start position:0% +country and they were helping you with + + +00:01:43.840 --> 00:01:45.510 align:start position:0% +country and they were helping you with +stuff<00:01:44.000> and<00:01:44.159> had<00:01:44.400> access<00:01:44.640> to<00:01:44.799> a<00:01:45.040> bunch<00:01:45.200> of<00:01:45.280> your + +00:01:45.510 --> 00:01:45.520 align:start position:0% +stuff and had access to a bunch of your + + +00:01:45.520 --> 00:01:47.190 align:start position:0% +stuff and had access to a bunch of your +data.<00:01:46.000> You'd<00:01:46.240> want<00:01:46.399> to<00:01:46.479> ensure<00:01:46.799> if<00:01:46.960> that + +00:01:47.190 --> 00:01:47.200 align:start position:0% +data. You'd want to ensure if that + + +00:01:47.200 --> 00:01:49.510 align:start position:0% +data. You'd want to ensure if that +person<00:01:47.520> went<00:01:47.840> rogue<00:01:48.159> or<00:01:48.399> had<00:01:48.560> bad<00:01:48.880> intentions + +00:01:49.510 --> 00:01:49.520 align:start position:0% +person went rogue or had bad intentions + + +00:01:49.520 --> 00:01:51.109 align:start position:0% +person went rogue or had bad intentions +that<00:01:49.680> they<00:01:49.920> couldn't<00:01:50.240> completely<00:01:50.720> mess<00:01:50.960> up + +00:01:51.109 --> 00:01:51.119 align:start position:0% +that they couldn't completely mess up + + +00:01:51.119 --> 00:01:52.870 align:start position:0% +that they couldn't completely mess up +your<00:01:51.360> life.<00:01:51.840> That<00:01:52.079> means<00:01:52.240> you<00:01:52.479> wouldn't<00:01:52.720> give + +00:01:52.870 --> 00:01:52.880 align:start position:0% +your life. That means you wouldn't give + + +00:01:52.880 --> 00:01:54.789 align:start position:0% +your life. That means you wouldn't give +them<00:01:53.119> access<00:01:53.360> to<00:01:53.520> your<00:01:53.680> main<00:01:54.000> computer,<00:01:54.640> you + +00:01:54.789 --> 00:01:54.799 align:start position:0% +them access to your main computer, you + + +00:01:54.799 --> 00:01:56.469 align:start position:0% +them access to your main computer, you +wouldn't<00:01:55.040> give<00:01:55.200> them<00:01:55.360> access<00:01:55.680> to<00:01:55.840> your<00:01:56.000> crypto + +00:01:56.469 --> 00:01:56.479 align:start position:0% +wouldn't give them access to your crypto + + +00:01:56.479 --> 00:01:58.950 align:start position:0% +wouldn't give them access to your crypto +keys<00:01:56.799> or<00:01:56.960> your<00:01:57.200> primary<00:01:57.680> email<00:01:58.079> address<00:01:58.640> or + +00:01:58.950 --> 00:01:58.960 align:start position:0% +keys or your primary email address or + + +00:01:58.960 --> 00:02:00.709 align:start position:0% +keys or your primary email address or +any<00:01:59.119> of<00:01:59.280> those<00:01:59.439> things,<00:01:59.759> right?<00:02:00.240> So<00:02:00.479> treat + +00:02:00.709 --> 00:02:00.719 align:start position:0% +any of those things, right? So treat + + +00:02:00.719 --> 00:02:03.109 align:start position:0% +any of those things, right? So treat +OpenClaw<00:02:01.360> the<00:02:01.600> exact<00:02:01.920> same<00:02:02.240> way.<00:02:02.799> Make<00:02:02.960> sure + +00:02:03.109 --> 00:02:03.119 align:start position:0% +OpenClaw the exact same way. Make sure + + +00:02:03.119 --> 00:02:04.310 align:start position:0% +OpenClaw the exact same way. Make sure +that<00:02:03.280> if<00:02:03.439> you<00:02:03.520> are<00:02:03.680> connecting<00:02:04.000> it<00:02:04.159> to + +00:02:04.310 --> 00:02:04.320 align:start position:0% +that if you are connecting it to + + +00:02:04.320 --> 00:02:06.469 align:start position:0% +that if you are connecting it to +external<00:02:04.799> resources<00:02:05.360> that<00:02:05.600> those<00:02:05.759> are<00:02:06.000> secure + +00:02:06.469 --> 00:02:06.479 align:start position:0% +external resources that those are secure + + +00:02:06.479 --> 00:02:08.070 align:start position:0% +external resources that those are secure +and<00:02:06.719> that<00:02:06.880> you<00:02:07.040> set<00:02:07.119> up<00:02:07.360> separate<00:02:07.759> accounts + +00:02:08.070 --> 00:02:08.080 align:start position:0% +and that you set up separate accounts + + +00:02:08.080 --> 00:02:09.669 align:start position:0% +and that you set up separate accounts +for.<00:02:08.399> Now,<00:02:08.560> you<00:02:08.720> also<00:02:08.959> definitely<00:02:09.360> want<00:02:09.520> to + +00:02:09.669 --> 00:02:09.679 align:start position:0% +for. Now, you also definitely want to + + +00:02:09.679 --> 00:02:11.430 align:start position:0% +for. Now, you also definitely want to +make<00:02:09.759> sure<00:02:09.920> that<00:02:10.080> you<00:02:10.239> run<00:02:10.399> this<00:02:10.560> on<00:02:10.800> a<00:02:10.959> virtual + +00:02:11.430 --> 00:02:11.440 align:start position:0% +make sure that you run this on a virtual + + +00:02:11.440 --> 00:02:13.589 align:start position:0% +make sure that you run this on a virtual +private<00:02:11.920> server.<00:02:12.560> This<00:02:12.720> is<00:02:12.879> a<00:02:13.040> server<00:02:13.360> that + +00:02:13.589 --> 00:02:13.599 align:start position:0% +private server. This is a server that + + +00:02:13.599 --> 00:02:15.589 align:start position:0% +private server. This is a server that +runs<00:02:13.840> in<00:02:14.080> the<00:02:14.239> cloud<00:02:14.640> that's<00:02:14.959> hosted<00:02:15.280> and + +00:02:15.589 --> 00:02:15.599 align:start position:0% +runs in the cloud that's hosted and + + +00:02:15.599 --> 00:02:17.350 align:start position:0% +runs in the cloud that's hosted and +managed<00:02:15.920> by<00:02:16.080> a<00:02:16.319> company.<00:02:16.640> It's<00:02:16.800> typically<00:02:17.120> a + +00:02:17.350 --> 00:02:17.360 align:start position:0% +managed by a company. It's typically a + + +00:02:17.360 --> 00:02:19.030 align:start position:0% +managed by a company. It's typically a +part<00:02:17.440> of<00:02:17.520> a<00:02:17.760> large<00:02:18.080> data<00:02:18.319> center<00:02:18.560> that<00:02:18.800> is + +00:02:19.030 --> 00:02:19.040 align:start position:0% +part of a large data center that is + + +00:02:19.040 --> 00:02:21.110 align:start position:0% +part of a large data center that is +literally<00:02:19.360> more<00:02:19.599> secure<00:02:20.160> than<00:02:20.400> an<00:02:20.640> airport. + +00:02:21.110 --> 00:02:21.120 align:start position:0% +literally more secure than an airport. + + +00:02:21.120 --> 00:02:22.790 align:start position:0% +literally more secure than an airport. +It's<00:02:21.440> going<00:02:21.520> to<00:02:21.680> have<00:02:21.840> things<00:02:22.080> like<00:02:22.400> regular + +00:02:22.790 --> 00:02:22.800 align:start position:0% +It's going to have things like regular + + +00:02:22.800 --> 00:02:25.030 align:start position:0% +It's going to have things like regular +backups,<00:02:23.520> disaster<00:02:24.080> recovery,<00:02:24.720> you<00:02:24.800> know, + +00:02:25.030 --> 00:02:25.040 align:start position:0% +backups, disaster recovery, you know, + + +00:02:25.040 --> 00:02:26.949 align:start position:0% +backups, disaster recovery, you know, +fire<00:02:25.360> protection,<00:02:26.000> natural<00:02:26.400> disaster + +00:02:26.949 --> 00:02:26.959 align:start position:0% +fire protection, natural disaster + + +00:02:26.959 --> 00:02:29.190 align:start position:0% +fire protection, natural disaster +protection,<00:02:27.680> and<00:02:27.920> theft<00:02:28.319> protection<00:02:28.879> that + +00:02:29.190 --> 00:02:29.200 align:start position:0% +protection, and theft protection that + + +00:02:29.200 --> 00:02:31.430 align:start position:0% +protection, and theft protection that +you<00:02:29.360> don't<00:02:29.599> have<00:02:29.840> when<00:02:30.080> you<00:02:30.319> run<00:02:30.560> Open<00:02:30.959> Claw<00:02:31.280> on + +00:02:31.430 --> 00:02:31.440 align:start position:0% +you don't have when you run Open Claw on + + +00:02:31.440 --> 00:02:33.270 align:start position:0% +you don't have when you run Open Claw on +something<00:02:31.680> like<00:02:31.840> a<00:02:32.080> Mac<00:02:32.319> Mini<00:02:32.640> or<00:02:32.879> your<00:02:33.120> own + +00:02:33.270 --> 00:02:33.280 align:start position:0% +something like a Mac Mini or your own + + +00:02:33.280 --> 00:02:35.190 align:start position:0% +something like a Mac Mini or your own +computer.<00:02:33.920> Now,<00:02:34.160> yes,<00:02:34.400> sure,<00:02:34.720> you<00:02:34.959> can<00:02:35.120> do + +00:02:35.190 --> 00:02:35.200 align:start position:0% +computer. Now, yes, sure, you can do + + +00:02:35.200 --> 00:02:37.430 align:start position:0% +computer. Now, yes, sure, you can do +that,<00:02:35.519> but<00:02:35.760> generally<00:02:36.160> speaking,<00:02:36.480> a<00:02:36.720> VPS<00:02:37.200> is + +00:02:37.430 --> 00:02:37.440 align:start position:0% +that, but generally speaking, a VPS is + + +00:02:37.440 --> 00:02:39.509 align:start position:0% +that, but generally speaking, a VPS is +just<00:02:37.599> the<00:02:37.920> best<00:02:38.160> option.<00:02:38.720> It's<00:02:38.959> also<00:02:39.200> very + +00:02:39.509 --> 00:02:39.519 align:start position:0% +just the best option. It's also very + + +00:02:39.519 --> 00:02:41.509 align:start position:0% +just the best option. It's also very +cheap<00:02:39.760> and<00:02:40.080> very<00:02:40.319> easy<00:02:40.560> and<00:02:40.800> quick<00:02:40.959> to<00:02:41.120> set<00:02:41.280> up. + +00:02:41.509 --> 00:02:41.519 align:start position:0% +cheap and very easy and quick to set up. + + +00:02:41.519 --> 00:02:42.710 align:start position:0% +cheap and very easy and quick to set up. +And<00:02:41.680> as<00:02:41.840> soon<00:02:41.920> as<00:02:42.080> you<00:02:42.239> don't<00:02:42.400> want<00:02:42.480> it + +00:02:42.710 --> 00:02:42.720 align:start position:0% +And as soon as you don't want it + + +00:02:42.720 --> 00:02:44.390 align:start position:0% +And as soon as you don't want it +anymore,<00:02:43.120> you<00:02:43.280> can<00:02:43.360> just<00:02:43.599> turn<00:02:43.760> it<00:02:43.920> off<00:02:44.160> rather + +00:02:44.390 --> 00:02:44.400 align:start position:0% +anymore, you can just turn it off rather + + +00:02:44.400 --> 00:02:47.030 align:start position:0% +anymore, you can just turn it off rather +than<00:02:44.640> investing,<00:02:45.040> say,<00:02:45.440> $1,000<00:02:46.400> in<00:02:46.560> a<00:02:46.800> local + +00:02:47.030 --> 00:02:47.040 align:start position:0% +than investing, say, $1,000 in a local + + +00:02:47.040 --> 00:02:49.509 align:start position:0% +than investing, say, $1,000 in a local +hardware<00:02:47.519> device.<00:02:48.239> Okay,<00:02:48.720> so<00:02:48.879> anyways,<00:02:49.280> that + +00:02:49.509 --> 00:02:49.519 align:start position:0% +hardware device. Okay, so anyways, that + + +00:02:49.519 --> 00:02:51.430 align:start position:0% +hardware device. Okay, so anyways, that +is<00:02:49.599> the<00:02:49.840> kind<00:02:50.080> of<00:02:50.160> basic<00:02:50.560> set<00:02:50.800> of<00:02:50.959> steps<00:02:51.200> on + +00:02:51.430 --> 00:02:51.440 align:start position:0% +is the kind of basic set of steps on + + +00:02:51.440 --> 00:02:53.589 align:start position:0% +is the kind of basic set of steps on +security.<00:02:52.239> Just<00:02:52.480> remember<00:02:52.879> the<00:02:53.120> more<00:02:53.360> stuff + +00:02:53.589 --> 00:02:53.599 align:start position:0% +security. Just remember the more stuff + + +00:02:53.599 --> 00:02:55.750 align:start position:0% +security. Just remember the more stuff +that<00:02:53.840> you<00:02:53.920> add<00:02:54.160> to<00:02:54.480> open<00:02:54.800> claw,<00:02:55.280> the<00:02:55.519> more + +00:02:55.750 --> 00:02:55.760 align:start position:0% +that you add to open claw, the more + + +00:02:55.760 --> 00:02:57.830 align:start position:0% +that you add to open claw, the more +insecure<00:02:56.319> that<00:02:56.480> it<00:02:56.720> becomes<00:02:57.280> and<00:02:57.440> you<00:02:57.599> only + +00:02:57.830 --> 00:02:57.840 align:start position:0% +insecure that it becomes and you only + + +00:02:57.840 --> 00:02:59.190 align:start position:0% +insecure that it becomes and you only +want<00:02:58.000> to<00:02:58.080> connect<00:02:58.319> it<00:02:58.480> to<00:02:58.640> things<00:02:58.800> that<00:02:59.040> you + +00:02:59.190 --> 00:02:59.200 align:start position:0% +want to connect it to things that you + + +00:02:59.200 --> 00:03:00.550 align:start position:0% +want to connect it to things that you +would<00:02:59.360> be<00:02:59.519> okay,<00:02:59.840> you<00:02:59.920> know,<00:03:00.080> at<00:03:00.239> some<00:03:00.400> point + +00:03:00.550 --> 00:03:00.560 align:start position:0% +would be okay, you know, at some point + + +00:03:00.560 --> 00:03:02.710 align:start position:0% +would be okay, you know, at some point +in<00:03:00.720> time<00:03:00.959> got<00:03:01.200> hacked<00:03:01.440> or<00:03:01.680> got<00:03:01.920> lost<00:03:02.239> or<00:03:02.480> got + +00:03:02.710 --> 00:03:02.720 align:start position:0% +in time got hacked or got lost or got + + +00:03:02.720 --> 00:03:04.710 align:start position:0% +in time got hacked or got lost or got +insecure.<00:03:03.599> If<00:03:03.760> you<00:03:03.920> treat<00:03:04.080> it<00:03:04.239> like<00:03:04.400> that, + +00:03:04.710 --> 00:03:04.720 align:start position:0% +insecure. If you treat it like that, + + +00:03:04.720 --> 00:03:05.990 align:start position:0% +insecure. If you treat it like that, +you're<00:03:04.959> going<00:03:05.040> to<00:03:05.120> be<00:03:05.200> fine<00:03:05.360> and<00:03:05.599> you<00:03:05.760> won't + +00:03:05.990 --> 00:03:06.000 align:start position:0% +you're going to be fine and you won't + + +00:03:06.000 --> 00:03:07.910 align:start position:0% +you're going to be fine and you won't +have<00:03:06.159> any<00:03:06.400> security<00:03:06.879> issues.<00:03:07.360> So,<00:03:07.599> like<00:03:07.760> I + +00:03:07.910 --> 00:03:07.920 align:start position:0% +have any security issues. So, like I + + +00:03:07.920 --> 00:03:09.430 align:start position:0% +have any security issues. So, like I +mentioned,<00:03:08.239> I<00:03:08.400> will<00:03:08.560> run<00:03:08.800> through<00:03:08.959> a<00:03:09.200> quick + +00:03:09.430 --> 00:03:09.440 align:start position:0% +mentioned, I will run through a quick + + +00:03:09.440 --> 00:03:11.589 align:start position:0% +mentioned, I will run through a quick +install<00:03:09.840> of<00:03:10.000> Open<00:03:10.400> Claw<00:03:10.720> in<00:03:10.879> case<00:03:11.040> you<00:03:11.280> haven't + +00:03:11.589 --> 00:03:11.599 align:start position:0% +install of Open Claw in case you haven't + + +00:03:11.599 --> 00:03:13.670 align:start position:0% +install of Open Claw in case you haven't +already<00:03:11.920> done<00:03:12.080> this.<00:03:12.560> Now,<00:03:12.879> the<00:03:13.040> fastest<00:03:13.440> and + +00:03:13.670 --> 00:03:13.680 align:start position:0% +already done this. Now, the fastest and + + +00:03:13.680 --> 00:03:15.350 align:start position:0% +already done this. Now, the fastest and +easiest<00:03:14.080> way<00:03:14.239> to<00:03:14.400> get<00:03:14.480> this<00:03:14.720> up<00:03:14.879> and<00:03:15.040> running + +00:03:15.350 --> 00:03:15.360 align:start position:0% +easiest way to get this up and running + + +00:03:15.360 --> 00:03:17.910 align:start position:0% +easiest way to get this up and running +is<00:03:15.599> to<00:03:15.760> use<00:03:16.000> Hostinger's<00:03:16.800> one-click<00:03:17.440> install + +00:03:17.910 --> 00:03:17.920 align:start position:0% +is to use Hostinger's one-click install + + +00:03:17.920 --> 00:03:20.790 align:start position:0% +is to use Hostinger's one-click install +for<00:03:18.159> their<00:03:18.400> virtual<00:03:18.800> private<00:03:19.200> server<00:03:19.760> KVM2 + +00:03:20.790 --> 00:03:20.800 align:start position:0% +for their virtual private server KVM2 + + +00:03:20.800 --> 00:03:22.390 align:start position:0% +for their virtual private server KVM2 +plan.<00:03:21.360> Now,<00:03:21.519> I'm<00:03:21.760> fortunate<00:03:22.000> enough<00:03:22.239> to + +00:03:22.390 --> 00:03:22.400 align:start position:0% +plan. Now, I'm fortunate enough to + + +00:03:22.400 --> 00:03:23.990 align:start position:0% +plan. Now, I'm fortunate enough to +partner<00:03:22.640> with<00:03:22.720> Hostinger,<00:03:23.280> so<00:03:23.440> I<00:03:23.519> also<00:03:23.680> have<00:03:23.760> a + +00:03:23.990 --> 00:03:24.000 align:start position:0% +partner with Hostinger, so I also have a + + +00:03:24.000 --> 00:03:25.830 align:start position:0% +partner with Hostinger, so I also have a +discount<00:03:24.319> code,<00:03:24.560> which<00:03:24.720> I'll<00:03:25.040> show<00:03:25.120> you<00:03:25.280> in<00:03:25.599> 1 + +00:03:25.830 --> 00:03:25.840 align:start position:0% +discount code, which I'll show you in 1 + + +00:03:25.840 --> 00:03:27.589 align:start position:0% +discount code, which I'll show you in 1 +second.<00:03:26.400> But<00:03:26.480> you<00:03:26.640> can<00:03:26.720> see<00:03:26.879> that<00:03:27.040> it's<00:03:27.200> as<00:03:27.440> low + +00:03:27.589 --> 00:03:27.599 align:start position:0% +second. But you can see that it's as low + + +00:03:27.599 --> 00:03:29.670 align:start position:0% +second. But you can see that it's as low +as<00:03:27.920> $7<00:03:28.319> per<00:03:28.640> month.<00:03:28.879> And<00:03:29.040> the<00:03:29.200> advantage<00:03:29.519> here + +00:03:29.670 --> 00:03:29.680 align:start position:0% +as $7 per month. And the advantage here + + +00:03:29.680 --> 00:03:31.190 align:start position:0% +as $7 per month. And the advantage here +is<00:03:29.840> you<00:03:30.000> can<00:03:30.080> literally<00:03:30.400> just<00:03:30.640> press<00:03:30.879> three<00:03:31.040> or + +00:03:31.190 --> 00:03:31.200 align:start position:0% +is you can literally just press three or + + +00:03:31.200 --> 00:03:32.869 align:start position:0% +is you can literally just press three or +four<00:03:31.360> buttons.<00:03:31.760> Then,<00:03:31.920> Open<00:03:32.239> Claw<00:03:32.480> is<00:03:32.640> already + +00:03:32.869 --> 00:03:32.879 align:start position:0% +four buttons. Then, Open Claw is already + + +00:03:32.879 --> 00:03:34.390 align:start position:0% +four buttons. Then, Open Claw is already +set<00:03:33.040> up<00:03:33.200> and<00:03:33.440> running,<00:03:33.760> and<00:03:34.000> you<00:03:34.159> don't<00:03:34.319> need + +00:03:34.390 --> 00:03:34.400 align:start position:0% +set up and running, and you don't need + + +00:03:34.400 --> 00:03:36.789 align:start position:0% +set up and running, and you don't need +to<00:03:34.480> do<00:03:34.640> any<00:03:34.879> manual<00:03:35.360> configuration<00:03:36.080> yourself. + +00:03:36.789 --> 00:03:36.799 align:start position:0% +to do any manual configuration yourself. + + +00:03:36.799 --> 00:03:38.630 align:start position:0% +to do any manual configuration yourself. +Now,<00:03:37.040> this<00:03:37.200> is<00:03:37.440> still<00:03:37.760> secure.<00:03:38.239> There's<00:03:38.480> no + +00:03:38.630 --> 00:03:38.640 align:start position:0% +Now, this is still secure. There's no + + +00:03:38.640 --> 00:03:40.390 align:start position:0% +Now, this is still secure. There's no +issue<00:03:38.959> with<00:03:39.280> doing<00:03:39.440> this.<00:03:39.840> But<00:03:40.000> if<00:03:40.159> you<00:03:40.239> want + +00:03:40.390 --> 00:03:40.400 align:start position:0% +issue with doing this. But if you want + + +00:03:40.400 --> 00:03:42.390 align:start position:0% +issue with doing this. But if you want +the<00:03:40.640> extra<00:03:40.959> secure<00:03:41.360> version<00:03:41.599> of<00:03:41.840> setup,<00:03:42.239> then + +00:03:42.390 --> 00:03:42.400 align:start position:0% +the extra secure version of setup, then + + +00:03:42.400 --> 00:03:43.830 align:start position:0% +the extra secure version of setup, then +again,<00:03:42.640> you<00:03:42.799> can<00:03:42.879> watch<00:03:43.040> the<00:03:43.280> video<00:03:43.360> that<00:03:43.599> I'll + +00:03:43.830 --> 00:03:43.840 align:start position:0% +again, you can watch the video that I'll + + +00:03:43.840 --> 00:03:45.589 align:start position:0% +again, you can watch the video that I'll +put<00:03:44.000> on<00:03:44.239> screen<00:03:44.720> that<00:03:44.959> walks<00:03:45.200> through<00:03:45.440> some + +00:03:45.589 --> 00:03:45.599 align:start position:0% +put on screen that walks through some + + +00:03:45.599 --> 00:03:47.509 align:start position:0% +put on screen that walks through some +more<00:03:45.760> advanced<00:03:46.159> steps<00:03:46.480> to<00:03:46.720> really<00:03:46.959> kind<00:03:47.200> of<00:03:47.280> go + +00:03:47.509 --> 00:03:47.519 align:start position:0% +more advanced steps to really kind of go + + +00:03:47.519 --> 00:03:49.509 align:start position:0% +more advanced steps to really kind of go +overkill<00:03:48.239> and<00:03:48.480> ensure<00:03:48.720> that<00:03:48.959> no<00:03:49.200> one's<00:03:49.440> going + +00:03:49.509 --> 00:03:49.519 align:start position:0% +overkill and ensure that no one's going + + +00:03:49.519 --> 00:03:51.589 align:start position:0% +overkill and ensure that no one's going +to<00:03:49.680> access<00:03:50.000> your<00:03:50.239> virtual<00:03:50.640> private<00:03:50.959> ser.<00:03:51.440> So + +00:03:51.589 --> 00:03:51.599 align:start position:0% +to access your virtual private ser. So + + +00:03:51.599 --> 00:03:52.630 align:start position:0% +to access your virtual private ser. So +in<00:03:51.760> my<00:03:51.840> case,<00:03:52.000> what<00:03:52.159> I'm<00:03:52.239> going<00:03:52.319> to<00:03:52.400> do<00:03:52.480> for + +00:03:52.630 --> 00:03:52.640 align:start position:0% +in my case, what I'm going to do for + + +00:03:52.640 --> 00:03:54.789 align:start position:0% +in my case, what I'm going to do for +this<00:03:52.720> video<00:03:52.879> is<00:03:53.120> just<00:03:53.280> press<00:03:53.519> on<00:03:53.840> deploy.<00:03:54.560> When + +00:03:54.789 --> 00:03:54.799 align:start position:0% +this video is just press on deploy. When + + +00:03:54.799 --> 00:03:56.309 align:start position:0% +this video is just press on deploy. When +I<00:03:54.879> do<00:03:55.040> that,<00:03:55.200> it's<00:03:55.440> going<00:03:55.519> to<00:03:55.599> bring<00:03:55.760> me<00:03:55.920> to<00:03:56.080> the + +00:03:56.309 --> 00:03:56.319 align:start position:0% +I do that, it's going to bring me to the + + +00:03:56.319 --> 00:03:57.990 align:start position:0% +I do that, it's going to bring me to the +checkout<00:03:56.720> page<00:03:56.959> where<00:03:57.120> I<00:03:57.280> can<00:03:57.439> select<00:03:57.680> my + +00:03:57.990 --> 00:03:58.000 align:start position:0% +checkout page where I can select my + + +00:03:58.000 --> 00:03:59.830 align:start position:0% +checkout page where I can select my +plan.<00:03:58.720> So<00:03:58.959> what<00:03:59.040> I'm<00:03:59.200> going<00:03:59.200> to<00:03:59.280> do<00:03:59.439> is<00:03:59.599> just<00:03:59.760> go + +00:03:59.830 --> 00:03:59.840 align:start position:0% +plan. So what I'm going to do is just go + + +00:03:59.840 --> 00:04:02.229 align:start position:0% +plan. So what I'm going to do is just go +with<00:04:00.080> one<00:04:00.400> month.<00:04:01.120> But<00:04:01.360> if<00:04:01.519> you<00:04:01.680> did<00:04:01.840> go<00:04:02.000> with + +00:04:02.229 --> 00:04:02.239 align:start position:0% +with one month. But if you did go with + + +00:04:02.239 --> 00:04:04.789 align:start position:0% +with one month. But if you did go with +12<00:04:02.480> months<00:04:02.720> or<00:04:02.959> 24<00:04:03.439> months,<00:04:04.000> then<00:04:04.239> you<00:04:04.480> can + +00:04:04.789 --> 00:04:04.799 align:start position:0% +12 months or 24 months, then you can + + +00:04:04.799 --> 00:04:07.110 align:start position:0% +12 months or 24 months, then you can +access<00:04:05.439> my<00:04:05.680> coupon<00:04:06.080> code,<00:04:06.400> which<00:04:06.560> is<00:04:06.799> tech + +00:04:07.110 --> 00:04:07.120 align:start position:0% +access my coupon code, which is tech + + +00:04:07.120 --> 00:04:08.550 align:start position:0% +access my coupon code, which is tech +with<00:04:07.360> Tim,<00:04:07.760> which<00:04:07.920> will<00:04:08.080> give<00:04:08.239> you<00:04:08.319> an + +00:04:08.550 --> 00:04:08.560 align:start position:0% +with Tim, which will give you an + + +00:04:08.560 --> 00:04:10.710 align:start position:0% +with Tim, which will give you an +additional<00:04:08.959> 10%<00:04:09.519> off.<00:04:10.159> Just<00:04:10.319> keep<00:04:10.400> that<00:04:10.560> in + +00:04:10.710 --> 00:04:10.720 align:start position:0% +additional 10% off. Just keep that in + + +00:04:10.720 --> 00:04:12.149 align:start position:0% +additional 10% off. Just keep that in +mind<00:04:10.799> in<00:04:11.040> case<00:04:11.120> you<00:04:11.280> want<00:04:11.360> to<00:04:11.439> use<00:04:11.599> it.<00:04:11.920> So,<00:04:12.000> I'm + +00:04:12.149 --> 00:04:12.159 align:start position:0% +mind in case you want to use it. So, I'm + + +00:04:12.159 --> 00:04:13.830 align:start position:0% +mind in case you want to use it. So, I'm +going<00:04:12.239> to<00:04:12.319> go<00:04:12.480> 1<00:04:12.720> month.<00:04:13.040> I'm<00:04:13.280> also<00:04:13.519> just<00:04:13.680> going + +00:04:13.830 --> 00:04:13.840 align:start position:0% +going to go 1 month. I'm also just going + + +00:04:13.840 --> 00:04:16.390 align:start position:0% +going to go 1 month. I'm also just going +to<00:04:14.000> uncheck<00:04:14.640> ready<00:04:14.959> to<00:04:15.120> use<00:04:15.360> with<00:04:15.680> AI.<00:04:16.239> Now, + +00:04:16.390 --> 00:04:16.400 align:start position:0% +to uncheck ready to use with AI. Now, + + +00:04:16.400 --> 00:04:17.670 align:start position:0% +to uncheck ready to use with AI. Now, +you<00:04:16.560> can<00:04:16.639> use<00:04:16.720> their<00:04:16.959> credits<00:04:17.280> there<00:04:17.440> if<00:04:17.600> you + +00:04:17.670 --> 00:04:17.680 align:start position:0% +you can use their credits there if you + + +00:04:17.680 --> 00:04:19.430 align:start position:0% +you can use their credits there if you +don't<00:04:17.759> want<00:04:17.840> to<00:04:18.000> worry<00:04:18.160> about<00:04:18.400> API<00:04:18.880> keys,<00:04:19.199> but + +00:04:19.430 --> 00:04:19.440 align:start position:0% +don't want to worry about API keys, but + + +00:04:19.440 --> 00:04:21.110 align:start position:0% +don't want to worry about API keys, but +in<00:04:19.600> my<00:04:19.680> case,<00:04:19.840> I<00:04:20.079> am<00:04:20.239> going<00:04:20.320> to<00:04:20.479> manually<00:04:20.880> enter + +00:04:21.110 --> 00:04:21.120 align:start position:0% +in my case, I am going to manually enter + + +00:04:21.120 --> 00:04:23.749 align:start position:0% +in my case, I am going to manually enter +my<00:04:21.359> own<00:04:21.600> anthropic<00:04:22.240> or<00:04:22.479> OpenAI<00:04:23.120> API<00:04:23.520> key, + +00:04:23.749 --> 00:04:23.759 align:start position:0% +my own anthropic or OpenAI API key, + + +00:04:23.759 --> 00:04:25.430 align:start position:0% +my own anthropic or OpenAI API key, +which<00:04:23.919> I<00:04:24.080> will<00:04:24.240> show<00:04:24.320> you<00:04:24.479> in<00:04:24.639> a<00:04:24.800> second.<00:04:25.280> So, + +00:04:25.430 --> 00:04:25.440 align:start position:0% +which I will show you in a second. So, + + +00:04:25.440 --> 00:04:27.110 align:start position:0% +which I will show you in a second. So, +from<00:04:25.600> here,<00:04:25.919> choose<00:04:26.160> your<00:04:26.320> server<00:04:26.639> location + +00:04:27.110 --> 00:04:27.120 align:start position:0% +from here, choose your server location + + +00:04:27.120 --> 00:04:28.870 align:start position:0% +from here, choose your server location +and<00:04:27.360> then<00:04:27.520> press<00:04:27.759> on<00:04:28.000> continue<00:04:28.320> and<00:04:28.560> proceed + +00:04:28.870 --> 00:04:28.880 align:start position:0% +and then press on continue and proceed + + +00:04:28.880 --> 00:04:30.230 align:start position:0% +and then press on continue and proceed +with<00:04:29.040> the<00:04:29.199> billing.<00:04:29.600> and<00:04:29.759> then<00:04:29.840> it<00:04:30.000> will<00:04:30.160> set + +00:04:30.230 --> 00:04:30.240 align:start position:0% +with the billing. and then it will set + + +00:04:30.240 --> 00:04:31.990 align:start position:0% +with the billing. and then it will set +up<00:04:30.400> the<00:04:30.560> virtual<00:04:30.880> private<00:04:31.280> server<00:04:31.520> and<00:04:31.840> bring + +00:04:31.990 --> 00:04:32.000 align:start position:0% +up the virtual private server and bring + + +00:04:32.000 --> 00:04:34.150 align:start position:0% +up the virtual private server and bring +you<00:04:32.080> to<00:04:32.240> the<00:04:32.400> screen<00:04:32.800> you<00:04:33.040> will<00:04:33.280> see<00:04:33.520> next.<00:04:34.160> All + +00:04:34.150 --> 00:04:34.160 align:start position:0% +you to the screen you will see next. All + + +00:04:34.160 --> 00:04:35.350 align:start position:0% +you to the screen you will see next. All +right,<00:04:34.400> so<00:04:34.560> you<00:04:34.639> should<00:04:34.800> be<00:04:34.960> brought<00:04:35.120> to<00:04:35.199> a + +00:04:35.350 --> 00:04:35.360 align:start position:0% +right, so you should be brought to a + + +00:04:35.360 --> 00:04:36.710 align:start position:0% +right, so you should be brought to a +page<00:04:35.520> that<00:04:35.759> looks<00:04:36.000> like<00:04:36.160> this<00:04:36.320> where<00:04:36.560> you're + +00:04:36.710 --> 00:04:36.720 align:start position:0% +page that looks like this where you're + + +00:04:36.720 --> 00:04:38.390 align:start position:0% +page that looks like this where you're +now<00:04:36.880> going<00:04:36.960> to<00:04:37.040> need<00:04:37.199> to<00:04:37.360> enter<00:04:37.600> at<00:04:37.680> least<00:04:38.080> one + +00:04:38.390 --> 00:04:38.400 align:start position:0% +now going to need to enter at least one + + +00:04:38.400 --> 00:04:41.030 align:start position:0% +now going to need to enter at least one +of<00:04:38.639> these<00:04:38.960> four<00:04:39.199> API<00:04:39.759> keys<00:04:40.000> that<00:04:40.240> you<00:04:40.400> see.<00:04:40.880> So + +00:04:41.030 --> 00:04:41.040 align:start position:0% +of these four API keys that you see. So + + +00:04:41.040 --> 00:04:42.550 align:start position:0% +of these four API keys that you see. So +I'm<00:04:41.199> going<00:04:41.280> to<00:04:41.360> go<00:04:41.440> with<00:04:41.600> Enthropic,<00:04:42.240> but<00:04:42.400> you + +00:04:42.550 --> 00:04:42.560 align:start position:0% +I'm going to go with Enthropic, but you + + +00:04:42.560 --> 00:04:44.230 align:start position:0% +I'm going to go with Enthropic, but you +can<00:04:42.639> use<00:04:42.880> anything<00:04:43.120> that<00:04:43.360> you<00:04:43.520> want<00:04:43.840> and<00:04:44.080> you + +00:04:44.230 --> 00:04:44.240 align:start position:0% +can use anything that you want and you + + +00:04:44.240 --> 00:04:45.909 align:start position:0% +can use anything that you want and you +can<00:04:44.400> change<00:04:44.720> this<00:04:44.960> later,<00:04:45.280> but<00:04:45.440> you<00:04:45.600> just<00:04:45.759> need + +00:04:45.909 --> 00:04:45.919 align:start position:0% +can change this later, but you just need + + +00:04:45.919 --> 00:04:47.510 align:start position:0% +can change this later, but you just need +to<00:04:46.080> start<00:04:46.320> with<00:04:46.639> one<00:04:46.800> of<00:04:46.880> them.<00:04:47.120> Otherwise, + +00:04:47.510 --> 00:04:47.520 align:start position:0% +to start with one of them. Otherwise, + + +00:04:47.520 --> 00:04:48.790 align:start position:0% +to start with one of them. Otherwise, +the<00:04:47.680> setup's<00:04:48.080> going<00:04:48.160> to<00:04:48.240> be<00:04:48.320> a<00:04:48.560> little<00:04:48.639> bit + +00:04:48.790 --> 00:04:48.800 align:start position:0% +the setup's going to be a little bit + + +00:04:48.800 --> 00:04:50.710 align:start position:0% +the setup's going to be a little bit +more<00:04:49.040> complex.<00:04:49.919> So<00:04:50.080> what<00:04:50.240> I'm<00:04:50.320> going<00:04:50.400> to<00:04:50.479> do<00:04:50.560> is + +00:04:50.710 --> 00:04:50.720 align:start position:0% +more complex. So what I'm going to do is + + +00:04:50.720 --> 00:04:52.790 align:start position:0% +more complex. So what I'm going to do is +just<00:04:50.880> go<00:04:51.040> to<00:04:51.280> Enthropic<00:04:51.919> console.<00:04:52.400> Again,<00:04:52.639> you + +00:04:52.790 --> 00:04:52.800 align:start position:0% +just go to Enthropic console. Again, you + + +00:04:52.800 --> 00:04:54.230 align:start position:0% +just go to Enthropic console. Again, you +can<00:04:52.880> find<00:04:53.040> the<00:04:53.199> links<00:04:53.520> directly<00:04:53.840> from<00:04:54.000> this + +00:04:54.230 --> 00:04:54.240 align:start position:0% +can find the links directly from this + + +00:04:54.240 --> 00:04:56.310 align:start position:0% +can find the links directly from this +page<00:04:54.479> here<00:04:54.639> on<00:04:54.960> where<00:04:55.120> to<00:04:55.280> go<00:04:55.440> to<00:04:55.759> find<00:04:56.000> the + +00:04:56.310 --> 00:04:56.320 align:start position:0% +page here on where to go to find the + + +00:04:56.320 --> 00:04:57.990 align:start position:0% +page here on where to go to find the +keys.<00:04:56.800> And<00:04:56.960> I'm<00:04:57.120> just<00:04:57.280> going<00:04:57.360> to<00:04:57.440> make<00:04:57.600> a<00:04:57.759> new + +00:04:57.990 --> 00:04:58.000 align:start position:0% +keys. And I'm just going to make a new + + +00:04:58.000 --> 00:04:59.110 align:start position:0% +keys. And I'm just going to make a new +key.<00:04:58.320> Now<00:04:58.400> I'm<00:04:58.560> just<00:04:58.639> going<00:04:58.720> to<00:04:58.800> call<00:04:58.960> this + +00:04:59.110 --> 00:04:59.120 align:start position:0% +key. Now I'm just going to call this + + +00:04:59.120 --> 00:05:01.590 align:start position:0% +key. Now I'm just going to call this +hostinger<00:04:59.840> claude.<00:05:00.400> That's<00:05:00.720> fine.<00:05:01.280> And<00:05:01.440> let's + +00:05:01.590 --> 00:05:01.600 align:start position:0% +hostinger claude. That's fine. And let's + + +00:05:01.600 --> 00:05:03.189 align:start position:0% +hostinger claude. That's fine. And let's +copy<00:05:01.919> the<00:05:02.080> key.<00:05:02.240> And<00:05:02.400> I<00:05:02.560> will<00:05:02.720> delete<00:05:02.960> this + +00:05:03.189 --> 00:05:03.199 align:start position:0% +copy the key. And I will delete this + + +00:05:03.199 --> 00:05:04.870 align:start position:0% +copy the key. And I will delete this +after.<00:05:03.840> Okay.<00:05:04.080> So<00:05:04.160> I'm<00:05:04.320> just<00:05:04.479> going<00:05:04.479> to<00:05:04.639> paste + +00:05:04.870 --> 00:05:04.880 align:start position:0% +after. Okay. So I'm just going to paste + + +00:05:04.880 --> 00:05:07.110 align:start position:0% +after. Okay. So I'm just going to paste +that<00:05:05.120> inside<00:05:05.440> of<00:05:05.600> here.<00:05:06.000> And<00:05:06.160> then<00:05:06.400> press<00:05:06.720> on + +00:05:07.110 --> 00:05:07.120 align:start position:0% +that inside of here. And then press on + + +00:05:07.120 --> 00:05:09.029 align:start position:0% +that inside of here. And then press on +deploy.<00:05:07.759> Now<00:05:08.000> this<00:05:08.160> will<00:05:08.320> take<00:05:08.400> a<00:05:08.639> second. + +00:05:09.029 --> 00:05:09.039 align:start position:0% +deploy. Now this will take a second. + + +00:05:09.039 --> 00:05:10.469 align:start position:0% +deploy. Now this will take a second. +Once<00:05:09.280> it's<00:05:09.520> done,<00:05:09.840> what's<00:05:10.160> going<00:05:10.240> to<00:05:10.320> happen + +00:05:10.469 --> 00:05:10.479 align:start position:0% +Once it's done, what's going to happen + + +00:05:10.479 --> 00:05:12.469 align:start position:0% +Once it's done, what's going to happen +is<00:05:10.639> it<00:05:10.880> will<00:05:11.039> actually<00:05:11.280> spin<00:05:11.520> up<00:05:11.759> a<00:05:12.000> docker + +00:05:12.469 --> 00:05:12.479 align:start position:0% +is it will actually spin up a docker + + +00:05:12.479 --> 00:05:14.790 align:start position:0% +is it will actually spin up a docker +container<00:05:13.039> on<00:05:13.360> this<00:05:13.680> server<00:05:14.240> which<00:05:14.400> will<00:05:14.639> be + +00:05:14.790 --> 00:05:14.800 align:start position:0% +container on this server which will be + + +00:05:14.800 --> 00:05:17.350 align:start position:0% +container on this server which will be +running<00:05:15.039> our<00:05:15.360> open<00:05:15.680> claw<00:05:16.080> process<00:05:16.880> server, + +00:05:17.350 --> 00:05:17.360 align:start position:0% +running our open claw process server, + + +00:05:17.360 --> 00:05:18.950 align:start position:0% +running our open claw process server, +whatever<00:05:17.680> you<00:05:17.919> want<00:05:18.000> to<00:05:18.160> call<00:05:18.240> it.<00:05:18.720> From + +00:05:18.950 --> 00:05:18.960 align:start position:0% +whatever you want to call it. From + + +00:05:18.960 --> 00:05:20.629 align:start position:0% +whatever you want to call it. From +there,<00:05:19.280> we<00:05:19.520> actually<00:05:19.840> won't<00:05:20.160> need<00:05:20.320> to<00:05:20.479> go + +00:05:20.629 --> 00:05:20.639 align:start position:0% +there, we actually won't need to go + + +00:05:20.639 --> 00:05:22.469 align:start position:0% +there, we actually won't need to go +directly<00:05:21.039> into<00:05:21.280> the<00:05:21.520> terminal<00:05:21.840> to<00:05:22.160> manage + +00:05:22.469 --> 00:05:22.479 align:start position:0% +directly into the terminal to manage + + +00:05:22.479 --> 00:05:24.629 align:start position:0% +directly into the terminal to manage +anything<00:05:22.800> there<00:05:23.120> unless<00:05:23.520> we<00:05:23.759> want<00:05:23.919> to.<00:05:24.479> What + +00:05:24.629 --> 00:05:24.639 align:start position:0% +anything there unless we want to. What + + +00:05:24.639 --> 00:05:26.469 align:start position:0% +anything there unless we want to. What +we<00:05:24.800> can<00:05:24.880> do<00:05:24.960> is<00:05:25.120> just<00:05:25.360> directly<00:05:25.840> access<00:05:26.160> the + +00:05:26.469 --> 00:05:26.479 align:start position:0% +we can do is just directly access the + + +00:05:26.479 --> 00:05:28.710 align:start position:0% +we can do is just directly access the +open<00:05:26.720> claw<00:05:27.120> gateway<00:05:27.680> and<00:05:27.919> from<00:05:28.080> the<00:05:28.240> gateway + +00:05:28.710 --> 00:05:28.720 align:start position:0% +open claw gateway and from the gateway + + +00:05:28.720 --> 00:05:30.390 align:start position:0% +open claw gateway and from the gateway +we<00:05:28.880> can<00:05:29.039> start<00:05:29.199> configuring<00:05:29.840> everything<00:05:30.160> that + +00:05:30.390 --> 00:05:30.400 align:start position:0% +we can start configuring everything that + + +00:05:30.400 --> 00:05:32.469 align:start position:0% +we can start configuring everything that +we<00:05:30.560> need.<00:05:31.280> The<00:05:31.520> advantage<00:05:31.840> of<00:05:32.080> using + +00:05:32.469 --> 00:05:32.479 align:start position:0% +we need. The advantage of using + + +00:05:32.479 --> 00:05:34.390 align:start position:0% +we need. The advantage of using +something<00:05:32.720> like<00:05:33.039> open<00:05:33.360> claw<00:05:33.759> is<00:05:33.919> that<00:05:34.080> rather + +00:05:34.390 --> 00:05:34.400 align:start position:0% +something like open claw is that rather + + +00:05:34.400 --> 00:05:36.230 align:start position:0% +something like open claw is that rather +than<00:05:34.479> you<00:05:34.720> having<00:05:34.880> to<00:05:35.039> go<00:05:35.199> in<00:05:35.440> and<00:05:35.759> manually + +00:05:36.230 --> 00:05:36.240 align:start position:0% +than you having to go in and manually + + +00:05:36.240 --> 00:05:39.110 align:start position:0% +than you having to go in and manually +modify<00:05:36.720> a<00:05:36.960> file<00:05:37.520> or<00:05:37.759> change<00:05:38.000> a<00:05:38.240> config,<00:05:38.960> you + +00:05:39.110 --> 00:05:39.120 align:start position:0% +modify a file or change a config, you + + +00:05:39.120 --> 00:05:40.950 align:start position:0% +modify a file or change a config, you +can<00:05:39.199> just<00:05:39.440> tell<00:05:39.600> the<00:05:39.840> model<00:05:40.160> to<00:05:40.320> do<00:05:40.479> that<00:05:40.720> for + +00:05:40.950 --> 00:05:40.960 align:start position:0% +can just tell the model to do that for + + +00:05:40.960 --> 00:05:42.550 align:start position:0% +can just tell the model to do that for +you.<00:05:41.199> So<00:05:41.440> for<00:05:41.520> example,<00:05:41.919> when<00:05:42.080> we<00:05:42.240> want<00:05:42.320> to<00:05:42.479> set + +00:05:42.550 --> 00:05:42.560 align:start position:0% +you. So for example, when we want to set + + +00:05:42.560 --> 00:05:44.550 align:start position:0% +you. So for example, when we want to set +up<00:05:42.880> telegram,<00:05:43.520> we<00:05:43.759> don't<00:05:43.919> actually<00:05:44.160> need<00:05:44.400> to + +00:05:44.550 --> 00:05:44.560 align:start position:0% +up telegram, we don't actually need to + + +00:05:44.560 --> 00:05:46.230 align:start position:0% +up telegram, we don't actually need to +go<00:05:44.720> in<00:05:44.880> and<00:05:45.120> run<00:05:45.280> any<00:05:45.600> commands<00:05:45.919> on<00:05:46.080> the + +00:05:46.230 --> 00:05:46.240 align:start position:0% +go in and run any commands on the + + +00:05:46.240 --> 00:05:48.150 align:start position:0% +go in and run any commands on the +server.<00:05:46.720> We<00:05:46.960> can<00:05:47.039> just<00:05:47.199> tell<00:05:47.360> it<00:05:47.759> set<00:05:48.000> up + +00:05:48.150 --> 00:05:48.160 align:start position:0% +server. We can just tell it set up + + +00:05:48.160 --> 00:05:50.310 align:start position:0% +server. We can just tell it set up +telegram<00:05:48.639> and<00:05:48.880> connect<00:05:49.120> to<00:05:49.360> this<00:05:49.600> bot<00:05:49.919> token, + +00:05:50.310 --> 00:05:50.320 align:start position:0% +telegram and connect to this bot token, + + +00:05:50.320 --> 00:05:51.909 align:start position:0% +telegram and connect to this bot token, +right?<00:05:50.639> And<00:05:50.720> it<00:05:50.960> will<00:05:51.120> just<00:05:51.280> be<00:05:51.440> able<00:05:51.600> to<00:05:51.759> do + +00:05:51.909 --> 00:05:51.919 align:start position:0% +right? And it will just be able to do + + +00:05:51.919 --> 00:05:54.150 align:start position:0% +right? And it will just be able to do +that<00:05:52.080> for<00:05:52.320> us.<00:05:52.800> Okay,<00:05:53.039> so<00:05:53.199> the<00:05:53.360> VPS<00:05:53.759> is<00:05:53.919> now + +00:05:54.150 --> 00:05:54.160 align:start position:0% +that for us. Okay, so the VPS is now + + +00:05:54.160 --> 00:05:55.749 align:start position:0% +that for us. Okay, so the VPS is now +spun<00:05:54.479> up<00:05:54.639> and<00:05:54.800> you'll<00:05:55.039> know<00:05:55.199> that<00:05:55.440> everything + +00:05:55.749 --> 00:05:55.759 align:start position:0% +spun up and you'll know that everything + + +00:05:55.759 --> 00:05:57.749 align:start position:0% +spun up and you'll know that everything +is<00:05:56.000> functioning<00:05:56.400> when<00:05:56.639> you<00:05:56.800> see<00:05:56.960> this<00:05:57.280> Docker + +00:05:57.749 --> 00:05:57.759 align:start position:0% +is functioning when you see this Docker + + +00:05:57.759 --> 00:05:59.830 align:start position:0% +is functioning when you see this Docker +container<00:05:58.240> configured<00:05:58.720> here<00:05:58.880> in<00:05:59.120> the<00:05:59.280> Docker + +00:05:59.830 --> 00:05:59.840 align:start position:0% +container configured here in the Docker + + +00:05:59.840 --> 00:06:02.230 align:start position:0% +container configured here in the Docker +manager.<00:06:00.720> Now,<00:06:01.039> Docker<00:06:01.520> is<00:06:01.680> effectively<00:06:02.080> a + +00:06:02.230 --> 00:06:02.240 align:start position:0% +manager. Now, Docker is effectively a + + +00:06:02.240 --> 00:06:04.629 align:start position:0% +manager. Now, Docker is effectively a +way<00:06:02.400> for<00:06:02.560> us<00:06:02.720> to<00:06:02.880> run<00:06:03.039> an<00:06:03.360> isolated<00:06:04.080> container + +00:06:04.629 --> 00:06:04.639 align:start position:0% +way for us to run an isolated container + + +00:06:04.639 --> 00:06:06.950 align:start position:0% +way for us to run an isolated container +on<00:06:04.960> the<00:06:05.120> virtual<00:06:05.600> private<00:06:06.080> server<00:06:06.479> that<00:06:06.800> has + +00:06:06.950 --> 00:06:06.960 align:start position:0% +on the virtual private server that has + + +00:06:06.960 --> 00:06:08.550 align:start position:0% +on the virtual private server that has +its<00:06:07.199> own<00:06:07.360> dependencies,<00:06:08.080> its<00:06:08.400> own + +00:06:08.550 --> 00:06:08.560 align:start position:0% +its own dependencies, its own + + +00:06:08.560 --> 00:06:10.710 align:start position:0% +its own dependencies, its own +management,<00:06:09.120> its<00:06:09.360> own<00:06:09.520> files,<00:06:10.000> whatever,<00:06:10.560> so + +00:06:10.710 --> 00:06:10.720 align:start position:0% +management, its own files, whatever, so + + +00:06:10.720 --> 00:06:12.469 align:start position:0% +management, its own files, whatever, so +that<00:06:10.960> if<00:06:11.199> something<00:06:11.520> were<00:06:11.759> to<00:06:11.919> go<00:06:12.080> wrong<00:06:12.240> with + +00:06:12.469 --> 00:06:12.479 align:start position:0% +that if something were to go wrong with + + +00:06:12.479 --> 00:06:14.469 align:start position:0% +that if something were to go wrong with +this<00:06:12.639> Docker<00:06:13.120> container,<00:06:13.759> it<00:06:14.000> wouldn't<00:06:14.240> cause + +00:06:14.469 --> 00:06:14.479 align:start position:0% +this Docker container, it wouldn't cause + + +00:06:14.479 --> 00:06:16.309 align:start position:0% +this Docker container, it wouldn't cause +an<00:06:14.639> issue<00:06:14.880> with<00:06:15.039> our<00:06:15.280> whole<00:06:15.520> virtual<00:06:15.919> private + +00:06:16.309 --> 00:06:16.319 align:start position:0% +an issue with our whole virtual private + + +00:06:16.319 --> 00:06:17.590 align:start position:0% +an issue with our whole virtual private +server.<00:06:16.639> Now,<00:06:16.800> if<00:06:16.960> you're<00:06:17.039> a<00:06:17.199> beginner<00:06:17.440> and + +00:06:17.590 --> 00:06:17.600 align:start position:0% +server. Now, if you're a beginner and + + +00:06:17.600 --> 00:06:19.350 align:start position:0% +server. Now, if you're a beginner and +you<00:06:17.759> have<00:06:17.919> no<00:06:18.080> idea<00:06:18.319> what<00:06:18.479> that<00:06:18.720> means,<00:06:19.199> don't + +00:06:19.350 --> 00:06:19.360 align:start position:0% +you have no idea what that means, don't + + +00:06:19.360 --> 00:06:20.550 align:start position:0% +you have no idea what that means, don't +worry<00:06:19.600> too<00:06:19.759> much<00:06:19.919> about<00:06:20.080> it.<00:06:20.319> just + +00:06:20.550 --> 00:06:20.560 align:start position:0% +worry too much about it. just + + +00:06:20.560 --> 00:06:22.309 align:start position:0% +worry too much about it. just +effectively<00:06:21.039> it's<00:06:21.280> running<00:06:21.520> through<00:06:21.759> Docker. + +00:06:22.309 --> 00:06:22.319 align:start position:0% +effectively it's running through Docker. + + +00:06:22.319 --> 00:06:23.990 align:start position:0% +effectively it's running through Docker. +So<00:06:22.479> that<00:06:22.720> does<00:06:22.960> change<00:06:23.280> the<00:06:23.520> way<00:06:23.680> in<00:06:23.840> which + +00:06:23.990 --> 00:06:24.000 align:start position:0% +So that does change the way in which + + +00:06:24.000 --> 00:06:25.909 align:start position:0% +So that does change the way in which +you're<00:06:24.160> going<00:06:24.240> to<00:06:24.400> interact<00:06:24.880> with<00:06:25.120> this<00:06:25.600> if + +00:06:25.909 --> 00:06:25.919 align:start position:0% +you're going to interact with this if + + +00:06:25.919 --> 00:06:28.150 align:start position:0% +you're going to interact with this if +you<00:06:26.080> want<00:06:26.240> to<00:06:26.479> SSH<00:06:27.039> into<00:06:27.360> the<00:06:27.520> server<00:06:27.840> which<00:06:28.000> I + +00:06:28.150 --> 00:06:28.160 align:start position:0% +you want to SSH into the server which I + + +00:06:28.160 --> 00:06:30.469 align:start position:0% +you want to SSH into the server which I +will<00:06:28.319> show<00:06:28.400> you<00:06:28.639> in<00:06:28.880> a<00:06:29.039> second.<00:06:29.680> Anyways,<00:06:30.240> what + +00:06:30.469 --> 00:06:30.479 align:start position:0% +will show you in a second. Anyways, what + + +00:06:30.479 --> 00:06:32.790 align:start position:0% +will show you in a second. Anyways, what +we<00:06:30.639> can<00:06:30.800> do<00:06:31.199> is<00:06:31.520> we<00:06:31.680> can<00:06:31.840> first<00:06:32.160> just<00:06:32.400> click + +00:06:32.790 --> 00:06:32.800 align:start position:0% +we can do is we can first just click + + +00:06:32.800 --> 00:06:34.710 align:start position:0% +we can do is we can first just click +right<00:06:33.120> into<00:06:33.440> this.<00:06:33.680> So<00:06:33.840> we<00:06:34.080> can<00:06:34.160> press<00:06:34.400> on + +00:06:34.710 --> 00:06:34.720 align:start position:0% +right into this. So we can press on + + +00:06:34.720 --> 00:06:36.790 align:start position:0% +right into this. So we can press on +manage.<00:06:35.520> And<00:06:35.680> when<00:06:35.840> we<00:06:36.080> press<00:06:36.240> on<00:06:36.479> manage, + +00:06:36.790 --> 00:06:36.800 align:start position:0% +manage. And when we press on manage, + + +00:06:36.800 --> 00:06:38.230 align:start position:0% +manage. And when we press on manage, +we're<00:06:37.039> going<00:06:37.039> to<00:06:37.120> be<00:06:37.280> able<00:06:37.440> to<00:06:37.600> see<00:06:37.919> the + +00:06:38.230 --> 00:06:38.240 align:start position:0% +we're going to be able to see the + + +00:06:38.240 --> 00:06:39.990 align:start position:0% +we're going to be able to see the +environment.<00:06:39.039> And<00:06:39.199> if<00:06:39.360> we<00:06:39.440> press<00:06:39.600> on<00:06:39.759> the + +00:06:39.990 --> 00:06:40.000 align:start position:0% +environment. And if we press on the + + +00:06:40.000 --> 00:06:41.430 align:start position:0% +environment. And if we press on the +environment,<00:06:40.479> we<00:06:40.639> can<00:06:40.800> see<00:06:40.960> all<00:06:41.120> of<00:06:41.199> our + +00:06:41.430 --> 00:06:41.440 align:start position:0% +environment, we can see all of our + + +00:06:41.440 --> 00:06:43.189 align:start position:0% +environment, we can see all of our +environment<00:06:41.919> variables.<00:06:42.720> The<00:06:42.880> first<00:06:43.039> thing + +00:06:43.189 --> 00:06:43.199 align:start position:0% +environment variables. The first thing + + +00:06:43.199 --> 00:06:44.390 align:start position:0% +environment variables. The first thing +we're<00:06:43.440> going<00:06:43.440> to<00:06:43.520> do<00:06:43.600> is<00:06:43.840> we're<00:06:44.000> just<00:06:44.160> going<00:06:44.240> to + +00:06:44.390 --> 00:06:44.400 align:start position:0% +we're going to do is we're just going to + + +00:06:44.400 --> 00:06:48.150 align:start position:0% +we're going to do is we're just going to +copy<00:06:44.720> the<00:06:45.039> open<00:06:45.360> claw<00:06:45.680> gateway<00:06:46.240> token.<00:06:47.600> Okay. + +00:06:48.150 --> 00:06:48.160 align:start position:0% +copy the open claw gateway token. Okay. + + +00:06:48.160 --> 00:06:49.590 align:start position:0% +copy the open claw gateway token. Okay. +and<00:06:48.319> we're<00:06:48.560> going<00:06:48.560> to<00:06:48.720> press<00:06:48.960> this<00:06:49.280> button + +00:06:49.590 --> 00:06:49.600 align:start position:0% +and we're going to press this button + + +00:06:49.600 --> 00:06:51.749 align:start position:0% +and we're going to press this button +right<00:06:49.840> here,<00:06:50.240> which<00:06:50.479> is<00:06:50.720> going<00:06:50.880> to<00:06:51.120> link<00:06:51.360> us<00:06:51.600> to + +00:06:51.749 --> 00:06:51.759 align:start position:0% +right here, which is going to link us to + + +00:06:51.759 --> 00:06:54.390 align:start position:0% +right here, which is going to link us to +the<00:06:51.919> OpenClaw<00:06:52.639> gateway<00:06:53.199> interface.<00:06:54.080> From + +00:06:54.390 --> 00:06:54.400 align:start position:0% +the OpenClaw gateway interface. From + + +00:06:54.400 --> 00:06:56.230 align:start position:0% +the OpenClaw gateway interface. From +here,<00:06:54.800> we<00:06:55.039> can<00:06:55.120> just<00:06:55.280> paste<00:06:55.600> our<00:06:55.759> gateway + +00:06:56.230 --> 00:06:56.240 align:start position:0% +here, we can just paste our gateway + + +00:06:56.240 --> 00:06:58.629 align:start position:0% +here, we can just paste our gateway +token.<00:06:56.800> And<00:06:56.960> then<00:06:57.120> we<00:06:57.280> can<00:06:57.440> log<00:06:57.759> in.<00:06:58.160> And<00:06:58.400> now + +00:06:58.629 --> 00:06:58.639 align:start position:0% +token. And then we can log in. And now + + +00:06:58.639 --> 00:07:00.870 align:start position:0% +token. And then we can log in. And now +we're<00:06:58.880> inside<00:06:59.280> of<00:06:59.440> Open<00:06:59.759> Claw.<00:07:00.240> It<00:07:00.400> is<00:07:00.479> set<00:07:00.639> up. + +00:07:00.870 --> 00:07:00.880 align:start position:0% +we're inside of Open Claw. It is set up. + + +00:07:00.880 --> 00:07:02.309 align:start position:0% +we're inside of Open Claw. It is set up. +It's<00:07:01.039> configured.<00:07:01.520> And<00:07:01.680> we<00:07:01.840> can<00:07:01.919> just<00:07:02.080> start + +00:07:02.309 --> 00:07:02.319 align:start position:0% +It's configured. And we can just start + + +00:07:02.319 --> 00:07:04.230 align:start position:0% +It's configured. And we can just start +chatting<00:07:02.720> with<00:07:02.880> it.<00:07:03.280> So<00:07:03.520> from<00:07:03.680> here,<00:07:04.000> like + +00:07:04.230 --> 00:07:04.240 align:start position:0% +chatting with it. So from here, like + + +00:07:04.240 --> 00:07:05.830 align:start position:0% +chatting with it. So from here, like +this<00:07:04.400> is<00:07:04.479> really<00:07:04.720> all<00:07:04.880> you<00:07:05.120> need<00:07:05.280> now<00:07:05.440> to<00:07:05.680> start + +00:07:05.830 --> 00:07:05.840 align:start position:0% +this is really all you need now to start + + +00:07:05.840 --> 00:07:07.589 align:start position:0% +this is really all you need now to start +setting<00:07:06.240> everything<00:07:06.639> up.<00:07:07.039> And<00:07:07.199> you<00:07:07.360> can<00:07:07.440> just + +00:07:07.589 --> 00:07:07.599 align:start position:0% +setting everything up. And you can just + + +00:07:07.599 --> 00:07:10.070 align:start position:0% +setting everything up. And you can just +talk<00:07:07.759> to<00:07:07.919> the<00:07:08.080> model,<00:07:09.199> you<00:07:09.360> know,<00:07:09.520> hello<00:07:09.840> world + +00:07:10.070 --> 00:07:10.080 align:start position:0% +talk to the model, you know, hello world + + +00:07:10.080 --> 00:07:11.830 align:start position:0% +talk to the model, you know, hello world +or<00:07:10.240> something,<00:07:10.479> right?<00:07:10.880> And<00:07:11.120> it<00:07:11.360> should<00:07:11.680> give + +00:07:11.830 --> 00:07:11.840 align:start position:0% +or something, right? And it should give + + +00:07:11.840 --> 00:07:13.909 align:start position:0% +or something, right? And it should give +you<00:07:12.080> a<00:07:12.400> response.<00:07:13.199> Now<00:07:13.440> what<00:07:13.599> I'm<00:07:13.759> going<00:07:13.840> to + +00:07:13.909 --> 00:07:13.919 align:start position:0% +you a response. Now what I'm going to + + +00:07:13.919 --> 00:07:15.510 align:start position:0% +you a response. Now what I'm going to +suggest<00:07:14.240> is<00:07:14.400> that<00:07:14.560> the<00:07:14.800> first<00:07:14.880> thing<00:07:15.039> we<00:07:15.199> do<00:07:15.360> is + +00:07:15.510 --> 00:07:15.520 align:start position:0% +suggest is that the first thing we do is + + +00:07:15.520 --> 00:07:17.510 align:start position:0% +suggest is that the first thing we do is +we<00:07:15.759> add<00:07:16.000> additional<00:07:16.479> models<00:07:16.880> or<00:07:17.120> we<00:07:17.280> change + +00:07:17.510 --> 00:07:17.520 align:start position:0% +we add additional models or we change + + +00:07:17.520 --> 00:07:19.189 align:start position:0% +we add additional models or we change +the<00:07:17.759> model<00:07:18.000> from<00:07:18.160> enthropic<00:07:18.720> to<00:07:18.960> something + +00:07:19.189 --> 00:07:19.199 align:start position:0% +the model from enthropic to something + + +00:07:19.199 --> 00:07:20.870 align:start position:0% +the model from enthropic to something +else<00:07:19.599> because<00:07:19.840> you<00:07:20.080> are<00:07:20.160> going<00:07:20.240> to<00:07:20.400> get<00:07:20.560> very + +00:07:20.870 --> 00:07:20.880 align:start position:0% +else because you are going to get very + + +00:07:20.880 --> 00:07:22.790 align:start position:0% +else because you are going to get very +heavy<00:07:21.199> rate<00:07:21.440> limits<00:07:21.840> are<00:07:22.160> if<00:07:22.319> you<00:07:22.479> are<00:07:22.639> using + +00:07:22.790 --> 00:07:22.800 align:start position:0% +heavy rate limits are if you are using + + +00:07:22.800 --> 00:07:25.110 align:start position:0% +heavy rate limits are if you are using +the<00:07:22.960> enthropic<00:07:23.599> models<00:07:24.160> and<00:07:24.479> can<00:07:24.800> be + +00:07:25.110 --> 00:07:25.120 align:start position:0% +the enthropic models and can be + + +00:07:25.120 --> 00:07:27.189 align:start position:0% +the enthropic models and can be +extremely<00:07:25.919> expensive.<00:07:26.639> So<00:07:26.880> I'll<00:07:27.039> show<00:07:27.120> you + +00:07:27.189 --> 00:07:27.199 align:start position:0% +extremely expensive. So I'll show you + + +00:07:27.199 --> 00:07:29.029 align:start position:0% +extremely expensive. So I'll show you +how<00:07:27.360> to<00:07:27.440> do<00:07:27.520> that<00:07:27.680> in<00:07:27.919> one<00:07:28.160> second.<00:07:28.639> But<00:07:28.800> I + +00:07:29.029 --> 00:07:29.039 align:start position:0% +how to do that in one second. But I + + +00:07:29.039 --> 00:07:30.790 align:start position:0% +how to do that in one second. But I +first<00:07:29.360> want<00:07:29.520> to<00:07:29.680> just<00:07:29.840> show<00:07:30.000> you<00:07:30.160> how<00:07:30.400> you<00:07:30.560> can + +00:07:30.790 --> 00:07:30.800 align:start position:0% +first want to just show you how you can + + +00:07:30.800 --> 00:07:33.270 align:start position:0% +first want to just show you how you can +actually<00:07:31.120> manually<00:07:31.759> access<00:07:32.240> the<00:07:32.479> server<00:07:33.039> if + +00:07:33.270 --> 00:07:33.280 align:start position:0% +actually manually access the server if + + +00:07:33.280 --> 00:07:34.950 align:start position:0% +actually manually access the server if +you're<00:07:33.440> looking<00:07:33.680> to<00:07:33.840> do<00:07:34.000> that.<00:07:34.560> And<00:07:34.720> actually + +00:07:34.950 --> 00:07:34.960 align:start position:0% +you're looking to do that. And actually + + +00:07:34.960 --> 00:07:36.390 align:start position:0% +you're looking to do that. And actually +we<00:07:35.199> have<00:07:35.280> a<00:07:35.440> good<00:07:35.599> learning<00:07:35.919> moment<00:07:36.160> here + +00:07:36.390 --> 00:07:36.400 align:start position:0% +we have a good learning moment here + + +00:07:36.400 --> 00:07:37.830 align:start position:0% +we have a good learning moment here +already<00:07:36.800> because<00:07:37.039> I<00:07:37.280> tried<00:07:37.440> to<00:07:37.599> type + +00:07:37.830 --> 00:07:37.840 align:start position:0% +already because I tried to type + + +00:07:37.840 --> 00:07:39.510 align:start position:0% +already because I tried to type +something<00:07:38.080> to<00:07:38.240> the<00:07:38.479> assistant<00:07:38.960> and<00:07:39.199> nothing + +00:07:39.510 --> 00:07:39.520 align:start position:0% +something to the assistant and nothing + + +00:07:39.520 --> 00:07:40.790 align:start position:0% +something to the assistant and nothing +was<00:07:39.680> working.<00:07:39.919> So<00:07:40.080> I'm<00:07:40.240> kind<00:07:40.319> of<00:07:40.400> sitting<00:07:40.560> here + +00:07:40.790 --> 00:07:40.800 align:start position:0% +was working. So I'm kind of sitting here + + +00:07:40.800 --> 00:07:42.469 align:start position:0% +was working. So I'm kind of sitting here +going<00:07:40.960> like<00:07:41.280> why<00:07:41.440> isn't<00:07:41.680> that<00:07:41.840> functioning? + +00:07:42.469 --> 00:07:42.479 align:start position:0% +going like why isn't that functioning? + + +00:07:42.479 --> 00:07:44.070 align:start position:0% +going like why isn't that functioning? +And<00:07:42.639> then<00:07:42.800> I<00:07:43.039> realized<00:07:43.360> that<00:07:43.520> I<00:07:43.680> went<00:07:43.840> to<00:07:43.919> the + +00:07:44.070 --> 00:07:44.080 align:start position:0% +And then I realized that I went to the + + +00:07:44.080 --> 00:07:45.749 align:start position:0% +And then I realized that I went to the +logs<00:07:44.479> here.<00:07:44.800> By<00:07:44.880> the<00:07:44.960> way,<00:07:45.120> this<00:07:45.280> is<00:07:45.360> a<00:07:45.520> super + +00:07:45.749 --> 00:07:45.759 align:start position:0% +logs here. By the way, this is a super + + +00:07:45.759 --> 00:07:47.189 align:start position:0% +logs here. By the way, this is a super +useful<00:07:46.080> thing<00:07:46.160> that<00:07:46.400> you<00:07:46.560> should<00:07:46.720> definitely + +00:07:47.189 --> 00:07:47.199 align:start position:0% +useful thing that you should definitely + + +00:07:47.199 --> 00:07:49.430 align:start position:0% +useful thing that you should definitely +utilize<00:07:47.520> if<00:07:47.680> it's<00:07:47.840> not<00:07:48.000> working.<00:07:48.400> Go<00:07:48.560> to<00:07:48.720> logs. + +00:07:49.430 --> 00:07:49.440 align:start position:0% +utilize if it's not working. Go to logs. + + +00:07:49.440 --> 00:07:52.550 align:start position:0% +utilize if it's not working. Go to logs. +I<00:07:49.680> just<00:07:49.840> filtered<00:07:50.400> by<00:07:51.199> error<00:07:52.000> uh<00:07:52.080> or<00:07:52.319> sorry, + +00:07:52.550 --> 00:07:52.560 align:start position:0% +I just filtered by error uh or sorry, + + +00:07:52.560 --> 00:07:54.710 align:start position:0% +I just filtered by error uh or sorry, +yeah,<00:07:52.960> error<00:07:53.120> and<00:07:53.360> fatal.<00:07:54.000> And<00:07:54.160> I<00:07:54.400> noticed + +00:07:54.710 --> 00:07:54.720 align:start position:0% +yeah, error and fatal. And I noticed + + +00:07:54.720 --> 00:07:56.070 align:start position:0% +yeah, error and fatal. And I noticed +that<00:07:54.879> if<00:07:55.039> I<00:07:55.199> started<00:07:55.440> reading<00:07:55.680> through<00:07:55.840> this, + +00:07:56.070 --> 00:07:56.080 align:start position:0% +that if I started reading through this, + + +00:07:56.080 --> 00:07:58.390 align:start position:0% +that if I started reading through this, +it<00:07:56.240> said<00:07:56.400> no<00:07:56.720> API<00:07:57.120> key<00:07:57.440> found.<00:07:57.759> And<00:07:57.919> then<00:07:58.080> above + +00:07:58.390 --> 00:07:58.400 align:start position:0% +it said no API key found. And then above + + +00:07:58.400 --> 00:08:00.230 align:start position:0% +it said no API key found. And then above +here,<00:07:58.560> it<00:07:58.720> said<00:07:58.960> my<00:07:59.199> credit<00:07:59.440> balance<00:07:59.840> is<00:08:00.080> too + +00:08:00.230 --> 00:08:00.240 align:start position:0% +here, it said my credit balance is too + + +00:08:00.240 --> 00:08:02.790 align:start position:0% +here, it said my credit balance is too +low<00:08:00.479> to<00:08:00.639> access<00:08:00.960> the<00:08:01.199> anthropic<00:08:01.680> API.<00:08:02.479> So<00:08:02.639> what + +00:08:02.790 --> 00:08:02.800 align:start position:0% +low to access the anthropic API. So what + + +00:08:02.800 --> 00:08:05.110 align:start position:0% +low to access the anthropic API. So what +I<00:08:02.960> did<00:08:03.120> is<00:08:03.280> I'm<00:08:03.520> just<00:08:03.680> here<00:08:03.919> on<00:08:04.319> billing.<00:08:04.960> And + +00:08:05.110 --> 00:08:05.120 align:start position:0% +I did is I'm just here on billing. And + + +00:08:05.120 --> 00:08:08.150 align:start position:0% +I did is I'm just here on billing. And +what<00:08:05.280> I<00:08:05.520> added<00:08:05.840> was<00:08:06.240> a<00:08:06.800> $10<00:08:07.680> um<00:08:07.840> what<00:08:08.000> do<00:08:08.080> you + +00:08:08.150 --> 00:08:08.160 align:start position:0% +what I added was a $10 um what do you + + +00:08:08.160 --> 00:08:09.510 align:start position:0% +what I added was a $10 um what do you +call<00:08:08.240> it?<00:08:08.479> Credit<00:08:08.720> amount<00:08:09.039> so<00:08:09.120> that<00:08:09.199> I<00:08:09.360> can + +00:08:09.510 --> 00:08:09.520 align:start position:0% +call it? Credit amount so that I can + + +00:08:09.520 --> 00:08:11.670 align:start position:0% +call it? Credit amount so that I can +actually<00:08:09.759> start<00:08:10.080> using<00:08:10.319> the<00:08:10.560> API.<00:08:11.360> So + +00:08:11.670 --> 00:08:11.680 align:start position:0% +actually start using the API. So + + +00:08:11.680 --> 00:08:12.869 align:start position:0% +actually start using the API. So +definitely<00:08:12.080> make<00:08:12.240> sure<00:08:12.400> that<00:08:12.560> you<00:08:12.720> have + +00:08:12.869 --> 00:08:12.879 align:start position:0% +definitely make sure that you have + + +00:08:12.879 --> 00:08:14.390 align:start position:0% +definitely make sure that you have +credits<00:08:13.199> that<00:08:13.360> you<00:08:13.520> purchase<00:08:13.840> some<00:08:14.080> credits + +00:08:14.390 --> 00:08:14.400 align:start position:0% +credits that you purchase some credits + + +00:08:14.400 --> 00:08:16.390 align:start position:0% +credits that you purchase some credits +in<00:08:14.800> whatever<00:08:15.199> platform<00:08:15.599> you're<00:08:15.919> using<00:08:16.160> for + +00:08:16.390 --> 00:08:16.400 align:start position:0% +in whatever platform you're using for + + +00:08:16.400 --> 00:08:18.869 align:start position:0% +in whatever platform you're using for +the<00:08:16.639> LLM.<00:08:17.360> And<00:08:17.520> I<00:08:17.680> also<00:08:17.919> suggest<00:08:18.240> that<00:08:18.479> you<00:08:18.639> set + +00:08:18.869 --> 00:08:18.879 align:start position:0% +the LLM. And I also suggest that you set + + +00:08:18.879 --> 00:08:20.950 align:start position:0% +the LLM. And I also suggest that you set +your<00:08:19.120> own<00:08:19.280> limits.<00:08:19.919> So<00:08:20.080> it<00:08:20.160> will<00:08:20.400> show<00:08:20.479> you<00:08:20.720> the + +00:08:20.950 --> 00:08:20.960 align:start position:0% +your own limits. So it will show you the + + +00:08:20.960 --> 00:08:22.790 align:start position:0% +your own limits. So it will show you the +default<00:08:21.360> limits,<00:08:21.759> but<00:08:22.000> you<00:08:22.160> set<00:08:22.319> a<00:08:22.479> monthly + +00:08:22.790 --> 00:08:22.800 align:start position:0% +default limits, but you set a monthly + + +00:08:22.800 --> 00:08:24.550 align:start position:0% +default limits, but you set a monthly +limit.<00:08:23.120> So<00:08:23.280> something<00:08:23.520> like<00:08:23.840> $100,<00:08:24.479> for + +00:08:24.550 --> 00:08:24.560 align:start position:0% +limit. So something like $100, for + + +00:08:24.560 --> 00:08:26.230 align:start position:0% +limit. So something like $100, for +example,<00:08:24.960> like<00:08:25.120> I<00:08:25.360> said,<00:08:25.680> so<00:08:25.919> you<00:08:26.080> don't + +00:08:26.230 --> 00:08:26.240 align:start position:0% +example, like I said, so you don't + + +00:08:26.240 --> 00:08:28.070 align:start position:0% +example, like I said, so you don't +accidentally<00:08:26.720> use<00:08:26.879> a<00:08:27.120> ton<00:08:27.440> because<00:08:27.680> this<00:08:27.919> can + +00:08:28.070 --> 00:08:28.080 align:start position:0% +accidentally use a ton because this can + + +00:08:28.080 --> 00:08:30.629 align:start position:0% +accidentally use a ton because this can +get<00:08:28.319> extremely<00:08:28.800> expensive<00:08:29.440> very<00:08:29.759> fast.<00:08:30.319> Also, + +00:08:30.629 --> 00:08:30.639 align:start position:0% +get extremely expensive very fast. Also, + + +00:08:30.639 --> 00:08:32.469 align:start position:0% +get extremely expensive very fast. Also, +I<00:08:30.720> would<00:08:30.879> recommend<00:08:31.199> adding<00:08:31.440> a<00:08:31.599> notification + +00:08:32.469 --> 00:08:32.479 align:start position:0% +I would recommend adding a notification + + +00:08:32.479 --> 00:08:34.630 align:start position:0% +I would recommend adding a notification +so<00:08:32.640> that<00:08:32.800> you<00:08:32.959> get<00:08:33.200> emails<00:08:33.680> when<00:08:34.000> you<00:08:34.240> spend<00:08:34.479> a + +00:08:34.630 --> 00:08:34.640 align:start position:0% +so that you get emails when you spend a + + +00:08:34.640 --> 00:08:36.310 align:start position:0% +so that you get emails when you spend a +certain<00:08:34.959> amount<00:08:35.200> so<00:08:35.360> you<00:08:35.599> know<00:08:36.000> what's + +00:08:36.310 --> 00:08:36.320 align:start position:0% +certain amount so you know what's + + +00:08:36.320 --> 00:08:38.550 align:start position:0% +certain amount so you know what's +actually<00:08:36.560> going<00:08:36.800> on.<00:08:37.680> Okay.<00:08:37.919> Anyways,<00:08:38.399> let's + +00:08:38.550 --> 00:08:38.560 align:start position:0% +actually going on. Okay. Anyways, let's + + +00:08:38.560 --> 00:08:40.870 align:start position:0% +actually going on. Okay. Anyways, let's +go<00:08:38.640> back<00:08:38.800> to<00:08:38.959> chat<00:08:39.519> and<00:08:39.760> let's<00:08:39.919> just<00:08:40.080> type<00:08:40.560> type + +00:08:40.870 --> 00:08:40.880 align:start position:0% +go back to chat and let's just type type + + +00:08:40.880 --> 00:08:43.589 align:start position:0% +go back to chat and let's just type type +hey<00:08:41.519> and<00:08:41.760> make<00:08:42.000> sure<00:08:42.399> that<00:08:42.640> this<00:08:42.959> is<00:08:43.200> going<00:08:43.360> to + +00:08:43.589 --> 00:08:43.599 align:start position:0% +hey and make sure that this is going to + + +00:08:43.599 --> 00:08:44.870 align:start position:0% +hey and make sure that this is going to +work.<00:08:44.000> And<00:08:44.240> that<00:08:44.399> looks<00:08:44.560> a<00:08:44.720> little<00:08:44.800> bit + +00:08:44.870 --> 00:08:44.880 align:start position:0% +work. And that looks a little bit + + +00:08:44.880 --> 00:08:46.070 align:start position:0% +work. And that looks a little bit +better.<00:08:45.120> Now<00:08:45.279> we're<00:08:45.519> getting<00:08:45.680> the<00:08:45.839> three + +00:08:46.070 --> 00:08:46.080 align:start position:0% +better. Now we're getting the three + + +00:08:46.080 --> 00:08:47.509 align:start position:0% +better. Now we're getting the three +dots.<00:08:46.399> So<00:08:46.640> hopefully<00:08:46.880> we're<00:08:47.040> going<00:08:47.120> to<00:08:47.200> get<00:08:47.279> a + +00:08:47.509 --> 00:08:47.519 align:start position:0% +dots. So hopefully we're going to get a + + +00:08:47.519 --> 00:08:50.150 align:start position:0% +dots. So hopefully we're going to get a +response.<00:08:48.320> And<00:08:48.800> there<00:08:49.040> we<00:08:49.200> go.<00:08:49.519> It<00:08:49.760> gave<00:08:50.000> us + +00:08:50.150 --> 00:08:50.160 align:start position:0% +response. And there we go. It gave us + + +00:08:50.160 --> 00:08:52.710 align:start position:0% +response. And there we go. It gave us +the<00:08:50.399> information.<00:08:51.600> Okay.<00:08:52.160> So<00:08:52.399> what<00:08:52.560> we're + +00:08:52.710 --> 00:08:52.720 align:start position:0% +the information. Okay. So what we're + + +00:08:52.720 --> 00:08:54.150 align:start position:0% +the information. Okay. So what we're +going to<00:08:52.800> do<00:08:52.959> now<00:08:53.279> before<00:08:53.519> I<00:08:53.760> start<00:08:53.920> going + +00:08:54.150 --> 00:08:54.160 align:start position:0% +going to do now before I start going + + +00:08:54.160 --> 00:08:55.670 align:start position:0% +going to do now before I start going +into<00:08:54.399> all<00:08:54.480> of<00:08:54.640> the<00:08:54.800> setup<00:08:55.040> is<00:08:55.279> I'm<00:08:55.440> just<00:08:55.600> going + +00:08:55.670 --> 00:08:55.680 align:start position:0% +into all of the setup is I'm just going + + +00:08:55.680 --> 00:08:57.670 align:start position:0% +into all of the setup is I'm just going +to<00:08:55.839> quickly<00:08:56.240> show<00:08:56.399> you<00:08:56.720> how<00:08:56.959> if<00:08:57.120> you<00:08:57.279> did<00:08:57.519> want + +00:08:57.670 --> 00:08:57.680 align:start position:0% +to quickly show you how if you did want + + +00:08:57.680 --> 00:08:59.430 align:start position:0% +to quickly show you how if you did want +to<00:08:57.839> access<00:08:58.160> this<00:08:58.399> from<00:08:58.640> the<00:08:58.800> terminal,<00:08:59.279> you + +00:08:59.430 --> 00:08:59.440 align:start position:0% +to access this from the terminal, you + + +00:08:59.440 --> 00:09:01.269 align:start position:0% +to access this from the terminal, you +could<00:08:59.600> do<00:08:59.760> that.<00:09:00.240> Now,<00:09:00.480> first<00:09:00.800> from<00:09:01.040> the + +00:09:01.269 --> 00:09:01.279 align:start position:0% +could do that. Now, first from the + + +00:09:01.279 --> 00:09:03.430 align:start position:0% +could do that. Now, first from the +hosting<00:09:01.680> or<00:09:02.080> um<00:09:02.240> kind<00:09:02.399> of<00:09:02.720> manager<00:09:03.120> here, + +00:09:03.430 --> 00:09:03.440 align:start position:0% +hosting or um kind of manager here, + + +00:09:03.440 --> 00:09:04.550 align:start position:0% +hosting or um kind of manager here, +whatever<00:09:03.680> you<00:09:03.760> want<00:09:03.920> to<00:09:04.000> call<00:09:04.160> this,<00:09:04.399> you + +00:09:04.550 --> 00:09:04.560 align:start position:0% +whatever you want to call this, you + + +00:09:04.560 --> 00:09:07.030 align:start position:0% +whatever you want to call this, you +know,<00:09:04.720> platform<00:09:05.440> console,<00:09:06.240> you<00:09:06.480> could<00:09:06.720> press + +00:09:07.030 --> 00:09:07.040 align:start position:0% +know, platform console, you could press + + +00:09:07.040 --> 00:09:08.949 align:start position:0% +know, platform console, you could press +the<00:09:07.360> terminal<00:09:07.839> button<00:09:08.080> here<00:09:08.399> and<00:09:08.640> it<00:09:08.800> will + +00:09:08.949 --> 00:09:08.959 align:start position:0% +the terminal button here and it will + + +00:09:08.959 --> 00:09:11.030 align:start position:0% +the terminal button here and it will +just<00:09:09.120> directly<00:09:09.680> sign<00:09:10.000> you<00:09:10.240> into<00:09:10.560> the<00:09:10.720> server + +00:09:11.030 --> 00:09:11.040 align:start position:0% +just directly sign you into the server + + +00:09:11.040 --> 00:09:12.630 align:start position:0% +just directly sign you into the server +and<00:09:11.279> in<00:09:11.519> the<00:09:11.680> web<00:09:11.920> here,<00:09:12.080> you<00:09:12.320> can<00:09:12.399> start + +00:09:12.630 --> 00:09:12.640 align:start position:0% +and in the web here, you can start + + +00:09:12.640 --> 00:09:14.470 align:start position:0% +and in the web here, you can start +typing<00:09:13.040> commands<00:09:13.519> and<00:09:13.839> start<00:09:14.080> actually + +00:09:14.470 --> 00:09:14.480 align:start position:0% +typing commands and start actually + + +00:09:14.480 --> 00:09:17.030 align:start position:0% +typing commands and start actually +interacting<00:09:15.279> with<00:09:15.680> the<00:09:15.920> server.<00:09:16.480> Now,<00:09:16.720> if<00:09:16.880> you + +00:09:17.030 --> 00:09:17.040 align:start position:0% +interacting with the server. Now, if you + + +00:09:17.040 --> 00:09:18.870 align:start position:0% +interacting with the server. Now, if you +don't<00:09:17.200> want<00:09:17.279> to<00:09:17.440> do<00:09:17.600> that,<00:09:17.839> you<00:09:18.080> can<00:09:18.240> go<00:09:18.399> to<00:09:18.640> the + +00:09:18.870 --> 00:09:18.880 align:start position:0% +don't want to do that, you can go to the + + +00:09:18.880 --> 00:09:21.350 align:start position:0% +don't want to do that, you can go to the +overview<00:09:19.760> and<00:09:20.080> you<00:09:20.240> can<00:09:20.399> use<00:09:20.560> the<00:09:20.800> SSH + +00:09:21.350 --> 00:09:21.360 align:start position:0% +overview and you can use the SSH + + +00:09:21.360 --> 00:09:22.630 align:start position:0% +overview and you can use the SSH +command,<00:09:21.760> which<00:09:22.000> I'm<00:09:22.160> going<00:09:22.240> to<00:09:22.320> assume + +00:09:22.630 --> 00:09:22.640 align:start position:0% +command, which I'm going to assume + + +00:09:22.640 --> 00:09:24.389 align:start position:0% +command, which I'm going to assume +you're<00:09:22.880> familiar<00:09:23.200> with<00:09:23.440> if<00:09:23.680> you'd<00:09:23.920> like<00:09:24.080> to<00:09:24.240> do + +00:09:24.389 --> 00:09:24.399 align:start position:0% +you're familiar with if you'd like to do + + +00:09:24.399 --> 00:09:25.910 align:start position:0% +you're familiar with if you'd like to do +that.<00:09:24.720> And<00:09:24.880> you'll<00:09:25.120> see<00:09:25.279> here<00:09:25.440> that<00:09:25.680> this<00:09:25.760> is + +00:09:25.910 --> 00:09:25.920 align:start position:0% +that. And you'll see here that this is + + +00:09:25.920 --> 00:09:28.310 align:start position:0% +that. And you'll see here that this is +the<00:09:26.080> command<00:09:26.399> SSH<00:09:26.959> root<00:09:27.279> at<00:09:27.519> and<00:09:27.680> then<00:09:27.839> the<00:09:28.000> IP + +00:09:28.310 --> 00:09:28.320 align:start position:0% +the command SSH root at and then the IP + + +00:09:28.320 --> 00:09:29.350 align:start position:0% +the command SSH root at and then the IP +address.<00:09:28.640> And<00:09:28.800> what<00:09:28.959> you're<00:09:29.120> going<00:09:29.200> to<00:09:29.279> have + +00:09:29.350 --> 00:09:29.360 align:start position:0% +address. And what you're going to have + + +00:09:29.360 --> 00:09:31.990 align:start position:0% +address. And what you're going to have +to<00:09:29.519> do<00:09:29.600> is<00:09:29.839> change<00:09:30.160> the<00:09:30.480> root<00:09:30.959> password<00:09:31.440> of<00:09:31.760> the + +00:09:31.990 --> 00:09:32.000 align:start position:0% +to do is change the root password of the + + +00:09:32.000 --> 00:09:33.910 align:start position:0% +to do is change the root password of the +server<00:09:32.560> in<00:09:32.800> order<00:09:32.959> to<00:09:33.120> be<00:09:33.200> able<00:09:33.360> to<00:09:33.440> sign<00:09:33.680> in + +00:09:33.910 --> 00:09:33.920 align:start position:0% +server in order to be able to sign in + + +00:09:33.920 --> 00:09:35.110 align:start position:0% +server in order to be able to sign in +because<00:09:34.080> you<00:09:34.320> wouldn't<00:09:34.480> have<00:09:34.640> set<00:09:34.800> it<00:09:34.959> by + +00:09:35.110 --> 00:09:35.120 align:start position:0% +because you wouldn't have set it by + + +00:09:35.120 --> 00:09:36.070 align:start position:0% +because you wouldn't have set it by +default.<00:09:35.360> So<00:09:35.519> you're<00:09:35.600> going<00:09:35.680> to<00:09:35.760> change<00:09:35.920> the + +00:09:36.070 --> 00:09:36.080 align:start position:0% +default. So you're going to change the + + +00:09:36.080 --> 00:09:38.630 align:start position:0% +default. So you're going to change the +root<00:09:36.320> password<00:09:37.040> SSH<00:09:37.920> sign<00:09:38.160> in<00:09:38.320> with<00:09:38.480> the + +00:09:38.630 --> 00:09:38.640 align:start position:0% +root password SSH sign in with the + + +00:09:38.640 --> 00:09:40.230 align:start position:0% +root password SSH sign in with the +account<00:09:39.040> and<00:09:39.200> then<00:09:39.360> you<00:09:39.519> will<00:09:39.760> have<00:09:39.839> the<00:09:40.080> same + +00:09:40.230 --> 00:09:40.240 align:start position:0% +account and then you will have the same + + +00:09:40.240 --> 00:09:42.550 align:start position:0% +account and then you will have the same +view<00:09:40.560> as<00:09:40.880> this.<00:09:41.440> Now<00:09:41.600> I<00:09:41.760> will<00:09:41.920> zoom<00:09:42.240> in<00:09:42.399> a + +00:09:42.550 --> 00:09:42.560 align:start position:0% +view as this. Now I will zoom in a + + +00:09:42.560 --> 00:09:43.990 align:start position:0% +view as this. Now I will zoom in a +little<00:09:42.640> bit<00:09:43.040> and<00:09:43.279> I'm<00:09:43.519> going<00:09:43.600> to<00:09:43.680> show<00:09:43.839> you + +00:09:43.990 --> 00:09:44.000 align:start position:0% +little bit and I'm going to show you + + +00:09:44.000 --> 00:09:46.150 align:start position:0% +little bit and I'm going to show you +that<00:09:44.320> if<00:09:44.560> you<00:09:44.720> wanted<00:09:44.880> to<00:09:45.120> for<00:09:45.279> example<00:09:45.680> access + +00:09:46.150 --> 00:09:46.160 align:start position:0% +that if you wanted to for example access + + +00:09:46.160 --> 00:09:48.710 align:start position:0% +that if you wanted to for example access +open<00:09:46.560> claw<00:09:47.120> if<00:09:47.279> you<00:09:47.440> just<00:09:47.600> type<00:09:48.000> open<00:09:48.320> claw + +00:09:48.710 --> 00:09:48.720 align:start position:0% +open claw if you just type open claw + + +00:09:48.720 --> 00:09:50.230 align:start position:0% +open claw if you just type open claw +nothing's<00:09:49.040> going<00:09:49.120> to<00:09:49.279> happen<00:09:49.680> because<00:09:50.000> this + +00:09:50.230 --> 00:09:50.240 align:start position:0% +nothing's going to happen because this + + +00:09:50.240 --> 00:09:52.230 align:start position:0% +nothing's going to happen because this +is<00:09:50.399> running<00:09:50.640> inside<00:09:50.880> of<00:09:51.040> a<00:09:51.200> docker<00:09:51.600> container. + +00:09:52.230 --> 00:09:52.240 align:start position:0% +is running inside of a docker container. + + +00:09:52.240 --> 00:09:53.350 align:start position:0% +is running inside of a docker container. +So<00:09:52.399> what<00:09:52.560> you're<00:09:52.720> going<00:09:52.800> to<00:09:52.880> have<00:09:52.959> to<00:09:53.040> do<00:09:53.200> if + +00:09:53.350 --> 00:09:53.360 align:start position:0% +So what you're going to have to do if + + +00:09:53.360 --> 00:09:55.190 align:start position:0% +So what you're going to have to do if +you<00:09:53.519> want<00:09:53.600> to<00:09:53.760> run<00:09:54.000> terminal<00:09:54.480> commands<00:09:54.959> is + +00:09:55.190 --> 00:09:55.200 align:start position:0% +you want to run terminal commands is + + +00:09:55.200 --> 00:09:57.430 align:start position:0% +you want to run terminal commands is +you're<00:09:55.360> going<00:09:55.440> to<00:09:55.519> have<00:09:55.600> to<00:09:55.760> type<00:09:56.000> docker<00:09:56.480> ps. + +00:09:57.430 --> 00:09:57.440 align:start position:0% +you're going to have to type docker ps. + + +00:09:57.440 --> 00:09:59.590 align:start position:0% +you're going to have to type docker ps. +You're<00:09:57.600> gonna<00:09:57.839> have<00:09:58.000> to<00:09:58.160> find<00:09:58.560> this<00:09:58.880> container + +00:09:59.590 --> 00:09:59.600 align:start position:0% +You're gonna have to find this container + + +00:09:59.600 --> 00:10:02.150 align:start position:0% +You're gonna have to find this container +ID<00:10:00.080> here.<00:10:00.399> Okay.<00:10:01.120> And<00:10:01.279> copy<00:10:01.600> it.<00:10:01.839> So<00:10:02.000> from + +00:10:02.150 --> 00:10:02.160 align:start position:0% +ID here. Okay. And copy it. So from + + +00:10:02.160 --> 00:10:02.870 align:start position:0% +ID here. Okay. And copy it. So from +here,<00:10:02.320> you're<00:10:02.480> gonna<00:10:02.640> have<00:10:02.720> to<00:10:02.800> just + +00:10:02.870 --> 00:10:02.880 align:start position:0% +here, you're gonna have to just + + +00:10:02.880 --> 00:10:04.710 align:start position:0% +here, you're gonna have to just +rightclick<00:10:03.360> and<00:10:03.600> copy.<00:10:04.240> And<00:10:04.320> you're<00:10:04.480> going<00:10:04.560> to + +00:10:04.710 --> 00:10:04.720 align:start position:0% +rightclick and copy. And you're going to + + +00:10:04.720 --> 00:10:06.389 align:start position:0% +rightclick and copy. And you're going to +type<00:10:04.959> docker.<00:10:05.519> And<00:10:05.680> then<00:10:05.920> this<00:10:06.080> is<00:10:06.160> going<00:10:06.240> to + +00:10:06.389 --> 00:10:06.399 align:start position:0% +type docker. And then this is going to + + +00:10:06.399 --> 00:10:08.790 align:start position:0% +type docker. And then this is going to +be<00:10:06.720> run.<00:10:07.440> Yeah,<00:10:07.600> I<00:10:07.760> think<00:10:07.839> it's<00:10:08.080> run<00:10:08.320> or<00:10:08.560> no, + +00:10:08.790 --> 00:10:08.800 align:start position:0% +be run. Yeah, I think it's run or no, + + +00:10:08.800 --> 00:10:12.630 align:start position:0% +be run. Yeah, I think it's run or no, +docker<00:10:09.360> exec.<00:10:09.760> Sorry.<00:10:10.640> Dash<00:10:11.120> it.<00:10:12.080> You're<00:10:12.399> then + +00:10:12.630 --> 00:10:12.640 align:start position:0% +docker exec. Sorry. Dash it. You're then + + +00:10:12.640 --> 00:10:15.269 align:start position:0% +docker exec. Sorry. Dash it. You're then +going<00:10:12.800> to<00:10:13.040> paste<00:10:13.600> this<00:10:13.920> ID.<00:10:14.399> So<00:10:14.640> let's<00:10:14.959> paste + +00:10:15.269 --> 00:10:15.279 align:start position:0% +going to paste this ID. So let's paste + + +00:10:15.279 --> 00:10:17.590 align:start position:0% +going to paste this ID. So let's paste +that<00:10:15.519> there.<00:10:16.160> I'm<00:10:16.399> going<00:10:16.480> to<00:10:16.560> have<00:10:16.720> to<00:10:16.880> remove + +00:10:17.590 --> 00:10:17.600 align:start position:0% +that there. I'm going to have to remove + + +00:10:17.600 --> 00:10:20.150 align:start position:0% +that there. I'm going to have to remove +all<00:10:17.839> of<00:10:18.000> these<00:10:18.320> things<00:10:18.640> that<00:10:18.959> I<00:10:19.120> don't<00:10:19.360> need. + +00:10:20.150 --> 00:10:20.160 align:start position:0% +all of these things that I don't need. + + +00:10:20.160 --> 00:10:23.269 align:start position:0% +all of these things that I don't need. +Okay.<00:10:21.279> So<00:10:21.519> remove<00:10:21.839> that.<00:10:22.640> And<00:10:22.800> then<00:10:22.959> I'm<00:10:23.200> going + +00:10:23.269 --> 00:10:23.279 align:start position:0% +Okay. So remove that. And then I'm going + + +00:10:23.279 --> 00:10:26.710 align:start position:0% +Okay. So remove that. And then I'm going +to<00:10:23.360> type<00:10:23.600> /bin<00:10:24.800> slashbash.<00:10:26.079> So<00:10:26.320> this<00:10:26.480> is<00:10:26.560> how + +00:10:26.710 --> 00:10:26.720 align:start position:0% +to type /bin slashbash. So this is how + + +00:10:26.720 --> 00:10:28.230 align:start position:0% +to type /bin slashbash. So this is how +you<00:10:26.880> can<00:10:27.040> actually<00:10:27.279> execute<00:10:27.680> the<00:10:27.839> docker + +00:10:28.230 --> 00:10:28.240 align:start position:0% +you can actually execute the docker + + +00:10:28.240 --> 00:10:30.150 align:start position:0% +you can actually execute the docker +container<00:10:28.720> interactively.<00:10:29.680> When<00:10:29.920> you<00:10:30.079> do + +00:10:30.150 --> 00:10:30.160 align:start position:0% +container interactively. When you do + + +00:10:30.160 --> 00:10:31.350 align:start position:0% +container interactively. When you do +that,<00:10:30.399> you're<00:10:30.560> going<00:10:30.640> to<00:10:30.720> notice<00:10:30.959> that<00:10:31.120> it + +00:10:31.350 --> 00:10:31.360 align:start position:0% +that, you're going to notice that it + + +00:10:31.360 --> 00:10:33.670 align:start position:0% +that, you're going to notice that it +will<00:10:31.519> change<00:10:31.920> this<00:10:32.320> at<00:10:32.640> symbol<00:10:32.959> to<00:10:33.120> be<00:10:33.200> at<00:10:33.519> the + +00:10:33.670 --> 00:10:33.680 align:start position:0% +will change this at symbol to be at the + + +00:10:33.680 --> 00:10:36.150 align:start position:0% +will change this at symbol to be at the +docker<00:10:34.079> container<00:10:34.640> ID.<00:10:35.279> And<00:10:35.440> then<00:10:35.600> from<00:10:35.839> here + +00:10:36.150 --> 00:10:36.160 align:start position:0% +docker container ID. And then from here + + +00:10:36.160 --> 00:10:38.389 align:start position:0% +docker container ID. And then from here +you<00:10:36.399> can<00:10:36.480> type<00:10:36.880> openclaw.<00:10:37.839> And<00:10:38.000> if<00:10:38.160> you<00:10:38.320> do + +00:10:38.389 --> 00:10:38.399 align:start position:0% +you can type openclaw. And if you do + + +00:10:38.399 --> 00:10:40.870 align:start position:0% +you can type openclaw. And if you do +that,<00:10:38.720> it<00:10:38.959> will<00:10:39.120> run<00:10:39.440> open<00:10:39.839> claw<00:10:40.240> and<00:10:40.480> you<00:10:40.640> will + +00:10:40.870 --> 00:10:40.880 align:start position:0% +that, it will run open claw and you will + + +00:10:40.880 --> 00:10:43.190 align:start position:0% +that, it will run open claw and you will +be<00:10:41.040> able<00:10:41.360> to<00:10:41.680> actually<00:10:42.160> interact<00:10:42.640> with<00:10:42.800> it<00:10:42.959> and + +00:10:43.190 --> 00:10:43.200 align:start position:0% +be able to actually interact with it and + + +00:10:43.200 --> 00:10:44.790 align:start position:0% +be able to actually interact with it and +run<00:10:43.440> any<00:10:43.600> of<00:10:43.680> the<00:10:43.920> commands<00:10:44.160> that<00:10:44.399> you<00:10:44.480> want. + +00:10:44.790 --> 00:10:44.800 align:start position:0% +run any of the commands that you want. + + +00:10:44.800 --> 00:10:46.150 align:start position:0% +run any of the commands that you want. +Okay?<00:10:45.200> So<00:10:45.360> I'm<00:10:45.519> not<00:10:45.600> going<00:10:45.680> to<00:10:45.839> go<00:10:45.920> through + +00:10:46.150 --> 00:10:46.160 align:start position:0% +Okay? So I'm not going to go through + + +00:10:46.160 --> 00:10:47.670 align:start position:0% +Okay? So I'm not going to go through +doing<00:10:46.399> anything<00:10:46.640> in<00:10:46.800> the<00:10:46.959> terminal,<00:10:47.279> but<00:10:47.519> I'm + +00:10:47.670 --> 00:10:47.680 align:start position:0% +doing anything in the terminal, but I'm + + +00:10:47.680 --> 00:10:49.269 align:start position:0% +doing anything in the terminal, but I'm +just<00:10:47.839> showing<00:10:48.000> you<00:10:48.240> that<00:10:48.480> that's<00:10:48.800> how<00:10:49.040> you + +00:10:49.269 --> 00:10:49.279 align:start position:0% +just showing you that that's how you + + +00:10:49.279 --> 00:10:51.990 align:start position:0% +just showing you that that's how you +would<00:10:49.519> do<00:10:49.600> this.<00:10:50.079> Again,<00:10:50.320> you<00:10:50.560> run<00:10:50.800> docker<00:10:51.360> ps. + +00:10:51.990 --> 00:10:52.000 align:start position:0% +would do this. Again, you run docker ps. + + +00:10:52.000 --> 00:10:55.190 align:start position:0% +would do this. Again, you run docker ps. +You<00:10:52.240> get<00:10:52.480> the<00:10:52.880> name<00:10:53.120> here<00:10:53.920> or<00:10:54.160> the<00:10:54.320> ID,<00:10:54.640> sorry. + +00:10:55.190 --> 00:10:55.200 align:start position:0% +You get the name here or the ID, sorry. + + +00:10:55.200 --> 00:10:57.509 align:start position:0% +You get the name here or the ID, sorry. +You<00:10:55.440> then<00:10:55.600> run<00:10:55.760> docker<00:10:56.240> exec-it<00:10:57.360> for + +00:10:57.509 --> 00:10:57.519 align:start position:0% +You then run docker exec-it for + + +00:10:57.519 --> 00:10:59.509 align:start position:0% +You then run docker exec-it for +interactive<00:10:58.320> put<00:10:58.560> the<00:10:58.720> container<00:10:59.120> ID<00:10:59.360> and + +00:10:59.509 --> 00:10:59.519 align:start position:0% +interactive put the container ID and + + +00:10:59.519 --> 00:11:01.670 align:start position:0% +interactive put the container ID and +then<00:10:59.680> /bin/bash<00:11:01.040> and<00:11:01.200> you<00:11:01.360> can<00:11:01.519> start + +00:11:01.670 --> 00:11:01.680 align:start position:0% +then /bin/bash and you can start + + +00:11:01.680 --> 00:11:03.430 align:start position:0% +then /bin/bash and you can start +interacting<00:11:02.160> with<00:11:02.320> it<00:11:02.560> in<00:11:02.800> the<00:11:03.040> terminal. + +00:11:03.430 --> 00:11:03.440 align:start position:0% +interacting with it in the terminal. + + +00:11:03.440 --> 00:11:05.030 align:start position:0% +interacting with it in the terminal. +Okay,<00:11:03.680> cool.<00:11:03.920> So<00:11:04.000> we<00:11:04.160> have<00:11:04.240> this<00:11:04.480> set<00:11:04.640> up<00:11:04.800> now + +00:11:05.030 --> 00:11:05.040 align:start position:0% +Okay, cool. So we have this set up now + + +00:11:05.040 --> 00:11:06.870 align:start position:0% +Okay, cool. So we have this set up now +and<00:11:05.279> like<00:11:05.519> I<00:11:05.680> was<00:11:05.839> saying<00:11:06.160> the<00:11:06.399> first<00:11:06.560> thing<00:11:06.720> I + +00:11:06.870 --> 00:11:06.880 align:start position:0% +and like I was saying the first thing I + + +00:11:06.880 --> 00:11:08.870 align:start position:0% +and like I was saying the first thing I +would<00:11:07.040> suggest<00:11:07.360> we<00:11:07.600> do<00:11:07.920> is<00:11:08.240> actually<00:11:08.560> change + +00:11:08.870 --> 00:11:08.880 align:start position:0% +would suggest we do is actually change + + +00:11:08.880 --> 00:11:10.630 align:start position:0% +would suggest we do is actually change +the<00:11:09.200> model<00:11:09.440> that<00:11:09.600> we're<00:11:09.839> using<00:11:10.079> or<00:11:10.240> at<00:11:10.240> least + +00:11:10.630 --> 00:11:10.640 align:start position:0% +the model that we're using or at least + + +00:11:10.640 --> 00:11:13.030 align:start position:0% +the model that we're using or at least +configure<00:11:11.040> the<00:11:11.279> LLM<00:11:12.000> so<00:11:12.240> that<00:11:12.399> we<00:11:12.640> save<00:11:12.880> a + +00:11:13.030 --> 00:11:13.040 align:start position:0% +configure the LLM so that we save a + + +00:11:13.040 --> 00:11:14.389 align:start position:0% +configure the LLM so that we save a +bunch<00:11:13.200> of<00:11:13.279> money<00:11:13.440> and<00:11:13.680> we<00:11:13.839> have<00:11:13.920> the<00:11:14.160> best + +00:11:14.389 --> 00:11:14.399 align:start position:0% +bunch of money and we have the best + + +00:11:14.399 --> 00:11:16.949 align:start position:0% +bunch of money and we have the best +intelligence<00:11:15.040> possible.<00:11:15.839> Now<00:11:16.079> Enthropic + +00:11:16.949 --> 00:11:16.959 align:start position:0% +intelligence possible. Now Enthropic + + +00:11:16.959 --> 00:11:19.430 align:start position:0% +intelligence possible. Now Enthropic +does<00:11:17.200> have<00:11:17.360> the<00:11:17.680> best<00:11:18.000> models<00:11:18.480> for<00:11:18.800> open<00:11:19.120> claw. + +00:11:19.430 --> 00:11:19.440 align:start position:0% +does have the best models for open claw. + + +00:11:19.440 --> 00:11:20.949 align:start position:0% +does have the best models for open claw. +So<00:11:19.600> for<00:11:19.760> example<00:11:20.000> the<00:11:20.240> newest<00:11:20.480> model<00:11:20.720> that + +00:11:20.949 --> 00:11:20.959 align:start position:0% +So for example the newest model that + + +00:11:20.959 --> 00:11:23.670 align:start position:0% +So for example the newest model that +just<00:11:21.040> came<00:11:21.200> out<00:11:21.600> opus<00:11:22.160> 4.6<00:11:22.640> six<00:11:23.120> is<00:11:23.440> the + +00:11:23.670 --> 00:11:23.680 align:start position:0% +just came out opus 4.6 six is the + + +00:11:23.680 --> 00:11:25.269 align:start position:0% +just came out opus 4.6 six is the +current<00:11:23.920> best<00:11:24.160> model<00:11:24.399> that<00:11:24.640> we<00:11:24.800> definitely + +00:11:25.269 --> 00:11:25.279 align:start position:0% +current best model that we definitely + + +00:11:25.279 --> 00:11:27.350 align:start position:0% +current best model that we definitely +want<00:11:25.440> to<00:11:25.600> be<00:11:25.760> using.<00:11:26.480> However,<00:11:26.880> we<00:11:27.120> don't<00:11:27.200> want + +00:11:27.350 --> 00:11:27.360 align:start position:0% +want to be using. However, we don't want + + +00:11:27.360 --> 00:11:29.430 align:start position:0% +want to be using. However, we don't want +to<00:11:27.440> use<00:11:27.600> it<00:11:27.839> all<00:11:28.079> of<00:11:28.160> the<00:11:28.399> time<00:11:28.800> because<00:11:29.120> of<00:11:29.279> the + +00:11:29.430 --> 00:11:29.440 align:start position:0% +to use it all of the time because of the + + +00:11:29.440 --> 00:11:31.190 align:start position:0% +to use it all of the time because of the +rate<00:11:29.680> limits.<00:11:30.079> So,<00:11:30.240> a<00:11:30.480> lot<00:11:30.560> of<00:11:30.640> times<00:11:30.800> it<00:11:30.959> just + +00:11:31.190 --> 00:11:31.200 align:start position:0% +rate limits. So, a lot of times it just + + +00:11:31.200 --> 00:11:33.030 align:start position:0% +rate limits. So, a lot of times it just +won't<00:11:31.440> work<00:11:31.600> because<00:11:31.920> we've<00:11:32.240> gone<00:11:32.480> past<00:11:32.800> our + +00:11:33.030 --> 00:11:33.040 align:start position:0% +won't work because we've gone past our + + +00:11:33.040 --> 00:11:34.550 align:start position:0% +won't work because we've gone past our +rate<00:11:33.279> limit,<00:11:33.600> especially<00:11:33.839> if<00:11:34.000> you're<00:11:34.160> on<00:11:34.320> a + +00:11:34.550 --> 00:11:34.560 align:start position:0% +rate limit, especially if you're on a + + +00:11:34.560 --> 00:11:37.190 align:start position:0% +rate limit, especially if you're on a +new<00:11:34.720> account<00:11:35.600> and<00:11:36.000> it's<00:11:36.399> very,<00:11:36.800> very + +00:11:37.190 --> 00:11:37.200 align:start position:0% +new account and it's very, very + + +00:11:37.200 --> 00:11:38.790 align:start position:0% +new account and it's very, very +expensive.<00:11:37.760> So,<00:11:37.920> the<00:11:38.160> approach<00:11:38.399> that<00:11:38.560> I + +00:11:38.790 --> 00:11:38.800 align:start position:0% +expensive. So, the approach that I + + +00:11:38.800 --> 00:11:41.509 align:start position:0% +expensive. So, the approach that I +recommend<00:11:39.360> is<00:11:39.519> that<00:11:39.760> we<00:11:40.079> run<00:11:40.320> with<00:11:40.560> Opus<00:11:41.040> 4.6 + +00:11:41.509 --> 00:11:41.519 align:start position:0% +recommend is that we run with Opus 4.6 + + +00:11:41.519 --> 00:11:44.069 align:start position:0% +recommend is that we run with Opus 4.6 +six<00:11:41.839> for<00:11:42.160> usually<00:11:42.560> the<00:11:42.959> starting<00:11:43.360> tasks<00:11:43.839> and + +00:11:44.069 --> 00:11:44.079 align:start position:0% +six for usually the starting tasks and + + +00:11:44.079 --> 00:11:46.230 align:start position:0% +six for usually the starting tasks and +any<00:11:44.399> high-level<00:11:45.200> complex<00:11:45.760> you<00:11:45.839> know<00:11:46.000> kind<00:11:46.160> of + +00:11:46.230 --> 00:11:46.240 align:start position:0% +any high-level complex you know kind of + + +00:11:46.240 --> 00:11:48.870 align:start position:0% +any high-level complex you know kind of +planning<00:11:46.640> tasks<00:11:47.519> and<00:11:47.760> then<00:11:48.079> we<00:11:48.320> have<00:11:48.480> that + +00:11:48.870 --> 00:11:48.880 align:start position:0% +planning tasks and then we have that + + +00:11:48.880 --> 00:11:51.509 align:start position:0% +planning tasks and then we have that +delegate<00:11:49.440> to<00:11:49.760> a<00:11:50.079> cheaper<00:11:50.640> less<00:11:50.959> intelligent + +00:11:51.509 --> 00:11:51.519 align:start position:0% +delegate to a cheaper less intelligent + + +00:11:51.519 --> 00:11:53.829 align:start position:0% +delegate to a cheaper less intelligent +model<00:11:52.000> that<00:11:52.240> can<00:11:52.480> handle<00:11:52.880> everything<00:11:53.279> else. + +00:11:53.829 --> 00:11:53.839 align:start position:0% +model that can handle everything else. + + +00:11:53.839 --> 00:11:55.430 align:start position:0% +model that can handle everything else. +Now,<00:11:54.079> in<00:11:54.240> my<00:11:54.320> case,<00:11:54.560> what<00:11:54.800> I've<00:11:54.959> been<00:11:55.120> doing<00:11:55.279> is + +00:11:55.430 --> 00:11:55.440 align:start position:0% +Now, in my case, what I've been doing is + + +00:11:55.440 --> 00:11:57.750 align:start position:0% +Now, in my case, what I've been doing is +I've<00:11:55.760> been<00:11:55.920> connecting<00:11:56.320> this<00:11:56.640> to<00:11:56.800> my<00:11:57.040> OpenAI + +00:11:57.750 --> 00:11:57.760 align:start position:0% +I've been connecting this to my OpenAI + + +00:11:57.760 --> 00:12:00.470 align:start position:0% +I've been connecting this to my OpenAI +subscription<00:11:58.240> or<00:11:58.480> my<00:11:58.640> Chat<00:11:58.959> GPT<00:11:59.600> subscription + +00:12:00.470 --> 00:12:00.480 align:start position:0% +subscription or my Chat GPT subscription + + +00:12:00.480 --> 00:12:02.630 align:start position:0% +subscription or my Chat GPT subscription +because<00:12:00.800> this<00:12:01.040> allows<00:12:01.360> me<00:12:01.519> to<00:12:01.680> use<00:12:01.839> my<00:12:02.160> usage + +00:12:02.630 --> 00:12:02.640 align:start position:0% +because this allows me to use my usage + + +00:12:02.640 --> 00:12:05.269 align:start position:0% +because this allows me to use my usage +or<00:12:02.880> kind<00:12:03.120> of<00:12:03.200> quota<00:12:03.839> from<00:12:04.160> chat<00:12:04.480> GPT<00:12:04.880> that<00:12:05.120> I'm + +00:12:05.269 --> 00:12:05.279 align:start position:0% +or kind of quota from chat GPT that I'm + + +00:12:05.279 --> 00:12:07.430 align:start position:0% +or kind of quota from chat GPT that I'm +already<00:12:05.440> paying<00:12:05.839> in<00:12:06.000> my<00:12:06.160> case<00:12:06.480> $200<00:12:07.040> per<00:12:07.279> month + +00:12:07.430 --> 00:12:07.440 align:start position:0% +already paying in my case $200 per month + + +00:12:07.440 --> 00:12:09.509 align:start position:0% +already paying in my case $200 per month +for,<00:12:07.839> but<00:12:08.079> even<00:12:08.240> if<00:12:08.399> you're<00:12:08.480> paying<00:12:08.880> $20<00:12:09.279> per + +00:12:09.509 --> 00:12:09.519 align:start position:0% +for, but even if you're paying $20 per + + +00:12:09.519 --> 00:12:11.509 align:start position:0% +for, but even if you're paying $20 per +month<00:12:09.680> for<00:12:09.920> it,<00:12:10.320> you<00:12:10.480> can<00:12:10.639> still<00:12:10.959> access<00:12:11.360> all + +00:12:11.509 --> 00:12:11.519 align:start position:0% +month for it, you can still access all + + +00:12:11.519 --> 00:12:13.670 align:start position:0% +month for it, you can still access all +of<00:12:11.680> that<00:12:11.920> usage.<00:12:12.240> And<00:12:12.399> OpenAI<00:12:13.040> has<00:12:13.200> made<00:12:13.360> that, + +00:12:13.670 --> 00:12:13.680 align:start position:0% +of that usage. And OpenAI has made that, + + +00:12:13.680 --> 00:12:15.509 align:start position:0% +of that usage. And OpenAI has made that, +you<00:12:13.760> know,<00:12:14.000> available<00:12:14.480> to<00:12:14.720> do<00:12:15.120> and<00:12:15.360> not + +00:12:15.509 --> 00:12:15.519 align:start position:0% +you know, available to do and not + + +00:12:15.519 --> 00:12:17.750 align:start position:0% +you know, available to do and not +against<00:12:15.839> their<00:12:16.079> terms<00:12:16.320> of<00:12:16.480> service.<00:12:17.440> So,<00:12:17.600> what + +00:12:17.750 --> 00:12:17.760 align:start position:0% +against their terms of service. So, what + + +00:12:17.760 --> 00:12:19.430 align:start position:0% +against their terms of service. So, what +I<00:12:17.920> would<00:12:18.079> suggest<00:12:18.399> here<00:12:18.720> is<00:12:18.959> that<00:12:19.120> you<00:12:19.279> connect + +00:12:19.430 --> 00:12:19.440 align:start position:0% +I would suggest here is that you connect + + +00:12:19.440 --> 00:12:21.590 align:start position:0% +I would suggest here is that you connect +this<00:12:19.680> to<00:12:19.920> another<00:12:20.320> model<00:12:20.639> that<00:12:20.800> is<00:12:21.040> cheaper. + +00:12:21.590 --> 00:12:21.600 align:start position:0% +this to another model that is cheaper. + + +00:12:21.600 --> 00:12:22.790 align:start position:0% +this to another model that is cheaper. +In<00:12:21.839> my<00:12:22.000> case,<00:12:22.160> I'm<00:12:22.399> going<00:12:22.399> to<00:12:22.480> show<00:12:22.639> you + +00:12:22.790 --> 00:12:22.800 align:start position:0% +In my case, I'm going to show you + + +00:12:22.800 --> 00:12:24.629 align:start position:0% +In my case, I'm going to show you +connecting<00:12:23.120> it<00:12:23.279> to<00:12:23.440> the<00:12:23.680> codeex<00:12:24.160> model,<00:12:24.399> which + +00:12:24.629 --> 00:12:24.639 align:start position:0% +connecting it to the codeex model, which + + +00:12:24.639 --> 00:12:26.310 align:start position:0% +connecting it to the codeex model, which +is<00:12:24.800> still<00:12:25.040> quite<00:12:25.279> good<00:12:25.440> and<00:12:25.680> has<00:12:25.920> almost + +00:12:26.310 --> 00:12:26.320 align:start position:0% +is still quite good and has almost + + +00:12:26.320 --> 00:12:28.470 align:start position:0% +is still quite good and has almost +unlimited<00:12:26.880> usage<00:12:27.360> when<00:12:27.600> you<00:12:27.760> are<00:12:27.920> paying<00:12:28.240> like + +00:12:28.470 --> 00:12:28.480 align:start position:0% +unlimited usage when you are paying like + + +00:12:28.480 --> 00:12:31.110 align:start position:0% +unlimited usage when you are paying like +I<00:12:28.639> am<00:12:28.959> $200<00:12:29.519> per<00:12:29.760> month.<00:12:30.320> However,<00:12:30.720> if<00:12:30.880> you're + +00:12:31.110 --> 00:12:31.120 align:start position:0% +I am $200 per month. However, if you're + + +00:12:31.120 --> 00:12:32.550 align:start position:0% +I am $200 per month. However, if you're +not<00:12:31.360> paying<00:12:31.600> for<00:12:31.760> that,<00:12:32.160> then<00:12:32.320> I<00:12:32.480> would + +00:12:32.550 --> 00:12:32.560 align:start position:0% +not paying for that, then I would + + +00:12:32.560 --> 00:12:34.389 align:start position:0% +not paying for that, then I would +suggest<00:12:32.880> at<00:12:32.959> least<00:12:33.279> connecting<00:12:33.680> this<00:12:33.920> to<00:12:34.160> just + +00:12:34.389 --> 00:12:34.399 align:start position:0% +suggest at least connecting this to just + + +00:12:34.399 --> 00:12:36.310 align:start position:0% +suggest at least connecting this to just +a<00:12:34.639> cheaper<00:12:34.959> model.<00:12:35.360> For<00:12:35.360> example,<00:12:35.680> the<00:12:35.920> Kimmy + +00:12:36.310 --> 00:12:36.320 align:start position:0% +a cheaper model. For example, the Kimmy + + +00:12:36.320 --> 00:12:38.230 align:start position:0% +a cheaper model. For example, the Kimmy +models<00:12:36.639> are<00:12:36.880> pretty<00:12:37.040> good<00:12:37.600> uh<00:12:37.680> or<00:12:37.920> anything + +00:12:38.230 --> 00:12:38.240 align:start position:0% +models are pretty good uh or anything + + +00:12:38.240 --> 00:12:40.069 align:start position:0% +models are pretty good uh or anything +that's<00:12:38.480> going<00:12:38.639> to<00:12:38.720> be<00:12:38.880> just<00:12:39.279> again<00:12:39.760> cheaper + +00:12:40.069 --> 00:12:40.079 align:start position:0% +that's going to be just again cheaper + + +00:12:40.079 --> 00:12:42.150 align:start position:0% +that's going to be just again cheaper +than<00:12:40.320> Opus.<00:12:40.720> Because<00:12:40.880> if<00:12:41.120> you<00:12:41.279> run<00:12:41.519> Opus<00:12:41.920> every + +00:12:42.150 --> 00:12:42.160 align:start position:0% +than Opus. Because if you run Opus every + + +00:12:42.160 --> 00:12:44.310 align:start position:0% +than Opus. Because if you run Opus every +single<00:12:42.480> day<00:12:42.800> and<00:12:43.040> you're<00:12:43.279> doing<00:12:43.440> a<00:12:43.600> lot,<00:12:44.079> you + +00:12:44.310 --> 00:12:44.320 align:start position:0% +single day and you're doing a lot, you + + +00:12:44.320 --> 00:12:47.829 align:start position:0% +single day and you're doing a lot, you +can<00:12:44.639> spend<00:12:45.040> 100,<00:12:45.440> 200,<00:12:45.839> 300,<00:12:46.320> $500<00:12:46.959> per<00:12:47.200> day.<00:12:47.519> I + +00:12:47.829 --> 00:12:47.839 align:start position:0% +can spend 100, 200, 300, $500 per day. I + + +00:12:47.839 --> 00:12:49.190 align:start position:0% +can spend 100, 200, 300, $500 per day. I +know<00:12:48.000> someone,<00:12:48.320> one<00:12:48.480> of<00:12:48.560> my<00:12:48.720> friends<00:12:48.959> was + +00:12:49.190 --> 00:12:49.200 align:start position:0% +know someone, one of my friends was + + +00:12:49.200 --> 00:12:51.509 align:start position:0% +know someone, one of my friends was +spending<00:12:49.440> about<00:12:49.760> $200<00:12:50.399> per<00:12:50.720> day<00:12:51.040> running<00:12:51.279> this + +00:12:51.509 --> 00:12:51.519 align:start position:0% +spending about $200 per day running this + + +00:12:51.519 --> 00:12:54.069 align:start position:0% +spending about $200 per day running this +purely<00:12:51.839> with<00:12:52.000> Opus,<00:12:52.480> which<00:12:52.720> is<00:12:53.120> insanity.<00:12:53.839> So, + +00:12:54.069 --> 00:12:54.079 align:start position:0% +purely with Opus, which is insanity. So, + + +00:12:54.079 --> 00:12:55.350 align:start position:0% +purely with Opus, which is insanity. So, +first<00:12:54.240> things<00:12:54.399> first,<00:12:54.639> let's<00:12:54.800> tell<00:12:54.959> it<00:12:55.120> the + +00:12:55.350 --> 00:12:55.360 align:start position:0% +first things first, let's tell it the + + +00:12:55.360 --> 00:12:56.870 align:start position:0% +first things first, let's tell it the +following.<00:12:55.680> We're<00:12:55.920> going<00:12:56.000> to<00:12:56.079> say,<00:12:56.320> okay, + +00:12:56.870 --> 00:12:56.880 align:start position:0% +following. We're going to say, okay, + + +00:12:56.880 --> 00:13:02.389 align:start position:0% +following. We're going to say, okay, +switch<00:12:57.279> to<00:12:57.600> use<00:12:58.560> Opus<00:12:59.600> 4.6<00:13:01.040> by<00:13:01.519> default.<00:13:02.399> All + +00:13:02.389 --> 00:13:02.399 align:start position:0% +switch to use Opus 4.6 by default. All + + +00:13:02.399 --> 00:13:04.069 align:start position:0% +switch to use Opus 4.6 by default. All +right,<00:13:02.639> so<00:13:02.880> it<00:13:03.040> should<00:13:03.279> automatically<00:13:03.839> switch + +00:13:04.069 --> 00:13:04.079 align:start position:0% +right, so it should automatically switch + + +00:13:04.079 --> 00:13:06.230 align:start position:0% +right, so it should automatically switch +its<00:13:04.320> model<00:13:04.639> then<00:13:04.880> over<00:13:05.200> to<00:13:05.519> do<00:13:05.680> that<00:13:05.920> and<00:13:06.079> we'll + +00:13:06.230 --> 00:13:06.240 align:start position:0% +its model then over to do that and we'll + + +00:13:06.240 --> 00:13:08.230 align:start position:0% +its model then over to do that and we'll +verify<00:13:06.639> that<00:13:06.800> that's<00:13:07.120> working.<00:13:07.680> Okay,<00:13:07.920> so<00:13:08.079> it + +00:13:08.230 --> 00:13:08.240 align:start position:0% +verify that that's working. Okay, so it + + +00:13:08.240 --> 00:13:09.670 align:start position:0% +verify that that's working. Okay, so it +said<00:13:08.399> that<00:13:08.560> it's<00:13:08.800> switched<00:13:09.120> over<00:13:09.360> now<00:13:09.519> and + +00:13:09.670 --> 00:13:09.680 align:start position:0% +said that it's switched over now and + + +00:13:09.680 --> 00:13:11.670 align:start position:0% +said that it's switched over now and +just<00:13:09.839> restarted<00:13:10.320> the<00:13:10.480> gateway.<00:13:11.120> By<00:13:11.360> the<00:13:11.440> way, + +00:13:11.670 --> 00:13:11.680 align:start position:0% +just restarted the gateway. By the way, + + +00:13:11.680 --> 00:13:13.110 align:start position:0% +just restarted the gateway. By the way, +the<00:13:11.839> way<00:13:11.920> that<00:13:12.079> I'm<00:13:12.320> seeing<00:13:12.560> all<00:13:12.800> of<00:13:12.880> this + +00:13:13.110 --> 00:13:13.120 align:start position:0% +the way that I'm seeing all of this + + +00:13:13.120 --> 00:13:14.550 align:start position:0% +the way that I'm seeing all of this +information<00:13:13.440> on<00:13:13.600> the<00:13:13.760> side<00:13:13.920> is<00:13:14.160> I<00:13:14.320> have<00:13:14.399> this + +00:13:14.550 --> 00:13:14.560 align:start position:0% +information on the side is I have this + + +00:13:14.560 --> 00:13:16.310 align:start position:0% +information on the side is I have this +little<00:13:14.800> brain<00:13:15.200> thing<00:13:15.440> enabled.<00:13:15.839> So,<00:13:16.079> if<00:13:16.240> you + +00:13:16.310 --> 00:13:16.320 align:start position:0% +little brain thing enabled. So, if you + + +00:13:16.320 --> 00:13:17.590 align:start position:0% +little brain thing enabled. So, if you +want<00:13:16.399> to<00:13:16.480> disable<00:13:16.800> that,<00:13:17.040> it<00:13:17.200> will<00:13:17.360> just<00:13:17.519> show + +00:13:17.590 --> 00:13:17.600 align:start position:0% +want to disable that, it will just show + + +00:13:17.600 --> 00:13:19.269 align:start position:0% +want to disable that, it will just show +you<00:13:17.760> what<00:13:17.920> it<00:13:18.079> did.<00:13:18.480> If<00:13:18.720> you<00:13:18.800> want<00:13:18.880> to<00:13:18.959> see<00:13:19.120> the + +00:13:19.269 --> 00:13:19.279 align:start position:0% +you what it did. If you want to see the + + +00:13:19.279 --> 00:13:21.430 align:start position:0% +you what it did. If you want to see the +full<00:13:19.519> logs,<00:13:20.000> you<00:13:20.160> can<00:13:20.399> view<00:13:20.639> it<00:13:20.800> here.<00:13:21.279> And + +00:13:21.430 --> 00:13:21.440 align:start position:0% +full logs, you can view it here. And + + +00:13:21.440 --> 00:13:23.350 align:start position:0% +full logs, you can view it here. And +again,<00:13:21.760> you<00:13:21.920> can<00:13:22.000> go<00:13:22.160> to<00:13:22.399> the<00:13:22.639> logs<00:13:22.959> to<00:13:23.200> see + +00:13:23.350 --> 00:13:23.360 align:start position:0% +again, you can go to the logs to see + + +00:13:23.360 --> 00:13:24.550 align:start position:0% +again, you can go to the logs to see +everything<00:13:23.600> that's<00:13:23.920> happening,<00:13:24.240> which<00:13:24.399> is + +00:13:24.550 --> 00:13:24.560 align:start position:0% +everything that's happening, which is + + +00:13:24.560 --> 00:13:26.150 align:start position:0% +everything that's happening, which is +always<00:13:24.800> pretty<00:13:25.040> useful.<00:13:25.680> So,<00:13:25.839> I'm<00:13:26.000> going<00:13:26.079> to + +00:13:26.150 --> 00:13:26.160 align:start position:0% +always pretty useful. So, I'm going to + + +00:13:26.160 --> 00:13:28.230 align:start position:0% +always pretty useful. So, I'm going to +go<00:13:26.320> back<00:13:26.480> to<00:13:26.800> chat<00:13:27.440> and<00:13:27.680> I'm<00:13:27.920> just<00:13:28.079> going<00:13:28.160> to + +00:13:28.230 --> 00:13:28.240 align:start position:0% +go back to chat and I'm just going to + + +00:13:28.240 --> 00:13:29.990 align:start position:0% +go back to chat and I'm just going to +quickly<00:13:28.560> tell<00:13:28.720> it<00:13:28.959> to<00:13:29.120> disable<00:13:29.519> the<00:13:29.760> rest<00:13:29.839> of + +00:13:29.990 --> 00:13:30.000 align:start position:0% +quickly tell it to disable the rest of + + +00:13:30.000 --> 00:13:31.670 align:start position:0% +quickly tell it to disable the rest of +the<00:13:30.160> fallback<00:13:30.639> models<00:13:31.040> because<00:13:31.279> if<00:13:31.440> you<00:13:31.600> have + +00:13:31.670 --> 00:13:31.680 align:start position:0% +the fallback models because if you have + + +00:13:31.680 --> 00:13:34.150 align:start position:0% +the fallback models because if you have +a<00:13:31.839> look<00:13:32.000> here,<00:13:32.639> it<00:13:32.959> shows<00:13:33.440> the<00:13:33.760> models<00:13:34.000> that + +00:13:34.150 --> 00:13:34.160 align:start position:0% +a look here, it shows the models that + + +00:13:34.160 --> 00:13:36.150 align:start position:0% +a look here, it shows the models that +it's<00:13:34.399> using<00:13:34.639> is<00:13:34.880> enthropic,<00:13:35.600> right?<00:13:35.760> It<00:13:35.920> shows + +00:13:36.150 --> 00:13:36.160 align:start position:0% +it's using is enthropic, right? It shows + + +00:13:36.160 --> 00:13:38.230 align:start position:0% +it's using is enthropic, right? It shows +which<00:13:36.320> ones<00:13:36.639> has<00:13:36.880> access<00:13:37.200> to<00:13:37.680> and<00:13:37.920> then<00:13:38.079> it + +00:13:38.230 --> 00:13:38.240 align:start position:0% +which ones has access to and then it + + +00:13:38.240 --> 00:13:40.790 align:start position:0% +which ones has access to and then it +shows<00:13:38.480> the<00:13:38.639> fallbacks<00:13:39.200> are<00:13:39.440> these.<00:13:40.399> So,<00:13:40.560> I'm + +00:13:40.790 --> 00:13:40.800 align:start position:0% +shows the fallbacks are these. So, I'm + + +00:13:40.800 --> 00:13:44.790 align:start position:0% +shows the fallbacks are these. So, I'm +just<00:13:40.959> going<00:13:41.040> to<00:13:41.120> tell<00:13:41.279> it<00:13:42.240> remove<00:13:43.279> these + +00:13:44.790 --> 00:13:44.800 align:start position:0% +just going to tell it remove these + + +00:13:44.800 --> 00:13:47.670 align:start position:0% +just going to tell it remove these +fallbacks.<00:13:45.680> Okay.<00:13:46.240> And<00:13:46.399> we'll<00:13:46.639> leave<00:13:46.880> chatgbt + +00:13:47.670 --> 00:13:47.680 align:start position:0% +fallbacks. Okay. And we'll leave chatgbt + + +00:13:47.680 --> 00:13:50.389 align:start position:0% +fallbacks. Okay. And we'll leave chatgbt +5.2,<00:13:48.800> but<00:13:49.200> remove<00:13:49.440> the<00:13:49.680> other<00:13:49.839> two.<00:13:50.160> So, + +00:13:50.389 --> 00:13:50.399 align:start position:0% +5.2, but remove the other two. So, + + +00:13:50.399 --> 00:13:51.670 align:start position:0% +5.2, but remove the other two. So, +actually,<00:13:50.639> we're<00:13:50.800> going<00:13:50.880> to<00:13:50.959> do<00:13:51.040> it<00:13:51.200> like<00:13:51.360> this + +00:13:51.670 --> 00:13:51.680 align:start position:0% +actually, we're going to do it like this + + +00:13:51.680 --> 00:13:53.030 align:start position:0% +actually, we're going to do it like this +because<00:13:51.920> I<00:13:52.079> don't<00:13:52.240> want<00:13:52.320> it<00:13:52.480> to<00:13:52.639> accidentally + +00:13:53.030 --> 00:13:53.040 align:start position:0% +because I don't want it to accidentally + + +00:13:53.040 --> 00:13:54.389 align:start position:0% +because I don't want it to accidentally +try<00:13:53.200> to<00:13:53.360> switch<00:13:53.519> to<00:13:53.760> one<00:13:53.839> of<00:13:53.920> these<00:13:54.160> models + +00:13:54.389 --> 00:13:54.399 align:start position:0% +try to switch to one of these models + + +00:13:54.399 --> 00:13:56.389 align:start position:0% +try to switch to one of these models +that<00:13:54.639> doesn't<00:13:54.959> exist.<00:13:55.760> So,<00:13:55.920> I'm<00:13:56.079> going<00:13:56.160> to<00:13:56.240> hit + +00:13:56.389 --> 00:13:56.399 align:start position:0% +that doesn't exist. So, I'm going to hit + + +00:13:56.399 --> 00:13:58.069 align:start position:0% +that doesn't exist. So, I'm going to hit +enter.<00:13:56.959> Uh,<00:13:57.120> and<00:13:57.360> hopefully<00:13:57.600> it<00:13:57.760> will<00:13:57.920> do + +00:13:58.069 --> 00:13:58.079 align:start position:0% +enter. Uh, and hopefully it will do + + +00:13:58.079 --> 00:13:59.750 align:start position:0% +enter. Uh, and hopefully it will do +that.<00:13:58.480> Okay.<00:13:58.720> So,<00:13:58.959> now<00:13:59.040> I<00:13:59.279> want<00:13:59.360> to<00:13:59.519> add + +00:13:59.750 --> 00:13:59.760 align:start position:0% +that. Okay. So, now I want to add + + +00:13:59.760 --> 00:14:01.430 align:start position:0% +that. Okay. So, now I want to add +additional<00:14:00.160> models.<00:14:00.480> So,<00:14:00.560> I'm<00:14:00.720> going<00:14:00.800> to<00:14:00.959> say, + +00:14:01.430 --> 00:14:01.440 align:start position:0% +additional models. So, I'm going to say, + + +00:14:01.440 --> 00:14:06.870 align:start position:0% +additional models. So, I'm going to say, +help<00:14:01.760> me<00:14:02.079> add<00:14:02.560> the<00:14:03.600> codeex<00:14:04.720> model<00:14:05.839> uh<00:14:06.000> from<00:14:06.320> my + +00:14:06.870 --> 00:14:06.880 align:start position:0% +help me add the codeex model uh from my + + +00:14:06.880 --> 00:14:10.310 align:start position:0% +help me add the codeex model uh from my +open<00:14:07.440> AI<00:14:08.720> subscription.<00:14:09.680> Same<00:14:09.920> thing.<00:14:10.079> Any + +00:14:10.310 --> 00:14:10.320 align:start position:0% +open AI subscription. Same thing. Any + + +00:14:10.320 --> 00:14:11.750 align:start position:0% +open AI subscription. Same thing. Any +model<00:14:10.480> you<00:14:10.639> want<00:14:10.720> to<00:14:10.800> add,<00:14:11.040> just<00:14:11.199> tell<00:14:11.279> it.<00:14:11.519> It + +00:14:11.750 --> 00:14:11.760 align:start position:0% +model you want to add, just tell it. It + + +00:14:11.760 --> 00:14:13.750 align:start position:0% +model you want to add, just tell it. It +can<00:14:12.000> help<00:14:12.160> you<00:14:12.399> do<00:14:12.560> that.<00:14:13.120> And<00:14:13.360> hopefully<00:14:13.680> it + +00:14:13.750 --> 00:14:13.760 align:start position:0% +can help you do that. And hopefully it + + +00:14:13.760 --> 00:14:15.189 align:start position:0% +can help you do that. And hopefully it +should<00:14:14.000> run<00:14:14.160> through<00:14:14.320> the<00:14:14.399> setup<00:14:14.720> steps.<00:14:15.040> It's + +00:14:15.189 --> 00:14:15.199 align:start position:0% +should run through the setup steps. It's + + +00:14:15.199 --> 00:14:16.949 align:start position:0% +should run through the setup steps. It's +probably<00:14:15.360> going<00:14:15.440> to<00:14:15.519> have<00:14:15.680> me<00:14:15.839> click<00:14:16.160> a<00:14:16.399> link + +00:14:16.949 --> 00:14:16.959 align:start position:0% +probably going to have me click a link + + +00:14:16.959 --> 00:14:18.550 align:start position:0% +probably going to have me click a link +and<00:14:17.120> then<00:14:17.360> from<00:14:17.519> that<00:14:17.760> link,<00:14:18.000> I<00:14:18.160> will<00:14:18.320> be<00:14:18.399> able + +00:14:18.550 --> 00:14:18.560 align:start position:0% +and then from that link, I will be able + + +00:14:18.560 --> 00:14:20.069 align:start position:0% +and then from that link, I will be able +to<00:14:18.639> authorize<00:14:19.040> and<00:14:19.199> then<00:14:19.360> kind<00:14:19.519> of<00:14:19.600> give<00:14:19.760> it<00:14:19.920> an + +00:14:20.069 --> 00:14:20.079 align:start position:0% +to authorize and then kind of give it an + + +00:14:20.079 --> 00:14:22.870 align:start position:0% +to authorize and then kind of give it an +authentication<00:14:20.800> token<00:14:21.600> to<00:14:22.000> add<00:14:22.240> the<00:14:22.480> model. + +00:14:22.870 --> 00:14:22.880 align:start position:0% +authentication token to add the model. + + +00:14:22.880 --> 00:14:24.550 align:start position:0% +authentication token to add the model. +Now,<00:14:23.120> once<00:14:23.360> we<00:14:23.519> have<00:14:23.680> multiple<00:14:24.000> models<00:14:24.320> here, + +00:14:24.550 --> 00:14:24.560 align:start position:0% +Now, once we have multiple models here, + + +00:14:24.560 --> 00:14:25.509 align:start position:0% +Now, once we have multiple models here, +what<00:14:24.720> we're<00:14:24.880> going<00:14:24.880> to<00:14:24.959> do<00:14:25.040> is<00:14:25.199> give<00:14:25.360> it + +00:14:25.509 --> 00:14:25.519 align:start position:0% +what we're going to do is give it + + +00:14:25.519 --> 00:14:26.949 align:start position:0% +what we're going to do is give it +instructions<00:14:26.000> to<00:14:26.240> switch<00:14:26.560> between<00:14:26.800> the + +00:14:26.949 --> 00:14:26.959 align:start position:0% +instructions to switch between the + + +00:14:26.959 --> 00:14:28.710 align:start position:0% +instructions to switch between the +models<00:14:27.279> based<00:14:27.519> on<00:14:27.680> what<00:14:27.839> we<00:14:27.920> wanted<00:14:28.240> to<00:14:28.320> do. + +00:14:28.710 --> 00:14:28.720 align:start position:0% +models based on what we wanted to do. + + +00:14:28.720 --> 00:14:30.629 align:start position:0% +models based on what we wanted to do. +So,<00:14:28.800> it<00:14:29.040> says,<00:14:29.279> what<00:14:29.519> options<00:14:30.000> do<00:14:30.160> you<00:14:30.320> want? + +00:14:30.629 --> 00:14:30.639 align:start position:0% +So, it says, what options do you want? + + +00:14:30.639 --> 00:14:34.790 align:start position:0% +So, it says, what options do you want? +I'm<00:14:30.880> going<00:14:30.959> to<00:14:31.120> say<00:14:31.680> I<00:14:32.000> need<00:14:32.639> to<00:14:33.519> connect<00:14:34.160> via + +00:14:34.790 --> 00:14:34.800 align:start position:0% +I'm going to say I need to connect via + + +00:14:34.800 --> 00:14:40.310 align:start position:0% +I'm going to say I need to connect via +OOTH<00:14:35.760> to<00:14:36.160> my<00:14:37.199> OpenAI<00:14:37.920> codeex<00:14:38.720> plan.<00:14:39.680> Give<00:14:40.000> me + +00:14:40.310 --> 00:14:40.320 align:start position:0% +OOTH to my OpenAI codeex plan. Give me + + +00:14:40.320 --> 00:14:42.949 align:start position:0% +OOTH to my OpenAI codeex plan. Give me +the<00:14:40.639> link<00:14:41.360> to<00:14:41.600> do<00:14:41.760> so.<00:14:42.160> So,<00:14:42.399> I<00:14:42.639> know<00:14:42.720> that + +00:14:42.949 --> 00:14:42.959 align:start position:0% +the link to do so. So, I know that + + +00:14:42.959 --> 00:14:44.470 align:start position:0% +the link to do so. So, I know that +that's<00:14:43.199> how<00:14:43.360> we<00:14:43.519> need<00:14:43.600> to<00:14:43.760> connect<00:14:43.920> to<00:14:44.079> it.<00:14:44.320> So, + +00:14:44.470 --> 00:14:44.480 align:start position:0% +that's how we need to connect to it. So, + + +00:14:44.480 --> 00:14:46.150 align:start position:0% +that's how we need to connect to it. So, +hopefully<00:14:44.800> it<00:14:45.040> should<00:14:45.199> give<00:14:45.440> me<00:14:45.600> the<00:14:45.760> link. + +00:14:46.150 --> 00:14:46.160 align:start position:0% +hopefully it should give me the link. + + +00:14:46.160 --> 00:14:47.750 align:start position:0% +hopefully it should give me the link. +Uh,<00:14:46.399> but<00:14:46.639> I<00:14:46.800> guess<00:14:46.880> the<00:14:47.040> way<00:14:47.120> that<00:14:47.279> I<00:14:47.440> prompted + +00:14:47.750 --> 00:14:47.760 align:start position:0% +Uh, but I guess the way that I prompted + + +00:14:47.760 --> 00:14:49.030 align:start position:0% +Uh, but I guess the way that I prompted +it<00:14:47.839> before<00:14:48.160> wasn't<00:14:48.399> clear.<00:14:48.560> So,<00:14:48.720> anyways, + +00:14:49.030 --> 00:14:49.040 align:start position:0% +it before wasn't clear. So, anyways, + + +00:14:49.040 --> 00:14:50.230 align:start position:0% +it before wasn't clear. So, anyways, +let's<00:14:49.199> see<00:14:49.279> what<00:14:49.360> it<00:14:49.519> does<00:14:49.680> now.<00:14:49.920> Okay.<00:14:50.160> So, + +00:14:50.230 --> 00:14:50.240 align:start position:0% +let's see what it does now. Okay. So, + + +00:14:50.240 --> 00:14:51.670 align:start position:0% +let's see what it does now. Okay. So, +you<00:14:50.320> can<00:14:50.399> see<00:14:50.560> it's<00:14:50.720> giving<00:14:50.880> us<00:14:51.040> a<00:14:51.199> few<00:14:51.360> options + +00:14:51.670 --> 00:14:51.680 align:start position:0% +you can see it's giving us a few options + + +00:14:51.680 --> 00:14:53.829 align:start position:0% +you can see it's giving us a few options +here<00:14:51.839> on<00:14:52.160> how<00:14:52.399> to<00:14:52.639> connect<00:14:52.959> this.<00:14:53.519> And<00:14:53.680> it + +00:14:53.829 --> 00:14:53.839 align:start position:0% +here on how to connect this. And it + + +00:14:53.839 --> 00:14:56.150 align:start position:0% +here on how to connect this. And it +says,<00:14:54.079> you<00:14:54.240> know,<00:14:54.399> option<00:14:54.800> A<00:14:55.040> is<00:14:55.279> OpenAI<00:14:55.839> API + +00:14:56.150 --> 00:14:56.160 align:start position:0% +says, you know, option A is OpenAI API + + +00:14:56.160 --> 00:14:58.629 align:start position:0% +says, you know, option A is OpenAI API +key<00:14:56.399> and<00:14:56.639> option<00:14:56.959> B<00:14:57.120> is<00:14:57.279> OpenAI<00:14:57.839> codec + +00:14:58.629 --> 00:14:58.639 align:start position:0% +key and option B is OpenAI codec + + +00:14:58.639 --> 00:15:00.629 align:start position:0% +key and option B is OpenAI codec +subscription.<00:14:59.279> So,<00:14:59.440> I'm<00:14:59.680> going<00:14:59.680> to<00:14:59.839> say<00:15:00.079> use + +00:15:00.629 --> 00:15:00.639 align:start position:0% +subscription. So, I'm going to say use + + +00:15:00.639 --> 00:15:03.829 align:start position:0% +subscription. So, I'm going to say use +this<00:15:01.120> and<00:15:01.600> run<00:15:02.000> the<00:15:02.320> command. + +00:15:03.829 --> 00:15:03.839 align:start position:0% +this and run the command. + + +00:15:03.839 --> 00:15:05.829 align:start position:0% +this and run the command. +Okay.<00:15:04.160> And<00:15:04.320> again,<00:15:04.639> notice<00:15:04.959> that<00:15:05.279> I'm<00:15:05.600> just + +00:15:05.829 --> 00:15:05.839 align:start position:0% +Okay. And again, notice that I'm just + + +00:15:05.839 --> 00:15:07.509 align:start position:0% +Okay. And again, notice that I'm just +using<00:15:06.079> the<00:15:06.320> model<00:15:06.639> directly<00:15:06.959> to<00:15:07.120> do<00:15:07.279> this + +00:15:07.509 --> 00:15:07.519 align:start position:0% +using the model directly to do this + + +00:15:07.519 --> 00:15:09.110 align:start position:0% +using the model directly to do this +rather<00:15:07.760> than<00:15:07.920> me<00:15:08.079> going<00:15:08.240> in<00:15:08.480> the<00:15:08.639> config<00:15:08.880> and + +00:15:09.110 --> 00:15:09.120 align:start position:0% +rather than me going in the config and + + +00:15:09.120 --> 00:15:10.870 align:start position:0% +rather than me going in the config and +modifying<00:15:09.600> everything.<00:15:10.160> And<00:15:10.320> it's<00:15:10.480> really<00:15:10.639> a + +00:15:10.870 --> 00:15:10.880 align:start position:0% +modifying everything. And it's really a + + +00:15:10.880 --> 00:15:12.629 align:start position:0% +modifying everything. And it's really a +matter<00:15:11.040> of<00:15:11.199> knowing<00:15:11.519> what<00:15:11.680> to<00:15:11.920> ask<00:15:12.160> for<00:15:12.399> as + +00:15:12.629 --> 00:15:12.639 align:start position:0% +matter of knowing what to ask for as + + +00:15:12.639 --> 00:15:14.550 align:start position:0% +matter of knowing what to ask for as +opposed<00:15:12.880> to<00:15:13.040> you<00:15:13.279> having<00:15:13.440> to<00:15:13.680> manually<00:15:14.160> go<00:15:14.399> do + +00:15:14.550 --> 00:15:14.560 align:start position:0% +opposed to you having to manually go do + + +00:15:14.560 --> 00:15:15.910 align:start position:0% +opposed to you having to manually go do +that.<00:15:14.959> So,<00:15:15.040> I'm<00:15:15.199> just<00:15:15.360> going<00:15:15.440> to<00:15:15.519> ask<00:15:15.680> it. + +00:15:15.910 --> 00:15:15.920 align:start position:0% +that. So, I'm just going to ask it. + + +00:15:15.920 --> 00:15:17.110 align:start position:0% +that. So, I'm just going to ask it. +Hopefully,<00:15:16.160> it<00:15:16.240> will<00:15:16.399> run<00:15:16.560> that<00:15:16.720> command<00:15:16.959> and + +00:15:17.110 --> 00:15:17.120 align:start position:0% +Hopefully, it will run that command and + + +00:15:17.120 --> 00:15:19.030 align:start position:0% +Hopefully, it will run that command and +then<00:15:17.279> we<00:15:17.360> can<00:15:17.519> connect<00:15:17.839> our<00:15:18.000> OpenAI<00:15:18.639> model. + +00:15:19.030 --> 00:15:19.040 align:start position:0% +then we can connect our OpenAI model. + + +00:15:19.040 --> 00:15:20.470 align:start position:0% +then we can connect our OpenAI model. +Okay.<00:15:19.279> So,<00:15:19.360> you<00:15:19.519> can<00:15:19.600> see<00:15:19.680> it's<00:15:19.920> given<00:15:20.079> me<00:15:20.240> this + +00:15:20.470 --> 00:15:20.480 align:start position:0% +Okay. So, you can see it's given me this + + +00:15:20.480 --> 00:15:22.310 align:start position:0% +Okay. So, you can see it's given me this +URL.<00:15:20.880> So,<00:15:21.040> what<00:15:21.199> I'm<00:15:21.360> going<00:15:21.440> to<00:15:21.519> do<00:15:21.680> is<00:15:22.079> press + +00:15:22.310 --> 00:15:22.320 align:start position:0% +URL. So, what I'm going to do is press + + +00:15:22.320 --> 00:15:24.230 align:start position:0% +URL. So, what I'm going to do is press +on<00:15:22.480> that<00:15:22.720> and<00:15:22.880> then<00:15:23.040> what<00:15:23.199> I<00:15:23.360> need<00:15:23.519> to<00:15:23.760> pass<00:15:24.079> to + +00:15:24.230 --> 00:15:24.240 align:start position:0% +on that and then what I need to pass to + + +00:15:24.240 --> 00:15:26.790 align:start position:0% +on that and then what I need to pass to +this<00:15:24.560> afterwards<00:15:25.199> is<00:15:25.519> the<00:15:25.839> localhost<00:15:26.399> URL + +00:15:26.790 --> 00:15:26.800 align:start position:0% +this afterwards is the localhost URL + + +00:15:26.800 --> 00:15:28.069 align:start position:0% +this afterwards is the localhost URL +redirect.<00:15:27.279> So,<00:15:27.360> I'm<00:15:27.519> just<00:15:27.600> going<00:15:27.680> to<00:15:27.760> sign<00:15:27.920> in + +00:15:28.069 --> 00:15:28.079 align:start position:0% +redirect. So, I'm just going to sign in + + +00:15:28.079 --> 00:15:29.350 align:start position:0% +redirect. So, I'm just going to sign in +and<00:15:28.240> then<00:15:28.399> give<00:15:28.480> it<00:15:28.639> that.<00:15:28.800> Okay.<00:15:29.040> So,<00:15:29.199> I'm + +00:15:29.350 --> 00:15:29.360 align:start position:0% +and then give it that. Okay. So, I'm + + +00:15:29.360 --> 00:15:31.110 align:start position:0% +and then give it that. Okay. So, I'm +going<00:15:29.440> to<00:15:29.519> press<00:15:29.839> continue<00:15:30.320> here<00:15:30.720> and<00:15:30.959> then + +00:15:31.110 --> 00:15:31.120 align:start position:0% +going to press continue here and then + + +00:15:31.120 --> 00:15:32.150 align:start position:0% +going to press continue here and then +what's<00:15:31.360> going<00:15:31.440> to<00:15:31.519> happen<00:15:31.680> is<00:15:31.839> it<00:15:31.920> will + +00:15:32.150 --> 00:15:32.160 align:start position:0% +what's going to happen is it will + + +00:15:32.160 --> 00:15:34.389 align:start position:0% +what's going to happen is it will +redirect<00:15:32.639> me<00:15:32.880> to<00:15:33.120> this<00:15:33.360> URL.<00:15:33.920> So,<00:15:34.079> let's<00:15:34.320> give + +00:15:34.389 --> 00:15:34.399 align:start position:0% +redirect me to this URL. So, let's give + + +00:15:34.399 --> 00:15:36.790 align:start position:0% +redirect me to this URL. So, let's give +it<00:15:34.560> a<00:15:34.720> second.<00:15:35.199> I<00:15:35.360> want<00:15:35.519> to<00:15:35.680> copy<00:15:36.000> it<00:15:36.399> and<00:15:36.639> then + +00:15:36.790 --> 00:15:36.800 align:start position:0% +it a second. I want to copy it and then + + +00:15:36.800 --> 00:15:38.389 align:start position:0% +it a second. I want to copy it and then +I'm<00:15:37.040> just<00:15:37.199> going<00:15:37.279> to<00:15:37.360> paste<00:15:37.600> it<00:15:37.760> in<00:15:37.920> here<00:15:38.079> and + +00:15:38.389 --> 00:15:38.399 align:start position:0% +I'm just going to paste it in here and + + +00:15:38.399 --> 00:15:40.230 align:start position:0% +I'm just going to paste it in here and +hopefully<00:15:38.720> it<00:15:38.880> will<00:15:39.040> configure<00:15:39.440> that<00:15:39.680> for<00:15:39.920> me. + +00:15:40.230 --> 00:15:40.240 align:start position:0% +hopefully it will configure that for me. + + +00:15:40.240 --> 00:15:41.509 align:start position:0% +hopefully it will configure that for me. +Again,<00:15:40.480> if<00:15:40.560> you<00:15:40.639> want<00:15:40.800> to<00:15:40.880> do<00:15:40.959> another<00:15:41.199> model, + +00:15:41.509 --> 00:15:41.519 align:start position:0% +Again, if you want to do another model, + + +00:15:41.519 --> 00:15:42.790 align:start position:0% +Again, if you want to do another model, +you<00:15:41.600> just<00:15:41.760> tell<00:15:41.920> it<00:15:42.000> the<00:15:42.160> other<00:15:42.320> model<00:15:42.480> and<00:15:42.639> it + +00:15:42.790 --> 00:15:42.800 align:start position:0% +you just tell it the other model and it + + +00:15:42.800 --> 00:15:44.629 align:start position:0% +you just tell it the other model and it +will<00:15:42.959> set<00:15:43.120> it<00:15:43.199> up.<00:15:43.680> Now,<00:15:44.000> while<00:15:44.240> it's<00:15:44.480> doing + +00:15:44.629 --> 00:15:44.639 align:start position:0% +will set it up. Now, while it's doing + + +00:15:44.639 --> 00:15:46.870 align:start position:0% +will set it up. Now, while it's doing +this,<00:15:44.959> what<00:15:45.120> I<00:15:45.279> want<00:15:45.440> to<00:15:45.600> do<00:15:45.839> is<00:15:46.160> I<00:15:46.480> want<00:15:46.639> to + +00:15:46.870 --> 00:15:46.880 align:start position:0% +this, what I want to do is I want to + + +00:15:46.880 --> 00:15:49.350 align:start position:0% +this, what I want to do is I want to +tell<00:15:47.199> this<00:15:47.760> to<00:15:48.079> actually<00:15:48.399> write<00:15:48.720> a<00:15:49.040> command + +00:15:49.350 --> 00:15:49.360 align:start position:0% +tell this to actually write a command + + +00:15:49.360 --> 00:15:50.870 align:start position:0% +tell this to actually write a command +for<00:15:49.600> me<00:15:49.839> that's<00:15:50.079> going<00:15:50.160> to<00:15:50.240> allow<00:15:50.480> me<00:15:50.720> to + +00:15:50.870 --> 00:15:50.880 align:start position:0% +for me that's going to allow me to + + +00:15:50.880 --> 00:15:53.030 align:start position:0% +for me that's going to allow me to +switch<00:15:51.279> between<00:15:51.600> the<00:15:51.920> models<00:15:52.480> and<00:15:52.720> then<00:15:52.880> have + +00:15:53.030 --> 00:15:53.040 align:start position:0% +switch between the models and then have + + +00:15:53.040 --> 00:15:54.550 align:start position:0% +switch between the models and then have +it<00:15:53.279> automatically<00:15:53.839> do<00:15:54.000> that<00:15:54.160> as<00:15:54.320> well.<00:15:54.480> So, + +00:15:54.550 --> 00:15:54.560 align:start position:0% +it automatically do that as well. So, + + +00:15:54.560 --> 00:15:57.509 align:start position:0% +it automatically do that as well. So, +I'm<00:15:54.720> going<00:15:54.800> to<00:15:54.880> say<00:15:55.120> make<00:15:55.440> a<00:15:55.839> command<00:15:57.199> called + +00:15:57.509 --> 00:15:57.519 align:start position:0% +I'm going to say make a command called + + +00:15:57.519 --> 00:16:03.749 align:start position:0% +I'm going to say make a command called +slash<00:15:58.720> model<00:16:00.160> that<00:16:01.040> allows<00:16:01.440> me<00:16:02.560> to<00:16:02.880> switch + +00:16:03.749 --> 00:16:03.759 align:start position:0% +slash model that allows me to switch + + +00:16:03.759 --> 00:16:07.590 align:start position:0% +slash model that allows me to switch +between<00:16:04.959> the<00:16:05.920> opus + +00:16:07.590 --> 00:16:07.600 align:start position:0% +between the opus + + +00:16:07.600 --> 00:16:12.069 align:start position:0% +between the opus +4.6<00:16:08.800> and<00:16:09.279> codeex<00:16:10.639> I<00:16:10.800> don't<00:16:10.880> know<00:16:11.120> 5.3<00:16:11.839> or + +00:16:12.069 --> 00:16:12.079 align:start position:0% +4.6 and codeex I don't know 5.3 or + + +00:16:12.079 --> 00:16:14.310 align:start position:0% +4.6 and codeex I don't know 5.3 or +something<00:16:12.240> I<00:16:12.399> think<00:16:12.480> is<00:16:12.639> what<00:16:12.800> it<00:16:12.959> is. + +00:16:14.310 --> 00:16:14.320 align:start position:0% +something I think is what it is. + + +00:16:14.320 --> 00:16:17.910 align:start position:0% +something I think is what it is. +Whatever<00:16:14.800> the<00:16:15.120> best<00:16:15.519> one<00:16:15.839> is. + +00:16:17.910 --> 00:16:17.920 align:start position:0% +Whatever the best one is. + + +00:16:17.920 --> 00:16:20.310 align:start position:0% +Whatever the best one is. +Okay.<00:16:18.560> So<00:16:18.800> now<00:16:19.120> we'll<00:16:19.360> cue<00:16:19.600> that<00:16:19.759> up.<00:16:19.920> So<00:16:20.160> after + +00:16:20.310 --> 00:16:20.320 align:start position:0% +Okay. So now we'll cue that up. So after + + +00:16:20.320 --> 00:16:21.829 align:start position:0% +Okay. So now we'll cue that up. So after +this<00:16:20.560> is<00:16:20.720> done<00:16:20.880> we'll<00:16:21.120> run<00:16:21.279> that<00:16:21.440> command. + +00:16:21.829 --> 00:16:21.839 align:start position:0% +this is done we'll run that command. + + +00:16:21.839 --> 00:16:23.189 align:start position:0% +this is done we'll run that command. +Okay.<00:16:22.000> So<00:16:22.160> it<00:16:22.320> looks<00:16:22.399> like<00:16:22.560> it<00:16:22.720> created<00:16:22.959> that + +00:16:23.189 --> 00:16:23.199 align:start position:0% +Okay. So it looks like it created that + + +00:16:23.199 --> 00:16:25.110 align:start position:0% +Okay. So it looks like it created that +command.<00:16:23.519> So<00:16:23.839> now<00:16:24.000> if<00:16:24.240> I<00:16:24.399> run<00:16:24.560> the<00:16:24.800> command + +00:16:25.110 --> 00:16:25.120 align:start position:0% +command. So now if I run the command + + +00:16:25.120 --> 00:16:27.350 align:start position:0% +command. So now if I run the command +/model,<00:16:26.160> we<00:16:26.399> should<00:16:26.560> be<00:16:26.639> able<00:16:26.800> to<00:16:26.959> switch.<00:16:27.199> So + +00:16:27.350 --> 00:16:27.360 align:start position:0% +/model, we should be able to switch. So + + +00:16:27.360 --> 00:16:30.550 align:start position:0% +/model, we should be able to switch. So +let's<00:16:27.519> go<00:16:27.839> /model<00:16:28.560> and<00:16:28.800> then<00:16:29.199> codeex<00:16:30.000> and<00:16:30.399> see + +00:16:30.550 --> 00:16:30.560 align:start position:0% +let's go /model and then codeex and see + + +00:16:30.560 --> 00:16:32.550 align:start position:0% +let's go /model and then codeex and see +if<00:16:30.800> that<00:16:31.040> command<00:16:31.279> is<00:16:31.519> going<00:16:31.680> to<00:16:31.839> work.<00:16:32.160> Uh<00:16:32.399> and + +00:16:32.550 --> 00:16:32.560 align:start position:0% +if that command is going to work. Uh and + + +00:16:32.560 --> 00:16:35.110 align:start position:0% +if that command is going to work. Uh and +it<00:16:32.720> says<00:16:32.880> model<00:16:33.199> set<00:16:33.440> to<00:16:33.759> codeex<00:16:34.240> 5.2.<00:16:34.800> Okay, + +00:16:35.110 --> 00:16:35.120 align:start position:0% +it says model set to codeex 5.2. Okay, + + +00:16:35.120 --> 00:16:36.870 align:start position:0% +it says model set to codeex 5.2. Okay, +perfect.<00:16:35.600> Looks<00:16:35.920> like<00:16:36.079> that<00:16:36.320> is<00:16:36.480> indeed + +00:16:36.870 --> 00:16:36.880 align:start position:0% +perfect. Looks like that is indeed + + +00:16:36.880 --> 00:16:38.310 align:start position:0% +perfect. Looks like that is indeed +working.<00:16:37.360> All<00:16:37.440> right,<00:16:37.600> so<00:16:37.759> now<00:16:37.920> we<00:16:38.079> have<00:16:38.160> the + +00:16:38.310 --> 00:16:38.320 align:start position:0% +working. All right, so now we have the + + +00:16:38.320 --> 00:16:39.990 align:start position:0% +working. All right, so now we have the +two<00:16:38.480> models.<00:16:38.880> Again,<00:16:39.199> what<00:16:39.360> I<00:16:39.519> want<00:16:39.600> to<00:16:39.680> do<00:16:39.839> is + +00:16:39.990 --> 00:16:40.000 align:start position:0% +two models. Again, what I want to do is + + +00:16:40.000 --> 00:16:41.350 align:start position:0% +two models. Again, what I want to do is +just<00:16:40.160> quickly<00:16:40.399> give<00:16:40.560> it<00:16:40.720> some<00:16:40.880> instructions + +00:16:41.350 --> 00:16:41.360 align:start position:0% +just quickly give it some instructions + + +00:16:41.360 --> 00:16:43.590 align:start position:0% +just quickly give it some instructions +to<00:16:41.680> always<00:16:42.000> default<00:16:42.399> to<00:16:42.639> opus,<00:16:43.199> but<00:16:43.440> then + +00:16:43.590 --> 00:16:43.600 align:start position:0% +to always default to opus, but then + + +00:16:43.600 --> 00:16:45.350 align:start position:0% +to always default to opus, but then +anytime<00:16:44.000> we're<00:16:44.240> doing<00:16:44.480> some<00:16:44.639> kind<00:16:44.800> of<00:16:44.959> coding + +00:16:45.350 --> 00:16:45.360 align:start position:0% +anytime we're doing some kind of coding + + +00:16:45.360 --> 00:16:47.110 align:start position:0% +anytime we're doing some kind of coding +task<00:16:45.600> or<00:16:45.920> something<00:16:46.079> that<00:16:46.320> doesn't<00:16:46.560> require<00:16:46.880> a + +00:16:47.110 --> 00:16:47.120 align:start position:0% +task or something that doesn't require a + + +00:16:47.120 --> 00:16:49.269 align:start position:0% +task or something that doesn't require a +lot<00:16:47.199> of<00:16:47.279> intelligence<00:16:47.839> or<00:16:48.079> complexity<00:16:49.040> to + +00:16:49.269 --> 00:16:49.279 align:start position:0% +lot of intelligence or complexity to + + +00:16:49.279 --> 00:16:51.509 align:start position:0% +lot of intelligence or complexity to +switch<00:16:49.600> over<00:16:49.839> to<00:16:50.079> the<00:16:50.240> codeex<00:16:50.720> model<00:16:51.040> to<00:16:51.279> save + +00:16:51.509 --> 00:16:51.519 align:start position:0% +switch over to the codeex model to save + + +00:16:51.519 --> 00:16:53.269 align:start position:0% +switch over to the codeex model to save +money.<00:16:51.920> So,<00:16:52.079> let<00:16:52.240> me<00:16:52.399> write<00:16:52.560> up<00:16:52.639> a<00:16:52.800> prompt<00:16:53.040> and + +00:16:53.269 --> 00:16:53.279 align:start position:0% +money. So, let me write up a prompt and + + +00:16:53.279 --> 00:16:55.110 align:start position:0% +money. So, let me write up a prompt and +tell<00:16:53.440> it<00:16:53.600> that<00:16:53.839> and<00:16:54.000> it<00:16:54.160> should<00:16:54.399> save<00:16:54.720> that<00:16:54.880> in + +00:16:55.110 --> 00:16:55.120 align:start position:0% +tell it that and it should save that in + + +00:16:55.120 --> 00:16:57.590 align:start position:0% +tell it that and it should save that in +its<00:16:55.360> preferences<00:16:56.079> and<00:16:56.399> configuration.<00:16:57.360> I + +00:16:57.590 --> 00:16:57.600 align:start position:0% +its preferences and configuration. I + + +00:16:57.600 --> 00:17:00.470 align:start position:0% +its preferences and configuration. I +want<00:16:57.839> you<00:16:58.160> to<00:16:58.480> always<00:16:58.880> use<00:16:59.120> the<00:16:59.279> Opus<00:16:59.759> 4.6 + +00:17:00.470 --> 00:17:00.480 align:start position:0% +want you to always use the Opus 4.6 + + +00:17:00.480 --> 00:17:02.710 align:start position:0% +want you to always use the Opus 4.6 +model<00:17:00.800> by<00:17:01.120> default.<00:17:01.920> But<00:17:02.160> whenever<00:17:02.480> an + +00:17:02.710 --> 00:17:02.720 align:start position:0% +model by default. But whenever an + + +00:17:02.720 --> 00:17:04.870 align:start position:0% +model by default. But whenever an +instruction<00:17:03.120> is<00:17:03.360> provided<00:17:03.759> to<00:17:03.920> you,<00:17:04.480> I<00:17:04.720> want + +00:17:04.870 --> 00:17:04.880 align:start position:0% +instruction is provided to you, I want + + +00:17:04.880 --> 00:17:06.710 align:start position:0% +instruction is provided to you, I want +you<00:17:05.120> to<00:17:05.360> determine<00:17:05.760> whether<00:17:06.000> or<00:17:06.240> not<00:17:06.319> you<00:17:06.559> need + +00:17:06.710 --> 00:17:06.720 align:start position:0% +you to determine whether or not you need + + +00:17:06.720 --> 00:17:08.630 align:start position:0% +you to determine whether or not you need +that<00:17:07.039> level<00:17:07.280> of<00:17:07.439> intelligence<00:17:08.000> or<00:17:08.240> if<00:17:08.400> you<00:17:08.480> can + +00:17:08.630 --> 00:17:08.640 align:start position:0% +that level of intelligence or if you can + + +00:17:08.640 --> 00:17:11.029 align:start position:0% +that level of intelligence or if you can +switch<00:17:08.799> to<00:17:09.039> a<00:17:09.199> cheaper<00:17:09.600> model<00:17:10.079> like<00:17:10.480> codeex + +00:17:11.029 --> 00:17:11.039 align:start position:0% +switch to a cheaper model like codeex + + +00:17:11.039 --> 00:17:13.590 align:start position:0% +switch to a cheaper model like codeex +5.2.<00:17:12.000> Codec<00:17:12.559> should<00:17:12.720> always<00:17:12.959> be<00:17:13.120> used<00:17:13.360> for + +00:17:13.590 --> 00:17:13.600 align:start position:0% +5.2. Codec should always be used for + + +00:17:13.600 --> 00:17:15.750 align:start position:0% +5.2. Codec should always be used for +coding<00:17:13.919> tasks<00:17:14.319> and<00:17:14.640> anything<00:17:14.959> that<00:17:15.280> is<00:17:15.439> lower + +00:17:15.750 --> 00:17:15.760 align:start position:0% +coding tasks and anything that is lower + + +00:17:15.760 --> 00:17:18.069 align:start position:0% +coding tasks and anything that is lower +leverage<00:17:16.319> or<00:17:16.640> doesn't<00:17:16.880> require<00:17:17.280> a<00:17:17.600> ton<00:17:17.839> of + +00:17:18.069 --> 00:17:18.079 align:start position:0% +leverage or doesn't require a ton of + + +00:17:18.079 --> 00:17:20.390 align:start position:0% +leverage or doesn't require a ton of +detailed<00:17:18.559> steps<00:17:18.880> or<00:17:19.199> thinking.<00:17:19.839> So<00:17:20.079> always + +00:17:20.390 --> 00:17:20.400 align:start position:0% +detailed steps or thinking. So always + + +00:17:20.400 --> 00:17:22.949 align:start position:0% +detailed steps or thinking. So always +use<00:17:20.559> Opus<00:17:21.039> to<00:17:21.280> come<00:17:21.439> up<00:17:21.600> with<00:17:21.760> the<00:17:22.000> plan<00:17:22.559> to + +00:17:22.949 --> 00:17:22.959 align:start position:0% +use Opus to come up with the plan to + + +00:17:22.959 --> 00:17:25.029 align:start position:0% +use Opus to come up with the plan to +start<00:17:23.280> the<00:17:23.600> process,<00:17:24.160> but<00:17:24.400> then<00:17:24.559> delegate + +00:17:25.029 --> 00:17:25.039 align:start position:0% +start the process, but then delegate + + +00:17:25.039 --> 00:17:27.510 align:start position:0% +start the process, but then delegate +lower<00:17:25.439> level<00:17:25.679> tasks<00:17:26.079> using<00:17:26.400> sub<00:17:26.640> aents<00:17:27.039> to<00:17:27.280> the + +00:17:27.510 --> 00:17:27.520 align:start position:0% +lower level tasks using sub aents to the + + +00:17:27.520 --> 00:17:29.669 align:start position:0% +lower level tasks using sub aents to the +codeex<00:17:28.000> model<00:17:28.480> to<00:17:28.640> ensure<00:17:28.960> that<00:17:29.120> we're<00:17:29.360> saving + +00:17:29.669 --> 00:17:29.679 align:start position:0% +codeex model to ensure that we're saving + + +00:17:29.679 --> 00:17:32.230 align:start position:0% +codeex model to ensure that we're saving +money<00:17:30.000> and<00:17:30.240> cost.<00:17:30.799> Whenever<00:17:31.200> you<00:17:31.440> run<00:17:31.600> a<00:17:31.840> task, + +00:17:32.230 --> 00:17:32.240 align:start position:0% +money and cost. Whenever you run a task, + + +00:17:32.240 --> 00:17:33.990 align:start position:0% +money and cost. Whenever you run a task, +start<00:17:32.480> by<00:17:32.640> telling<00:17:32.880> me<00:17:33.120> what<00:17:33.360> model<00:17:33.679> you're + +00:17:33.990 --> 00:17:34.000 align:start position:0% +start by telling me what model you're + + +00:17:34.000 --> 00:17:36.390 align:start position:0% +start by telling me what model you're +using<00:17:34.320> for<00:17:34.640> running<00:17:34.880> it.<00:17:35.280> So<00:17:35.520> tell<00:17:35.760> me,<00:17:36.000> hey, + +00:17:36.390 --> 00:17:36.400 align:start position:0% +using for running it. So tell me, hey, + + +00:17:36.400 --> 00:17:39.590 align:start position:0% +using for running it. So tell me, hey, +we<00:17:36.720> did<00:17:37.280> codeex<00:17:37.840> 5.2<00:17:38.320> for<00:17:38.480> this,<00:17:38.799> we<00:17:38.960> did<00:17:39.200> opus + +00:17:39.590 --> 00:17:39.600 align:start position:0% +we did codeex 5.2 for this, we did opus + + +00:17:39.600 --> 00:17:41.590 align:start position:0% +we did codeex 5.2 for this, we did opus +for<00:17:39.760> this,<00:17:40.400> etc.<00:17:40.720> So<00:17:40.880> that<00:17:41.039> I<00:17:41.200> know<00:17:41.280> that<00:17:41.440> it's + +00:17:41.590 --> 00:17:41.600 align:start position:0% +for this, etc. So that I know that it's + + +00:17:41.600 --> 00:17:43.590 align:start position:0% +for this, etc. So that I know that it's +running<00:17:41.840> correctly.<00:17:42.720> Save<00:17:42.960> this<00:17:43.200> preference + +00:17:43.590 --> 00:17:43.600 align:start position:0% +running correctly. Save this preference + + +00:17:43.600 --> 00:17:45.110 align:start position:0% +running correctly. Save this preference +for<00:17:43.760> the<00:17:43.919> future.<00:17:44.240> So<00:17:44.400> it<00:17:44.559> looks<00:17:44.720> like<00:17:44.880> that's + +00:17:45.110 --> 00:17:45.120 align:start position:0% +for the future. So it looks like that's + + +00:17:45.120 --> 00:17:46.470 align:start position:0% +for the future. So it looks like that's +working.<00:17:45.520> And<00:17:45.679> what<00:17:45.840> this<00:17:46.000> would<00:17:46.160> have<00:17:46.320> done + +00:17:46.470 --> 00:17:46.480 align:start position:0% +working. And what this would have done + + +00:17:46.480 --> 00:17:48.630 align:start position:0% +working. And what this would have done +here<00:17:46.640> is<00:17:46.960> create<00:17:47.120> a<00:17:47.440> rule.<00:17:47.840> So<00:17:48.000> now<00:17:48.160> I<00:17:48.320> can<00:17:48.480> go + +00:17:48.630 --> 00:17:48.640 align:start position:0% +here is create a rule. So now I can go + + +00:17:48.640 --> 00:17:50.390 align:start position:0% +here is create a rule. So now I can go +reference<00:17:49.039> that<00:17:49.280> rule<00:17:49.520> to<00:17:49.840> understand<00:17:50.320> all + +00:17:50.390 --> 00:17:50.400 align:start position:0% +reference that rule to understand all + + +00:17:50.400 --> 00:17:51.909 align:start position:0% +reference that rule to understand all +right<00:17:50.559> I<00:17:50.720> need<00:17:50.799> to<00:17:50.960> do<00:17:51.039> this<00:17:51.280> I<00:17:51.440> need<00:17:51.520> to<00:17:51.679> switch + +00:17:51.909 --> 00:17:51.919 align:start position:0% +right I need to do this I need to switch + + +00:17:51.919 --> 00:17:53.590 align:start position:0% +right I need to do this I need to switch +between<00:17:52.160> the<00:17:52.320> models.<00:17:52.960> So<00:17:53.120> what<00:17:53.280> I'm<00:17:53.440> going<00:17:53.520> to + +00:17:53.590 --> 00:17:53.600 align:start position:0% +between the models. So what I'm going to + + +00:17:53.600 --> 00:17:56.950 align:start position:0% +between the models. So what I'm going to +tell<00:17:53.760> this<00:17:54.000> now<00:17:54.240> is<00:17:54.720> I<00:17:55.039> want<00:17:55.360> to + +00:17:56.950 --> 00:17:56.960 align:start position:0% +tell this now is I want to + + +00:17:56.960 --> 00:17:59.830 align:start position:0% +tell this now is I want to +set<00:17:57.200> up<00:17:58.080> telegram + +00:17:59.830 --> 00:17:59.840 align:start position:0% +set up telegram + + +00:17:59.840 --> 00:18:02.310 align:start position:0% +set up telegram +tell<00:18:00.080> me<00:18:00.320> how<00:18:00.559> to<00:18:00.799> connect<00:18:01.120> it.<00:18:01.520> Okay<00:18:02.080> now + +00:18:02.310 --> 00:18:02.320 align:start position:0% +tell me how to connect it. Okay now + + +00:18:02.320 --> 00:18:03.430 align:start position:0% +tell me how to connect it. Okay now +while<00:18:02.480> it<00:18:02.640> does<00:18:02.799> that<00:18:03.039> I'm<00:18:03.200> just<00:18:03.280> going<00:18:03.360> to + +00:18:03.430 --> 00:18:03.440 align:start position:0% +while it does that I'm just going to + + +00:18:03.440 --> 00:18:05.750 align:start position:0% +while it does that I'm just going to +open<00:18:03.600> up<00:18:03.840> telegram<00:18:04.320> on<00:18:04.559> my<00:18:04.880> computer<00:18:05.360> and<00:18:05.600> I + +00:18:05.750 --> 00:18:05.760 align:start position:0% +open up telegram on my computer and I + + +00:18:05.760 --> 00:18:06.789 align:start position:0% +open up telegram on my computer and I +will<00:18:05.840> start<00:18:06.000> running<00:18:06.240> you<00:18:06.480> through<00:18:06.640> the + +00:18:06.789 --> 00:18:06.799 align:start position:0% +will start running you through the + + +00:18:06.799 --> 00:18:08.470 align:start position:0% +will start running you through the +steps.<00:18:07.200> Okay<00:18:07.440> now<00:18:07.600> it<00:18:07.760> says<00:18:07.919> that<00:18:08.080> we<00:18:08.240> can<00:18:08.320> just + +00:18:08.470 --> 00:18:08.480 align:start position:0% +steps. Okay now it says that we can just + + +00:18:08.480 --> 00:18:10.950 align:start position:0% +steps. Okay now it says that we can just +run<00:18:08.640> this<00:18:08.880> command<00:18:09.200> to<00:18:09.679> connect<00:18:10.160> telegram<00:18:10.799> and + +00:18:10.950 --> 00:18:10.960 align:start position:0% +run this command to connect telegram and + + +00:18:10.960 --> 00:18:13.110 align:start position:0% +run this command to connect telegram and +it<00:18:11.120> says<00:18:11.280> that<00:18:11.440> we<00:18:11.600> need<00:18:11.679> to<00:18:11.760> paste<00:18:12.080> the<00:18:12.480> uh<00:18:12.720> bot + +00:18:13.110 --> 00:18:13.120 align:start position:0% +it says that we need to paste the uh bot + + +00:18:13.120 --> 00:18:15.190 align:start position:0% +it says that we need to paste the uh bot +token<00:18:13.600> when<00:18:13.840> prompted.<00:18:14.480> So<00:18:14.640> I'm<00:18:14.799> going<00:18:14.799> to<00:18:14.960> say + +00:18:15.190 --> 00:18:15.200 align:start position:0% +token when prompted. So I'm going to say + + +00:18:15.200 --> 00:18:19.909 align:start position:0% +token when prompted. So I'm going to say +run<00:18:15.440> the<00:18:15.679> command<00:18:17.039> for<00:18:17.360> me<00:18:17.679> and<00:18:18.400> I<00:18:18.720> will<00:18:18.960> send + +00:18:19.909 --> 00:18:19.919 align:start position:0% +run the command for me and I will send + + +00:18:19.919 --> 00:18:22.789 align:start position:0% +run the command for me and I will send +the<00:18:20.240> token.<00:18:21.120> And<00:18:21.440> the<00:18:21.840> general<00:18:22.240> steps<00:18:22.480> is<00:18:22.640> that + +00:18:22.789 --> 00:18:22.799 align:start position:0% +the token. And the general steps is that + + +00:18:22.799 --> 00:18:24.549 align:start position:0% +the token. And the general steps is that +we<00:18:22.960> need<00:18:23.039> to<00:18:23.120> open<00:18:23.360> telegram<00:18:23.840> and<00:18:24.080> chat<00:18:24.320> with + +00:18:24.549 --> 00:18:24.559 align:start position:0% +we need to open telegram and chat with + + +00:18:24.559 --> 00:18:27.510 align:start position:0% +we need to open telegram and chat with +the<00:18:24.799> at@botfather.<00:18:26.240> Type<00:18:26.559> newbot<00:18:27.120> and<00:18:27.360> then + +00:18:27.510 --> 00:18:27.520 align:start position:0% +the at@botfather. Type newbot and then + + +00:18:27.520 --> 00:18:29.110 align:start position:0% +the at@botfather. Type newbot and then +copy<00:18:27.760> the<00:18:27.919> token.<00:18:28.240> So<00:18:28.320> it's<00:18:28.559> very<00:18:28.720> easy.<00:18:28.960> What + +00:18:29.110 --> 00:18:29.120 align:start position:0% +copy the token. So it's very easy. What + + +00:18:29.120 --> 00:18:30.950 align:start position:0% +copy the token. So it's very easy. What +we're<00:18:29.280> going<00:18:29.360> to<00:18:29.440> do<00:18:29.520> is<00:18:29.760> open<00:18:30.000> telegram. + +00:18:30.950 --> 00:18:30.960 align:start position:0% +we're going to do is open telegram. + + +00:18:30.960 --> 00:18:32.310 align:start position:0% +we're going to do is open telegram. +We're<00:18:31.120> going<00:18:31.200> to<00:18:31.280> go<00:18:31.440> into<00:18:31.600> the<00:18:31.840> search<00:18:32.080> here. + +00:18:32.310 --> 00:18:32.320 align:start position:0% +We're going to go into the search here. + + +00:18:32.320 --> 00:18:34.950 align:start position:0% +We're going to go into the search here. +We're<00:18:32.480> going<00:18:32.559> to<00:18:32.640> find<00:18:33.039> bot<00:18:33.840> father<00:18:34.480> and<00:18:34.799> make + +00:18:34.950 --> 00:18:34.960 align:start position:0% +We're going to find bot father and make + + +00:18:34.960 --> 00:18:37.430 align:start position:0% +We're going to find bot father and make +sure<00:18:35.039> you<00:18:35.280> find<00:18:35.440> the<00:18:35.679> one<00:18:36.000> that<00:18:36.320> has<00:18:36.720> the<00:18:37.200> check + +00:18:37.430 --> 00:18:37.440 align:start position:0% +sure you find the one that has the check + + +00:18:37.440 --> 00:18:39.430 align:start position:0% +sure you find the one that has the check +mark.<00:18:37.760> Okay.<00:18:38.320> Then<00:18:38.559> from<00:18:38.799> here<00:18:39.120> we're<00:18:39.360> going + +00:18:39.430 --> 00:18:39.440 align:start position:0% +mark. Okay. Then from here we're going + + +00:18:39.440 --> 00:18:40.789 align:start position:0% +mark. Okay. Then from here we're going +to<00:18:39.520> type<00:18:39.760> start<00:18:40.160> and<00:18:40.320> we're<00:18:40.480> going<00:18:40.559> to<00:18:40.640> go + +00:18:40.789 --> 00:18:40.799 align:start position:0% +to type start and we're going to go + + +00:18:40.799 --> 00:18:43.190 align:start position:0% +to type start and we're going to go +slash<00:18:41.440> newbot. + +00:18:43.190 --> 00:18:43.200 align:start position:0% +slash newbot. + + +00:18:43.200 --> 00:18:44.390 align:start position:0% +slash newbot. +All<00:18:43.280> right.<00:18:43.600> When<00:18:43.760> we<00:18:43.919> do<00:18:44.000> that,<00:18:44.160> it's<00:18:44.320> going + +00:18:44.390 --> 00:18:44.400 align:start position:0% +All right. When we do that, it's going + + +00:18:44.400 --> 00:18:46.710 align:start position:0% +All right. When we do that, it's going +to<00:18:44.480> ask<00:18:44.640> us<00:18:44.799> for<00:18:44.880> a<00:18:45.120> name.<00:18:45.280> So,<00:18:45.600> just<00:18:45.760> call<00:18:45.919> this + +00:18:46.710 --> 00:18:46.720 align:start position:0% +to ask us for a name. So, just call this + + +00:18:46.720 --> 00:18:49.430 align:start position:0% +to ask us for a name. So, just call this +Tim<00:18:47.039> A.<00:18:47.600> All<00:18:47.600> right.<00:18:47.840> And<00:18:48.000> let's<00:18:48.240> go<00:18:48.400> Tim<00:18:48.720> A12 + +00:18:49.430 --> 00:18:49.440 align:start position:0% +Tim A. All right. And let's go Tim A12 + + +00:18:49.440 --> 00:18:51.350 align:start position:0% +Tim A. All right. And let's go Tim A12 +3456_bot. + +00:18:51.350 --> 00:18:51.360 align:start position:0% +3456_bot. + + +00:18:51.360 --> 00:18:53.350 align:start position:0% +3456_bot. +Just<00:18:51.600> make<00:18:51.679> sure<00:18:51.760> it<00:18:51.919> ends<00:18:52.160> in<00:18:52.320> underscorebot. + +00:18:53.350 --> 00:18:53.360 align:start position:0% +Just make sure it ends in underscorebot. + + +00:18:53.360 --> 00:18:54.950 align:start position:0% +Just make sure it ends in underscorebot. +It's<00:18:53.600> then<00:18:53.760> going<00:18:53.840> to<00:18:53.919> give<00:18:54.000> you<00:18:54.160> a<00:18:54.320> token. + +00:18:54.950 --> 00:18:54.960 align:start position:0% +It's then going to give you a token. + + +00:18:54.960 --> 00:18:56.549 align:start position:0% +It's then going to give you a token. +Copy<00:18:55.280> the<00:18:55.440> token.<00:18:55.760> And<00:18:55.919> of<00:18:56.080> course,<00:18:56.320> don't + +00:18:56.549 --> 00:18:56.559 align:start position:0% +Copy the token. And of course, don't + + +00:18:56.559 --> 00:18:58.630 align:start position:0% +Copy the token. And of course, don't +give<00:18:56.799> that<00:18:57.039> to<00:18:57.280> anyone<00:18:57.760> else.<00:18:58.240> And<00:18:58.320> then<00:18:58.480> we're + +00:18:58.630 --> 00:18:58.640 align:start position:0% +give that to anyone else. And then we're + + +00:18:58.640 --> 00:19:00.230 align:start position:0% +give that to anyone else. And then we're +going<00:18:58.720> to<00:18:58.799> wait<00:18:58.880> for<00:18:59.039> this<00:18:59.200> to<00:18:59.440> finish.<00:18:59.840> And<00:19:00.080> we + +00:19:00.230 --> 00:19:00.240 align:start position:0% +going to wait for this to finish. And we + + +00:19:00.240 --> 00:19:02.230 align:start position:0% +going to wait for this to finish. And we +are<00:19:00.400> going<00:19:00.480> to<00:19:00.640> send<00:19:00.880> it<00:19:01.200> the<00:19:01.440> token<00:19:01.919> so<00:19:02.080> that + +00:19:02.230 --> 00:19:02.240 align:start position:0% +are going to send it the token so that + + +00:19:02.240 --> 00:19:04.230 align:start position:0% +are going to send it the token so that +it<00:19:02.480> is<00:19:02.640> able<00:19:02.880> to<00:19:03.280> um<00:19:03.520> what<00:19:03.919> what<00:19:04.000> do<00:19:04.080> you<00:19:04.160> call + +00:19:04.230 --> 00:19:04.240 align:start position:0% +it is able to um what what do you call + + +00:19:04.240 --> 00:19:05.830 align:start position:0% +it is able to um what what do you call +it?<00:19:04.400> Actually<00:19:04.640> trigger<00:19:04.960> this.<00:19:05.360> Okay.<00:19:05.679> So, + +00:19:05.830 --> 00:19:05.840 align:start position:0% +it? Actually trigger this. Okay. So, + + +00:19:05.840 --> 00:19:07.350 align:start position:0% +it? Actually trigger this. Okay. So, +this<00:19:06.000> is<00:19:06.080> the<00:19:06.240> token.<00:19:06.640> We're<00:19:06.799> going<00:19:06.880> to<00:19:06.960> paste + +00:19:07.350 --> 00:19:07.360 align:start position:0% +this is the token. We're going to paste + + +00:19:07.360 --> 00:19:10.470 align:start position:0% +this is the token. We're going to paste +that<00:19:07.760> here.<00:19:08.480> Now,<00:19:08.880> while<00:19:09.280> that<00:19:09.679> sets<00:19:10.000> it<00:19:10.160> up, + +00:19:10.470 --> 00:19:10.480 align:start position:0% +that here. Now, while that sets it up, + + +00:19:10.480 --> 00:19:12.310 align:start position:0% +that here. Now, while that sets it up, +we<00:19:10.640> are<00:19:10.799> also<00:19:11.120> just<00:19:11.360> going<00:19:11.440> to<00:19:11.679> press<00:19:12.000> this + +00:19:12.310 --> 00:19:12.320 align:start position:0% +we are also just going to press this + + +00:19:12.320 --> 00:19:13.909 align:start position:0% +we are also just going to press this +link<00:19:12.640> right<00:19:12.799> here,<00:19:12.960> which<00:19:13.200> will<00:19:13.360> bring<00:19:13.520> us<00:19:13.679> to + +00:19:13.909 --> 00:19:13.919 align:start position:0% +link right here, which will bring us to + + +00:19:13.919 --> 00:19:16.150 align:start position:0% +link right here, which will bring us to +chat<00:19:14.240> with<00:19:14.480> our<00:19:14.720> bot.<00:19:15.360> So,<00:19:15.520> we<00:19:15.679> want<00:19:15.840> to<00:19:15.919> chat + +00:19:16.150 --> 00:19:16.160 align:start position:0% +chat with our bot. So, we want to chat + + +00:19:16.160 --> 00:19:17.830 align:start position:0% +chat with our bot. So, we want to chat +with<00:19:16.320> the<00:19:16.480> bot<00:19:16.720> that<00:19:16.880> we<00:19:17.039> just<00:19:17.200> created.<00:19:17.600> From + +00:19:17.830 --> 00:19:17.840 align:start position:0% +with the bot that we just created. From + + +00:19:17.840 --> 00:19:20.310 align:start position:0% +with the bot that we just created. From +here,<00:19:18.160> we're<00:19:18.320> going<00:19:18.400> to<00:19:18.559> press<00:19:18.799> on<00:19:19.280> start.<00:19:20.080> And + +00:19:20.310 --> 00:19:20.320 align:start position:0% +here, we're going to press on start. And + + +00:19:20.320 --> 00:19:22.310 align:start position:0% +here, we're going to press on start. And +as<00:19:20.559> soon<00:19:20.720> as<00:19:20.880> it's<00:19:21.200> connected,<00:19:21.679> we<00:19:21.840> should<00:19:22.080> get + +00:19:22.310 --> 00:19:22.320 align:start position:0% +as soon as it's connected, we should get + + +00:19:22.320 --> 00:19:23.990 align:start position:0% +as soon as it's connected, we should get +some<00:19:22.480> kind<00:19:22.640> of<00:19:22.799> message<00:19:23.120> here<00:19:23.360> saying,<00:19:23.600> "Hey, + +00:19:23.990 --> 00:19:24.000 align:start position:0% +some kind of message here saying, "Hey, + + +00:19:24.000 --> 00:19:25.990 align:start position:0% +some kind of message here saying, "Hey, +like<00:19:24.160> we<00:19:24.400> need<00:19:24.480> to<00:19:24.720> pair<00:19:24.960> this<00:19:25.280> or<00:19:25.520> add<00:19:25.760> some + +00:19:25.990 --> 00:19:26.000 align:start position:0% +like we need to pair this or add some + + +00:19:26.000 --> 00:19:27.669 align:start position:0% +like we need to pair this or add some +setting."<00:19:26.559> So,<00:19:26.799> wait<00:19:26.960> for<00:19:27.120> the<00:19:27.200> bot<00:19:27.520> to + +00:19:27.669 --> 00:19:27.679 align:start position:0% +setting." So, wait for the bot to + + +00:19:27.679 --> 00:19:29.190 align:start position:0% +setting." So, wait for the bot to +finish.<00:19:28.080> And<00:19:28.240> then<00:19:28.400> what<00:19:28.559> you<00:19:28.640> can<00:19:28.720> do<00:19:28.880> is<00:19:29.039> just + +00:19:29.190 --> 00:19:29.200 align:start position:0% +finish. And then what you can do is just + + +00:19:29.200 --> 00:19:31.110 align:start position:0% +finish. And then what you can do is just +type<00:19:29.520> any<00:19:29.679> message<00:19:30.000> here<00:19:30.240> again.<00:19:30.799> And<00:19:30.960> it + +00:19:31.110 --> 00:19:31.120 align:start position:0% +type any message here again. And it + + +00:19:31.120 --> 00:19:32.390 align:start position:0% +type any message here again. And it +should<00:19:31.360> tell<00:19:31.520> you<00:19:31.679> something<00:19:31.919> like,<00:19:32.160> "Hey, + +00:19:32.390 --> 00:19:32.400 align:start position:0% +should tell you something like, "Hey, + + +00:19:32.400 --> 00:19:33.830 align:start position:0% +should tell you something like, "Hey, +it's<00:19:32.640> not<00:19:32.799> paired.<00:19:33.120> It's<00:19:33.280> not<00:19:33.440> connected." + +00:19:33.830 --> 00:19:33.840 align:start position:0% +it's not paired. It's not connected." + + +00:19:33.840 --> 00:19:35.430 align:start position:0% +it's not paired. It's not connected." +And<00:19:34.000> then<00:19:34.080> we<00:19:34.240> can<00:19:34.400> run<00:19:34.559> the<00:19:34.720> pairing<00:19:35.039> command. + +00:19:35.430 --> 00:19:35.440 align:start position:0% +And then we can run the pairing command. + + +00:19:35.440 --> 00:19:36.789 align:start position:0% +And then we can run the pairing command. +All<00:19:35.520> right.<00:19:35.760> So,<00:19:35.919> this<00:19:36.160> works<00:19:36.320> and<00:19:36.559> I<00:19:36.720> just + +00:19:36.789 --> 00:19:36.799 align:start position:0% +All right. So, this works and I just + + +00:19:36.799 --> 00:19:38.310 align:start position:0% +All right. So, this works and I just +typed<00:19:37.120> hi<00:19:37.280> and<00:19:37.440> you<00:19:37.600> can<00:19:37.679> see<00:19:37.760> that<00:19:37.919> it<00:19:38.160> now + +00:19:38.310 --> 00:19:38.320 align:start position:0% +typed hi and you can see that it now + + +00:19:38.320 --> 00:19:39.750 align:start position:0% +typed hi and you can see that it now +gives<00:19:38.559> me<00:19:38.720> this.<00:19:39.039> So,<00:19:39.200> I'm<00:19:39.360> just<00:19:39.520> going<00:19:39.600> to + +00:19:39.750 --> 00:19:39.760 align:start position:0% +gives me this. So, I'm just going to + + +00:19:39.760 --> 00:19:41.909 align:start position:0% +gives me this. So, I'm just going to +copy<00:19:40.080> this<00:19:40.400> code<00:19:40.640> here<00:19:40.960> and<00:19:41.200> I'm<00:19:41.360> going<00:19:41.440> to<00:19:41.520> say + +00:19:41.909 --> 00:19:41.919 align:start position:0% +copy this code here and I'm going to say + + +00:19:41.919 --> 00:19:45.830 align:start position:0% +copy this code here and I'm going to say +I<00:19:42.240> got<00:19:43.120> this,<00:19:44.080> you<00:19:44.320> know,<00:19:44.640> pair<00:19:44.880> it<00:19:45.280> whatever + +00:19:45.830 --> 00:19:45.840 align:start position:0% +I got this, you know, pair it whatever + + +00:19:45.840 --> 00:19:47.510 align:start position:0% +I got this, you know, pair it whatever +and<00:19:46.080> just<00:19:46.240> paste<00:19:46.480> the<00:19:46.720> information<00:19:47.039> in<00:19:47.280> and + +00:19:47.510 --> 00:19:47.520 align:start position:0% +and just paste the information in and + + +00:19:47.520 --> 00:19:48.630 align:start position:0% +and just paste the information in and +hopefully<00:19:47.840> we'll<00:19:48.000> be<00:19:48.080> able<00:19:48.240> to<00:19:48.400> run<00:19:48.559> the + +00:19:48.630 --> 00:19:48.640 align:start position:0% +hopefully we'll be able to run the + + +00:19:48.640 --> 00:19:49.909 align:start position:0% +hopefully we'll be able to run the +pairing<00:19:49.039> command<00:19:49.280> and<00:19:49.440> then<00:19:49.600> we'll<00:19:49.760> be + +00:19:49.909 --> 00:19:49.919 align:start position:0% +pairing command and then we'll be + + +00:19:49.919 --> 00:19:51.270 align:start position:0% +pairing command and then we'll be +connected<00:19:50.240> with<00:19:50.400> Telegram.<00:19:50.960> All<00:19:50.960> right,<00:19:51.120> so + +00:19:51.270 --> 00:19:51.280 align:start position:0% +connected with Telegram. All right, so + + +00:19:51.280 --> 00:19:52.710 align:start position:0% +connected with Telegram. All right, so +it<00:19:51.360> said<00:19:51.520> the<00:19:51.679> pairing<00:19:51.919> was<00:19:52.080> approved.<00:19:52.559> What + +00:19:52.710 --> 00:19:52.720 align:start position:0% +it said the pairing was approved. What + + +00:19:52.720 --> 00:19:55.029 align:start position:0% +it said the pairing was approved. What +I'm<00:19:52.799> going<00:19:52.880> to<00:19:52.960> do<00:19:53.039> now<00:19:53.200> is<00:19:53.360> just<00:19:53.679> take<00:19:54.080> type<00:19:54.400> hi + +00:19:55.029 --> 00:19:55.039 align:start position:0% +I'm going to do now is just take type hi + + +00:19:55.039 --> 00:19:56.630 align:start position:0% +I'm going to do now is just take type hi +and<00:19:55.280> see<00:19:55.440> if<00:19:55.520> we<00:19:55.679> get<00:19:55.760> a<00:19:56.000> response<00:19:56.320> from<00:19:56.480> the + +00:19:56.630 --> 00:19:56.640 align:start position:0% +and see if we get a response from the + + +00:19:56.640 --> 00:19:58.150 align:start position:0% +and see if we get a response from the +bot<00:19:56.960> and<00:19:57.120> then<00:19:57.280> from<00:19:57.440> this<00:19:57.600> point<00:19:57.760> forward + +00:19:58.150 --> 00:19:58.160 align:start position:0% +bot and then from this point forward + + +00:19:58.160 --> 00:19:59.430 align:start position:0% +bot and then from this point forward +we're<00:19:58.320> able<00:19:58.480> just<00:19:58.720> directly<00:19:59.039> to<00:19:59.200> use + +00:19:59.430 --> 00:19:59.440 align:start position:0% +we're able just directly to use + + +00:19:59.440 --> 00:20:00.870 align:start position:0% +we're able just directly to use +telegram.<00:20:00.000> Okay,<00:20:00.160> so<00:20:00.320> it<00:20:00.400> says<00:20:00.559> we're<00:20:00.720> using + +00:20:00.870 --> 00:20:00.880 align:start position:0% +telegram. Okay, so it says we're using + + +00:20:00.880 --> 00:20:03.430 align:start position:0% +telegram. Okay, so it says we're using +Opus<00:20:01.280> 4.6.<00:20:01.919> Hey,<00:20:02.160> Telegram<00:20:02.640> is<00:20:02.799> connected. + +00:20:03.430 --> 00:20:03.440 align:start position:0% +Opus 4.6. Hey, Telegram is connected. + + +00:20:03.440 --> 00:20:05.110 align:start position:0% +Opus 4.6. Hey, Telegram is connected. +What<00:20:03.520> do<00:20:03.600> you<00:20:03.760> want<00:20:03.840> me<00:20:04.000> to<00:20:04.080> do<00:20:04.240> next?<00:20:04.720> Perfect. + +00:20:05.110 --> 00:20:05.120 align:start position:0% +What do you want me to do next? Perfect. + + +00:20:05.120 --> 00:20:06.870 align:start position:0% +What do you want me to do next? Perfect. +So<00:20:05.360> that<00:20:05.600> is<00:20:05.760> exactly<00:20:06.160> what<00:20:06.400> I<00:20:06.559> was<00:20:06.720> looking + +00:20:06.870 --> 00:20:06.880 align:start position:0% +So that is exactly what I was looking + + +00:20:06.880 --> 00:20:09.350 align:start position:0% +So that is exactly what I was looking +for.<00:20:07.440> So<00:20:07.679> now<00:20:08.240> rather<00:20:08.559> than<00:20:08.720> me<00:20:08.880> having<00:20:09.200> to + +00:20:09.350 --> 00:20:09.360 align:start position:0% +for. So now rather than me having to + + +00:20:09.360 --> 00:20:11.669 align:start position:0% +for. So now rather than me having to +type<00:20:09.679> out<00:20:09.840> all<00:20:10.000> of<00:20:10.160> the<00:20:10.320> prompts,<00:20:10.960> I<00:20:11.200> do<00:20:11.440> want + +00:20:11.669 --> 00:20:11.679 align:start position:0% +type out all of the prompts, I do want + + +00:20:11.679 --> 00:20:13.830 align:start position:0% +type out all of the prompts, I do want +the<00:20:11.919> ability<00:20:12.320> to<00:20:12.559> actually<00:20:12.799> just<00:20:13.120> speak<00:20:13.440> them. + +00:20:13.830 --> 00:20:13.840 align:start position:0% +the ability to actually just speak them. + + +00:20:13.840 --> 00:20:17.590 align:start position:0% +the ability to actually just speak them. +So<00:20:14.000> I'm<00:20:14.160> going<00:20:14.240> to<00:20:14.320> tell<00:20:14.480> it<00:20:15.039> enable<00:20:16.080> speech<00:20:16.720> to + +00:20:17.590 --> 00:20:17.600 align:start position:0% +So I'm going to tell it enable speech to + + +00:20:17.600 --> 00:20:21.590 align:start position:0% +So I'm going to tell it enable speech to +text<00:20:18.080> so<00:20:18.320> you<00:20:18.640> can<00:20:19.200> transcribe<00:20:20.640> my<00:20:21.039> audio + +00:20:21.590 --> 00:20:21.600 align:start position:0% +text so you can transcribe my audio + + +00:20:21.600 --> 00:20:23.909 align:start position:0% +text so you can transcribe my audio +messages.<00:20:22.480> Because<00:20:22.799> by<00:20:23.120> default,<00:20:23.520> if<00:20:23.679> I<00:20:23.840> send + +00:20:23.909 --> 00:20:23.919 align:start position:0% +messages. Because by default, if I send + + +00:20:23.919 --> 00:20:25.350 align:start position:0% +messages. Because by default, if I send +this<00:20:24.080> an<00:20:24.240> audio<00:20:24.480> message,<00:20:24.799> it's<00:20:24.960> not<00:20:25.120> going<00:20:25.200> to + +00:20:25.350 --> 00:20:25.360 align:start position:0% +this an audio message, it's not going to + + +00:20:25.360 --> 00:20:26.789 align:start position:0% +this an audio message, it's not going to +understand<00:20:25.760> it.<00:20:26.160> So<00:20:26.240> I'm<00:20:26.400> just<00:20:26.559> going<00:20:26.640> to<00:20:26.720> tell + +00:20:26.789 --> 00:20:26.799 align:start position:0% +understand it. So I'm just going to tell + + +00:20:26.799 --> 00:20:28.470 align:start position:0% +understand it. So I'm just going to tell +it,<00:20:27.039> hey,<00:20:27.280> you<00:20:27.360> know,<00:20:27.520> add<00:20:27.760> that<00:20:27.919> tool,<00:20:28.320> add + +00:20:28.470 --> 00:20:28.480 align:start position:0% +it, hey, you know, add that tool, add + + +00:20:28.480 --> 00:20:30.710 align:start position:0% +it, hey, you know, add that tool, add +that<00:20:28.720> skill,<00:20:29.039> and<00:20:29.280> set<00:20:29.520> yourself<00:20:29.840> up.<00:20:30.400> Now + +00:20:30.710 --> 00:20:30.720 align:start position:0% +that skill, and set yourself up. Now + + +00:20:30.720 --> 00:20:32.230 align:start position:0% +that skill, and set yourself up. Now +while<00:20:30.960> it<00:20:31.120> does<00:20:31.280> that<00:20:31.520> I<00:20:31.679> will<00:20:31.760> just<00:20:31.919> quickly + +00:20:32.230 --> 00:20:32.240 align:start position:0% +while it does that I will just quickly + + +00:20:32.240 --> 00:20:34.710 align:start position:0% +while it does that I will just quickly +mention<00:20:32.640> right<00:20:33.039> that<00:20:33.360> the<00:20:33.760> thing<00:20:34.000> that<00:20:34.400> makes + +00:20:34.710 --> 00:20:34.720 align:start position:0% +mention right that the thing that makes + + +00:20:34.720 --> 00:20:37.510 align:start position:0% +mention right that the thing that makes +this<00:20:35.039> bot<00:20:35.440> useful<00:20:36.159> is<00:20:36.480> skills.<00:20:37.120> So<00:20:37.280> if<00:20:37.440> you + +00:20:37.510 --> 00:20:37.520 align:start position:0% +this bot useful is skills. So if you + + +00:20:37.520 --> 00:20:39.830 align:start position:0% +this bot useful is skills. So if you +press<00:20:37.760> on<00:20:38.000> skills<00:20:38.400> here<00:20:38.640> in<00:20:39.039> the<00:20:39.440> uh<00:20:39.600> what<00:20:39.760> do + +00:20:39.830 --> 00:20:39.840 align:start position:0% +press on skills here in the uh what do + + +00:20:39.840 --> 00:20:41.830 align:start position:0% +press on skills here in the uh what do +you<00:20:39.919> call<00:20:40.000> it<00:20:40.240> claw<00:20:40.640> dashboard<00:20:41.120> or<00:20:41.520> you<00:20:41.679> know + +00:20:41.830 --> 00:20:41.840 align:start position:0% +you call it claw dashboard or you know + + +00:20:41.840 --> 00:20:43.110 align:start position:0% +you call it claw dashboard or you know +gateway<00:20:42.240> dashboard<00:20:42.640> whatever<00:20:42.799> you<00:20:42.960> want<00:20:43.039> to + +00:20:43.110 --> 00:20:43.120 align:start position:0% +gateway dashboard whatever you want to + + +00:20:43.120 --> 00:20:44.789 align:start position:0% +gateway dashboard whatever you want to +call<00:20:43.200> it<00:20:43.600> you'll<00:20:43.760> see<00:20:43.919> there's<00:20:44.159> this<00:20:44.480> long + +00:20:44.789 --> 00:20:44.799 align:start position:0% +call it you'll see there's this long + + +00:20:44.799 --> 00:20:47.510 align:start position:0% +call it you'll see there's this long +list<00:20:45.039> of<00:20:45.440> default<00:20:46.080> kind<00:20:46.240> of<00:20:46.400> built-in<00:20:46.960> skills + +00:20:47.510 --> 00:20:47.520 align:start position:0% +list of default kind of built-in skills + + +00:20:47.520 --> 00:20:49.909 align:start position:0% +list of default kind of built-in skills +that<00:20:47.760> you<00:20:48.000> can<00:20:48.080> install<00:20:48.720> and<00:20:49.039> configure.<00:20:49.600> Now + +00:20:49.909 --> 00:20:49.919 align:start position:0% +that you can install and configure. Now + + +00:20:49.919 --> 00:20:51.669 align:start position:0% +that you can install and configure. Now +skills<00:20:50.320> usually<00:20:50.720> contain<00:20:51.200> some<00:20:51.440> kind<00:20:51.520> of + +00:20:51.669 --> 00:20:51.679 align:start position:0% +skills usually contain some kind of + + +00:20:51.679 --> 00:20:53.510 align:start position:0% +skills usually contain some kind of +underlying<00:20:52.320> software<00:20:52.799> as<00:20:53.039> well<00:20:53.120> as<00:20:53.280> a + +00:20:53.510 --> 00:20:53.520 align:start position:0% +underlying software as well as a + + +00:20:53.520 --> 00:20:56.789 align:start position:0% +underlying software as well as a +markdown<00:20:54.080> file<00:20:54.720> that<00:20:55.200> explains<00:20:55.840> to<00:20:56.159> the<00:20:56.480> model + +00:20:56.789 --> 00:20:56.799 align:start position:0% +markdown file that explains to the model + + +00:20:56.799 --> 00:20:58.950 align:start position:0% +markdown file that explains to the model +in<00:20:56.960> this<00:20:57.120> case<00:20:57.360> open<00:20:57.679> claw<00:20:58.159> how<00:20:58.320> to<00:20:58.559> actually + +00:20:58.950 --> 00:20:58.960 align:start position:0% +in this case open claw how to actually + + +00:20:58.960 --> 00:21:01.830 align:start position:0% +in this case open claw how to actually +use<00:20:59.200> the<00:20:59.520> skill.<00:21:00.240> So<00:21:00.720> go<00:21:00.960> through<00:21:01.200> here<00:21:01.520> have<00:21:01.679> a + +00:21:01.830 --> 00:21:01.840 align:start position:0% +use the skill. So go through here have a + + +00:21:01.840 --> 00:21:03.350 align:start position:0% +use the skill. So go through here have a +look<00:21:01.919> at<00:21:02.080> some<00:21:02.240> skills<00:21:02.559> that<00:21:02.720> are<00:21:02.880> useful<00:21:03.120> to + +00:21:03.350 --> 00:21:03.360 align:start position:0% +look at some skills that are useful to + + +00:21:03.360 --> 00:21:05.350 align:start position:0% +look at some skills that are useful to +yourself<00:21:03.679> and<00:21:03.919> you<00:21:04.159> can<00:21:04.400> disable<00:21:04.799> them<00:21:04.960> or<00:21:05.200> you + +00:21:05.350 --> 00:21:05.360 align:start position:0% +yourself and you can disable them or you + + +00:21:05.360 --> 00:21:06.870 align:start position:0% +yourself and you can disable them or you +can<00:21:05.440> install<00:21:05.840> them.<00:21:06.080> Sometimes<00:21:06.480> again<00:21:06.720> you + +00:21:06.870 --> 00:21:06.880 align:start position:0% +can install them. Sometimes again you + + +00:21:06.880 --> 00:21:08.390 align:start position:0% +can install them. Sometimes again you +need<00:21:07.039> some<00:21:07.280> command,<00:21:07.760> right?<00:21:08.000> And<00:21:08.159> I'll<00:21:08.320> show + +00:21:08.390 --> 00:21:08.400 align:start position:0% +need some command, right? And I'll show + + +00:21:08.400 --> 00:21:10.310 align:start position:0% +need some command, right? And I'll show +you<00:21:08.640> installing<00:21:09.039> some<00:21:09.200> of<00:21:09.280> them<00:21:09.440> in<00:21:09.600> a<00:21:09.760> second. + +00:21:10.310 --> 00:21:10.320 align:start position:0% +you installing some of them in a second. + + +00:21:10.320 --> 00:21:12.070 align:start position:0% +you installing some of them in a second. +But<00:21:10.480> when<00:21:10.640> we<00:21:10.799> tell<00:21:10.960> this,<00:21:11.280> hey,<00:21:11.520> we<00:21:11.760> want<00:21:11.840> to + +00:21:12.070 --> 00:21:12.080 align:start position:0% +But when we tell this, hey, we want to + + +00:21:12.080 --> 00:21:13.990 align:start position:0% +But when we tell this, hey, we want to +be<00:21:12.159> able<00:21:12.400> to<00:21:12.799> speak<00:21:13.039> to<00:21:13.200> you.<00:21:13.600> What<00:21:13.840> we're + +00:21:13.990 --> 00:21:14.000 align:start position:0% +be able to speak to you. What we're + + +00:21:14.000 --> 00:21:15.990 align:start position:0% +be able to speak to you. What we're +effectively<00:21:14.559> telling<00:21:14.720> it<00:21:14.880> to<00:21:15.039> do<00:21:15.200> is<00:21:15.440> create<00:21:15.679> a + +00:21:15.990 --> 00:21:16.000 align:start position:0% +effectively telling it to do is create a + + +00:21:16.000 --> 00:21:18.070 align:start position:0% +effectively telling it to do is create a +new<00:21:16.240> skill<00:21:16.799> that<00:21:17.039> will<00:21:17.200> allow<00:21:17.440> it<00:21:17.679> to + +00:21:18.070 --> 00:21:18.080 align:start position:0% +new skill that will allow it to + + +00:21:18.080 --> 00:21:20.549 align:start position:0% +new skill that will allow it to +transcribe<00:21:18.799> audio<00:21:19.280> messages.<00:21:20.080> So,<00:21:20.320> I'm<00:21:20.480> going + +00:21:20.549 --> 00:21:20.559 align:start position:0% +transcribe audio messages. So, I'm going + + +00:21:20.559 --> 00:21:21.909 align:start position:0% +transcribe audio messages. So, I'm going +to<00:21:20.640> go<00:21:20.799> here<00:21:20.960> and<00:21:21.039> it<00:21:21.200> says<00:21:21.360> we<00:21:21.520> can<00:21:21.679> enable + +00:21:21.909 --> 00:21:21.919 align:start position:0% +to go here and it says we can enable + + +00:21:21.919 --> 00:21:23.350 align:start position:0% +to go here and it says we can enable +audio<00:21:22.320> transcription,<00:21:22.799> but<00:21:23.039> you<00:21:23.120> need<00:21:23.200> to + +00:21:23.350 --> 00:21:23.360 align:start position:0% +audio transcription, but you need to + + +00:21:23.360 --> 00:21:25.110 align:start position:0% +audio transcription, but you need to +pick<00:21:23.520> a<00:21:23.760> transcription<00:21:24.320> provider.<00:21:24.880> The + +00:21:25.110 --> 00:21:25.120 align:start position:0% +pick a transcription provider. The + + +00:21:25.120 --> 00:21:26.390 align:start position:0% +pick a transcription provider. The +config<00:21:25.520> schema<00:21:26.000> supports + +00:21:26.390 --> 00:21:26.400 align:start position:0% +config schema supports + + +00:21:26.400 --> 00:21:28.230 align:start position:0% +config schema supports +tools.mmedia.audio + +00:21:28.230 --> 00:21:28.240 align:start position:0% +tools.mmedia.audio + + +00:21:28.240 --> 00:21:31.750 align:start position:0% +tools.mmedia.audio +uh<00:21:28.320> deepgram<00:21:28.960> openai.<00:21:29.840> I'm<00:21:30.000> going<00:21:30.080> to<00:21:30.240> say<00:21:31.360> use + +00:21:31.750 --> 00:21:31.760 align:start position:0% +uh deepgram openai. I'm going to say use + + +00:21:31.760 --> 00:21:35.669 align:start position:0% +uh deepgram openai. I'm going to say use +whatever<00:21:33.120> the<00:21:33.600> default<00:21:34.080> is + +00:21:35.669 --> 00:21:35.679 align:start position:0% +whatever the default is + + +00:21:35.679 --> 00:21:37.830 align:start position:0% +whatever the default is +that<00:21:36.000> doesn't + +00:21:37.830 --> 00:21:37.840 align:start position:0% +that doesn't + + +00:21:37.840 --> 00:21:42.070 align:start position:0% +that doesn't +okay<00:21:38.159> say<00:21:38.480> doesn't<00:21:39.600> require<00:21:40.159> a<00:21:40.480> new<00:21:41.120> key. + +00:21:42.070 --> 00:21:42.080 align:start position:0% +okay say doesn't require a new key. + + +00:21:42.080 --> 00:21:43.750 align:start position:0% +okay say doesn't require a new key. +Perfect.<00:21:42.559> And<00:21:42.720> then<00:21:42.960> that<00:21:43.280> should<00:21:43.440> enable + +00:21:43.750 --> 00:21:43.760 align:start position:0% +Perfect. And then that should enable + + +00:21:43.760 --> 00:21:45.990 align:start position:0% +Perfect. And then that should enable +voice<00:21:44.080> mode<00:21:44.320> for<00:21:44.559> us.<00:21:45.200> Okay.<00:21:45.440> So<00:21:45.520> you<00:21:45.679> can<00:21:45.760> see + +00:21:45.990 --> 00:21:46.000 align:start position:0% +voice mode for us. Okay. So you can see + + +00:21:46.000 --> 00:21:47.190 align:start position:0% +voice mode for us. Okay. So you can see +even<00:21:46.159> though<00:21:46.240> it<00:21:46.400> was<00:21:46.480> kind<00:21:46.640> of<00:21:46.720> lying<00:21:46.880> to<00:21:47.039> us + +00:21:47.190 --> 00:21:47.200 align:start position:0% +even though it was kind of lying to us + + +00:21:47.200 --> 00:21:48.630 align:start position:0% +even though it was kind of lying to us +before<00:21:47.440> and<00:21:47.679> saying<00:21:47.840> hey<00:21:48.080> you<00:21:48.159> know<00:21:48.240> I<00:21:48.400> need<00:21:48.480> to + +00:21:48.630 --> 00:21:48.640 align:start position:0% +before and saying hey you know I need to + + +00:21:48.640 --> 00:21:50.149 align:start position:0% +before and saying hey you know I need to +provide<00:21:48.960> open<00:21:49.200> AAI<00:21:49.520> key<00:21:49.760> whatever<00:21:50.000> I<00:21:50.080> just + +00:21:50.149 --> 00:21:50.159 align:start position:0% +provide open AAI key whatever I just + + +00:21:50.159 --> 00:21:51.510 align:start position:0% +provide open AAI key whatever I just +told<00:21:50.320> it<00:21:50.480> no<00:21:50.720> you<00:21:50.880> don't<00:21:50.960> need<00:21:51.039> that<00:21:51.200> because<00:21:51.360> I + +00:21:51.510 --> 00:21:51.520 align:start position:0% +told it no you don't need that because I + + +00:21:51.520 --> 00:21:53.590 align:start position:0% +told it no you don't need that because I +know<00:21:51.600> it<00:21:51.760> can<00:21:51.919> do<00:21:52.000> it<00:21:52.159> by<00:21:52.400> default<00:21:52.960> and<00:21:53.200> it<00:21:53.360> said + +00:21:53.590 --> 00:21:53.600 align:start position:0% +know it can do it by default and it said + + +00:21:53.600 --> 00:21:55.110 align:start position:0% +know it can do it by default and it said +we<00:21:53.679> can<00:21:53.760> now<00:21:53.919> send<00:21:54.159> an<00:21:54.320> audio<00:21:54.559> message.<00:21:54.960> So + +00:21:55.110 --> 00:21:55.120 align:start position:0% +we can now send an audio message. So + + +00:21:55.120 --> 00:21:56.870 align:start position:0% +we can now send an audio message. So +let's<00:21:55.280> test<00:21:55.520> this.<00:21:55.919> Hey<00:21:56.240> so<00:21:56.400> I'm<00:21:56.559> just<00:21:56.720> sending + +00:21:56.870 --> 00:21:56.880 align:start position:0% +let's test this. Hey so I'm just sending + + +00:21:56.880 --> 00:21:58.549 align:start position:0% +let's test this. Hey so I'm just sending +an<00:21:57.039> audio<00:21:57.360> message.<00:21:57.760> Can<00:21:57.919> you<00:21:58.080> tell<00:21:58.240> me<00:21:58.400> what + +00:21:58.549 --> 00:21:58.559 align:start position:0% +an audio message. Can you tell me what + + +00:21:58.559 --> 00:22:00.230 align:start position:0% +an audio message. Can you tell me what +this<00:21:58.720> audio<00:21:59.039> message<00:21:59.440> says?<00:21:59.840> Make<00:22:00.000> sure<00:22:00.080> that + +00:22:00.230 --> 00:22:00.240 align:start position:0% +this audio message says? Make sure that + + +00:22:00.240 --> 00:22:01.990 align:start position:0% +this audio message says? Make sure that +you<00:22:00.400> can<00:22:00.559> transcribe<00:22:01.039> it<00:22:01.280> correctly<00:22:01.600> and<00:22:01.840> that + +00:22:01.990 --> 00:22:02.000 align:start position:0% +you can transcribe it correctly and that + + +00:22:02.000 --> 00:22:04.149 align:start position:0% +you can transcribe it correctly and that +you<00:22:02.159> can<00:22:02.320> understand<00:22:02.640> my<00:22:02.960> accent.<00:22:03.679> Just<00:22:03.919> give + +00:22:04.149 --> 00:22:04.159 align:start position:0% +you can understand my accent. Just give + + +00:22:04.159 --> 00:22:05.990 align:start position:0% +you can understand my accent. Just give +me<00:22:04.320> back<00:22:04.640> exactly<00:22:05.039> what<00:22:05.200> I<00:22:05.280> said<00:22:05.440> in<00:22:05.600> the<00:22:05.679> audio + +00:22:05.990 --> 00:22:06.000 align:start position:0% +me back exactly what I said in the audio + + +00:22:06.000 --> 00:22:07.990 align:start position:0% +me back exactly what I said in the audio +message. + +00:22:07.990 --> 00:22:08.000 align:start position:0% +message. + + +00:22:08.000 --> 00:22:10.549 align:start position:0% +message. +Okay.<00:22:08.559> Perfect.<00:22:09.039> and<00:22:09.520> it<00:22:09.840> should<00:22:10.080> be<00:22:10.240> able<00:22:10.400> to + +00:22:10.549 --> 00:22:10.559 align:start position:0% +Okay. Perfect. and it should be able to + + +00:22:10.559 --> 00:22:12.470 align:start position:0% +Okay. Perfect. and it should be able to +understand<00:22:10.880> this<00:22:11.039> now<00:22:11.280> and<00:22:11.520> transcribe<00:22:12.000> it. + +00:22:12.470 --> 00:22:12.480 align:start position:0% +understand this now and transcribe it. + + +00:22:12.480 --> 00:22:13.990 align:start position:0% +understand this now and transcribe it. +Let's<00:22:12.640> see<00:22:12.799> if<00:22:12.880> that<00:22:13.120> works.<00:22:13.520> All<00:22:13.600> right,<00:22:13.760> so + +00:22:13.990 --> 00:22:14.000 align:start position:0% +Let's see if that works. All right, so + + +00:22:14.000 --> 00:22:15.270 align:start position:0% +Let's see if that works. All right, so +this<00:22:14.159> is<00:22:14.240> being<00:22:14.400> a<00:22:14.559> little<00:22:14.720> bit<00:22:14.880> annoying + +00:22:15.270 --> 00:22:15.280 align:start position:0% +this is being a little bit annoying + + +00:22:15.280 --> 00:22:16.789 align:start position:0% +this is being a little bit annoying +here.<00:22:15.679> Let's<00:22:15.840> just<00:22:16.080> bring<00:22:16.159> it<00:22:16.320> back.<00:22:16.480> And<00:22:16.640> it's + +00:22:16.789 --> 00:22:16.799 align:start position:0% +here. Let's just bring it back. And it's + + +00:22:16.799 --> 00:22:18.310 align:start position:0% +here. Let's just bring it back. And it's +telling<00:22:16.960> me,<00:22:17.200> hey,<00:22:17.360> there's<00:22:17.600> no<00:22:17.840> model<00:22:18.159> even + +00:22:18.310 --> 00:22:18.320 align:start position:0% +telling me, hey, there's no model even + + +00:22:18.320 --> 00:22:19.990 align:start position:0% +telling me, hey, there's no model even +though<00:22:18.480> it<00:22:18.640> said<00:22:18.799> it<00:22:19.039> used<00:22:19.280> the<00:22:19.520> model<00:22:19.679> and<00:22:19.840> it + +00:22:19.990 --> 00:22:20.000 align:start position:0% +though it said it used the model and it + + +00:22:20.000 --> 00:22:21.590 align:start position:0% +though it said it used the model and it +set<00:22:20.159> it<00:22:20.240> up.<00:22:20.400> So<00:22:20.559> I'm<00:22:20.720> just<00:22:20.880> going<00:22:20.960> to<00:22:21.039> tell<00:22:21.120> it + +00:22:21.590 --> 00:22:21.600 align:start position:0% +set it up. So I'm just going to tell it + + +00:22:21.600 --> 00:22:23.190 align:start position:0% +set it up. So I'm just going to tell it +install<00:22:22.000> whisper<00:22:22.320> locally<00:22:22.720> to<00:22:22.880> convert + +00:22:23.190 --> 00:22:23.200 align:start position:0% +install whisper locally to convert + + +00:22:23.200 --> 00:22:25.510 align:start position:0% +install whisper locally to convert +speech<00:22:23.440> to<00:22:23.679> text.<00:22:24.320> That<00:22:24.640> should<00:22:24.960> set<00:22:25.200> up<00:22:25.360> for + +00:22:25.510 --> 00:22:25.520 align:start position:0% +speech to text. That should set up for + + +00:22:25.520 --> 00:22:27.590 align:start position:0% +speech to text. That should set up for +us<00:22:25.760> and<00:22:26.159> get<00:22:26.320> it<00:22:26.559> working.<00:22:26.880> Again,<00:22:27.360> I'm + +00:22:27.590 --> 00:22:27.600 align:start position:0% +us and get it working. Again, I'm + + +00:22:27.600 --> 00:22:28.870 align:start position:0% +us and get it working. Again, I'm +showing<00:22:27.840> you<00:22:28.000> the<00:22:28.159> process.<00:22:28.480> This<00:22:28.640> is<00:22:28.720> what + +00:22:28.870 --> 00:22:28.880 align:start position:0% +showing you the process. This is what + + +00:22:28.880 --> 00:22:29.669 align:start position:0% +showing you the process. This is what +happens<00:22:29.120> when<00:22:29.280> you're<00:22:29.440> working<00:22:29.520> with + +00:22:29.669 --> 00:22:29.679 align:start position:0% +happens when you're working with + + +00:22:29.679 --> 00:22:31.990 align:start position:0% +happens when you're working with +OpenClaw.<00:22:30.559> Sometimes<00:22:31.120> stuff<00:22:31.440> breaks<00:22:31.679> and<00:22:31.840> you + +00:22:31.990 --> 00:22:32.000 align:start position:0% +OpenClaw. Sometimes stuff breaks and you + + +00:22:32.000 --> 00:22:33.350 align:start position:0% +OpenClaw. Sometimes stuff breaks and you +have<00:22:32.080> to<00:22:32.159> do<00:22:32.240> a<00:22:32.320> bit<00:22:32.400> of<00:22:32.480> problem<00:22:32.720> solving. + +00:22:33.350 --> 00:22:33.360 align:start position:0% +have to do a bit of problem solving. + + +00:22:33.360 --> 00:22:34.789 align:start position:0% +have to do a bit of problem solving. +Okay,<00:22:33.600> so<00:22:33.760> it<00:22:33.919> said<00:22:34.080> that<00:22:34.240> it's<00:22:34.480> installed + +00:22:34.789 --> 00:22:34.799 align:start position:0% +Okay, so it said that it's installed + + +00:22:34.799 --> 00:22:36.310 align:start position:0% +Okay, so it said that it's installed +this<00:22:34.960> now<00:22:35.120> and<00:22:35.280> it's<00:22:35.440> just<00:22:35.600> asking<00:22:35.840> me<00:22:36.000> if<00:22:36.159> I + +00:22:36.310 --> 00:22:36.320 align:start position:0% +this now and it's just asking me if I + + +00:22:36.320 --> 00:22:38.470 align:start position:0% +this now and it's just asking me if I +want<00:22:36.480> better<00:22:36.720> accuracy<00:22:37.360> or<00:22:37.600> for<00:22:37.919> it<00:22:38.080> to<00:22:38.320> be + +00:22:38.470 --> 00:22:38.480 align:start position:0% +want better accuracy or for it to be + + +00:22:38.480 --> 00:22:41.029 align:start position:0% +want better accuracy or for it to be +faster.<00:22:38.960> So<00:22:39.120> I'm<00:22:39.280> just<00:22:39.440> going<00:22:39.520> to<00:22:39.679> type<00:22:40.080> bass + +00:22:41.029 --> 00:22:41.039 align:start position:0% +faster. So I'm just going to type bass + + +00:22:41.039 --> 00:22:42.950 align:start position:0% +faster. So I'm just going to type bass +and<00:22:41.360> I<00:22:41.679> hope<00:22:41.840> this<00:22:42.080> is<00:22:42.240> going<00:22:42.320> to<00:22:42.480> work.<00:22:42.720> Hey, + +00:22:42.950 --> 00:22:42.960 align:start position:0% +and I hope this is going to work. Hey, + + +00:22:42.960 --> 00:22:44.390 align:start position:0% +and I hope this is going to work. Hey, +I'm<00:22:43.200> doing<00:22:43.280> a<00:22:43.440> test.<00:22:43.679> I<00:22:43.840> want<00:22:43.919> to<00:22:44.000> see<00:22:44.080> if<00:22:44.240> you + +00:22:44.390 --> 00:22:44.400 align:start position:0% +I'm doing a test. I want to see if you + + +00:22:44.400 --> 00:22:46.149 align:start position:0% +I'm doing a test. I want to see if you +can<00:22:44.559> transcribe<00:22:45.039> this<00:22:45.200> audio<00:22:45.600> message.<00:22:46.000> If + +00:22:46.149 --> 00:22:46.159 align:start position:0% +can transcribe this audio message. If + + +00:22:46.159 --> 00:22:47.990 align:start position:0% +can transcribe this audio message. If +so,<00:22:46.480> tell<00:22:46.640> me<00:22:46.799> exactly<00:22:47.039> what<00:22:47.200> it<00:22:47.360> said.<00:22:47.679> Okay, + +00:22:47.990 --> 00:22:48.000 align:start position:0% +so, tell me exactly what it said. Okay, + + +00:22:48.000 --> 00:22:49.830 align:start position:0% +so, tell me exactly what it said. Okay, +and<00:22:48.400> let's<00:22:48.640> see<00:22:48.799> what<00:22:48.960> we<00:22:49.120> get.<00:22:49.360> Okay,<00:22:49.600> so<00:22:49.760> it + +00:22:49.830 --> 00:22:49.840 align:start position:0% +and let's see what we get. Okay, so it + + +00:22:49.840 --> 00:22:50.950 align:start position:0% +and let's see what we get. Okay, so it +looks<00:22:50.000> like<00:22:50.080> the<00:22:50.240> audio<00:22:50.480> message<00:22:50.720> I<00:22:50.880> was + +00:22:50.950 --> 00:22:50.960 align:start position:0% +looks like the audio message I was + + +00:22:50.960 --> 00:22:53.029 align:start position:0% +looks like the audio message I was +sending<00:22:51.200> was<00:22:51.440> blank<00:22:52.080> because<00:22:52.480> I<00:22:52.720> was<00:22:52.880> sending + +00:22:53.029 --> 00:22:53.039 align:start position:0% +sending was blank because I was sending + + +00:22:53.039 --> 00:22:54.630 align:start position:0% +sending was blank because I was sending +it<00:22:53.200> from<00:22:53.440> my<00:22:53.600> computer<00:22:53.840> and<00:22:54.000> I<00:22:54.159> guess<00:22:54.240> my<00:22:54.480> mic + +00:22:54.630 --> 00:22:54.640 align:start position:0% +it from my computer and I guess my mic + + +00:22:54.640 --> 00:22:56.789 align:start position:0% +it from my computer and I guess my mic +is<00:22:54.880> already<00:22:55.120> being<00:22:55.280> used<00:22:55.520> by<00:22:55.760> OBS<00:22:56.159> to<00:22:56.400> record. + +00:22:56.789 --> 00:22:56.799 align:start position:0% +is already being used by OBS to record. + + +00:22:56.799 --> 00:22:58.710 align:start position:0% +is already being used by OBS to record. +So<00:22:56.960> I<00:22:57.120> just<00:22:57.200> sent<00:22:57.360> one<00:22:57.600> from<00:22:57.760> my<00:22:57.919> phone<00:22:58.320> and + +00:22:58.710 --> 00:22:58.720 align:start position:0% +So I just sent one from my phone and + + +00:22:58.720 --> 00:23:00.470 align:start position:0% +So I just sent one from my phone and +hopefully<00:22:58.960> it's<00:22:59.200> going<00:22:59.280> to<00:22:59.360> work<00:22:59.600> now.<00:23:00.240> Let's + +00:23:00.470 --> 00:23:00.480 align:start position:0% +hopefully it's going to work now. Let's + + +00:23:00.480 --> 00:23:02.549 align:start position:0% +hopefully it's going to work now. Let's +see.<00:23:00.960> Awesome.<00:23:01.360> And<00:23:01.600> finally,<00:23:02.080> it<00:23:02.240> looks<00:23:02.480> like + +00:23:02.549 --> 00:23:02.559 align:start position:0% +see. Awesome. And finally, it looks like + + +00:23:02.559 --> 00:23:03.750 align:start position:0% +see. Awesome. And finally, it looks like +it's<00:23:02.799> working.<00:23:03.039> We<00:23:03.200> have<00:23:03.280> voice<00:23:03.520> mode + +00:23:03.750 --> 00:23:03.760 align:start position:0% +it's working. We have voice mode + + +00:23:03.760 --> 00:23:05.750 align:start position:0% +it's working. We have voice mode +enabled.<00:23:04.159> I<00:23:04.400> can<00:23:04.480> now<00:23:04.720> send<00:23:04.960> audio<00:23:05.280> messages + +00:23:05.750 --> 00:23:05.760 align:start position:0% +enabled. I can now send audio messages + + +00:23:05.760 --> 00:23:08.149 align:start position:0% +enabled. I can now send audio messages +for<00:23:06.000> it<00:23:06.320> to<00:23:06.640> transcribe.<00:23:07.600> All<00:23:07.600> right.<00:23:07.840> So,<00:23:08.000> now + +00:23:08.149 --> 00:23:08.159 align:start position:0% +for it to transcribe. All right. So, now + + +00:23:08.159 --> 00:23:10.470 align:start position:0% +for it to transcribe. All right. So, now +that<00:23:08.400> Telegram<00:23:08.880> is<00:23:09.200> configured,<00:23:10.000> what<00:23:10.240> I<00:23:10.400> want + +00:23:10.470 --> 00:23:10.480 align:start position:0% +that Telegram is configured, what I want + + +00:23:10.480 --> 00:23:12.310 align:start position:0% +that Telegram is configured, what I want +to<00:23:10.640> do<00:23:10.799> is<00:23:10.960> I<00:23:11.200> want<00:23:11.280> to<00:23:11.440> start<00:23:11.679> setting<00:23:11.919> up<00:23:12.080> some + +00:23:12.310 --> 00:23:12.320 align:start position:0% +to do is I want to start setting up some + + +00:23:12.320 --> 00:23:14.310 align:start position:0% +to do is I want to start setting up some +different<00:23:12.640> Telegram<00:23:13.280> channels<00:23:13.760> that<00:23:14.000> we<00:23:14.159> can + +00:23:14.310 --> 00:23:14.320 align:start position:0% +different Telegram channels that we can + + +00:23:14.320 --> 00:23:16.470 align:start position:0% +different Telegram channels that we can +chat<00:23:14.720> inside<00:23:15.120> of<00:23:15.440> that<00:23:15.679> are<00:23:15.840> going<00:23:16.000> to<00:23:16.159> allow + +00:23:16.470 --> 00:23:16.480 align:start position:0% +chat inside of that are going to allow + + +00:23:16.480 --> 00:23:18.149 align:start position:0% +chat inside of that are going to allow +us<00:23:16.640> to<00:23:16.880> kind<00:23:17.039> of<00:23:17.200> segregate<00:23:17.760> different<00:23:18.080> things + +00:23:18.149 --> 00:23:18.159 align:start position:0% +us to kind of segregate different things + + +00:23:18.159 --> 00:23:19.669 align:start position:0% +us to kind of segregate different things +that<00:23:18.400> we're<00:23:18.640> talking<00:23:18.880> about.<00:23:19.360> So,<00:23:19.600> for + +00:23:19.669 --> 00:23:19.679 align:start position:0% +that we're talking about. So, for + + +00:23:19.679 --> 00:23:21.510 align:start position:0% +that we're talking about. So, for +example,<00:23:20.000> if<00:23:20.240> I<00:23:20.400> have<00:23:20.480> the<00:23:20.720> bot<00:23:21.120> running<00:23:21.280> as + +00:23:21.510 --> 00:23:21.520 align:start position:0% +example, if I have the bot running as + + +00:23:21.520 --> 00:23:22.950 align:start position:0% +example, if I have the bot running as +like<00:23:21.679> a<00:23:21.840> virtual<00:23:22.159> assistant,<00:23:22.480> but<00:23:22.640> then<00:23:22.799> I + +00:23:22.950 --> 00:23:22.960 align:start position:0% +like a virtual assistant, but then I + + +00:23:22.960 --> 00:23:24.310 align:start position:0% +like a virtual assistant, but then I +also<00:23:23.120> have<00:23:23.280> it<00:23:23.440> running<00:23:23.600> like<00:23:23.760> an<00:23:24.000> accounting + +00:23:24.310 --> 00:23:24.320 align:start position:0% +also have it running like an accounting + + +00:23:24.320 --> 00:23:26.630 align:start position:0% +also have it running like an accounting +task<00:23:24.640> or<00:23:24.880> doing<00:23:25.200> programming,<00:23:26.000> I<00:23:26.240> probably + +00:23:26.630 --> 00:23:26.640 align:start position:0% +task or doing programming, I probably + + +00:23:26.640 --> 00:23:28.789 align:start position:0% +task or doing programming, I probably +don't<00:23:26.880> want<00:23:27.120> all<00:23:27.360> of<00:23:27.520> my<00:23:27.760> messages<00:23:28.240> in<00:23:28.559> one + +00:23:28.789 --> 00:23:28.799 align:start position:0% +don't want all of my messages in one + + +00:23:28.799 --> 00:23:30.230 align:start position:0% +don't want all of my messages in one +channel<00:23:29.360> because<00:23:29.600> that's<00:23:29.840> going<00:23:29.919> to<00:23:30.080> be + +00:23:30.230 --> 00:23:30.240 align:start position:0% +channel because that's going to be + + +00:23:30.240 --> 00:23:31.990 align:start position:0% +channel because that's going to be +pretty<00:23:30.559> difficult<00:23:30.880> to<00:23:31.120> organize<00:23:31.520> and<00:23:31.679> to<00:23:31.840> view + +00:23:31.990 --> 00:23:32.000 align:start position:0% +pretty difficult to organize and to view + + +00:23:32.000 --> 00:23:34.630 align:start position:0% +pretty difficult to organize and to view +the<00:23:32.240> history<00:23:32.559> of.<00:23:33.120> So,<00:23:33.360> what<00:23:33.520> we<00:23:33.760> can<00:23:33.919> do<00:23:34.159> is<00:23:34.400> we + +00:23:34.630 --> 00:23:34.640 align:start position:0% +the history of. So, what we can do is we + + +00:23:34.640 --> 00:23:36.789 align:start position:0% +the history of. So, what we can do is we +can<00:23:34.720> make<00:23:34.880> a<00:23:35.039> new<00:23:35.200> group<00:23:35.520> here<00:23:35.760> in<00:23:36.000> Telegram. + +00:23:36.789 --> 00:23:36.799 align:start position:0% +can make a new group here in Telegram. + + +00:23:36.799 --> 00:23:39.029 align:start position:0% +can make a new group here in Telegram. +So,<00:23:36.960> what<00:23:37.120> I<00:23:37.280> can<00:23:37.360> do<00:23:37.520> is<00:23:37.679> go<00:23:37.919> here,<00:23:38.400> go<00:23:38.720> new + +00:23:39.029 --> 00:23:39.039 align:start position:0% +So, what I can do is go here, go new + + +00:23:39.039 --> 00:23:41.029 align:start position:0% +So, what I can do is go here, go new +group.<00:23:39.679> I<00:23:40.000> can<00:23:40.159> call<00:23:40.320> this,<00:23:40.640> you<00:23:40.799> know, + +00:23:41.029 --> 00:23:41.039 align:start position:0% +group. I can call this, you know, + + +00:23:41.039 --> 00:23:42.710 align:start position:0% +group. I can call this, you know, +startup<00:23:41.440> ideas<00:23:41.840> or<00:23:42.080> whatever<00:23:42.320> the<00:23:42.480> thing<00:23:42.559> is + +00:23:42.710 --> 00:23:42.720 align:start position:0% +startup ideas or whatever the thing is + + +00:23:42.720 --> 00:23:44.549 align:start position:0% +startup ideas or whatever the thing is +that<00:23:42.880> I<00:23:43.039> want<00:23:43.120> to<00:23:43.200> chat<00:23:43.440> about<00:23:43.600> with<00:23:43.760> the<00:23:43.919> bot. + +00:23:44.549 --> 00:23:44.559 align:start position:0% +that I want to chat about with the bot. + + +00:23:44.559 --> 00:23:46.630 align:start position:0% +that I want to chat about with the bot. +So,<00:23:44.720> let's<00:23:44.960> go<00:23:45.200> startup<00:23:45.840> ideas,<00:23:46.400> not + +00:23:46.630 --> 00:23:46.640 align:start position:0% +So, let's go startup ideas, not + + +00:23:46.640 --> 00:23:49.270 align:start position:0% +So, let's go startup ideas, not +channels.<00:23:47.520> And<00:23:47.679> then<00:23:47.919> let's<00:23:48.320> add<00:23:48.559> the<00:23:48.799> bot<00:23:49.120> by + +00:23:49.270 --> 00:23:49.280 align:start position:0% +channels. And then let's add the bot by + + +00:23:49.280 --> 00:23:52.310 align:start position:0% +channels. And then let's add the bot by +just<00:23:49.440> typing<00:23:49.840> in<00:23:50.240> their<00:23:50.640> username.<00:23:51.600> Okay.<00:23:52.159> And + +00:23:52.310 --> 00:23:52.320 align:start position:0% +just typing in their username. Okay. And + + +00:23:52.320 --> 00:23:54.630 align:start position:0% +just typing in their username. Okay. And +go<00:23:52.480> ahead<00:23:52.720> and<00:23:52.960> press<00:23:53.200> on<00:23:53.520> create.<00:23:54.240> So<00:23:54.400> now + +00:23:54.630 --> 00:23:54.640 align:start position:0% +go ahead and press on create. So now + + +00:23:54.640 --> 00:23:55.990 align:start position:0% +go ahead and press on create. So now +what<00:23:54.799> I<00:23:54.960> can<00:23:55.039> do<00:23:55.120> is<00:23:55.200> I<00:23:55.440> can<00:23:55.520> start<00:23:55.679> chatting + +00:23:55.990 --> 00:23:56.000 align:start position:0% +what I can do is I can start chatting + + +00:23:56.000 --> 00:23:57.590 align:start position:0% +what I can do is I can start chatting +with<00:23:56.159> the<00:23:56.320> bot.<00:23:56.640> But<00:23:56.720> in<00:23:56.880> order<00:23:57.039> for<00:23:57.200> this<00:23:57.360> to + +00:23:57.590 --> 00:23:57.600 align:start position:0% +with the bot. But in order for this to + + +00:23:57.600 --> 00:23:59.590 align:start position:0% +with the bot. But in order for this to +work,<00:23:57.919> I<00:23:58.080> do<00:23:58.320> need<00:23:58.400> to<00:23:58.640> manage<00:23:58.880> the<00:23:59.120> group<00:23:59.440> and + +00:23:59.590 --> 00:23:59.600 align:start position:0% +work, I do need to manage the group and + + +00:23:59.600 --> 00:24:01.190 align:start position:0% +work, I do need to manage the group and +I<00:23:59.760> need<00:23:59.919> to<00:24:00.000> give<00:24:00.159> the<00:24:00.320> bot<00:24:00.640> permissions.<00:24:01.120> So + +00:24:01.190 --> 00:24:01.200 align:start position:0% +I need to give the bot permissions. So + + +00:24:01.200 --> 00:24:02.710 align:start position:0% +I need to give the bot permissions. So +I'm<00:24:01.360> just<00:24:01.520> going<00:24:01.600> to<00:24:01.679> right<00:24:01.840> click<00:24:02.080> on<00:24:02.240> the<00:24:02.400> bot + +00:24:02.710 --> 00:24:02.720 align:start position:0% +I'm just going to right click on the bot + + +00:24:02.720 --> 00:24:04.390 align:start position:0% +I'm just going to right click on the bot +here<00:24:02.960> and<00:24:03.200> I'm<00:24:03.360> going<00:24:03.440> to<00:24:03.520> go<00:24:03.679> promote<00:24:04.159> to + +00:24:04.390 --> 00:24:04.400 align:start position:0% +here and I'm going to go promote to + + +00:24:04.400 --> 00:24:06.630 align:start position:0% +here and I'm going to go promote to +admin.<00:24:04.960> And<00:24:05.120> when<00:24:05.280> I<00:24:05.440> promote<00:24:05.760> them<00:24:05.919> to<00:24:06.080> admin, + +00:24:06.630 --> 00:24:06.640 align:start position:0% +admin. And when I promote them to admin, + + +00:24:06.640 --> 00:24:08.310 align:start position:0% +admin. And when I promote them to admin, +I<00:24:06.799> am<00:24:06.960> going<00:24:07.200> to<00:24:07.440> just<00:24:07.679> make<00:24:07.840> sure<00:24:08.000> they<00:24:08.240> have + +00:24:08.310 --> 00:24:08.320 align:start position:0% +I am going to just make sure they have + + +00:24:08.320 --> 00:24:11.190 align:start position:0% +I am going to just make sure they have +the<00:24:08.480> correct<00:24:08.720> permissions<00:24:09.520> and<00:24:09.760> go<00:24:10.159> save.<00:24:10.960> And + +00:24:11.190 --> 00:24:11.200 align:start position:0% +the correct permissions and go save. And + + +00:24:11.200 --> 00:24:13.830 align:start position:0% +the correct permissions and go save. And +now<00:24:11.600> what<00:24:11.840> I<00:24:12.000> can<00:24:12.159> do,<00:24:13.039> wait<00:24:13.360> one<00:24:13.600> second.<00:24:13.760> And + +00:24:13.830 --> 00:24:13.840 align:start position:0% +now what I can do, wait one second. And + + +00:24:13.840 --> 00:24:15.110 align:start position:0% +now what I can do, wait one second. And +let<00:24:14.000> me<00:24:14.080> just<00:24:14.159> look<00:24:14.320> at<00:24:14.400> this<00:24:14.480> cuz<00:24:14.640> it<00:24:14.799> says<00:24:14.960> it + +00:24:15.110 --> 00:24:15.120 align:start position:0% +let me just look at this cuz it says it + + +00:24:15.120 --> 00:24:17.190 align:start position:0% +let me just look at this cuz it says it +has<00:24:15.279> no<00:24:15.520> access<00:24:15.919> or<00:24:16.159> has<00:24:16.400> access<00:24:16.720> to<00:24:16.799> messages. + +00:24:17.190 --> 00:24:17.200 align:start position:0% +has no access or has access to messages. + + +00:24:17.200 --> 00:24:18.950 align:start position:0% +has no access or has access to messages. +Okay,<00:24:17.440> good.<00:24:17.919> I'm<00:24:18.159> going<00:24:18.240> to<00:24:18.320> just<00:24:18.559> tag<00:24:18.799> the + +00:24:18.950 --> 00:24:18.960 align:start position:0% +Okay, good. I'm going to just tag the + + +00:24:18.960 --> 00:24:22.149 align:start position:0% +Okay, good. I'm going to just tag the +bot.<00:24:19.279> So<00:24:19.520> say<00:24:19.760> at<00:24:20.240> Tim<00:24:20.480> Aello. + +00:24:22.149 --> 00:24:22.159 align:start position:0% +bot. So say at Tim Aello. + + +00:24:22.159 --> 00:24:24.070 align:start position:0% +bot. So say at Tim Aello. +Okay.<00:24:22.400> And<00:24:22.640> hopefully<00:24:23.120> it's<00:24:23.440> going<00:24:23.600> to<00:24:23.760> read + +00:24:24.070 --> 00:24:24.080 align:start position:0% +Okay. And hopefully it's going to read + + +00:24:24.080 --> 00:24:25.909 align:start position:0% +Okay. And hopefully it's going to read +something.<00:24:24.559> So<00:24:24.799> it<00:24:24.960> reacted<00:24:25.360> to<00:24:25.440> that<00:24:25.760> showing + +00:24:25.909 --> 00:24:25.919 align:start position:0% +something. So it reacted to that showing + + +00:24:25.919 --> 00:24:27.350 align:start position:0% +something. So it reacted to that showing +us<00:24:26.080> that<00:24:26.240> it<00:24:26.480> saw<00:24:26.640> it.<00:24:26.799> So<00:24:26.960> that's<00:24:27.120> a<00:24:27.279> good + +00:24:27.350 --> 00:24:27.360 align:start position:0% +us that it saw it. So that's a good + + +00:24:27.360 --> 00:24:29.350 align:start position:0% +us that it saw it. So that's a good +sign.<00:24:27.760> Says,<00:24:27.919> "Hey<00:24:28.159> Tim,<00:24:28.559> what's<00:24:28.799> up?" + +00:24:29.350 --> 00:24:29.360 align:start position:0% +sign. Says, "Hey Tim, what's up?" + + +00:24:29.360 --> 00:24:31.430 align:start position:0% +sign. Says, "Hey Tim, what's up?" +Perfect.<00:24:29.919> So<00:24:30.159> now<00:24:30.320> I<00:24:30.559> can<00:24:30.640> chat<00:24:30.880> with<00:24:30.960> the<00:24:31.120> bot + +00:24:31.430 --> 00:24:31.440 align:start position:0% +Perfect. So now I can chat with the bot + + +00:24:31.440 --> 00:24:33.430 align:start position:0% +Perfect. So now I can chat with the bot +directly<00:24:31.840> inside<00:24:32.159> of<00:24:32.320> this<00:24:32.559> channel.<00:24:33.120> And<00:24:33.279> all + +00:24:33.430 --> 00:24:33.440 align:start position:0% +directly inside of this channel. And all + + +00:24:33.440 --> 00:24:34.710 align:start position:0% +directly inside of this channel. And all +I<00:24:33.600> need<00:24:33.679> to<00:24:33.840> do<00:24:33.919> is<00:24:34.080> give<00:24:34.240> the<00:24:34.400> bot + +00:24:34.710 --> 00:24:34.720 align:start position:0% +I need to do is give the bot + + +00:24:34.720 --> 00:24:36.470 align:start position:0% +I need to do is give the bot +instructions<00:24:35.279> to<00:24:35.600> remember<00:24:35.840> that<00:24:36.080> it<00:24:36.320> should + +00:24:36.470 --> 00:24:36.480 align:start position:0% +instructions to remember that it should + + +00:24:36.480 --> 00:24:39.750 align:start position:0% +instructions to remember that it should +only<00:24:36.799> talk<00:24:37.039> about<00:24:37.440> these<00:24:38.080> ideas<00:24:39.039> in<00:24:39.440> this + +00:24:39.750 --> 00:24:39.760 align:start position:0% +only talk about these ideas in this + + +00:24:39.760 --> 00:24:41.430 align:start position:0% +only talk about these ideas in this +particular<00:24:40.240> channel.<00:24:40.880> So,<00:24:41.120> what<00:24:41.279> I'm<00:24:41.440> going + +00:24:41.430 --> 00:24:41.440 align:start position:0% +particular channel. So, what I'm going + + +00:24:41.440 --> 00:24:42.710 align:start position:0% +particular channel. So, what I'm going +to<00:24:41.520> do<00:24:41.679> is<00:24:41.760> I'm<00:24:41.919> just<00:24:42.080> going<00:24:42.080> to<00:24:42.159> do<00:24:42.320> a<00:24:42.480> voice + +00:24:42.710 --> 00:24:42.720 align:start position:0% +to do is I'm just going to do a voice + + +00:24:42.720 --> 00:24:44.630 align:start position:0% +to do is I'm just going to do a voice +transcription<00:24:43.279> here<00:24:43.919> and<00:24:44.159> tell<00:24:44.240> you<00:24:44.400> kind<00:24:44.559> of + +00:24:44.630 --> 00:24:44.640 align:start position:0% +transcription here and tell you kind of + + +00:24:44.640 --> 00:24:47.269 align:start position:0% +transcription here and tell you kind of +how<00:24:44.720> I<00:24:44.960> would<00:24:45.039> instruct<00:24:45.440> this.<00:24:46.640> Hey,<00:24:46.960> so<00:24:47.120> I'm + +00:24:47.269 --> 00:24:47.279 align:start position:0% +how I would instruct this. Hey, so I'm + + +00:24:47.279 --> 00:24:49.110 align:start position:0% +how I would instruct this. Hey, so I'm +going<00:24:47.360> to<00:24:47.440> start<00:24:47.600> adding<00:24:47.919> you<00:24:48.159> to<00:24:48.480> some<00:24:48.799> group + +00:24:49.110 --> 00:24:49.120 align:start position:0% +going to start adding you to some group + + +00:24:49.120 --> 00:24:51.350 align:start position:0% +going to start adding you to some group +chats<00:24:49.520> where<00:24:49.679> it's<00:24:49.919> just<00:24:50.080> you<00:24:50.320> and<00:24:50.559> me.<00:24:51.120> The + +00:24:51.350 --> 00:24:51.360 align:start position:0% +chats where it's just you and me. The + + +00:24:51.360 --> 00:24:52.870 align:start position:0% +chats where it's just you and me. The +name<00:24:51.520> of<00:24:51.679> the<00:24:51.840> group<00:24:52.080> chat<00:24:52.240> or<00:24:52.400> the<00:24:52.559> name<00:24:52.720> of + +00:24:52.870 --> 00:24:52.880 align:start position:0% +name of the group chat or the name of + + +00:24:52.880 --> 00:24:55.510 align:start position:0% +name of the group chat or the name of +the<00:24:53.120> group<00:24:53.600> channel<00:24:54.159> is<00:24:54.480> the<00:24:54.720> topic<00:24:55.120> that<00:24:55.360> I + +00:24:55.510 --> 00:24:55.520 align:start position:0% +the group channel is the topic that I + + +00:24:55.520 --> 00:24:57.830 align:start position:0% +the group channel is the topic that I +want<00:24:55.600> to<00:24:55.840> discuss<00:24:56.159> in<00:24:56.480> that<00:24:56.799> channel.<00:24:57.520> Don't + +00:24:57.830 --> 00:24:57.840 align:start position:0% +want to discuss in that channel. Don't + + +00:24:57.840 --> 00:25:00.149 align:start position:0% +want to discuss in that channel. Don't +talk<00:24:58.080> about<00:24:58.320> anything<00:24:58.720> else<00:24:59.120> and<00:24:59.360> only<00:24:59.840> reply + +00:25:00.149 --> 00:25:00.159 align:start position:0% +talk about anything else and only reply + + +00:25:00.159 --> 00:25:02.710 align:start position:0% +talk about anything else and only reply +or<00:25:00.480> send<00:25:00.640> me<00:25:00.880> messages<00:25:01.600> in<00:25:02.000> the<00:25:02.159> appropriate + +00:25:02.710 --> 00:25:02.720 align:start position:0% +or send me messages in the appropriate + + +00:25:02.720 --> 00:25:04.870 align:start position:0% +or send me messages in the appropriate +channels<00:25:03.120> based<00:25:03.440> on<00:25:03.600> the<00:25:03.840> name<00:25:04.000> of<00:25:04.159> them.<00:25:04.559> If<00:25:04.720> I + +00:25:04.870 --> 00:25:04.880 align:start position:0% +channels based on the name of them. If I + + +00:25:04.880 --> 00:25:06.470 align:start position:0% +channels based on the name of them. If I +DM<00:25:05.200> you<00:25:05.360> directly,<00:25:05.760> we<00:25:05.919> can<00:25:06.080> talk<00:25:06.240> about + +00:25:06.470 --> 00:25:06.480 align:start position:0% +DM you directly, we can talk about + + +00:25:06.480 --> 00:25:08.789 align:start position:0% +DM you directly, we can talk about +anything.<00:25:06.960> But<00:25:07.120> if<00:25:07.279> I<00:25:07.440> DM<00:25:07.840> in<00:25:08.080> a<00:25:08.240> channel<00:25:08.559> like + +00:25:08.789 --> 00:25:08.799 align:start position:0% +anything. But if I DM in a channel like + + +00:25:08.799 --> 00:25:10.950 align:start position:0% +anything. But if I DM in a channel like +you<00:25:08.960> know<00:25:09.120> startup<00:25:09.520> ideas<00:25:09.919> or<00:25:10.240> something<00:25:10.720> we + +00:25:10.950 --> 00:25:10.960 align:start position:0% +you know startup ideas or something we + + +00:25:10.960 --> 00:25:12.870 align:start position:0% +you know startup ideas or something we +only<00:25:11.279> talk<00:25:11.520> about<00:25:11.679> startup<00:25:12.080> ideas<00:25:12.559> again + +00:25:12.870 --> 00:25:12.880 align:start position:0% +only talk about startup ideas again + + +00:25:12.880 --> 00:25:15.110 align:start position:0% +only talk about startup ideas again +whatever<00:25:13.200> the<00:25:13.440> title<00:25:13.840> of<00:25:14.159> that<00:25:14.720> uh<00:25:14.880> what<00:25:15.039> do + +00:25:15.110 --> 00:25:15.120 align:start position:0% +whatever the title of that uh what do + + +00:25:15.120 --> 00:25:17.590 align:start position:0% +whatever the title of that uh what do +you<00:25:15.200> call<00:25:15.360> it<00:25:15.840> channel<00:25:16.320> is.<00:25:16.880> Now<00:25:17.120> I<00:25:17.279> also<00:25:17.440> want + +00:25:17.590 --> 00:25:17.600 align:start position:0% +you call it channel is. Now I also want + + +00:25:17.600 --> 00:25:19.590 align:start position:0% +you call it channel is. Now I also want +you<00:25:17.760> to<00:25:17.919> reply<00:25:18.159> to<00:25:18.400> any<00:25:18.720> message.<00:25:19.120> So<00:25:19.360> don't + +00:25:19.590 --> 00:25:19.600 align:start position:0% +you to reply to any message. So don't + + +00:25:19.600 --> 00:25:21.830 align:start position:0% +you to reply to any message. So don't +just<00:25:19.840> reply<00:25:20.159> if<00:25:20.320> I<00:25:20.480> ping<00:25:20.799> you<00:25:21.200> reply<00:25:21.520> to + +00:25:21.830 --> 00:25:21.840 align:start position:0% +just reply if I ping you reply to + + +00:25:21.840 --> 00:25:24.070 align:start position:0% +just reply if I ping you reply to +anything<00:25:22.240> in<00:25:22.559> those<00:25:22.799> channels.<00:25:23.520> Make<00:25:23.679> this<00:25:23.919> a + +00:25:24.070 --> 00:25:24.080 align:start position:0% +anything in those channels. Make this a + + +00:25:24.080 --> 00:25:25.669 align:start position:0% +anything in those channels. Make this a +rule<00:25:24.240> and<00:25:24.480> ensure<00:25:24.720> that<00:25:24.960> you<00:25:25.120> remember<00:25:25.440> this + +00:25:25.669 --> 00:25:25.679 align:start position:0% +rule and ensure that you remember this + + +00:25:25.679 --> 00:25:27.830 align:start position:0% +rule and ensure that you remember this +going<00:25:25.919> forward<00:25:26.159> in<00:25:26.400> the<00:25:26.480> future.<00:25:27.200> Uh<00:25:27.440> you<00:25:27.600> also + +00:25:27.830 --> 00:25:27.840 align:start position:0% +going forward in the future. Uh you also + + +00:25:27.840 --> 00:25:29.830 align:start position:0% +going forward in the future. Uh you also +should<00:25:28.080> be<00:25:28.240> able<00:25:28.400> to<00:25:28.559> create<00:25:28.960> groups<00:25:29.279> with<00:25:29.520> me. + +00:25:29.830 --> 00:25:29.840 align:start position:0% +should be able to create groups with me. + + +00:25:29.840 --> 00:25:31.110 align:start position:0% +should be able to create groups with me. +I'll<00:25:30.000> give<00:25:30.159> you<00:25:30.240> the<00:25:30.400> permission<00:25:30.640> to<00:25:30.799> do<00:25:30.880> that. + +00:25:31.110 --> 00:25:31.120 align:start position:0% +I'll give you the permission to do that. + + +00:25:31.120 --> 00:25:32.470 align:start position:0% +I'll give you the permission to do that. +So,<00:25:31.200> if<00:25:31.360> we<00:25:31.520> have<00:25:31.600> a<00:25:31.760> new<00:25:31.919> thing<00:25:32.080> to<00:25:32.320> talk + +00:25:32.470 --> 00:25:32.480 align:start position:0% +So, if we have a new thing to talk + + +00:25:32.480 --> 00:25:34.789 align:start position:0% +So, if we have a new thing to talk +about,<00:25:33.039> make<00:25:33.200> a<00:25:33.440> new<00:25:33.600> group<00:25:34.000> with<00:25:34.240> me<00:25:34.559> and + +00:25:34.789 --> 00:25:34.799 align:start position:0% +about, make a new group with me and + + +00:25:34.799 --> 00:25:36.630 align:start position:0% +about, make a new group with me and +start<00:25:35.039> chatting<00:25:35.360> with<00:25:35.520> me<00:25:35.679> there.<00:25:36.400> I<00:25:36.559> don't + +00:25:36.630 --> 00:25:36.640 align:start position:0% +start chatting with me there. I don't + + +00:25:36.640 --> 00:25:37.830 align:start position:0% +start chatting with me there. I don't +know<00:25:36.720> if<00:25:36.880> that<00:25:37.039> last<00:25:37.200> part's<00:25:37.520> going<00:25:37.600> to<00:25:37.679> work + +00:25:37.830 --> 00:25:37.840 align:start position:0% +know if that last part's going to work + + +00:25:37.840 --> 00:25:39.269 align:start position:0% +know if that last part's going to work +because<00:25:38.080> I<00:25:38.320> actually<00:25:38.559> haven't<00:25:38.799> tried<00:25:39.039> that + +00:25:39.269 --> 00:25:39.279 align:start position:0% +because I actually haven't tried that + + +00:25:39.279 --> 00:25:40.789 align:start position:0% +because I actually haven't tried that +before,<00:25:39.679> but<00:25:39.840> I'm<00:25:40.080> just<00:25:40.159> going<00:25:40.240> to<00:25:40.400> send<00:25:40.559> that + +00:25:40.789 --> 00:25:40.799 align:start position:0% +before, but I'm just going to send that + + +00:25:40.799 --> 00:25:43.350 align:start position:0% +before, but I'm just going to send that +over<00:25:40.960> to<00:25:41.120> the<00:25:41.279> bot.<00:25:42.080> And<00:25:42.240> I<00:25:42.559> will<00:25:42.880> go<00:25:43.120> and + +00:25:43.350 --> 00:25:43.360 align:start position:0% +over to the bot. And I will go and + + +00:25:43.360 --> 00:25:45.029 align:start position:0% +over to the bot. And I will go and +configure<00:25:43.679> the<00:25:43.840> bot<00:25:44.080> further<00:25:44.400> to<00:25:44.640> hopefully + +00:25:45.029 --> 00:25:45.039 align:start position:0% +configure the bot further to hopefully + + +00:25:45.039 --> 00:25:47.110 align:start position:0% +configure the bot further to hopefully +allow<00:25:45.279> it<00:25:45.440> to<00:25:45.600> create<00:25:45.919> new<00:25:46.159> groups.<00:25:46.720> Okay,<00:25:46.960> so + +00:25:47.110 --> 00:25:47.120 align:start position:0% +allow it to create new groups. Okay, so + + +00:25:47.120 --> 00:25:48.390 align:start position:0% +allow it to create new groups. Okay, so +we're<00:25:47.360> replying<00:25:47.679> to<00:25:47.760> that.<00:25:48.000> Now,<00:25:48.240> I<00:25:48.320> don't + +00:25:48.390 --> 00:25:48.400 align:start position:0% +we're replying to that. Now, I don't + + +00:25:48.400 --> 00:25:49.190 align:start position:0% +we're replying to that. Now, I don't +know<00:25:48.480> if<00:25:48.640> this<00:25:48.720> is<00:25:48.880> actually<00:25:48.960> going<00:25:49.039> to<00:25:49.120> be + +00:25:49.190 --> 00:25:49.200 align:start position:0% +know if this is actually going to be + + +00:25:49.200 --> 00:25:50.630 align:start position:0% +know if this is actually going to be +able<00:25:49.360> to<00:25:49.440> create<00:25:49.679> new<00:25:49.919> groups<00:25:50.240> cuz<00:25:50.480> I<00:25:50.640> don't + +00:25:50.630 --> 00:25:50.640 align:start position:0% +able to create new groups cuz I don't + + +00:25:50.640 --> 00:25:51.750 align:start position:0% +able to create new groups cuz I don't +know<00:25:50.720> if<00:25:50.799> there's<00:25:51.039> another<00:25:51.279> setting<00:25:51.520> we<00:25:51.679> need + +00:25:51.750 --> 00:25:51.760 align:start position:0% +know if there's another setting we need + + +00:25:51.760 --> 00:25:53.590 align:start position:0% +know if there's another setting we need +for<00:25:51.919> that,<00:25:52.000> but<00:25:52.240> I'm<00:25:52.320> going<00:25:52.400> to<00:25:52.480> say<00:25:52.799> create<00:25:53.360> a + +00:25:53.590 --> 00:25:53.600 align:start position:0% +for that, but I'm going to say create a + + +00:25:53.600 --> 00:25:56.789 align:start position:0% +for that, but I'm going to say create a +new<00:25:53.840> group<00:25:55.039> called + +00:25:56.789 --> 00:25:56.799 align:start position:0% +new group called + + +00:25:56.799 --> 00:25:58.470 align:start position:0% +new group called +accounting.<00:25:57.600> And<00:25:57.760> let's<00:25:57.919> see<00:25:58.000> if<00:25:58.159> it's<00:25:58.320> able + +00:25:58.470 --> 00:25:58.480 align:start position:0% +accounting. And let's see if it's able + + +00:25:58.480 --> 00:25:59.990 align:start position:0% +accounting. And let's see if it's able +to<00:25:58.559> do<00:25:58.720> that.<00:25:59.120> Okay,<00:25:59.279> so<00:25:59.440> it<00:25:59.520> looks<00:25:59.760> like<00:25:59.840> it + +00:25:59.990 --> 00:26:00.000 align:start position:0% +to do that. Okay, so it looks like it + + +00:26:00.000 --> 00:26:01.669 align:start position:0% +to do that. Okay, so it looks like it +can't<00:26:00.240> make<00:26:00.400> the<00:26:00.720> uh<00:26:00.880> groups<00:26:01.120> for<00:26:01.279> us.<00:26:01.520> There's + +00:26:01.669 --> 00:26:01.679 align:start position:0% +can't make the uh groups for us. There's + + +00:26:01.679 --> 00:26:02.870 align:start position:0% +can't make the uh groups for us. There's +probably<00:26:01.840> a<00:26:02.000> way<00:26:02.080> that<00:26:02.159> I<00:26:02.320> can<00:26:02.400> enable<00:26:02.720> that, + +00:26:02.870 --> 00:26:02.880 align:start position:0% +probably a way that I can enable that, + + +00:26:02.880 --> 00:26:04.230 align:start position:0% +probably a way that I can enable that, +but<00:26:03.039> for<00:26:03.200> now,<00:26:03.360> we'll<00:26:03.600> just<00:26:03.760> leave<00:26:03.840> it. + +00:26:04.230 --> 00:26:04.240 align:start position:0% +but for now, we'll just leave it. + + +00:26:04.240 --> 00:26:06.149 align:start position:0% +but for now, we'll just leave it. +Anyways,<00:26:04.720> point<00:26:04.880> is<00:26:05.120> we<00:26:05.279> can<00:26:05.440> make<00:26:05.760> different + +00:26:06.149 --> 00:26:06.159 align:start position:0% +Anyways, point is we can make different + + +00:26:06.159 --> 00:26:07.669 align:start position:0% +Anyways, point is we can make different +groups,<00:26:06.640> right?<00:26:06.799> We<00:26:06.960> can<00:26:07.039> pin<00:26:07.279> those<00:26:07.520> groups + +00:26:07.669 --> 00:26:07.679 align:start position:0% +groups, right? We can pin those groups + + +00:26:07.679 --> 00:26:09.269 align:start position:0% +groups, right? We can pin those groups +and<00:26:07.840> then<00:26:08.000> we<00:26:08.159> can<00:26:08.240> just<00:26:08.480> have<00:26:08.640> kind<00:26:08.799> of<00:26:08.880> a<00:26:09.120> more + +00:26:09.269 --> 00:26:09.279 align:start position:0% +and then we can just have kind of a more + + +00:26:09.279 --> 00:26:11.269 align:start position:0% +and then we can just have kind of a more +organized<00:26:09.760> way<00:26:09.919> of<00:26:10.159> chatting<00:26:10.480> with<00:26:10.640> the<00:26:10.799> bot. + +00:26:11.269 --> 00:26:11.279 align:start position:0% +organized way of chatting with the bot. + + +00:26:11.279 --> 00:26:12.710 align:start position:0% +organized way of chatting with the bot. +Now,<00:26:11.520> I<00:26:11.679> did<00:26:11.840> try<00:26:12.000> to<00:26:12.080> send<00:26:12.240> something<00:26:12.480> in<00:26:12.640> the + +00:26:12.710 --> 00:26:12.720 align:start position:0% +Now, I did try to send something in the + + +00:26:12.720 --> 00:26:14.470 align:start position:0% +Now, I did try to send something in the +group<00:26:12.880> and<00:26:13.120> I<00:26:13.279> did<00:26:13.440> still<00:26:13.679> need<00:26:13.840> to<00:26:14.000> ping<00:26:14.320> the + +00:26:14.470 --> 00:26:14.480 align:start position:0% +group and I did still need to ping the + + +00:26:14.480 --> 00:26:16.070 align:start position:0% +group and I did still need to ping the +bot.<00:26:14.960> So,<00:26:15.120> again,<00:26:15.440> there's<00:26:15.679> probably<00:26:15.760> a<00:26:16.000> way + +00:26:16.070 --> 00:26:16.080 align:start position:0% +bot. So, again, there's probably a way + + +00:26:16.080 --> 00:26:17.590 align:start position:0% +bot. So, again, there's probably a way +to<00:26:16.240> configure<00:26:16.559> that,<00:26:16.720> but<00:26:16.960> for<00:26:17.120> now,<00:26:17.360> that's + +00:26:17.590 --> 00:26:17.600 align:start position:0% +to configure that, but for now, that's + + +00:26:17.600 --> 00:26:19.029 align:start position:0% +to configure that, but for now, that's +fine.<00:26:17.840> We<00:26:18.000> can<00:26:18.080> just<00:26:18.240> ping<00:26:18.400> the<00:26:18.559> bot<00:26:18.799> if<00:26:18.880> we + +00:26:19.029 --> 00:26:19.039 align:start position:0% +fine. We can just ping the bot if we + + +00:26:19.039 --> 00:26:20.549 align:start position:0% +fine. We can just ping the bot if we +wanted<00:26:19.279> to<00:26:19.440> reply.<00:26:19.919> And<00:26:20.080> actually,<00:26:20.320> in<00:26:20.480> the + +00:26:20.549 --> 00:26:20.559 align:start position:0% +wanted to reply. And actually, in the + + +00:26:20.559 --> 00:26:21.830 align:start position:0% +wanted to reply. And actually, in the +future,<00:26:20.799> we<00:26:20.960> could<00:26:21.120> add<00:26:21.279> multiple<00:26:21.600> of<00:26:21.760> our + +00:26:21.830 --> 00:26:21.840 align:start position:0% +future, we could add multiple of our + + +00:26:21.840 --> 00:26:23.750 align:start position:0% +future, we could add multiple of our +bots<00:26:22.159> in<00:26:22.320> the<00:26:22.480> same<00:26:22.640> group.<00:26:23.360> That<00:26:23.520> could<00:26:23.679> be + +00:26:23.750 --> 00:26:23.760 align:start position:0% +bots in the same group. That could be + + +00:26:23.760 --> 00:26:25.590 align:start position:0% +bots in the same group. That could be +interesting<00:26:24.080> to<00:26:24.240> see<00:26:24.400> how<00:26:24.559> that<00:26:24.720> would<00:26:24.880> go. + +00:26:25.590 --> 00:26:25.600 align:start position:0% +interesting to see how that would go. + + +00:26:25.600 --> 00:26:27.750 align:start position:0% +interesting to see how that would go. +Okay,<00:26:26.000> anyways,<00:26:26.640> let's<00:26:26.960> go<00:26:27.120> back<00:26:27.279> here<00:26:27.440> and + +00:26:27.750 --> 00:26:27.760 align:start position:0% +Okay, anyways, let's go back here and + + +00:26:27.760 --> 00:26:30.470 align:start position:0% +Okay, anyways, let's go back here and +let's<00:26:28.000> now<00:26:28.320> start<00:26:28.559> talking<00:26:29.039> about<00:26:29.440> skills. + +00:26:30.470 --> 00:26:30.480 align:start position:0% +let's now start talking about skills. + + +00:26:30.480 --> 00:26:33.669 align:start position:0% +let's now start talking about skills. +So,<00:26:31.200> skills<00:26:31.840> allow<00:26:32.159> the<00:26:32.480> bot<00:26:32.960> to<00:26:33.200> have<00:26:33.440> some + +00:26:33.669 --> 00:26:33.679 align:start position:0% +So, skills allow the bot to have some + + +00:26:33.679 --> 00:26:35.669 align:start position:0% +So, skills allow the bot to have some +capabilities<00:26:34.640> that<00:26:34.880> it<00:26:35.120> can<00:26:35.279> complete, + +00:26:35.669 --> 00:26:35.679 align:start position:0% +capabilities that it can complete, + + +00:26:35.679 --> 00:26:37.190 align:start position:0% +capabilities that it can complete, +right?<00:26:35.840> Or<00:26:35.919> that<00:26:36.080> it<00:26:36.240> can<00:26:36.400> do.<00:26:36.720> Now,<00:26:36.960> by + +00:26:37.190 --> 00:26:37.200 align:start position:0% +right? Or that it can do. Now, by + + +00:26:37.200 --> 00:26:38.470 align:start position:0% +right? Or that it can do. Now, by +default,<00:26:37.520> there's<00:26:37.679> some<00:26:37.840> skills<00:26:38.159> that<00:26:38.320> are + +00:26:38.470 --> 00:26:38.480 align:start position:0% +default, there's some skills that are + + +00:26:38.480 --> 00:26:41.830 align:start position:0% +default, there's some skills that are +already<00:26:38.720> added.<00:26:39.200> And<00:26:39.440> if<00:26:39.679> we<00:26:39.919> go<00:26:40.159> to<00:26:41.279> the<00:26:41.679> uh + +00:26:41.830 --> 00:26:41.840 align:start position:0% +already added. And if we go to the uh + + +00:26:41.840 --> 00:26:43.590 align:start position:0% +already added. And if we go to the uh +what<00:26:41.919> do<00:26:42.000> you<00:26:42.080> call<00:26:42.159> it?<00:26:42.320> Gateway<00:26:42.799> dashboard. + +00:26:43.590 --> 00:26:43.600 align:start position:0% +what do you call it? Gateway dashboard. + + +00:26:43.600 --> 00:26:45.110 align:start position:0% +what do you call it? Gateway dashboard. +And<00:26:43.679> you<00:26:43.840> go<00:26:43.919> to<00:26:44.080> skills<00:26:44.400> and<00:26:44.640> you<00:26:44.799> expand + +00:26:45.110 --> 00:26:45.120 align:start position:0% +And you go to skills and you expand + + +00:26:45.120 --> 00:26:46.470 align:start position:0% +And you go to skills and you expand +this,<00:26:45.440> you'll<00:26:45.679> see<00:26:45.840> there's<00:26:46.000> a<00:26:46.159> bunch<00:26:46.320> of + +00:26:46.470 --> 00:26:46.480 align:start position:0% +this, you'll see there's a bunch of + + +00:26:46.480 --> 00:26:47.750 align:start position:0% +this, you'll see there's a bunch of +default<00:26:46.880> skills<00:26:47.200> that<00:26:47.360> are<00:26:47.520> already + +00:26:47.750 --> 00:26:47.760 align:start position:0% +default skills that are already + + +00:26:47.760 --> 00:26:49.990 align:start position:0% +default skills that are already +installed<00:26:48.400> that<00:26:48.640> you<00:26:48.880> just<00:26:49.039> need<00:26:49.200> to<00:26:49.440> enable + +00:26:49.990 --> 00:26:50.000 align:start position:0% +installed that you just need to enable + + +00:26:50.000 --> 00:26:52.630 align:start position:0% +installed that you just need to enable +or<00:26:50.320> add<00:26:50.559> the<00:26:50.799> dependencies<00:26:51.440> for.<00:26:52.480> For + +00:26:52.630 --> 00:26:52.640 align:start position:0% +or add the dependencies for. For + + +00:26:52.640 --> 00:26:54.630 align:start position:0% +or add the dependencies for. For +example,<00:26:53.279> voice<00:26:53.600> calling,<00:26:54.000> right?<00:26:54.400> getting + +00:26:54.630 --> 00:26:54.640 align:start position:0% +example, voice calling, right? getting + + +00:26:54.640 --> 00:26:56.630 align:start position:0% +example, voice calling, right? getting +the<00:26:54.880> weather,<00:26:55.200> playing<00:26:55.440> a<00:26:55.679> Spotify<00:26:56.159> song,<00:26:56.480> you + +00:26:56.630 --> 00:26:56.640 align:start position:0% +the weather, playing a Spotify song, you + + +00:26:56.640 --> 00:26:58.310 align:start position:0% +the weather, playing a Spotify song, you +know,<00:26:56.880> creating<00:26:57.200> a<00:26:57.360> skill<00:26:57.600> is<00:26:57.760> a<00:26:57.919> skill<00:26:58.159> that + +00:26:58.310 --> 00:26:58.320 align:start position:0% +know, creating a skill is a skill that + + +00:26:58.320 --> 00:27:00.390 align:start position:0% +know, creating a skill is a skill that +exists,<00:26:58.799> all<00:26:58.960> of<00:26:59.120> this<00:26:59.279> kind<00:26:59.440> of<00:26:59.520> stuff.<00:27:00.000> So,<00:27:00.240> I + +00:27:00.390 --> 00:27:00.400 align:start position:0% +exists, all of this kind of stuff. So, I + + +00:27:00.400 --> 00:27:01.909 align:start position:0% +exists, all of this kind of stuff. So, I +would<00:27:00.480> suggest<00:27:00.880> reading<00:27:01.200> through<00:27:01.440> here<00:27:01.600> and + +00:27:01.909 --> 00:27:01.919 align:start position:0% +would suggest reading through here and + + +00:27:01.919 --> 00:27:03.909 align:start position:0% +would suggest reading through here and +enabling<00:27:02.400> any<00:27:02.640> of<00:27:02.799> the<00:27:02.960> ones<00:27:03.200> that<00:27:03.360> you<00:27:03.600> want + +00:27:03.909 --> 00:27:03.919 align:start position:0% +enabling any of the ones that you want + + +00:27:03.919 --> 00:27:05.750 align:start position:0% +enabling any of the ones that you want +for<00:27:04.159> sure,<00:27:04.799> but<00:27:04.960> I<00:27:05.120> also<00:27:05.279> would<00:27:05.440> suggest + +00:27:05.750 --> 00:27:05.760 align:start position:0% +for sure, but I also would suggest + + +00:27:05.760 --> 00:27:07.269 align:start position:0% +for sure, but I also would suggest +having<00:27:06.000> a<00:27:06.159> look<00:27:06.240> at<00:27:06.400> this<00:27:06.559> place<00:27:06.880> called + +00:27:07.269 --> 00:27:07.279 align:start position:0% +having a look at this place called + + +00:27:07.279 --> 00:27:10.149 align:start position:0% +having a look at this place called +Clawhub.<00:27:08.400> Now,<00:27:08.640> Claw<00:27:09.039> Hub<00:27:09.360> has<00:27:09.520> a<00:27:09.760> list<00:27:09.919> of + +00:27:10.149 --> 00:27:10.159 align:start position:0% +Clawhub. Now, Claw Hub has a list of + + +00:27:10.159 --> 00:27:12.310 align:start position:0% +Clawhub. Now, Claw Hub has a list of +pre-built<00:27:10.720> skills<00:27:11.279> that<00:27:11.520> you<00:27:11.760> can<00:27:11.919> use<00:27:12.080> and + +00:27:12.310 --> 00:27:12.320 align:start position:0% +pre-built skills that you can use and + + +00:27:12.320 --> 00:27:14.390 align:start position:0% +pre-built skills that you can use and +just<00:27:12.559> build<00:27:12.880> into<00:27:13.120> your<00:27:13.360> bot.<00:27:13.919> However, + +00:27:14.390 --> 00:27:14.400 align:start position:0% +just build into your bot. However, + + +00:27:14.400 --> 00:27:16.070 align:start position:0% +just build into your bot. However, +before<00:27:14.720> you<00:27:14.880> start<00:27:15.120> just<00:27:15.279> going<00:27:15.520> and<00:27:15.760> adding + +00:27:16.070 --> 00:27:16.080 align:start position:0% +before you start just going and adding + + +00:27:16.080 --> 00:27:18.149 align:start position:0% +before you start just going and adding +all<00:27:16.240> of<00:27:16.320> these<00:27:16.559> random<00:27:16.960> skills,<00:27:17.760> I<00:27:18.000> would + +00:27:18.149 --> 00:27:18.159 align:start position:0% +all of these random skills, I would + + +00:27:18.159 --> 00:27:20.549 align:start position:0% +all of these random skills, I would +suggest<00:27:18.799> that<00:27:19.120> you<00:27:19.360> understand<00:27:19.760> what<00:27:20.000> a<00:27:20.240> skill + +00:27:20.549 --> 00:27:20.559 align:start position:0% +suggest that you understand what a skill + + +00:27:20.559 --> 00:27:22.549 align:start position:0% +suggest that you understand what a skill +is.<00:27:21.279> And<00:27:21.679> uh<00:27:21.840> we're<00:27:22.000> going<00:27:22.080> to<00:27:22.240> talk<00:27:22.400> about + +00:27:22.549 --> 00:27:22.559 align:start position:0% +is. And uh we're going to talk about + + +00:27:22.559 --> 00:27:25.029 align:start position:0% +is. And uh we're going to talk about +that<00:27:22.799> now.<00:27:23.440> So,<00:27:23.679> a<00:27:23.919> skill<00:27:24.240> is<00:27:24.480> effectively + +00:27:25.029 --> 00:27:25.039 align:start position:0% +that now. So, a skill is effectively + + +00:27:25.039 --> 00:27:27.029 align:start position:0% +that now. So, a skill is effectively +just<00:27:25.360> a<00:27:25.600> markdown<00:27:26.159> file.<00:27:26.559> Now,<00:27:26.720> I'm<00:27:26.880> going<00:27:26.960> to + +00:27:27.029 --> 00:27:27.039 align:start position:0% +just a markdown file. Now, I'm going to + + +00:27:27.039 --> 00:27:29.110 align:start position:0% +just a markdown file. Now, I'm going to +show<00:27:27.120> you<00:27:27.200> that<00:27:27.520> if<00:27:27.679> I<00:27:27.919> open<00:27:28.159> up<00:27:28.480> any<00:27:28.799> one<00:27:29.039> of + +00:27:29.110 --> 00:27:29.120 align:start position:0% +show you that if I open up any one of + + +00:27:29.120 --> 00:27:31.750 align:start position:0% +show you that if I open up any one of +these<00:27:29.360> skills,<00:27:30.240> you'll<00:27:30.559> see<00:27:30.720> that<00:27:31.039> the<00:27:31.360> skill + +00:27:31.750 --> 00:27:31.760 align:start position:0% +these skills, you'll see that the skill + + +00:27:31.760 --> 00:27:34.789 align:start position:0% +these skills, you'll see that the skill +is<00:27:31.919> just<00:27:32.159> in<00:27:32.400> this<00:27:32.720> skill.md<00:27:33.840> file.<00:27:34.159> MD<00:27:34.559> stands + +00:27:34.789 --> 00:27:34.799 align:start position:0% +is just in this skill.md file. MD stands + + +00:27:34.799 --> 00:27:37.350 align:start position:0% +is just in this skill.md file. MD stands +for<00:27:35.120> markdown.<00:27:36.000> And<00:27:36.159> all<00:27:36.400> the<00:27:36.640> skill<00:27:36.880> is<00:27:37.039> is + +00:27:37.350 --> 00:27:37.360 align:start position:0% +for markdown. And all the skill is is + + +00:27:37.360 --> 00:27:39.430 align:start position:0% +for markdown. And all the skill is is +just<00:27:37.520> a<00:27:37.760> bunch<00:27:38.000> of<00:27:38.240> formatted<00:27:38.799> text<00:27:39.120> that + +00:27:39.430 --> 00:27:39.440 align:start position:0% +just a bunch of formatted text that + + +00:27:39.440 --> 00:27:41.990 align:start position:0% +just a bunch of formatted text that +explains<00:27:40.320> what<00:27:40.640> the<00:27:40.880> bot<00:27:41.200> should<00:27:41.440> be<00:27:41.600> able<00:27:41.760> to + +00:27:41.990 --> 00:27:42.000 align:start position:0% +explains what the bot should be able to + + +00:27:42.000 --> 00:27:44.710 align:start position:0% +explains what the bot should be able to +do.<00:27:42.720> Now,<00:27:43.039> the<00:27:43.279> skill<00:27:43.600> can<00:27:43.840> also<00:27:44.159> reference + +00:27:44.710 --> 00:27:44.720 align:start position:0% +do. Now, the skill can also reference + + +00:27:44.720 --> 00:27:46.789 align:start position:0% +do. Now, the skill can also reference +files.<00:27:45.440> So,<00:27:45.520> you<00:27:45.760> can<00:27:45.840> see<00:27:46.000> in<00:27:46.159> this<00:27:46.320> case,<00:27:46.559> it + +00:27:46.789 --> 00:27:46.799 align:start position:0% +files. So, you can see in this case, it + + +00:27:46.799 --> 00:27:48.950 align:start position:0% +files. So, you can see in this case, it +has<00:27:46.960> like<00:27:47.039> a<00:27:47.279> scripts/stats.py + +00:27:48.950 --> 00:27:48.960 align:start position:0% +has like a scripts/stats.py + + +00:27:48.960 --> 00:27:50.710 align:start position:0% +has like a scripts/stats.py +file,<00:27:49.200> which<00:27:49.360> is<00:27:49.440> a<00:27:49.600> Python<00:27:50.000> file<00:27:50.159> that<00:27:50.400> it<00:27:50.559> can + +00:27:50.710 --> 00:27:50.720 align:start position:0% +file, which is a Python file that it can + + +00:27:50.720 --> 00:27:53.430 align:start position:0% +file, which is a Python file that it can +run<00:27:51.200> to<00:27:51.520> complete<00:27:51.919> something.<00:27:52.799> So<00:27:53.039> that's<00:27:53.279> all + +00:27:53.430 --> 00:27:53.440 align:start position:0% +run to complete something. So that's all + + +00:27:53.440 --> 00:27:56.070 align:start position:0% +run to complete something. So that's all +a<00:27:53.679> skill<00:27:54.000> is.<00:27:54.559> You<00:27:54.799> can<00:27:54.960> tell<00:27:55.120> the<00:27:55.360> bot<00:27:55.679> to<00:27:55.919> add + +00:27:56.070 --> 00:27:56.080 align:start position:0% +a skill is. You can tell the bot to add + + +00:27:56.080 --> 00:27:58.149 align:start position:0% +a skill is. You can tell the bot to add +its<00:27:56.399> own<00:27:56.559> skill<00:27:56.960> and<00:27:57.200> it<00:27:57.360> can<00:27:57.440> just<00:27:57.600> write<00:27:57.840> it, + +00:27:58.149 --> 00:27:58.159 align:start position:0% +its own skill and it can just write it, + + +00:27:58.159 --> 00:28:00.149 align:start position:0% +its own skill and it can just write it, +configure<00:27:58.480> it,<00:27:58.720> add<00:27:58.880> it<00:27:59.039> itself,<00:27:59.600> or<00:27:59.840> you<00:28:00.000> can + +00:28:00.149 --> 00:28:00.159 align:start position:0% +configure it, add it itself, or you can + + +00:28:00.159 --> 00:28:02.070 align:start position:0% +configure it, add it itself, or you can +bring<00:28:00.320> in<00:28:00.559> pre-built<00:28:01.200> skills<00:28:01.520> from<00:28:01.679> a<00:28:01.840> place + +00:28:02.070 --> 00:28:02.080 align:start position:0% +bring in pre-built skills from a place + + +00:28:02.080 --> 00:28:04.470 align:start position:0% +bring in pre-built skills from a place +like<00:28:02.559> Clawub.<00:28:03.279> Again,<00:28:03.600> I<00:28:03.760> don't<00:28:03.919> suggest<00:28:04.240> just + +00:28:04.470 --> 00:28:04.480 align:start position:0% +like Clawub. Again, I don't suggest just + + +00:28:04.480 --> 00:28:06.549 align:start position:0% +like Clawub. Again, I don't suggest just +randomly<00:28:05.039> bringing<00:28:05.360> them<00:28:05.600> in.<00:28:06.000> But<00:28:06.159> I<00:28:06.320> want<00:28:06.399> to + +00:28:06.549 --> 00:28:06.559 align:start position:0% +randomly bringing them in. But I want to + + +00:28:06.559 --> 00:28:08.070 align:start position:0% +randomly bringing them in. But I want to +show<00:28:06.640> you<00:28:06.799> how<00:28:06.960> you<00:28:07.120> can<00:28:07.279> view<00:28:07.600> all<00:28:07.840> of<00:28:07.919> the + +00:28:08.070 --> 00:28:08.080 align:start position:0% +show you how you can view all of the + + +00:28:08.080 --> 00:28:09.830 align:start position:0% +show you how you can view all of the +skills<00:28:08.320> that<00:28:08.480> your<00:28:08.640> bot<00:28:08.960> has<00:28:09.279> and<00:28:09.600> start + +00:28:09.830 --> 00:28:09.840 align:start position:0% +skills that your bot has and start + + +00:28:09.840 --> 00:28:11.269 align:start position:0% +skills that your bot has and start +actually<00:28:10.159> viewing<00:28:10.480> all<00:28:10.720> of<00:28:10.799> the<00:28:10.960> different + +00:28:11.269 --> 00:28:11.279 align:start position:0% +actually viewing all of the different + + +00:28:11.279 --> 00:28:14.149 align:start position:0% +actually viewing all of the different +files<00:28:11.679> that<00:28:12.000> essentially<00:28:12.720> enable<00:28:13.200> the<00:28:13.440> bot<00:28:13.919> to + +00:28:14.149 --> 00:28:14.159 align:start position:0% +files that essentially enable the bot to + + +00:28:14.159 --> 00:28:16.710 align:start position:0% +files that essentially enable the bot to +do<00:28:14.399> something.<00:28:15.360> So<00:28:15.520> to<00:28:15.760> do<00:28:15.919> that,<00:28:16.320> you<00:28:16.480> need<00:28:16.559> to + +00:28:16.710 --> 00:28:16.720 align:start position:0% +do something. So to do that, you need to + + +00:28:16.720 --> 00:28:19.110 align:start position:0% +do something. So to do that, you need to +open<00:28:16.880> up<00:28:17.120> some<00:28:17.440> kind<00:28:17.679> of<00:28:17.919> code<00:28:18.159> editor.<00:28:18.720> Now,<00:28:18.880> I + +00:28:19.110 --> 00:28:19.120 align:start position:0% +open up some kind of code editor. Now, I + + +00:28:19.120 --> 00:28:21.029 align:start position:0% +open up some kind of code editor. Now, I +suggest<00:28:19.360> that<00:28:19.520> you<00:28:19.760> open<00:28:19.919> up<00:28:20.240> cursor.<00:28:20.720> You<00:28:20.960> can + +00:28:21.029 --> 00:28:21.039 align:start position:0% +suggest that you open up cursor. You can + + +00:28:21.039 --> 00:28:23.269 align:start position:0% +suggest that you open up cursor. You can +also<00:28:21.200> open<00:28:21.360> up<00:28:21.600> Visual<00:28:22.000> Studio<00:28:22.320> Code<00:28:22.559> or<00:28:22.880> VS + +00:28:23.269 --> 00:28:23.279 align:start position:0% +also open up Visual Studio Code or VS + + +00:28:23.279 --> 00:28:25.269 align:start position:0% +also open up Visual Studio Code or VS +Code.<00:28:23.679> You<00:28:23.919> can<00:28:24.000> download<00:28:24.320> it<00:28:24.480> for<00:28:24.799> free<00:28:25.039> on + +00:28:25.269 --> 00:28:25.279 align:start position:0% +Code. You can download it for free on + + +00:28:25.279 --> 00:28:26.950 align:start position:0% +Code. You can download it for free on +the<00:28:25.440> internet.<00:28:25.760> Just<00:28:25.919> search<00:28:26.159> VS<00:28:26.480> Code<00:28:26.720> or + +00:28:26.950 --> 00:28:26.960 align:start position:0% +the internet. Just search VS Code or + + +00:28:26.960 --> 00:28:29.029 align:start position:0% +the internet. Just search VS Code or +cursor<00:28:27.520> download.<00:28:28.240> Okay.<00:28:28.480> So,<00:28:28.640> from<00:28:28.799> here, + +00:28:29.029 --> 00:28:29.039 align:start position:0% +cursor download. Okay. So, from here, + + +00:28:29.039 --> 00:28:30.389 align:start position:0% +cursor download. Okay. So, from here, +what<00:28:29.200> we're<00:28:29.279> going<00:28:29.360> to<00:28:29.440> do<00:28:29.520> is<00:28:29.679> hit<00:28:30.000> control + +00:28:30.389 --> 00:28:30.399 align:start position:0% +what we're going to do is hit control + + +00:28:30.399 --> 00:28:33.830 align:start position:0% +what we're going to do is hit control +shiftp<00:28:31.200> or<00:28:31.600> commandshiftp<00:28:32.720> on<00:28:32.960> our<00:28:33.200> keyboard + +00:28:33.830 --> 00:28:33.840 align:start position:0% +shiftp or commandshiftp on our keyboard + + +00:28:33.840 --> 00:28:36.310 align:start position:0% +shiftp or commandshiftp on our keyboard +and<00:28:34.000> we're<00:28:34.240> going<00:28:34.240> to<00:28:34.320> go<00:28:34.559> add<00:28:34.960> new<00:28:35.360> SSH<00:28:35.919> host. + +00:28:36.310 --> 00:28:36.320 align:start position:0% +and we're going to go add new SSH host. + + +00:28:36.320 --> 00:28:37.909 align:start position:0% +and we're going to go add new SSH host. +This<00:28:36.480> is<00:28:36.559> how<00:28:36.720> you<00:28:36.880> open<00:28:37.039> the<00:28:37.200> command<00:28:37.520> pallet + +00:28:37.909 --> 00:28:37.919 align:start position:0% +This is how you open the command pallet + + +00:28:37.919 --> 00:28:40.470 align:start position:0% +This is how you open the command pallet +in<00:28:38.240> VS<00:28:38.640> Code<00:28:38.880> or<00:28:39.200> cursor.<00:28:39.919> From<00:28:40.159> here,<00:28:40.320> we're + +00:28:40.470 --> 00:28:40.480 align:start position:0% +in VS Code or cursor. From here, we're + + +00:28:40.480 --> 00:28:43.029 align:start position:0% +in VS Code or cursor. From here, we're +going<00:28:40.559> to<00:28:40.640> say<00:28:40.799> SSH<00:28:41.600> root<00:28:42.080> at<00:28:42.480> and<00:28:42.640> then<00:28:42.799> we're + +00:28:43.029 --> 00:28:43.039 align:start position:0% +going to say SSH root at and then we're + + +00:28:43.039 --> 00:28:45.269 align:start position:0% +going to say SSH root at and then we're +just<00:28:43.200> going<00:28:43.279> to<00:28:43.440> copy<00:28:43.840> whatever<00:28:44.159> we<00:28:44.399> had<00:28:44.720> here. + +00:28:45.269 --> 00:28:45.279 align:start position:0% +just going to copy whatever we had here. + + +00:28:45.279 --> 00:28:46.950 align:start position:0% +just going to copy whatever we had here. +So,<00:28:45.440> actually,<00:28:45.679> we<00:28:45.919> just<00:28:46.080> copy<00:28:46.399> this<00:28:46.559> command. + +00:28:46.950 --> 00:28:46.960 align:start position:0% +So, actually, we just copy this command. + + +00:28:46.960 --> 00:28:48.950 align:start position:0% +So, actually, we just copy this command. +And<00:28:47.120> again,<00:28:47.440> make<00:28:47.600> sure<00:28:47.760> we<00:28:48.000> know<00:28:48.240> what<00:28:48.559> the + +00:28:48.950 --> 00:28:48.960 align:start position:0% +And again, make sure we know what the + + +00:28:48.960 --> 00:28:51.830 align:start position:0% +And again, make sure we know what the +password<00:28:49.440> is<00:28:50.159> and<00:28:50.559> hit<00:28:50.880> enter.<00:28:51.440> We<00:28:51.600> can<00:28:51.679> just + +00:28:51.830 --> 00:28:51.840 align:start position:0% +password is and hit enter. We can just + + +00:28:51.840 --> 00:28:54.630 align:start position:0% +password is and hit enter. We can just +use<00:28:52.000> the<00:28:52.240> default<00:28:52.640> SSH<00:28:53.279> config.<00:28:54.159> Then<00:28:54.399> we're + +00:28:54.630 --> 00:28:54.640 align:start position:0% +use the default SSH config. Then we're + + +00:28:54.640 --> 00:28:56.149 align:start position:0% +use the default SSH config. Then we're +going to<00:28:54.799> go<00:28:54.960> control<00:28:55.279> shiftp<00:28:55.840> again<00:28:56.000> or + +00:28:56.149 --> 00:28:56.159 align:start position:0% +going to go control shiftp again or + + +00:28:56.159 --> 00:28:58.710 align:start position:0% +going to go control shiftp again or +command<00:28:56.480> shiftp<00:28:57.360> and<00:28:57.520> then<00:28:57.840> connect<00:28:58.159> to<00:28:58.399> host + +00:28:58.710 --> 00:28:58.720 align:start position:0% +command shiftp and then connect to host + + +00:28:58.720 --> 00:29:00.389 align:start position:0% +command shiftp and then connect to host +and<00:28:58.880> we're<00:28:59.039> just<00:28:59.200> going<00:28:59.279> to<00:28:59.440> choose<00:28:59.840> the<00:29:00.159> host + +00:29:00.389 --> 00:29:00.399 align:start position:0% +and we're just going to choose the host + + +00:29:00.399 --> 00:29:02.149 align:start position:0% +and we're just going to choose the host +that<00:29:00.559> we<00:29:00.720> added<00:29:01.039> recently.<00:29:01.520> Okay.<00:29:01.760> Now<00:29:02.000> once + +00:29:02.149 --> 00:29:02.159 align:start position:0% +that we added recently. Okay. Now once + + +00:29:02.159 --> 00:29:03.669 align:start position:0% +that we added recently. Okay. Now once +we<00:29:02.320> press<00:29:02.559> that,<00:29:02.799> it's<00:29:02.960> going<00:29:03.039> to<00:29:03.120> open<00:29:03.279> up<00:29:03.440> a + +00:29:03.669 --> 00:29:03.679 align:start position:0% +we press that, it's going to open up a + + +00:29:03.679 --> 00:29:05.350 align:start position:0% +we press that, it's going to open up a +new<00:29:03.919> window.<00:29:04.480> We're<00:29:04.640> going<00:29:04.720> to<00:29:04.799> select<00:29:05.120> our + +00:29:05.350 --> 00:29:05.360 align:start position:0% +new window. We're going to select our + + +00:29:05.360 --> 00:29:07.430 align:start position:0% +new window. We're going to select our +operating<00:29:05.760> system<00:29:06.159> as<00:29:06.480> Linux<00:29:07.039> and<00:29:07.279> we're + +00:29:07.430 --> 00:29:07.440 align:start position:0% +operating system as Linux and we're + + +00:29:07.440 --> 00:29:09.669 align:start position:0% +operating system as Linux and we're +going to<00:29:07.600> paste<00:29:07.919> in<00:29:08.159> our<00:29:08.399> root<00:29:08.799> password<00:29:09.360> and + +00:29:09.669 --> 00:29:09.679 align:start position:0% +going to paste in our root password and + + +00:29:09.679 --> 00:29:12.789 align:start position:0% +going to paste in our root password and +hit<00:29:10.000> enter.<00:29:10.799> From<00:29:11.039> there,<00:29:11.279> it<00:29:11.600> should<00:29:12.080> open<00:29:12.399> up + +00:29:12.789 --> 00:29:12.799 align:start position:0% +hit enter. From there, it should open up + + +00:29:12.799 --> 00:29:15.430 align:start position:0% +hit enter. From there, it should open up +a<00:29:13.279> remote<00:29:13.840> kind<00:29:14.000> of<00:29:14.240> terminal<00:29:14.640> and<00:29:14.880> you're<00:29:15.120> now + +00:29:15.430 --> 00:29:15.440 align:start position:0% +a remote kind of terminal and you're now + + +00:29:15.440 --> 00:29:18.149 align:start position:0% +a remote kind of terminal and you're now +inside<00:29:16.000> of<00:29:16.240> the<00:29:16.480> server.<00:29:17.120> So,<00:29:17.360> what<00:29:17.600> we<00:29:17.760> can<00:29:18.000> do + +00:29:18.149 --> 00:29:18.159 align:start position:0% +inside of the server. So, what we can do + + +00:29:18.159 --> 00:29:20.870 align:start position:0% +inside of the server. So, what we can do +is<00:29:18.399> we<00:29:18.559> can<00:29:18.640> actually<00:29:18.880> go<00:29:19.200> open<00:29:19.600> folder<00:29:20.320> and<00:29:20.640> we + +00:29:20.870 --> 00:29:20.880 align:start position:0% +is we can actually go open folder and we + + +00:29:20.880 --> 00:29:23.269 align:start position:0% +is we can actually go open folder and we +can<00:29:21.120> find<00:29:21.520> the<00:29:21.919> folder<00:29:22.240> that<00:29:22.559> contains<00:29:22.880> all<00:29:23.120> of + +00:29:23.269 --> 00:29:23.279 align:start position:0% +can find the folder that contains all of + + +00:29:23.279 --> 00:29:25.510 align:start position:0% +can find the folder that contains all of +the<00:29:23.440> data<00:29:23.679> for<00:29:24.000> open<00:29:24.320> claw.<00:29:24.799> So,<00:29:24.960> in<00:29:25.200> order<00:29:25.360> to + +00:29:25.510 --> 00:29:25.520 align:start position:0% +the data for open claw. So, in order to + + +00:29:25.520 --> 00:29:27.029 align:start position:0% +the data for open claw. So, in order to +find<00:29:25.679> this<00:29:25.919> folder,<00:29:26.240> we're<00:29:26.399> going<00:29:26.480> to<00:29:26.559> go<00:29:26.640> to + +00:29:27.029 --> 00:29:27.039 align:start position:0% +find this folder, we're going to go to + + +00:29:27.039 --> 00:29:29.830 align:start position:0% +find this folder, we're going to go to +docker.<00:29:27.919> We're<00:29:28.080> going<00:29:28.159> to<00:29:28.240> go<00:29:28.399> to<00:29:28.640> openclaw + +00:29:29.830 --> 00:29:29.840 align:start position:0% +docker. We're going to go to openclaw + + +00:29:29.840 --> 00:29:33.269 align:start position:0% +docker. We're going to go to openclaw +data<00:29:30.640> and<00:29:30.880> then<00:29:31.919> openclaw<00:29:32.640> like<00:29:32.880> that.<00:29:33.120> And + +00:29:33.269 --> 00:29:33.279 align:start position:0% +data and then openclaw like that. And + + +00:29:33.279 --> 00:29:34.310 align:start position:0% +data and then openclaw like that. And +you<00:29:33.360> can<00:29:33.440> see<00:29:33.600> there's<00:29:33.840> a<00:29:34.000> bunch<00:29:34.080> of<00:29:34.240> stuff + +00:29:34.310 --> 00:29:34.320 align:start position:0% +you can see there's a bunch of stuff + + +00:29:34.320 --> 00:29:35.430 align:start position:0% +you can see there's a bunch of stuff +here.<00:29:34.559> So,<00:29:34.720> we're<00:29:34.880> going<00:29:34.880> to<00:29:34.960> go<00:29:35.039> ahead<00:29:35.279> and + +00:29:35.430 --> 00:29:35.440 align:start position:0% +here. So, we're going to go ahead and + + +00:29:35.440 --> 00:29:37.430 align:start position:0% +here. So, we're going to go ahead and +press<00:29:35.679> on<00:29:36.000> open.<00:29:36.559> And<00:29:36.720> then<00:29:36.880> in<00:29:37.039> the<00:29:37.200> lefth + +00:29:37.430 --> 00:29:37.440 align:start position:0% +press on open. And then in the lefth + + +00:29:37.440 --> 00:29:40.149 align:start position:0% +press on open. And then in the lefth +hand<00:29:37.679> sidebar,<00:29:38.320> let<00:29:38.480> me<00:29:38.640> just<00:29:38.880> close<00:29:39.520> my + +00:29:40.149 --> 00:29:40.159 align:start position:0% +hand sidebar, let me just close my + + +00:29:40.159 --> 00:29:42.230 align:start position:0% +hand sidebar, let me just close my +agent.<00:29:41.039> Uh,<00:29:41.279> okay,<00:29:41.520> it's<00:29:41.679> asking<00:29:41.919> me<00:29:42.000> for<00:29:42.080> the + +00:29:42.230 --> 00:29:42.240 align:start position:0% +agent. Uh, okay, it's asking me for the + + +00:29:42.240 --> 00:29:43.669 align:start position:0% +agent. Uh, okay, it's asking me for the +password<00:29:42.559> again.<00:29:42.799> So<00:29:42.960> that's<00:29:43.120> fine.<00:29:43.440> Let's + +00:29:43.669 --> 00:29:43.679 align:start position:0% +password again. So that's fine. Let's + + +00:29:43.679 --> 00:29:45.909 align:start position:0% +password again. So that's fine. Let's +type<00:29:43.840> the<00:29:44.080> password.<00:29:45.120> We<00:29:45.360> should<00:29:45.600> be<00:29:45.679> able<00:29:45.840> to + +00:29:45.909 --> 00:29:45.919 align:start position:0% +type the password. We should be able to + + +00:29:45.919 --> 00:29:47.430 align:start position:0% +type the password. We should be able to +see<00:29:46.080> this<00:29:46.240> data.<00:29:46.559> So<00:29:46.720> you'll<00:29:46.880> notice<00:29:47.120> here<00:29:47.279> if + +00:29:47.430 --> 00:29:47.440 align:start position:0% +see this data. So you'll notice here if + + +00:29:47.440 --> 00:29:49.110 align:start position:0% +see this data. So you'll notice here if +you<00:29:47.520> open<00:29:47.679> up<00:29:47.840> the<00:29:48.159> sidebar<00:29:48.559> to<00:29:48.720> view<00:29:48.880> the + +00:29:49.110 --> 00:29:49.120 align:start position:0% +you open up the sidebar to view the + + +00:29:49.120 --> 00:29:50.630 align:start position:0% +you open up the sidebar to view the +files,<00:29:49.440> right,<00:29:49.919> you<00:29:50.080> can<00:29:50.159> do<00:29:50.240> that<00:29:50.399> with + +00:29:50.630 --> 00:29:50.640 align:start position:0% +files, right, you can do that with + + +00:29:50.640 --> 00:29:53.350 align:start position:0% +files, right, you can do that with +controlB<00:29:51.279> or<00:29:51.600> commandB<00:29:52.240> on<00:29:52.480> your<00:29:52.720> keyboard + +00:29:53.350 --> 00:29:53.360 align:start position:0% +controlB or commandB on your keyboard + + +00:29:53.360 --> 00:29:55.269 align:start position:0% +controlB or commandB on your keyboard +that<00:29:53.520> you'll<00:29:53.760> see<00:29:53.919> a<00:29:54.159> bunch<00:29:54.399> of<00:29:54.640> information + +00:29:55.269 --> 00:29:55.279 align:start position:0% +that you'll see a bunch of information + + +00:29:55.279 --> 00:29:56.870 align:start position:0% +that you'll see a bunch of information +showing<00:29:55.600> up.<00:29:56.159> Okay,<00:29:56.399> so<00:29:56.559> we<00:29:56.720> have + +00:29:56.870 --> 00:29:56.880 align:start position:0% +showing up. Okay, so we have + + +00:29:56.880 --> 00:29:58.710 align:start position:0% +showing up. Okay, so we have +credentials,<00:29:57.440> we<00:29:57.600> have<00:29:57.760> cron,<00:29:58.320> and<00:29:58.480> then<00:29:58.640> if + +00:29:58.710 --> 00:29:58.720 align:start position:0% +credentials, we have cron, and then if + + +00:29:58.720 --> 00:30:00.310 align:start position:0% +credentials, we have cron, and then if +you<00:29:58.799> go<00:29:58.960> into<00:29:59.200> workspace,<00:29:59.760> we<00:29:59.919> have<00:30:00.080> all<00:30:00.240> of + +00:30:00.310 --> 00:30:00.320 align:start position:0% +you go into workspace, we have all of + + +00:30:00.320 --> 00:30:01.750 align:start position:0% +you go into workspace, we have all of +these<00:30:00.559> different<00:30:00.799> files,<00:30:01.200> which<00:30:01.440> is<00:30:01.600> really + +00:30:01.750 --> 00:30:01.760 align:start position:0% +these different files, which is really + + +00:30:01.760 --> 00:30:04.149 align:start position:0% +these different files, which is really +the<00:30:02.000> configuration<00:30:02.640> for<00:30:03.039> the<00:30:03.279> agent.<00:30:03.840> Now, + +00:30:04.149 --> 00:30:04.159 align:start position:0% +the configuration for the agent. Now, + + +00:30:04.159 --> 00:30:06.070 align:start position:0% +the configuration for the agent. Now, +right<00:30:04.320> now,<00:30:04.480> we<00:30:04.720> don't<00:30:04.960> see<00:30:05.200> any<00:30:05.520> skills<00:30:05.919> in + +00:30:06.070 --> 00:30:06.080 align:start position:0% +right now, we don't see any skills in + + +00:30:06.080 --> 00:30:07.830 align:start position:0% +right now, we don't see any skills in +here.<00:30:06.559> The<00:30:06.799> reason<00:30:06.960> for<00:30:07.120> that<00:30:07.279> is<00:30:07.440> that<00:30:07.600> a<00:30:07.760> lot + +00:30:07.830 --> 00:30:07.840 align:start position:0% +here. The reason for that is that a lot + + +00:30:07.840 --> 00:30:09.190 align:start position:0% +here. The reason for that is that a lot +of<00:30:07.919> the<00:30:08.080> built-in<00:30:08.480> skills<00:30:08.799> are<00:30:08.960> actually + +00:30:09.190 --> 00:30:09.200 align:start position:0% +of the built-in skills are actually + + +00:30:09.200 --> 00:30:10.789 align:start position:0% +of the built-in skills are actually +stored<00:30:09.520> in<00:30:09.679> a<00:30:09.840> different<00:30:10.080> location<00:30:10.559> because + +00:30:10.789 --> 00:30:10.799 align:start position:0% +stored in a different location because + + +00:30:10.799 --> 00:30:12.310 align:start position:0% +stored in a different location because +they're<00:30:11.120> already<00:30:11.440> written.<00:30:11.840> But<00:30:12.000> if<00:30:12.159> you<00:30:12.240> were + +00:30:12.310 --> 00:30:12.320 align:start position:0% +they're already written. But if you were + + +00:30:12.320 --> 00:30:14.389 align:start position:0% +they're already written. But if you were +to<00:30:12.480> ask<00:30:12.640> the<00:30:12.880> bot<00:30:13.120> to<00:30:13.279> make<00:30:13.360> its<00:30:13.600> own<00:30:13.840> skill,<00:30:14.159> it + +00:30:14.389 --> 00:30:14.399 align:start position:0% +to ask the bot to make its own skill, it + + +00:30:14.399 --> 00:30:15.909 align:start position:0% +to ask the bot to make its own skill, it +should<00:30:14.559> show<00:30:14.720> up<00:30:14.960> here.<00:30:15.279> So,<00:30:15.440> let's<00:30:15.679> actually + +00:30:15.909 --> 00:30:15.919 align:start position:0% +should show up here. So, let's actually + + +00:30:15.919 --> 00:30:20.789 align:start position:0% +should show up here. So, let's actually +test<00:30:16.159> that.<00:30:17.039> Make<00:30:17.360> a<00:30:17.919> simple<00:30:18.880> skill<00:30:19.760> that<00:30:20.240> says + +00:30:20.789 --> 00:30:20.799 align:start position:0% +test that. Make a simple skill that says + + +00:30:20.799 --> 00:30:24.230 align:start position:0% +test that. Make a simple skill that says +hello<00:30:21.200> world<00:30:21.679> in<00:30:22.159> five<00:30:23.440> languages.<00:30:23.919> And<00:30:24.080> let's + +00:30:24.230 --> 00:30:24.240 align:start position:0% +hello world in five languages. And let's + + +00:30:24.240 --> 00:30:27.269 align:start position:0% +hello world in five languages. And let's +just<00:30:24.399> go<00:30:24.640> five<00:30:25.200> random<00:30:25.760> languages.<00:30:26.880> Okay.<00:30:27.120> And + +00:30:27.269 --> 00:30:27.279 align:start position:0% +just go five random languages. Okay. And + + +00:30:27.279 --> 00:30:28.870 align:start position:0% +just go five random languages. Okay. And +let's<00:30:27.520> see<00:30:28.000> actually<00:30:28.240> if<00:30:28.399> it<00:30:28.559> can<00:30:28.720> create + +00:30:28.870 --> 00:30:28.880 align:start position:0% +let's see actually if it can create + + +00:30:28.880 --> 00:30:29.990 align:start position:0% +let's see actually if it can create +that.<00:30:29.120> And<00:30:29.279> then<00:30:29.360> we're<00:30:29.520> going<00:30:29.600> to<00:30:29.679> have<00:30:29.840> to + +00:30:29.990 --> 00:30:30.000 align:start position:0% +that. And then we're going to have to + + +00:30:30.000 --> 00:30:31.909 align:start position:0% +that. And then we're going to have to +refresh<00:30:30.480> this<00:30:30.880> and<00:30:31.120> we'll<00:30:31.360> be<00:30:31.440> able<00:30:31.600> to<00:30:31.679> view + +00:30:31.909 --> 00:30:31.919 align:start position:0% +refresh this and we'll be able to view + + +00:30:31.919 --> 00:30:33.750 align:start position:0% +refresh this and we'll be able to view +hopefully<00:30:32.240> the<00:30:32.480> new<00:30:32.720> skill<00:30:33.039> file.<00:30:33.360> so<00:30:33.520> I<00:30:33.679> can + +00:30:33.750 --> 00:30:33.760 align:start position:0% +hopefully the new skill file. so I can + + +00:30:33.760 --> 00:30:35.029 align:start position:0% +hopefully the new skill file. so I can +show<00:30:33.840> you<00:30:34.000> what<00:30:34.159> it<00:30:34.240> looks<00:30:34.399> like<00:30:34.559> before<00:30:34.799> we + +00:30:35.029 --> 00:30:35.039 align:start position:0% +show you what it looks like before we + + +00:30:35.039 --> 00:30:36.950 align:start position:0% +show you what it looks like before we +start<00:30:35.200> enabling<00:30:35.600> other<00:30:35.840> ones.<00:30:36.320> Okay,<00:30:36.640> so<00:30:36.799> it's + +00:30:36.950 --> 00:30:36.960 align:start position:0% +start enabling other ones. Okay, so it's + + +00:30:36.960 --> 00:30:38.630 align:start position:0% +start enabling other ones. Okay, so it's +making<00:30:37.200> the<00:30:37.440> skill<00:30:37.760> right<00:30:38.000> now<00:30:38.159> and<00:30:38.399> you<00:30:38.559> can + +00:30:38.630 --> 00:30:38.640 align:start position:0% +making the skill right now and you can + + +00:30:38.640 --> 00:30:39.909 align:start position:0% +making the skill right now and you can +actually<00:30:38.799> see<00:30:38.880> that<00:30:39.120> it's<00:30:39.279> now<00:30:39.440> created<00:30:39.679> a<00:30:39.840> new + +00:30:39.909 --> 00:30:39.919 align:start position:0% +actually see that it's now created a new + + +00:30:39.919 --> 00:30:41.909 align:start position:0% +actually see that it's now created a new +folder<00:30:40.240> called<00:30:40.480> skills<00:30:41.120> and<00:30:41.360> then<00:30:41.520> it<00:30:41.679> has + +00:30:41.909 --> 00:30:41.919 align:start position:0% +folder called skills and then it has + + +00:30:41.919 --> 00:30:43.909 align:start position:0% +folder called skills and then it has +hello<00:30:42.240> world<00:30:42.480> languages<00:30:42.960> as<00:30:43.200> a<00:30:43.360> subfolder + +00:30:43.909 --> 00:30:43.919 align:start position:0% +hello world languages as a subfolder + + +00:30:43.919 --> 00:30:45.830 align:start position:0% +hello world languages as a subfolder +which<00:30:44.080> is<00:30:44.240> the<00:30:44.399> name<00:30:44.559> of<00:30:44.640> the<00:30:44.799> skill<00:30:45.360> and<00:30:45.600> then + +00:30:45.830 --> 00:30:45.840 align:start position:0% +which is the name of the skill and then + + +00:30:45.840 --> 00:30:48.230 align:start position:0% +which is the name of the skill and then +we<00:30:46.080> have<00:30:46.399> this<00:30:46.720> skill.md + +00:30:48.230 --> 00:30:48.240 align:start position:0% +we have this skill.md + + +00:30:48.240 --> 00:30:50.630 align:start position:0% +we have this skill.md +file<00:30:48.720> that<00:30:49.039> explains<00:30:49.440> what<00:30:49.679> the<00:30:49.919> skill<00:30:50.320> is + +00:30:50.630 --> 00:30:50.640 align:start position:0% +file that explains what the skill is + + +00:30:50.640 --> 00:30:53.430 align:start position:0% +file that explains what the skill is +right<00:30:51.440> name<00:30:52.080> description<00:30:52.640> and<00:30:52.880> then<00:30:53.120> all<00:30:53.279> of + +00:30:53.430 --> 00:30:53.440 align:start position:0% +right name description and then all of + + +00:30:53.440 --> 00:30:56.630 align:start position:0% +right name description and then all of +this.<00:30:54.159> Now<00:30:54.399> you'll<00:30:54.640> notice<00:30:55.520> that<00:30:55.840> after<00:30:56.159> I<00:30:56.480> do + +00:30:56.630 --> 00:30:56.640 align:start position:0% +this. Now you'll notice that after I do + + +00:30:56.640 --> 00:30:59.350 align:start position:0% +this. Now you'll notice that after I do +that<00:30:57.200> I<00:30:57.440> now<00:30:57.600> will<00:30:57.840> have<00:30:57.919> a<00:30:58.159> command<00:30:58.880> and<00:30:59.120> this + +00:30:59.350 --> 00:30:59.360 align:start position:0% +that I now will have a command and this + + +00:30:59.360 --> 00:31:01.350 align:start position:0% +that I now will have a command and this +command<00:30:59.600> should<00:30:59.760> be<00:30:59.919> hello<00:31:00.240> world<00:31:00.480> languages + +00:31:01.350 --> 00:31:01.360 align:start position:0% +command should be hello world languages + + +00:31:01.360 --> 00:31:04.870 align:start position:0% +command should be hello world languages +uh<00:31:01.520> or<00:31:02.559> sorry<00:31:02.880> /skill.<00:31:03.679> So<00:31:03.840> I<00:31:04.000> can<00:31:04.080> do<00:31:04.240> /skill + +00:31:04.870 --> 00:31:04.880 align:start position:0% +uh or sorry /skill. So I can do /skill + + +00:31:04.880 --> 00:31:09.190 align:start position:0% +uh or sorry /skill. So I can do /skill +and<00:31:05.120> then<00:31:05.200> I<00:31:05.360> can<00:31:05.520> do<00:31:05.679> hello-world-languages + +00:31:09.190 --> 00:31:09.200 align:start position:0% + + + +00:31:09.200 --> 00:31:11.029 align:start position:0% + +and<00:31:09.440> it<00:31:09.600> should<00:31:09.919> trigger<00:31:10.240> that<00:31:10.480> skill<00:31:10.799> to + +00:31:11.029 --> 00:31:11.039 align:start position:0% +and it should trigger that skill to + + +00:31:11.039 --> 00:31:13.510 align:start position:0% +and it should trigger that skill to +execute.<00:31:11.760> And<00:31:11.919> you<00:31:12.080> can<00:31:12.240> see<00:31:12.399> that<00:31:12.799> it<00:31:13.120> now + +00:31:13.510 --> 00:31:13.520 align:start position:0% +execute. And you can see that it now + + +00:31:13.520 --> 00:31:15.190 align:start position:0% +execute. And you can see that it now +runs<00:31:13.840> the<00:31:14.080> skill.<00:31:14.480> Right?<00:31:14.720> So<00:31:14.880> that's + +00:31:15.190 --> 00:31:15.200 align:start position:0% +runs the skill. Right? So that's + + +00:31:15.200 --> 00:31:16.789 align:start position:0% +runs the skill. Right? So that's +effectively<00:31:15.600> what<00:31:15.840> a<00:31:16.080> skill<00:31:16.320> is.<00:31:16.480> I<00:31:16.640> just<00:31:16.720> want + +00:31:16.789 --> 00:31:16.799 align:start position:0% +effectively what a skill is. I just want + + +00:31:16.799 --> 00:31:18.310 align:start position:0% +effectively what a skill is. I just want +you<00:31:16.960> to<00:31:17.120> understand<00:31:17.440> that<00:31:17.679> before<00:31:17.919> we<00:31:18.080> start + +00:31:18.310 --> 00:31:18.320 align:start position:0% +you to understand that before we start + + +00:31:18.320 --> 00:31:20.389 align:start position:0% +you to understand that before we start +adding<00:31:18.559> a<00:31:18.799> bunch<00:31:18.960> of<00:31:19.120> them.<00:31:19.679> And<00:31:19.840> now<00:31:20.080> that<00:31:20.240> we + +00:31:20.389 --> 00:31:20.399 align:start position:0% +adding a bunch of them. And now that we + + +00:31:20.399 --> 00:31:22.310 align:start position:0% +adding a bunch of them. And now that we +can<00:31:20.480> make<00:31:20.720> our<00:31:20.960> own<00:31:21.120> custom<00:31:21.520> skills,<00:31:21.919> which<00:31:22.159> is + +00:31:22.310 --> 00:31:22.320 align:start position:0% +can make our own custom skills, which is + + +00:31:22.320 --> 00:31:23.830 align:start position:0% +can make our own custom skills, which is +very<00:31:22.559> easy,<00:31:22.799> right?<00:31:22.960> You<00:31:23.120> just<00:31:23.200> ask<00:31:23.440> it<00:31:23.600> to<00:31:23.760> do + +00:31:23.830 --> 00:31:23.840 align:start position:0% +very easy, right? You just ask it to do + + +00:31:23.840 --> 00:31:25.269 align:start position:0% +very easy, right? You just ask it to do +something<00:31:24.080> which<00:31:24.240> is<00:31:24.399> a<00:31:24.559> repeatable<00:31:25.039> task + +00:31:25.269 --> 00:31:25.279 align:start position:0% +something which is a repeatable task + + +00:31:25.279 --> 00:31:27.029 align:start position:0% +something which is a repeatable task +that<00:31:25.520> you<00:31:25.600> want<00:31:25.679> it<00:31:25.840> to<00:31:26.000> have<00:31:26.159> written<00:31:26.480> down. + +00:31:27.029 --> 00:31:27.039 align:start position:0% +that you want it to have written down. + + +00:31:27.039 --> 00:31:28.549 align:start position:0% +that you want it to have written down. +Make<00:31:27.279> sure<00:31:27.360> you<00:31:27.679> review<00:31:28.000> what<00:31:28.159> it<00:31:28.320> writes + +00:31:28.549 --> 00:31:28.559 align:start position:0% +Make sure you review what it writes + + +00:31:28.559 --> 00:31:30.389 align:start position:0% +Make sure you review what it writes +inside<00:31:28.880> of<00:31:29.039> here<00:31:29.200> and<00:31:29.520> customize<00:31:30.000> it<00:31:30.159> because + +00:31:30.389 --> 00:31:30.399 align:start position:0% +inside of here and customize it because + + +00:31:30.399 --> 00:31:31.669 align:start position:0% +inside of here and customize it because +that's<00:31:30.640> going<00:31:30.720> to<00:31:30.799> give<00:31:30.960> you<00:31:31.039> the<00:31:31.360> best + +00:31:31.669 --> 00:31:31.679 align:start position:0% +that's going to give you the best + + +00:31:31.679 --> 00:31:33.750 align:start position:0% +that's going to give you the best +results.<00:31:32.480> Now,<00:31:32.799> some<00:31:33.039> skills<00:31:33.360> that<00:31:33.520> we + +00:31:33.750 --> 00:31:33.760 align:start position:0% +results. Now, some skills that we + + +00:31:33.760 --> 00:31:35.750 align:start position:0% +results. Now, some skills that we +definitely<00:31:34.159> want<00:31:34.240> to<00:31:34.480> enable<00:31:34.880> that<00:31:35.120> are<00:31:35.600> uh + +00:31:35.750 --> 00:31:35.760 align:start position:0% +definitely want to enable that are uh + + +00:31:35.760 --> 00:31:37.669 align:start position:0% +definitely want to enable that are uh +default<00:31:36.240> skills<00:31:36.799> are<00:31:37.120> going<00:31:37.200> to<00:31:37.360> be<00:31:37.440> the + +00:31:37.669 --> 00:31:37.679 align:start position:0% +default skills are going to be the + + +00:31:37.679 --> 00:31:39.430 align:start position:0% +default skills are going to be the +following,<00:31:38.000> and<00:31:38.159> they<00:31:38.320> have<00:31:38.480> to<00:31:38.640> do<00:31:38.720> with<00:31:38.960> Git + +00:31:39.430 --> 00:31:39.440 align:start position:0% +following, and they have to do with Git + + +00:31:39.440 --> 00:31:41.990 align:start position:0% +following, and they have to do with Git +and<00:31:39.840> GitHub.<00:31:40.640> So,<00:31:40.880> a<00:31:41.039> lot<00:31:41.120> of<00:31:41.279> times<00:31:41.600> you<00:31:41.840> can + +00:31:41.990 --> 00:31:42.000 align:start position:0% +and GitHub. So, a lot of times you can + + +00:31:42.000 --> 00:31:44.070 align:start position:0% +and GitHub. So, a lot of times you can +have<00:31:42.159> your<00:31:42.399> agent<00:31:42.799> actually<00:31:43.200> code<00:31:43.600> its<00:31:43.919> own + +00:31:44.070 --> 00:31:44.080 align:start position:0% +have your agent actually code its own + + +00:31:44.080 --> 00:31:45.750 align:start position:0% +have your agent actually code its own +skills.<00:31:44.480> So,<00:31:44.559> it<00:31:44.799> can<00:31:44.880> write<00:31:45.039> its<00:31:45.279> own<00:31:45.360> custom + +00:31:45.750 --> 00:31:45.760 align:start position:0% +skills. So, it can write its own custom + + +00:31:45.760 --> 00:31:48.070 align:start position:0% +skills. So, it can write its own custom +Python<00:31:46.240> files<00:31:46.640> or<00:31:47.039> scripts<00:31:47.360> or<00:31:47.600> whatever + +00:31:48.070 --> 00:31:48.080 align:start position:0% +Python files or scripts or whatever + + +00:31:48.080 --> 00:31:50.710 align:start position:0% +Python files or scripts or whatever +websites.<00:31:48.799> Uh,<00:31:49.039> and<00:31:49.279> that's<00:31:49.600> quite<00:31:50.000> useful. + +00:31:50.710 --> 00:31:50.720 align:start position:0% +websites. Uh, and that's quite useful. + + +00:31:50.720 --> 00:31:51.830 align:start position:0% +websites. Uh, and that's quite useful. +So,<00:31:50.880> what<00:31:51.120> you're<00:31:51.200> going<00:31:51.279> to<00:31:51.440> want<00:31:51.519> to<00:31:51.679> do + +00:31:51.830 --> 00:31:51.840 align:start position:0% +So, what you're going to want to do + + +00:31:51.840 --> 00:31:53.669 align:start position:0% +So, what you're going to want to do +right<00:31:52.000> away<00:31:52.240> when<00:31:52.559> setting<00:31:52.799> up<00:31:52.960> this<00:31:53.120> agent<00:31:53.440> is + +00:31:53.669 --> 00:31:53.679 align:start position:0% +right away when setting up this agent is + + +00:31:53.679 --> 00:31:56.149 align:start position:0% +right away when setting up this agent is +first<00:31:53.919> enable<00:31:54.320> the<00:31:54.640> coding<00:31:55.120> agent.<00:31:55.760> So,<00:31:56.000> what + +00:31:56.149 --> 00:31:56.159 align:start position:0% +first enable the coding agent. So, what + + +00:31:56.159 --> 00:31:58.389 align:start position:0% +first enable the coding agent. So, what +you<00:31:56.320> can<00:31:56.480> just<00:31:56.720> simply<00:31:57.120> do<00:31:57.440> is<00:31:57.679> you<00:31:57.919> can<00:31:58.000> copy + +00:31:58.389 --> 00:31:58.399 align:start position:0% +you can just simply do is you can copy + + +00:31:58.399 --> 00:32:01.269 align:start position:0% +you can just simply do is you can copy +this<00:31:58.640> and<00:31:58.880> just<00:31:59.120> tell<00:31:59.279> the<00:31:59.519> agent + +00:32:01.269 --> 00:32:01.279 align:start position:0% +this and just tell the agent + + +00:32:01.279 --> 00:32:03.830 align:start position:0% +this and just tell the agent +enable<00:32:02.080> this<00:32:02.559> skill.<00:32:03.279> Okay,<00:32:03.440> so<00:32:03.600> I'm<00:32:03.760> just + +00:32:03.830 --> 00:32:03.840 align:start position:0% +enable this skill. Okay, so I'm just + + +00:32:03.840 --> 00:32:05.269 align:start position:0% +enable this skill. Okay, so I'm just +going<00:32:03.919> to<00:32:04.000> say<00:32:04.159> enable<00:32:04.480> this<00:32:04.640> skill<00:32:04.880> and<00:32:05.120> just + +00:32:05.269 --> 00:32:05.279 align:start position:0% +going to say enable this skill and just + + +00:32:05.279 --> 00:32:07.190 align:start position:0% +going to say enable this skill and just +copy<00:32:05.600> it<00:32:05.760> and<00:32:06.000> it's<00:32:06.159> going<00:32:06.240> to<00:32:06.399> go<00:32:06.559> and<00:32:06.799> install + +00:32:07.190 --> 00:32:07.200 align:start position:0% +copy it and it's going to go and install + + +00:32:07.200 --> 00:32:09.350 align:start position:0% +copy it and it's going to go and install +and<00:32:07.519> configure<00:32:07.919> it<00:32:08.159> as<00:32:08.480> needed.<00:32:08.960> You're<00:32:09.120> also + +00:32:09.350 --> 00:32:09.360 align:start position:0% +and configure it as needed. You're also + + +00:32:09.360 --> 00:32:11.430 align:start position:0% +and configure it as needed. You're also +going<00:32:09.519> to<00:32:09.600> want<00:32:09.760> to<00:32:09.919> enable<00:32:10.399> GitHub.<00:32:11.039> And<00:32:11.200> in + +00:32:11.430 --> 00:32:11.440 align:start position:0% +going to want to enable GitHub. And in + + +00:32:11.440 --> 00:32:13.909 align:start position:0% +going to want to enable GitHub. And in +order<00:32:11.519> to<00:32:11.760> enable<00:32:12.159> GitHub,<00:32:12.960> I<00:32:13.200> highly<00:32:13.600> suggest + +00:32:13.909 --> 00:32:13.919 align:start position:0% +order to enable GitHub, I highly suggest + + +00:32:13.919 --> 00:32:15.830 align:start position:0% +order to enable GitHub, I highly suggest +that<00:32:14.080> you<00:32:14.240> create<00:32:14.480> your<00:32:14.720> own<00:32:14.960> GitHub<00:32:15.440> account + +00:32:15.830 --> 00:32:15.840 align:start position:0% +that you create your own GitHub account + + +00:32:15.840 --> 00:32:18.070 align:start position:0% +that you create your own GitHub account +specifically<00:32:16.559> for<00:32:16.799> the<00:32:17.039> bot.<00:32:17.600> So,<00:32:17.760> I've + +00:32:18.070 --> 00:32:18.080 align:start position:0% +specifically for the bot. So, I've + + +00:32:18.080 --> 00:32:19.269 align:start position:0% +specifically for the bot. So, I've +already<00:32:18.320> done<00:32:18.480> this.<00:32:18.799> I've<00:32:18.960> gone<00:32:19.120> to + +00:32:19.269 --> 00:32:19.279 align:start position:0% +already done this. I've gone to + + +00:32:19.279 --> 00:32:21.350 align:start position:0% +already done this. I've gone to +github.com.<00:32:20.000> I've<00:32:20.240> made<00:32:20.399> my<00:32:20.559> own<00:32:20.720> bot<00:32:21.039> or<00:32:21.279> my + +00:32:21.350 --> 00:32:21.360 align:start position:0% +github.com. I've made my own bot or my + + +00:32:21.360 --> 00:32:22.950 align:start position:0% +github.com. I've made my own bot or my +own<00:32:21.519> GitHub<00:32:21.840> account<00:32:22.000> called<00:32:22.240> Techwithim + +00:32:22.950 --> 00:32:22.960 align:start position:0% +own GitHub account called Techwithim + + +00:32:22.960 --> 00:32:25.029 align:start position:0% +own GitHub account called Techwithim +Claudebot.<00:32:23.760> And<00:32:24.000> what<00:32:24.240> we'll<00:32:24.480> do<00:32:24.559> is<00:32:24.799> we'll + +00:32:25.029 --> 00:32:25.039 align:start position:0% +Claudebot. And what we'll do is we'll + + +00:32:25.039 --> 00:32:26.789 align:start position:0% +Claudebot. And what we'll do is we'll +connect<00:32:25.360> this<00:32:25.600> GitHub<00:32:26.000> account,<00:32:26.240> so<00:32:26.480> not<00:32:26.640> our + +00:32:26.789 --> 00:32:26.799 align:start position:0% +connect this GitHub account, so not our + + +00:32:26.799 --> 00:32:28.230 align:start position:0% +connect this GitHub account, so not our +GitHub<00:32:27.200> account,<00:32:27.440> a<00:32:27.600> separate<00:32:27.840> GitHub + +00:32:28.230 --> 00:32:28.240 align:start position:0% +GitHub account, a separate GitHub + + +00:32:28.240 --> 00:32:30.710 align:start position:0% +GitHub account, a separate GitHub +account<00:32:28.640> to<00:32:28.960> the<00:32:29.120> bot<00:32:29.519> and<00:32:29.760> then<00:32:30.000> allow<00:32:30.240> it<00:32:30.480> to + +00:32:30.710 --> 00:32:30.720 align:start position:0% +account to the bot and then allow it to + + +00:32:30.720 --> 00:32:32.789 align:start position:0% +account to the bot and then allow it to +write<00:32:30.960> all<00:32:31.120> of<00:32:31.279> its<00:32:31.519> code.<00:32:32.080> Now,<00:32:32.320> notice<00:32:32.640> that + +00:32:32.789 --> 00:32:32.799 align:start position:0% +write all of its code. Now, notice that + + +00:32:32.799 --> 00:32:34.710 align:start position:0% +write all of its code. Now, notice that +I<00:32:33.039> actually<00:32:33.200> have<00:32:33.360> some<00:32:33.600> code<00:32:33.760> here<00:32:34.000> already. + +00:32:34.710 --> 00:32:34.720 align:start position:0% +I actually have some code here already. + + +00:32:34.720 --> 00:32:36.149 align:start position:0% +I actually have some code here already. +And<00:32:34.880> the<00:32:35.120> reason<00:32:35.279> for<00:32:35.440> this<00:32:35.600> is<00:32:35.840> I've + +00:32:36.149 --> 00:32:36.159 align:start position:0% +And the reason for this is I've + + +00:32:36.159 --> 00:32:38.310 align:start position:0% +And the reason for this is I've +instructed<00:32:36.799> my<00:32:37.120> Clawbot<00:32:37.760> on<00:32:37.919> a<00:32:38.080> different + +00:32:38.310 --> 00:32:38.320 align:start position:0% +instructed my Clawbot on a different + + +00:32:38.320 --> 00:32:40.710 align:start position:0% +instructed my Clawbot on a different +instance<00:32:38.799> for<00:32:39.039> anytime<00:32:39.440> it<00:32:39.679> writes<00:32:40.000> any<00:32:40.320> code + +00:32:40.710 --> 00:32:40.720 align:start position:0% +instance for anytime it writes any code + + +00:32:40.720 --> 00:32:42.310 align:start position:0% +instance for anytime it writes any code +to<00:32:40.960> commit<00:32:41.200> the<00:32:41.440> code<00:32:41.519> to<00:32:41.760> GitHub, + +00:32:42.310 --> 00:32:42.320 align:start position:0% +to commit the code to GitHub, + + +00:32:42.320 --> 00:32:44.310 align:start position:0% +to commit the code to GitHub, +automatically<00:32:42.960> create<00:32:43.120> a<00:32:43.279> new<00:32:43.440> git<00:32:43.679> repo,<00:32:44.080> and + +00:32:44.310 --> 00:32:44.320 align:start position:0% +automatically create a new git repo, and + + +00:32:44.320 --> 00:32:46.389 align:start position:0% +automatically create a new git repo, and +store<00:32:44.640> all<00:32:44.799> of<00:32:44.960> the<00:32:45.120> code<00:32:45.360> so<00:32:45.519> that<00:32:45.679> I<00:32:46.000> always + +00:32:46.389 --> 00:32:46.399 align:start position:0% +store all of the code so that I always + + +00:32:46.399 --> 00:32:48.710 align:start position:0% +store all of the code so that I always +have<00:32:46.720> access<00:32:47.039> to<00:32:47.200> it.<00:32:47.679> I<00:32:47.919> can<00:32:48.000> manage<00:32:48.240> it,<00:32:48.559> I + +00:32:48.710 --> 00:32:48.720 align:start position:0% +have access to it. I can manage it, I + + +00:32:48.720 --> 00:32:50.630 align:start position:0% +have access to it. I can manage it, I +can<00:32:48.799> make<00:32:49.039> changes,<00:32:49.519> I<00:32:49.679> can<00:32:49.760> pull<00:32:50.000> it<00:32:50.159> down. + +00:32:50.630 --> 00:32:50.640 align:start position:0% +can make changes, I can pull it down. + + +00:32:50.640 --> 00:32:52.470 align:start position:0% +can make changes, I can pull it down. +You<00:32:50.799> get<00:32:50.960> the<00:32:51.120> idea.<00:32:51.519> Okay,<00:32:51.760> so<00:32:51.919> we<00:32:52.080> have<00:32:52.240> like + +00:32:52.470 --> 00:32:52.480 align:start position:0% +You get the idea. Okay, so we have like + + +00:32:52.480 --> 00:32:54.389 align:start position:0% +You get the idea. Okay, so we have like +you<00:32:52.559> know<00:32:52.640> a<00:32:52.799> YouTube<00:32:53.200> OS<00:32:53.600> dashboard<00:32:54.080> whatever + +00:32:54.389 --> 00:32:54.399 align:start position:0% +you know a YouTube OS dashboard whatever + + +00:32:54.399 --> 00:32:56.230 align:start position:0% +you know a YouTube OS dashboard whatever +all<00:32:54.480> of<00:32:54.559> this<00:32:54.720> stuff<00:32:54.880> and<00:32:55.120> you<00:32:55.279> can<00:32:55.440> see<00:32:55.840> any<00:32:56.159> of + +00:32:56.230 --> 00:32:56.240 align:start position:0% +all of this stuff and you can see any of + + +00:32:56.240 --> 00:32:57.990 align:start position:0% +all of this stuff and you can see any of +the<00:32:56.399> code<00:32:56.559> that's<00:32:56.880> been<00:32:57.120> written.<00:32:57.519> So<00:32:57.679> anyways + +00:32:57.990 --> 00:32:58.000 align:start position:0% +the code that's been written. So anyways + + +00:32:58.000 --> 00:32:59.509 align:start position:0% +the code that's been written. So anyways +let's<00:32:58.240> go<00:32:58.320> back<00:32:58.399> to<00:32:58.559> Telegram<00:32:59.039> and<00:32:59.279> you<00:32:59.360> can + +00:32:59.509 --> 00:32:59.519 align:start position:0% +let's go back to Telegram and you can + + +00:32:59.519 --> 00:33:00.950 align:start position:0% +let's go back to Telegram and you can +see<00:32:59.600> it<00:32:59.760> says<00:32:59.919> the<00:33:00.080> coding<00:33:00.320> agent<00:33:00.559> skill<00:33:00.799> is + +00:33:00.950 --> 00:33:00.960 align:start position:0% +see it says the coding agent skill is + + +00:33:00.960 --> 00:33:02.070 align:start position:0% +see it says the coding agent skill is +already<00:33:01.120> present<00:33:01.440> by<00:33:01.600> missing<00:33:01.919> the + +00:33:02.070 --> 00:33:02.080 align:start position:0% +already present by missing the + + +00:33:02.080 --> 00:33:04.389 align:start position:0% +already present by missing the +requirements.<00:33:02.880> I'm<00:33:03.120> going<00:33:03.200> to<00:33:03.279> say<00:33:03.760> use + +00:33:04.389 --> 00:33:04.399 align:start position:0% +requirements. I'm going to say use + + +00:33:04.399 --> 00:33:07.110 align:start position:0% +requirements. I'm going to say use +codeex.<00:33:05.840> Okay,<00:33:06.159> and<00:33:06.480> hopefully<00:33:06.799> it's<00:33:07.039> going + +00:33:07.110 --> 00:33:07.120 align:start position:0% +codeex. Okay, and hopefully it's going + + +00:33:07.120 --> 00:33:08.630 align:start position:0% +codeex. Okay, and hopefully it's going +to<00:33:07.279> set<00:33:07.519> that<00:33:07.679> up.<00:33:07.919> Okay,<00:33:08.080> so<00:33:08.159> it<00:33:08.320> looks<00:33:08.480> like + +00:33:08.630 --> 00:33:08.640 align:start position:0% +to set that up. Okay, so it looks like + + +00:33:08.640 --> 00:33:10.310 align:start position:0% +to set that up. Okay, so it looks like +codeex<00:33:09.039> was<00:33:09.200> installed.<00:33:09.600> So<00:33:09.760> if<00:33:09.919> we<00:33:10.000> go<00:33:10.159> back + +00:33:10.310 --> 00:33:10.320 align:start position:0% +codeex was installed. So if we go back + + +00:33:10.320 --> 00:33:12.310 align:start position:0% +codeex was installed. So if we go back +here<00:33:10.640> now<00:33:10.799> we<00:33:11.039> should<00:33:11.120> be<00:33:11.279> able<00:33:11.440> to<00:33:11.600> see<00:33:11.840> that + +00:33:12.310 --> 00:33:12.320 align:start position:0% +here now we should be able to see that + + +00:33:12.320 --> 00:33:14.789 align:start position:0% +here now we should be able to see that +the<00:33:12.720> coding<00:33:13.120> agent<00:33:13.840> we<00:33:14.000> might<00:33:14.320> just<00:33:14.480> have<00:33:14.640> to + +00:33:14.789 --> 00:33:14.799 align:start position:0% +the coding agent we might just have to + + +00:33:14.799 --> 00:33:17.190 align:start position:0% +the coding agent we might just have to +refresh<00:33:15.200> here<00:33:15.840> hopefully<00:33:16.240> is<00:33:16.559> no<00:33:16.799> longer + +00:33:17.190 --> 00:33:17.200 align:start position:0% +refresh here hopefully is no longer + + +00:33:17.200 --> 00:33:19.509 align:start position:0% +refresh here hopefully is no longer +being<00:33:17.600> blocked.<00:33:18.399> So<00:33:18.640> let's<00:33:18.880> go<00:33:19.039> here<00:33:19.279> and<00:33:19.440> you + +00:33:19.509 --> 00:33:19.519 align:start position:0% +being blocked. So let's go here and you + + +00:33:19.519 --> 00:33:21.190 align:start position:0% +being blocked. So let's go here and you +can<00:33:19.679> see<00:33:19.840> coding<00:33:20.159> agent<00:33:20.399> is<00:33:20.559> good.<00:33:20.880> We<00:33:21.039> can + +00:33:21.190 --> 00:33:21.200 align:start position:0% +can see coding agent is good. We can + + +00:33:21.200 --> 00:33:22.789 align:start position:0% +can see coding agent is good. We can +also<00:33:21.360> see<00:33:21.519> we<00:33:21.679> have<00:33:21.760> workspace<00:33:22.320> skills.<00:33:22.720> And + +00:33:22.789 --> 00:33:22.799 align:start position:0% +also see we have workspace skills. And + + +00:33:22.799 --> 00:33:25.110 align:start position:0% +also see we have workspace skills. And +these<00:33:23.039> are<00:33:23.200> ones<00:33:23.360> that<00:33:23.600> it<00:33:23.840> created<00:33:24.240> itself. + +00:33:25.110 --> 00:33:25.120 align:start position:0% +these are ones that it created itself. + + +00:33:25.120 --> 00:33:26.710 align:start position:0% +these are ones that it created itself. +Cool.<00:33:25.360> So<00:33:25.519> the<00:33:25.679> other<00:33:25.840> one<00:33:26.000> that<00:33:26.159> we<00:33:26.320> want<00:33:26.480> is + +00:33:26.710 --> 00:33:26.720 align:start position:0% +Cool. So the other one that we want is + + +00:33:26.720 --> 00:33:28.149 align:start position:0% +Cool. So the other one that we want is +GitHub.<00:33:27.200> So<00:33:27.360> I'm<00:33:27.519> just<00:33:27.600> going<00:33:27.679> to<00:33:27.760> press<00:33:28.000> the + +00:33:28.149 --> 00:33:28.159 align:start position:0% +GitHub. So I'm just going to press the + + +00:33:28.159 --> 00:33:30.950 align:start position:0% +GitHub. So I'm just going to press the +button<00:33:28.399> to<00:33:28.720> install<00:33:29.120> the<00:33:29.360> GitHub<00:33:29.919> CLI<00:33:30.480> here. + +00:33:30.950 --> 00:33:30.960 align:start position:0% +button to install the GitHub CLI here. + + +00:33:30.960 --> 00:33:33.110 align:start position:0% +button to install the GitHub CLI here. +And<00:33:31.120> then<00:33:31.279> what<00:33:31.440> I'm<00:33:31.679> going<00:33:31.679> to<00:33:31.840> do<00:33:32.000> is<00:33:32.320> go<00:33:32.640> down + +00:33:33.110 --> 00:33:33.120 align:start position:0% +And then what I'm going to do is go down + + +00:33:33.120 --> 00:33:35.830 align:start position:0% +And then what I'm going to do is go down +to<00:33:33.679> uh<00:33:33.760> what<00:33:33.919> is<00:33:34.080> it?<00:33:34.320> My<00:33:34.559> agent<00:33:35.200> and<00:33:35.440> tell<00:33:35.600> it + +00:33:35.830 --> 00:33:35.840 align:start position:0% +to uh what is it? My agent and tell it + + +00:33:35.840 --> 00:33:37.909 align:start position:0% +to uh what is it? My agent and tell it +to<00:33:36.159> configure<00:33:36.720> GitHub<00:33:37.120> and<00:33:37.440> you<00:33:37.519> know<00:33:37.679> tell<00:33:37.760> me + +00:33:37.909 --> 00:33:37.919 align:start position:0% +to configure GitHub and you know tell me + + +00:33:37.919 --> 00:33:39.750 align:start position:0% +to configure GitHub and you know tell me +what<00:33:38.080> I<00:33:38.240> need<00:33:38.399> to<00:33:38.559> do<00:33:38.720> to<00:33:39.120> essentially<00:33:39.440> have<00:33:39.600> my + +00:33:39.750 --> 00:33:39.760 align:start position:0% +what I need to do to essentially have my + + +00:33:39.760 --> 00:33:41.590 align:start position:0% +what I need to do to essentially have my +GitHub<00:33:40.240> account<00:33:40.559> signed<00:33:40.799> in.<00:33:41.200> So<00:33:41.360> I'm<00:33:41.600> going + +00:33:41.590 --> 00:33:41.600 align:start position:0% +GitHub account signed in. So I'm going + + +00:33:41.600 --> 00:33:45.110 align:start position:0% +GitHub account signed in. So I'm going +to<00:33:41.760> say<00:33:42.080> configure<00:33:43.120> git/github + +00:33:45.110 --> 00:33:45.120 align:start position:0% +to say configure git/github + + +00:33:45.120 --> 00:33:48.950 align:start position:0% +to say configure git/github +and<00:33:45.519> tell<00:33:45.679> me<00:33:46.159> how<00:33:46.559> to<00:33:47.039> connect<00:33:47.919> my<00:33:48.320> account. + +00:33:48.950 --> 00:33:48.960 align:start position:0% +and tell me how to connect my account. + + +00:33:48.960 --> 00:33:50.470 align:start position:0% +and tell me how to connect my account. +Okay.<00:33:49.200> So<00:33:49.279> it's<00:33:49.440> given<00:33:49.679> me<00:33:49.760> a<00:33:49.919> few<00:33:50.080> steps<00:33:50.240> here. + +00:33:50.470 --> 00:33:50.480 align:start position:0% +Okay. So it's given me a few steps here. + + +00:33:50.480 --> 00:33:52.149 align:start position:0% +Okay. So it's given me a few steps here. +It<00:33:50.640> says<00:33:50.799> I<00:33:50.960> need<00:33:51.039> to<00:33:51.200> set<00:33:51.360> my<00:33:51.519> Git<00:33:51.919> identity + +00:33:52.149 --> 00:33:52.159 align:start position:0% +It says I need to set my Git identity + + +00:33:52.159 --> 00:33:54.070 align:start position:0% +It says I need to set my Git identity +and<00:33:52.320> then<00:33:52.480> authenticate<00:33:53.039> with<00:33:53.200> the<00:33:53.440> GitHub + +00:33:54.070 --> 00:33:54.080 align:start position:0% +and then authenticate with the GitHub + + +00:33:54.080 --> 00:33:56.789 align:start position:0% +and then authenticate with the GitHub +CLI.<00:33:54.880> So<00:33:55.120> I'm<00:33:55.360> going<00:33:55.440> to<00:33:55.519> tell<00:33:55.679> it<00:33:56.000> my<00:33:56.399> name<00:33:56.559> as + +00:33:56.789 --> 00:33:56.799 align:start position:0% +CLI. So I'm going to tell it my name as + + +00:33:56.799 --> 00:33:57.990 align:start position:0% +CLI. So I'm going to tell it my name as +well<00:33:56.880> as<00:33:57.039> my<00:33:57.279> email<00:33:57.519> and<00:33:57.679> then<00:33:57.840> to + +00:33:57.990 --> 00:33:58.000 align:start position:0% +well as my email and then to + + +00:33:58.000 --> 00:33:59.750 align:start position:0% +well as my email and then to +authenticate<00:33:58.559> for<00:33:58.720> me.<00:33:58.960> Okay,<00:33:59.279> cool.<00:33:59.440> So<00:33:59.600> what + +00:33:59.750 --> 00:33:59.760 align:start position:0% +authenticate for me. Okay, cool. So what + + +00:33:59.760 --> 00:34:01.669 align:start position:0% +authenticate for me. Okay, cool. So what +I'm<00:33:59.919> going<00:33:59.919> to<00:34:00.000> do<00:34:00.080> is<00:34:00.320> just<00:34:00.480> go<00:34:00.720> to<00:34:01.120> this<00:34:01.440> link + +00:34:01.669 --> 00:34:01.679 align:start position:0% +I'm going to do is just go to this link + + +00:34:01.679 --> 00:34:03.590 align:start position:0% +I'm going to do is just go to this link +that<00:34:01.919> it's<00:34:02.080> giving<00:34:02.320> me<00:34:02.480> and<00:34:02.720> then<00:34:02.960> type<00:34:03.279> in + +00:34:03.590 --> 00:34:03.600 align:start position:0% +that it's giving me and then type in + + +00:34:03.600 --> 00:34:06.630 align:start position:0% +that it's giving me and then type in +this<00:34:03.919> code.<00:34:04.720> So<00:34:05.039> let's<00:34:05.519> do<00:34:05.760> that<00:34:06.080> and<00:34:06.320> see<00:34:06.480> if + +00:34:06.630 --> 00:34:06.640 align:start position:0% +this code. So let's do that and see if + + +00:34:06.640 --> 00:34:08.310 align:start position:0% +this code. So let's do that and see if +we<00:34:06.799> can<00:34:06.960> authenticate.<00:34:07.600> Okay,<00:34:07.760> so<00:34:07.919> I<00:34:08.079> just<00:34:08.159> did + +00:34:08.310 --> 00:34:08.320 align:start position:0% +we can authenticate. Okay, so I just did + + +00:34:08.320 --> 00:34:09.510 align:start position:0% +we can authenticate. Okay, so I just did +that.<00:34:08.480> So<00:34:08.560> I<00:34:08.720> just<00:34:08.800> told<00:34:08.960> it,<00:34:09.119> hey,<00:34:09.280> I<00:34:09.440> did + +00:34:09.510 --> 00:34:09.520 align:start position:0% +that. So I just told it, hey, I did + + +00:34:09.520 --> 00:34:10.710 align:start position:0% +that. So I just told it, hey, I did +that.<00:34:09.760> You<00:34:09.919> know,<00:34:10.000> maybe<00:34:10.159> it's<00:34:10.399> going<00:34:10.480> to<00:34:10.560> test + +00:34:10.710 --> 00:34:10.720 align:start position:0% +that. You know, maybe it's going to test + + +00:34:10.720 --> 00:34:12.550 align:start position:0% +that. You know, maybe it's going to test +this<00:34:10.960> now<00:34:11.119> and<00:34:11.359> let's<00:34:11.599> see<00:34:11.679> if<00:34:11.839> GitHub<00:34:12.320> is + +00:34:12.550 --> 00:34:12.560 align:start position:0% +this now and let's see if GitHub is + + +00:34:12.560 --> 00:34:14.230 align:start position:0% +this now and let's see if GitHub is +working.<00:34:13.119> And<00:34:13.280> then<00:34:13.440> again<00:34:13.679> we<00:34:13.839> can<00:34:13.919> give<00:34:14.079> this + +00:34:14.230 --> 00:34:14.240 align:start position:0% +working. And then again we can give this + + +00:34:14.240 --> 00:34:16.710 align:start position:0% +working. And then again we can give this +some<00:34:14.480> instructions<00:34:15.040> to<00:34:15.359> save<00:34:15.760> to<00:34:16.079> always + +00:34:16.710 --> 00:34:16.720 align:start position:0% +some instructions to save to always + + +00:34:16.720 --> 00:34:19.669 align:start position:0% +some instructions to save to always +write<00:34:17.040> and<00:34:17.359> save<00:34:17.679> any<00:34:18.079> code<00:34:18.960> um<00:34:19.119> you<00:34:19.280> know<00:34:19.440> to + +00:34:19.669 --> 00:34:19.679 align:start position:0% +write and save any code um you know to + + +00:34:19.679 --> 00:34:21.190 align:start position:0% +write and save any code um you know to +GitHub<00:34:20.079> effectively.<00:34:20.560> All<00:34:20.639> right<00:34:20.800> so<00:34:21.040> looks + +00:34:21.190 --> 00:34:21.200 align:start position:0% +GitHub effectively. All right so looks + + +00:34:21.200 --> 00:34:23.750 align:start position:0% +GitHub effectively. All right so looks +like<00:34:21.359> GitHub<00:34:21.839> is<00:34:22.320> configured.<00:34:23.119> Now<00:34:23.359> the<00:34:23.599> next + +00:34:23.750 --> 00:34:23.760 align:start position:0% +like GitHub is configured. Now the next + + +00:34:23.760 --> 00:34:25.510 align:start position:0% +like GitHub is configured. Now the next +thing<00:34:23.919> that<00:34:24.079> I<00:34:24.240> want<00:34:24.399> to<00:34:24.480> do<00:34:24.639> is<00:34:24.960> go<00:34:25.200> over + +00:34:25.510 --> 00:34:25.520 align:start position:0% +thing that I want to do is go over + + +00:34:25.520 --> 00:34:27.669 align:start position:0% +thing that I want to do is go over +memory<00:34:26.000> and<00:34:26.480> preferences<00:34:27.119> just<00:34:27.280> so<00:34:27.440> you + +00:34:27.669 --> 00:34:27.679 align:start position:0% +memory and preferences just so you + + +00:34:27.679 --> 00:34:29.589 align:start position:0% +memory and preferences just so you +understand<00:34:28.000> kind<00:34:28.159> of<00:34:28.240> how<00:34:28.399> this<00:34:28.639> works<00:34:28.960> in<00:34:29.520> uh + +00:34:29.589 --> 00:34:29.599 align:start position:0% +understand kind of how this works in uh + + +00:34:29.599 --> 00:34:31.030 align:start position:0% +understand kind of how this works in uh +what<00:34:29.760> do<00:34:29.839> you<00:34:29.919> call<00:34:30.079> it<00:34:30.240> open<00:34:30.560> claw.<00:34:30.879> So + +00:34:31.030 --> 00:34:31.040 align:start position:0% +what do you call it open claw. So + + +00:34:31.040 --> 00:34:32.629 align:start position:0% +what do you call it open claw. So +something<00:34:31.280> you<00:34:31.440> need<00:34:31.599> to<00:34:31.760> understand<00:34:32.159> is<00:34:32.399> that + +00:34:32.629 --> 00:34:32.639 align:start position:0% +something you need to understand is that + + +00:34:32.639 --> 00:34:35.109 align:start position:0% +something you need to understand is that +anytime<00:34:33.280> open<00:34:33.679> claw<00:34:34.000> spins<00:34:34.399> up<00:34:34.560> again<00:34:34.800> and<00:34:34.960> you + +00:34:35.109 --> 00:34:35.119 align:start position:0% +anytime open claw spins up again and you + + +00:34:35.119 --> 00:34:36.950 align:start position:0% +anytime open claw spins up again and you +have<00:34:35.200> a<00:34:35.359> new<00:34:35.520> session<00:34:36.240> it<00:34:36.480> effectively + +00:34:36.950 --> 00:34:36.960 align:start position:0% +have a new session it effectively + + +00:34:36.960 --> 00:34:38.869 align:start position:0% +have a new session it effectively +forgets<00:34:37.440> whatever<00:34:37.839> you<00:34:38.079> were<00:34:38.240> talking<00:34:38.560> about + +00:34:38.869 --> 00:34:38.879 align:start position:0% +forgets whatever you were talking about + + +00:34:38.879 --> 00:34:41.190 align:start position:0% +forgets whatever you were talking about +before.<00:34:39.679> Now<00:34:39.919> the<00:34:40.159> only<00:34:40.320> way<00:34:40.480> for<00:34:40.639> it<00:34:40.879> to + +00:34:41.190 --> 00:34:41.200 align:start position:0% +before. Now the only way for it to + + +00:34:41.200 --> 00:34:43.430 align:start position:0% +before. Now the only way for it to +remember<00:34:41.679> something<00:34:42.000> and<00:34:42.240> to<00:34:42.480> keep<00:34:42.639> improving + +00:34:43.430 --> 00:34:43.440 align:start position:0% +remember something and to keep improving + + +00:34:43.440 --> 00:34:45.750 align:start position:0% +remember something and to keep improving +is<00:34:43.760> for<00:34:43.919> it<00:34:44.079> to<00:34:44.320> actually<00:34:44.720> modify<00:34:45.200> the<00:34:45.440> files + +00:34:45.750 --> 00:34:45.760 align:start position:0% +is for it to actually modify the files + + +00:34:45.760 --> 00:34:47.669 align:start position:0% +is for it to actually modify the files +that<00:34:45.919> it<00:34:46.159> has<00:34:46.320> in<00:34:46.560> its<00:34:46.800> file<00:34:47.119> system<00:34:47.359> and<00:34:47.520> you + +00:34:47.669 --> 00:34:47.679 align:start position:0% +that it has in its file system and you + + +00:34:47.679 --> 00:34:50.389 align:start position:0% +that it has in its file system and you +can<00:34:47.839> think<00:34:47.919> of<00:34:48.079> the<00:34:48.399> files<00:34:48.879> like<00:34:49.200> its<00:34:49.599> memory. + +00:34:50.389 --> 00:34:50.399 align:start position:0% +can think of the files like its memory. + + +00:34:50.399 --> 00:34:52.230 align:start position:0% +can think of the files like its memory. +Now<00:34:50.800> there<00:34:51.040> are<00:34:51.359> multiple<00:34:51.760> files<00:34:52.079> you're + +00:34:52.230 --> 00:34:52.240 align:start position:0% +Now there are multiple files you're + + +00:34:52.240 --> 00:34:53.909 align:start position:0% +Now there are multiple files you're +going<00:34:52.320> to<00:34:52.399> see<00:34:52.560> here<00:34:52.720> related<00:34:53.200> specifically + +00:34:53.909 --> 00:34:53.919 align:start position:0% +going to see here related specifically + + +00:34:53.919 --> 00:34:57.750 align:start position:0% +going to see here related specifically +to<00:34:54.240> memory.<00:34:55.040> So<00:34:55.440> first<00:34:55.760> is<00:34:56.159> memory<00:34:56.960> MD.<00:34:57.440> Now + +00:34:57.750 --> 00:34:57.760 align:start position:0% +to memory. So first is memory MD. Now + + +00:34:57.760 --> 00:35:00.390 align:start position:0% +to memory. So first is memory MD. Now +this<00:34:58.000> is<00:34:58.320> persistent<00:34:59.119> long-term<00:34:59.839> memory<00:35:00.160> that + +00:35:00.390 --> 00:35:00.400 align:start position:0% +this is persistent long-term memory that + + +00:35:00.400 --> 00:35:02.630 align:start position:0% +this is persistent long-term memory that +it<00:35:00.560> will<00:35:00.800> always<00:35:01.280> read<00:35:01.680> before<00:35:02.160> it's<00:35:02.400> doing + +00:35:02.630 --> 00:35:02.640 align:start position:0% +it will always read before it's doing + + +00:35:02.640 --> 00:35:04.390 align:start position:0% +it will always read before it's doing +some<00:35:02.960> kind<00:35:03.119> of<00:35:03.280> action.<00:35:03.920> So<00:35:04.079> if<00:35:04.240> there's + +00:35:04.390 --> 00:35:04.400 align:start position:0% +some kind of action. So if there's + + +00:35:04.400 --> 00:35:05.910 align:start position:0% +some kind of action. So if there's +something<00:35:04.560> that<00:35:04.800> you<00:35:05.040> always<00:35:05.440> want<00:35:05.599> it<00:35:05.760> to + +00:35:05.910 --> 00:35:05.920 align:start position:0% +something that you always want it to + + +00:35:05.920 --> 00:35:07.910 align:start position:0% +something that you always want it to +remember,<00:35:06.480> you<00:35:06.640> put<00:35:06.720> it<00:35:06.880> inside<00:35:07.200> of<00:35:07.359> this<00:35:07.599> file + +00:35:07.910 --> 00:35:07.920 align:start position:0% +remember, you put it inside of this file + + +00:35:07.920 --> 00:35:09.829 align:start position:0% +remember, you put it inside of this file +right<00:35:08.160> here,<00:35:08.400> or<00:35:08.560> you<00:35:08.720> tell<00:35:08.960> the<00:35:09.200> model<00:35:09.440> to<00:35:09.680> put + +00:35:09.829 --> 00:35:09.839 align:start position:0% +right here, or you tell the model to put + + +00:35:09.839 --> 00:35:12.069 align:start position:0% +right here, or you tell the model to put +it<00:35:09.920> there.<00:35:10.480> The<00:35:10.720> other<00:35:10.960> memory<00:35:11.280> is<00:35:11.680> daily + +00:35:12.069 --> 00:35:12.079 align:start position:0% +it there. The other memory is daily + + +00:35:12.079 --> 00:35:13.750 align:start position:0% +it there. The other memory is daily +memory,<00:35:12.400> which<00:35:12.640> is<00:35:12.720> set<00:35:12.880> up<00:35:13.040> by<00:35:13.200> default.<00:35:13.599> And + +00:35:13.750 --> 00:35:13.760 align:start position:0% +memory, which is set up by default. And + + +00:35:13.760 --> 00:35:15.510 align:start position:0% +memory, which is set up by default. And +if<00:35:13.920> you<00:35:14.000> go<00:35:14.160> here<00:35:14.320> into<00:35:14.640> the<00:35:14.800> workspace, + +00:35:15.510 --> 00:35:15.520 align:start position:0% +if you go here into the workspace, + + +00:35:15.520 --> 00:35:17.670 align:start position:0% +if you go here into the workspace, +you'll<00:35:15.839> see<00:35:15.920> that<00:35:16.079> it<00:35:16.320> has<00:35:16.560> memories<00:35:17.040> for<00:35:17.280> each + +00:35:17.670 --> 00:35:17.680 align:start position:0% +you'll see that it has memories for each + + +00:35:17.680 --> 00:35:19.990 align:start position:0% +you'll see that it has memories for each +day.<00:35:18.160> Okay,<00:35:18.400> so<00:35:18.560> it<00:35:18.800> explains<00:35:19.599> what's + +00:35:19.990 --> 00:35:20.000 align:start position:0% +day. Okay, so it explains what's + + +00:35:20.000 --> 00:35:21.750 align:start position:0% +day. Okay, so it explains what's +happening,<00:35:20.480> what's<00:35:20.800> going<00:35:20.960> on<00:35:21.119> in<00:35:21.359> that<00:35:21.520> day, + +00:35:21.750 --> 00:35:21.760 align:start position:0% +happening, what's going on in that day, + + +00:35:21.760 --> 00:35:23.510 align:start position:0% +happening, what's going on in that day, +what<00:35:21.920> it<00:35:22.079> needs<00:35:22.240> to<00:35:22.320> do,<00:35:22.560> blah<00:35:22.800> blah<00:35:23.040> blah. + +00:35:23.510 --> 00:35:23.520 align:start position:0% +what it needs to do, blah blah blah. + + +00:35:23.520 --> 00:35:25.430 align:start position:0% +what it needs to do, blah blah blah. +Now,<00:35:23.839> by<00:35:24.079> default,<00:35:24.480> Open<00:35:24.800> Claw,<00:35:25.040> I<00:35:25.280> believe, + +00:35:25.430 --> 00:35:25.440 align:start position:0% +Now, by default, Open Claw, I believe, + + +00:35:25.440 --> 00:35:27.430 align:start position:0% +Now, by default, Open Claw, I believe, +is<00:35:25.680> only<00:35:25.839> going<00:35:25.920> to<00:35:26.000> read<00:35:26.400> two<00:35:26.720> days<00:35:27.040> of + +00:35:27.430 --> 00:35:27.440 align:start position:0% +is only going to read two days of + + +00:35:27.440 --> 00:35:29.670 align:start position:0% +is only going to read two days of +previous<00:35:27.920> memory.<00:35:28.560> So<00:35:28.800> if<00:35:28.960> you<00:35:29.119> tell<00:35:29.200> it<00:35:29.440> to<00:35:29.520> do + +00:35:29.670 --> 00:35:29.680 align:start position:0% +previous memory. So if you tell it to do + + +00:35:29.680 --> 00:35:31.430 align:start position:0% +previous memory. So if you tell it to do +something,<00:35:30.079> you<00:35:30.240> know,<00:35:30.560> yeah,<00:35:30.880> like<00:35:31.119> one<00:35:31.280> week + +00:35:31.430 --> 00:35:31.440 align:start position:0% +something, you know, yeah, like one week + + +00:35:31.440 --> 00:35:32.950 align:start position:0% +something, you know, yeah, like one week +ago,<00:35:31.839> it's<00:35:32.000> not<00:35:32.160> going<00:35:32.240> to<00:35:32.400> remember<00:35:32.640> that + +00:35:32.950 --> 00:35:32.960 align:start position:0% +ago, it's not going to remember that + + +00:35:32.960 --> 00:35:35.510 align:start position:0% +ago, it's not going to remember that +unless<00:35:33.280> it's<00:35:33.520> in<00:35:33.760> the<00:35:34.079> persistent<00:35:34.720> memory.<00:35:35.359> So + +00:35:35.510 --> 00:35:35.520 align:start position:0% +unless it's in the persistent memory. So + + +00:35:35.520 --> 00:35:37.030 align:start position:0% +unless it's in the persistent memory. So +I'm<00:35:35.760> quickly<00:35:36.160> going<00:35:36.240> to<00:35:36.400> show<00:35:36.560> you<00:35:36.800> two + +00:35:37.030 --> 00:35:37.040 align:start position:0% +I'm quickly going to show you two + + +00:35:37.040 --> 00:35:38.710 align:start position:0% +I'm quickly going to show you two +settings<00:35:37.359> that<00:35:37.520> you<00:35:37.680> can<00:35:37.839> enable<00:35:38.240> that<00:35:38.480> will + +00:35:38.710 --> 00:35:38.720 align:start position:0% +settings that you can enable that will + + +00:35:38.720 --> 00:35:41.589 align:start position:0% +settings that you can enable that will +allow<00:35:39.040> OpenClaw<00:35:39.680> to<00:35:39.839> have<00:35:40.160> longer<00:35:40.720> memory<00:35:41.359> and + +00:35:41.589 --> 00:35:41.599 align:start position:0% +allow OpenClaw to have longer memory and + + +00:35:41.599 --> 00:35:43.990 align:start position:0% +allow OpenClaw to have longer memory and +to<00:35:41.839> save<00:35:42.160> things<00:35:42.560> better.<00:35:43.280> Now<00:35:43.599> what<00:35:43.839> they + +00:35:43.990 --> 00:35:44.000 align:start position:0% +to save things better. Now what they + + +00:35:44.000 --> 00:35:45.270 align:start position:0% +to save things better. Now what they +are,<00:35:44.240> I'm<00:35:44.400> just<00:35:44.480> going<00:35:44.560> to<00:35:44.640> copy<00:35:44.880> them<00:35:45.040> in + +00:35:45.270 --> 00:35:45.280 align:start position:0% +are, I'm just going to copy them in + + +00:35:45.280 --> 00:35:46.630 align:start position:0% +are, I'm just going to copy them in +here.<00:35:45.520> Okay,<00:35:45.760> so<00:35:45.920> I'm<00:35:46.079> just<00:35:46.160> pasting<00:35:46.480> them, + +00:35:46.630 --> 00:35:46.640 align:start position:0% +here. Okay, so I'm just pasting them, + + +00:35:46.640 --> 00:35:48.150 align:start position:0% +here. Okay, so I'm just pasting them, +but<00:35:46.960> essentially<00:35:47.359> they<00:35:47.599> are<00:35:47.680> the<00:35:47.839> following. + +00:35:48.150 --> 00:35:48.160 align:start position:0% +but essentially they are the following. + + +00:35:48.160 --> 00:35:51.030 align:start position:0% +but essentially they are the following. +It<00:35:48.320> is<00:35:48.560> compaction.mmemory<00:35:49.760> flush.enabled + +00:35:51.030 --> 00:35:51.040 align:start position:0% +It is compaction.mmemory flush.enabled + + +00:35:51.040 --> 00:35:53.270 align:start position:0% +It is compaction.mmemory flush.enabled +memory<00:35:51.520> search.experimental<00:35:52.880> session + +00:35:53.270 --> 00:35:53.280 align:start position:0% +memory search.experimental session + + +00:35:53.280 --> 00:35:55.109 align:start position:0% +memory search.experimental session +memory<00:35:53.520> to<00:35:53.760> true.<00:35:54.160> Now<00:35:54.240> I'm<00:35:54.480> going<00:35:54.480> to<00:35:54.640> say + +00:35:55.109 --> 00:35:55.119 align:start position:0% +memory to true. Now I'm going to say + + +00:35:55.119 --> 00:35:57.349 align:start position:0% +memory to true. Now I'm going to say +enable<00:35:55.599> these. + +00:35:57.349 --> 00:35:57.359 align:start position:0% +enable these. + + +00:35:57.359 --> 00:35:59.030 align:start position:0% +enable these. +Okay. + +00:35:59.030 --> 00:35:59.040 align:start position:0% +Okay. + + +00:35:59.040 --> 00:36:03.430 align:start position:0% +Okay. +And<00:35:59.760> explain<00:36:00.560> what<00:36:01.040> they<00:36:01.359> do.<00:36:02.320> So,<00:36:02.800> I<00:36:03.119> found + +00:36:03.430 --> 00:36:03.440 align:start position:0% +And explain what they do. So, I found + + +00:36:03.440 --> 00:36:05.270 align:start position:0% +And explain what they do. So, I found +that<00:36:03.680> when<00:36:03.839> I<00:36:04.000> enable<00:36:04.240> these<00:36:04.480> two<00:36:04.720> settings,<00:36:05.040> I + +00:36:05.270 --> 00:36:05.280 align:start position:0% +that when I enable these two settings, I + + +00:36:05.280 --> 00:36:06.710 align:start position:0% +that when I enable these two settings, I +get<00:36:05.359> a<00:36:05.599> better<00:36:05.839> result<00:36:06.079> in<00:36:06.320> terms<00:36:06.480> of<00:36:06.560> the + +00:36:06.710 --> 00:36:06.720 align:start position:0% +get a better result in terms of the + + +00:36:06.720 --> 00:36:07.750 align:start position:0% +get a better result in terms of the +memory.<00:36:07.040> We're<00:36:07.200> just<00:36:07.280> going<00:36:07.359> to<00:36:07.440> wait<00:36:07.599> for + +00:36:07.750 --> 00:36:07.760 align:start position:0% +memory. We're just going to wait for + + +00:36:07.760 --> 00:36:09.349 align:start position:0% +memory. We're just going to wait for +Open<00:36:08.000> Claw<00:36:08.320> to<00:36:08.480> explain<00:36:08.720> it<00:36:08.880> because<00:36:09.040> it<00:36:09.280> will + +00:36:09.349 --> 00:36:09.359 align:start position:0% +Open Claw to explain it because it will + + +00:36:09.359 --> 00:36:10.950 align:start position:0% +Open Claw to explain it because it will +give<00:36:09.520> us<00:36:09.680> a<00:36:09.920> better<00:36:10.160> explanation<00:36:10.640> probably + +00:36:10.950 --> 00:36:10.960 align:start position:0% +give us a better explanation probably + + +00:36:10.960 --> 00:36:12.950 align:start position:0% +give us a better explanation probably +than<00:36:11.119> what<00:36:11.280> I<00:36:11.440> can<00:36:11.520> come<00:36:11.680> off<00:36:12.079> come<00:36:12.320> up<00:36:12.560> with<00:36:12.720> at + +00:36:12.950 --> 00:36:12.960 align:start position:0% +than what I can come off come up with at + + +00:36:12.960 --> 00:36:14.870 align:start position:0% +than what I can come off come up with at +the<00:36:13.119> top<00:36:13.359> of<00:36:13.520> my<00:36:13.680> head.<00:36:14.320> But<00:36:14.400> you<00:36:14.480> can<00:36:14.560> see<00:36:14.800> it's + +00:36:14.870 --> 00:36:14.880 align:start position:0% +the top of my head. But you can see it's + + +00:36:14.880 --> 00:36:15.990 align:start position:0% +the top of my head. But you can see it's +enabled<00:36:15.200> them<00:36:15.280> and<00:36:15.359> it<00:36:15.440> says<00:36:15.680> when<00:36:15.760> the + +00:36:15.990 --> 00:36:16.000 align:start position:0% +enabled them and it says when the + + +00:36:16.000 --> 00:36:17.349 align:start position:0% +enabled them and it says when the +conversation<00:36:16.320> gets<00:36:16.480> too<00:36:16.640> long,<00:36:16.880> OpenClaw + +00:36:17.349 --> 00:36:17.359 align:start position:0% +conversation gets too long, OpenClaw + + +00:36:17.359 --> 00:36:19.190 align:start position:0% +conversation gets too long, OpenClaw +will<00:36:17.520> trigger<00:36:17.760> a<00:36:17.920> memory<00:36:18.240> flush<00:36:18.560> prompt.<00:36:19.040> So, + +00:36:19.190 --> 00:36:19.200 align:start position:0% +will trigger a memory flush prompt. So, + + +00:36:19.200 --> 00:36:20.950 align:start position:0% +will trigger a memory flush prompt. So, +important<00:36:19.599> context<00:36:20.000> gets<00:36:20.240> written<00:36:20.480> to<00:36:20.640> memory + +00:36:20.950 --> 00:36:20.960 align:start position:0% +important context gets written to memory + + +00:36:20.960 --> 00:36:23.349 align:start position:0% +important context gets written to memory +files<00:36:21.280> before<00:36:21.760> compaction<00:36:22.320> drops<00:36:22.720> history. + +00:36:23.349 --> 00:36:23.359 align:start position:0% +files before compaction drops history. + + +00:36:23.359 --> 00:36:24.950 align:start position:0% +files before compaction drops history. +And<00:36:23.520> then<00:36:23.680> this<00:36:23.839> one<00:36:24.160> lets<00:36:24.400> memory<00:36:24.720> search + +00:36:24.950 --> 00:36:24.960 align:start position:0% +And then this one lets memory search + + +00:36:24.960 --> 00:36:27.030 align:start position:0% +And then this one lets memory search +include<00:36:25.280> recent<00:36:25.680> session<00:36:26.079> transcripts,<00:36:26.800> not + +00:36:27.030 --> 00:36:27.040 align:start position:0% +include recent session transcripts, not + + +00:36:27.040 --> 00:36:29.670 align:start position:0% +include recent session transcripts, not +just<00:36:27.440> files<00:36:27.839> in<00:36:28.160> memory,<00:36:28.800> improving<00:36:29.280> recall + +00:36:29.670 --> 00:36:29.680 align:start position:0% +just files in memory, improving recall + + +00:36:29.680 --> 00:36:32.230 align:start position:0% +just files in memory, improving recall +of<00:36:29.839> what<00:36:30.079> just<00:36:30.240> happened.<00:36:30.720> Okay,<00:36:31.359> so<00:36:31.920> that + +00:36:32.230 --> 00:36:32.240 align:start position:0% +of what just happened. Okay, so that + + +00:36:32.240 --> 00:36:33.349 align:start position:0% +of what just happened. Okay, so that +explains<00:36:32.640> what<00:36:32.800> it's<00:36:33.040> doing,<00:36:33.200> but + +00:36:33.349 --> 00:36:33.359 align:start position:0% +explains what it's doing, but + + +00:36:33.359 --> 00:36:34.710 align:start position:0% +explains what it's doing, but +effectively<00:36:33.839> what<00:36:34.000> would<00:36:34.240> happen<00:36:34.400> is<00:36:34.560> if + +00:36:34.710 --> 00:36:34.720 align:start position:0% +effectively what would happen is if + + +00:36:34.720 --> 00:36:36.150 align:start position:0% +effectively what would happen is if +you're<00:36:34.960> talking<00:36:35.200> for<00:36:35.359> a<00:36:35.599> really<00:36:35.760> long<00:36:36.000> time + +00:36:36.150 --> 00:36:36.160 align:start position:0% +you're talking for a really long time + + +00:36:36.160 --> 00:36:38.150 align:start position:0% +you're talking for a really long time +with<00:36:36.400> OpenClaw,<00:36:37.280> it's<00:36:37.520> automatically<00:36:38.079> going + +00:36:38.150 --> 00:36:38.160 align:start position:0% +with OpenClaw, it's automatically going + + +00:36:38.160 --> 00:36:40.150 align:start position:0% +with OpenClaw, it's automatically going +to<00:36:38.320> compact<00:36:38.880> what<00:36:39.040> you<00:36:39.280> were<00:36:39.440> talking<00:36:39.760> about. + +00:36:40.150 --> 00:36:40.160 align:start position:0% +to compact what you were talking about. + + +00:36:40.160 --> 00:36:42.310 align:start position:0% +to compact what you were talking about. +Now,<00:36:40.480> before<00:36:40.800> we<00:36:41.040> have<00:36:41.200> it<00:36:41.359> compact<00:36:41.839> that,<00:36:42.160> we + +00:36:42.310 --> 00:36:42.320 align:start position:0% +Now, before we have it compact that, we + + +00:36:42.320 --> 00:36:44.150 align:start position:0% +Now, before we have it compact that, we +wanted<00:36:42.560> to<00:36:42.720> save<00:36:43.040> that<00:36:43.280> into<00:36:43.520> the<00:36:43.760> memory<00:36:44.000> so + +00:36:44.150 --> 00:36:44.160 align:start position:0% +wanted to save that into the memory so + + +00:36:44.160 --> 00:36:45.510 align:start position:0% +wanted to save that into the memory so +that<00:36:44.240> we<00:36:44.400> don't<00:36:44.560> lose<00:36:44.880> any<00:36:45.119> of<00:36:45.280> that + +00:36:45.510 --> 00:36:45.520 align:start position:0% +that we don't lose any of that + + +00:36:45.520 --> 00:36:47.430 align:start position:0% +that we don't lose any of that +information.<00:36:46.000> So<00:36:46.240> that's<00:36:46.480> what<00:36:46.640> it's<00:36:46.960> doing. + +00:36:47.430 --> 00:36:47.440 align:start position:0% +information. So that's what it's doing. + + +00:36:47.440 --> 00:36:48.790 align:start position:0% +information. So that's what it's doing. +And<00:36:47.599> then<00:36:47.760> same<00:36:48.000> thing<00:36:48.079> with<00:36:48.240> the<00:36:48.480> session + +00:36:48.790 --> 00:36:48.800 align:start position:0% +And then same thing with the session + + +00:36:48.800 --> 00:36:51.589 align:start position:0% +And then same thing with the session +memory.<00:36:49.599> Rather<00:36:50.000> than<00:36:50.240> just<00:36:50.640> reading<00:36:51.200> the + +00:36:51.589 --> 00:36:51.599 align:start position:0% +memory. Rather than just reading the + + +00:36:51.599 --> 00:36:53.430 align:start position:0% +memory. Rather than just reading the +information<00:36:52.000> that's<00:36:52.240> in<00:36:52.400> the<00:36:52.560> memory<00:36:52.960> files, + +00:36:53.430 --> 00:36:53.440 align:start position:0% +information that's in the memory files, + + +00:36:53.440 --> 00:36:55.990 align:start position:0% +information that's in the memory files, +we<00:36:53.599> want<00:36:53.680> it<00:36:53.920> to<00:36:54.079> read<00:36:54.320> what<00:36:54.640> was<00:36:54.880> recently<00:36:55.520> in + +00:36:55.990 --> 00:36:56.000 align:start position:0% +we want it to read what was recently in + + +00:36:56.000 --> 00:36:58.069 align:start position:0% +we want it to read what was recently in +session,<00:36:56.560> right?<00:36:56.800> So<00:36:56.960> what<00:36:57.119> we<00:36:57.359> talked<00:36:57.599> about + +00:36:58.069 --> 00:36:58.079 align:start position:0% +session, right? So what we talked about + + +00:36:58.079 --> 00:36:59.670 align:start position:0% +session, right? So what we talked about +that<00:36:58.320> maybe<00:36:58.560> wasn't<00:36:58.960> automat.<00:36:59.359> Okay,<00:36:59.520> so + +00:36:59.670 --> 00:36:59.680 align:start position:0% +that maybe wasn't automat. Okay, so + + +00:36:59.680 --> 00:37:00.630 align:start position:0% +that maybe wasn't automat. Okay, so +hopefully<00:36:59.920> that<00:37:00.079> makes<00:37:00.240> a<00:37:00.320> little<00:37:00.400> bit<00:37:00.480> of + +00:37:00.630 --> 00:37:00.640 align:start position:0% +hopefully that makes a little bit of + + +00:37:00.640 --> 00:37:02.230 align:start position:0% +hopefully that makes a little bit of +sense.<00:37:00.880> Now,<00:37:01.200> another<00:37:01.599> thing<00:37:01.680> that<00:37:01.920> we're + +00:37:02.230 --> 00:37:02.240 align:start position:0% +sense. Now, another thing that we're + + +00:37:02.240 --> 00:37:03.349 align:start position:0% +sense. Now, another thing that we're +going<00:37:02.320> to<00:37:02.400> do,<00:37:02.640> and<00:37:02.800> I'm<00:37:02.960> just<00:37:03.040> pulling<00:37:03.280> this + +00:37:03.349 --> 00:37:03.359 align:start position:0% +going to do, and I'm just pulling this + + +00:37:03.359 --> 00:37:05.109 align:start position:0% +going to do, and I'm just pulling this +up<00:37:03.520> from<00:37:03.599> the<00:37:03.760> OpenCloud<00:37:04.320> docs<00:37:04.720> to<00:37:04.880> make<00:37:04.960> the + +00:37:05.109 --> 00:37:05.119 align:start position:0% +up from the OpenCloud docs to make the + + +00:37:05.119 --> 00:37:07.109 align:start position:0% +up from the OpenCloud docs to make the +memory<00:37:05.520> even<00:37:05.760> better,<00:37:06.320> cuz<00:37:06.560> this<00:37:06.720> is<00:37:06.880> really + +00:37:07.109 --> 00:37:07.119 align:start position:0% +memory even better, cuz this is really + + +00:37:07.119 --> 00:37:09.190 align:start position:0% +memory even better, cuz this is really +the<00:37:07.280> crux<00:37:07.599> of<00:37:07.760> how<00:37:07.920> this<00:37:08.079> gets<00:37:08.320> good,<00:37:08.720> is<00:37:08.960> we're + +00:37:09.190 --> 00:37:09.200 align:start position:0% +the crux of how this gets good, is we're + + +00:37:09.200 --> 00:37:11.589 align:start position:0% +the crux of how this gets good, is we're +going<00:37:09.359> to<00:37:09.520> enable<00:37:10.079> vector<00:37:10.560> memory<00:37:11.040> search + +00:37:11.589 --> 00:37:11.599 align:start position:0% +going to enable vector memory search + + +00:37:11.599 --> 00:37:13.910 align:start position:0% +going to enable vector memory search +using<00:37:12.000> a<00:37:12.320> QMD<00:37:13.119> backend,<00:37:13.520> which<00:37:13.760> is + +00:37:13.910 --> 00:37:13.920 align:start position:0% +using a QMD backend, which is + + +00:37:13.920 --> 00:37:15.270 align:start position:0% +using a QMD backend, which is +significantly<00:37:14.480> better<00:37:14.640> at<00:37:14.880> searching + +00:37:15.270 --> 00:37:15.280 align:start position:0% +significantly better at searching + + +00:37:15.280 --> 00:37:16.790 align:start position:0% +significantly better at searching +through<00:37:15.440> the<00:37:15.599> memory<00:37:15.920> than<00:37:16.079> the<00:37:16.400> default + +00:37:16.790 --> 00:37:16.800 align:start position:0% +through the memory than the default + + +00:37:16.800 --> 00:37:18.470 align:start position:0% +through the memory than the default +backend<00:37:17.280> service.<00:37:17.920> You<00:37:18.079> don't<00:37:18.160> really<00:37:18.320> have + +00:37:18.470 --> 00:37:18.480 align:start position:0% +backend service. You don't really have + + +00:37:18.480 --> 00:37:20.550 align:start position:0% +backend service. You don't really have +to<00:37:18.640> understand<00:37:18.960> this,<00:37:19.119> but<00:37:19.440> effectively<00:37:20.320> in + +00:37:20.550 --> 00:37:20.560 align:start position:0% +to understand this, but effectively in + + +00:37:20.560 --> 00:37:22.870 align:start position:0% +to understand this, but effectively in +the<00:37:20.800> background,<00:37:21.680> OpenClaw<00:37:22.320> will<00:37:22.560> search + +00:37:22.870 --> 00:37:22.880 align:start position:0% +the background, OpenClaw will search + + +00:37:22.880 --> 00:37:24.790 align:start position:0% +the background, OpenClaw will search +through<00:37:23.040> the<00:37:23.280> memory<00:37:23.599> files<00:37:24.000> using<00:37:24.320> some<00:37:24.560> type + +00:37:24.790 --> 00:37:24.800 align:start position:0% +through the memory files using some type + + +00:37:24.800 --> 00:37:27.910 align:start position:0% +through the memory files using some type +of<00:37:24.960> vectorzed<00:37:25.760> search.<00:37:26.560> Now,<00:37:26.880> we<00:37:27.119> can<00:37:27.280> change + +00:37:27.910 --> 00:37:27.920 align:start position:0% +of vectorzed search. Now, we can change + + +00:37:27.920 --> 00:37:29.750 align:start position:0% +of vectorzed search. Now, we can change +how<00:37:28.160> we're<00:37:28.480> doing<00:37:28.640> that<00:37:28.960> search<00:37:29.200> so<00:37:29.359> that<00:37:29.520> it's + +00:37:29.750 --> 00:37:29.760 align:start position:0% +how we're doing that search so that it's + + +00:37:29.760 --> 00:37:30.950 align:start position:0% +how we're doing that search so that it's +just<00:37:29.839> going<00:37:29.920> to<00:37:30.079> be<00:37:30.160> a<00:37:30.320> lot<00:37:30.480> more<00:37:30.640> effective + +00:37:30.950 --> 00:37:30.960 align:start position:0% +just going to be a lot more effective + + +00:37:30.960 --> 00:37:32.870 align:start position:0% +just going to be a lot more effective +and<00:37:31.200> give<00:37:31.359> us<00:37:31.599> better<00:37:31.839> results.<00:37:32.400> So,<00:37:32.560> what<00:37:32.720> I'm + +00:37:32.870 --> 00:37:32.880 align:start position:0% +and give us better results. So, what I'm + + +00:37:32.880 --> 00:37:34.150 align:start position:0% +and give us better results. So, what I'm +going<00:37:32.960> to<00:37:33.040> do<00:37:33.119> is<00:37:33.280> I'm<00:37:33.440> just<00:37:33.599> going<00:37:33.680> to<00:37:33.839> copy + +00:37:34.150 --> 00:37:34.160 align:start position:0% +going to do is I'm just going to copy + + +00:37:34.160 --> 00:37:35.750 align:start position:0% +going to do is I'm just going to copy +all<00:37:34.320> of<00:37:34.480> this<00:37:34.640> content<00:37:34.960> from<00:37:35.119> the<00:37:35.200> docs.<00:37:35.599> I'll + +00:37:35.750 --> 00:37:35.760 align:start position:0% +all of this content from the docs. I'll + + +00:37:35.760 --> 00:37:37.750 align:start position:0% +all of this content from the docs. I'll +leave<00:37:35.920> this<00:37:36.160> link<00:37:36.400> in<00:37:36.640> the<00:37:36.880> description.<00:37:37.440> If<00:37:37.599> I + +00:37:37.750 --> 00:37:37.760 align:start position:0% +leave this link in the description. If I + + +00:37:37.760 --> 00:37:39.190 align:start position:0% +leave this link in the description. If I +forget,<00:37:38.079> someone<00:37:38.320> leave<00:37:38.480> a<00:37:38.640> comment<00:37:38.800> and<00:37:39.040> I + +00:37:39.190 --> 00:37:39.200 align:start position:0% +forget, someone leave a comment and I + + +00:37:39.200 --> 00:37:41.510 align:start position:0% +forget, someone leave a comment and I +will<00:37:39.280> add<00:37:39.440> it.<00:37:39.760> And<00:37:39.920> I'm<00:37:40.079> going<00:37:40.160> to<00:37:40.320> say<00:37:41.119> enable + +00:37:41.510 --> 00:37:41.520 align:start position:0% +will add it. And I'm going to say enable + + +00:37:41.520 --> 00:37:43.270 align:start position:0% +will add it. And I'm going to say enable +this.<00:37:41.920> Okay.<00:37:42.160> And<00:37:42.320> just<00:37:42.480> tell<00:37:42.640> it<00:37:42.800> to<00:37:42.960> enable + +00:37:43.270 --> 00:37:43.280 align:start position:0% +this. Okay. And just tell it to enable + + +00:37:43.280 --> 00:37:44.310 align:start position:0% +this. Okay. And just tell it to enable +it.<00:37:43.520> And<00:37:43.680> it<00:37:43.839> should<00:37:43.920> go<00:37:44.000> through<00:37:44.160> the + +00:37:44.310 --> 00:37:44.320 align:start position:0% +it. And it should go through the + + +00:37:44.320 --> 00:37:46.230 align:start position:0% +it. And it should go through the +prerequisites<00:37:45.040> here<00:37:45.200> and<00:37:45.520> install<00:37:45.920> this<00:37:46.079> for + +00:37:46.230 --> 00:37:46.240 align:start position:0% +prerequisites here and install this for + + +00:37:46.240 --> 00:37:47.750 align:start position:0% +prerequisites here and install this for +us.<00:37:46.560> So,<00:37:46.720> I'm<00:37:46.880> going<00:37:46.880> to<00:37:46.960> tell<00:37:47.200> yes,<00:37:47.520> install + +00:37:47.750 --> 00:37:47.760 align:start position:0% +us. So, I'm going to tell yes, install + + +00:37:47.760 --> 00:37:49.190 align:start position:0% +us. So, I'm going to tell yes, install +the<00:37:48.000> prerequisites.<00:37:48.640> Okay.<00:37:48.880> So,<00:37:48.960> it<00:37:49.040> looks + +00:37:49.190 --> 00:37:49.200 align:start position:0% +the prerequisites. Okay. So, it looks + + +00:37:49.200 --> 00:37:51.030 align:start position:0% +the prerequisites. Okay. So, it looks +like<00:37:49.280> QMD<00:37:49.839> was<00:37:49.920> added<00:37:50.160> now.<00:37:50.400> So,<00:37:50.560> our<00:37:50.720> memory + +00:37:51.030 --> 00:37:51.040 align:start position:0% +like QMD was added now. So, our memory + + +00:37:51.040 --> 00:37:52.630 align:start position:0% +like QMD was added now. So, our memory +should<00:37:51.200> be<00:37:51.359> a<00:37:51.520> little<00:37:51.599> bit<00:37:51.760> more<00:37:52.000> optimized, + +00:37:52.630 --> 00:37:52.640 align:start position:0% +should be a little bit more optimized, + + +00:37:52.640 --> 00:37:54.710 align:start position:0% +should be a little bit more optimized, +just<00:37:52.880> working<00:37:53.280> better<00:37:53.599> in<00:37:53.839> the<00:37:54.000> long<00:37:54.240> term. + +00:37:54.710 --> 00:37:54.720 align:start position:0% +just working better in the long term. + + +00:37:54.720 --> 00:37:55.910 align:start position:0% +just working better in the long term. +Now,<00:37:54.960> I'm<00:37:55.119> going<00:37:55.200> to<00:37:55.280> go<00:37:55.359> through<00:37:55.520> a<00:37:55.680> bunch<00:37:55.760> of + +00:37:55.910 --> 00:37:55.920 align:start position:0% +Now, I'm going to go through a bunch of + + +00:37:55.920 --> 00:37:57.030 align:start position:0% +Now, I'm going to go through a bunch of +other<00:37:56.079> things<00:37:56.160> that<00:37:56.400> we<00:37:56.560> can<00:37:56.640> set<00:37:56.720> up<00:37:56.880> and + +00:37:57.030 --> 00:37:57.040 align:start position:0% +other things that we can set up and + + +00:37:57.040 --> 00:37:58.870 align:start position:0% +other things that we can set up and +configure,<00:37:57.440> but<00:37:57.760> keep<00:37:57.920> in<00:37:58.079> mind<00:37:58.320> that,<00:37:58.720> you + +00:37:58.870 --> 00:37:58.880 align:start position:0% +configure, but keep in mind that, you + + +00:37:58.880 --> 00:38:00.550 align:start position:0% +configure, but keep in mind that, you +know,<00:37:59.040> Open<00:37:59.359> Claw<00:37:59.520> is<00:37:59.680> for<00:37:59.839> you,<00:38:00.079> right?<00:38:00.320> You + +00:38:00.550 --> 00:38:00.560 align:start position:0% +know, Open Claw is for you, right? You + + +00:38:00.560 --> 00:38:02.150 align:start position:0% +know, Open Claw is for you, right? You +guys<00:38:00.720> customize<00:38:01.200> it.<00:38:01.520> And<00:38:01.680> what<00:38:01.839> I'm<00:38:02.000> trying + +00:38:02.150 --> 00:38:02.160 align:start position:0% +guys customize it. And what I'm trying + + +00:38:02.160 --> 00:38:04.069 align:start position:0% +guys customize it. And what I'm trying +to<00:38:02.240> do<00:38:02.400> is<00:38:02.560> give<00:38:02.720> you<00:38:02.880> a<00:38:03.040> solid<00:38:03.440> base<00:38:03.680> that<00:38:03.920> you + +00:38:04.069 --> 00:38:04.079 align:start position:0% +to do is give you a solid base that you + + +00:38:04.079 --> 00:38:06.150 align:start position:0% +to do is give you a solid base that you +can<00:38:04.240> then<00:38:04.560> extend.<00:38:05.280> So,<00:38:05.520> while<00:38:05.760> it's<00:38:05.920> not + +00:38:06.150 --> 00:38:06.160 align:start position:0% +can then extend. So, while it's not + + +00:38:06.160 --> 00:38:07.990 align:start position:0% +can then extend. So, while it's not +super<00:38:06.480> detailed<00:38:06.880> in<00:38:07.119> terms<00:38:07.280> of<00:38:07.440> every<00:38:07.760> little + +00:38:07.990 --> 00:38:08.000 align:start position:0% +super detailed in terms of every little + + +00:38:08.000 --> 00:38:10.310 align:start position:0% +super detailed in terms of every little +individual<00:38:08.560> skill<00:38:08.880> we<00:38:09.119> add,<00:38:09.520> the<00:38:09.760> idea<00:38:10.000> is<00:38:10.160> I + +00:38:10.310 --> 00:38:10.320 align:start position:0% +individual skill we add, the idea is I + + +00:38:10.320 --> 00:38:11.990 align:start position:0% +individual skill we add, the idea is I +want<00:38:10.480> you<00:38:10.560> to<00:38:10.800> understand<00:38:11.200> what<00:38:11.440> these<00:38:11.760> things + +00:38:11.990 --> 00:38:12.000 align:start position:0% +want you to understand what these things + + +00:38:12.000 --> 00:38:13.829 align:start position:0% +want you to understand what these things +are<00:38:12.480> so<00:38:12.640> you<00:38:12.800> know<00:38:12.960> what's<00:38:13.280> going<00:38:13.359> on<00:38:13.520> in<00:38:13.760> the + +00:38:13.829 --> 00:38:13.839 align:start position:0% +are so you know what's going on in the + + +00:38:13.839 --> 00:38:15.829 align:start position:0% +are so you know what's going on in the +back<00:38:14.079> end<00:38:14.240> when<00:38:14.480> you<00:38:14.640> do<00:38:14.880> make<00:38:15.119> changes<00:38:15.520> by + +00:38:15.829 --> 00:38:15.839 align:start position:0% +back end when you do make changes by + + +00:38:15.839 --> 00:38:17.349 align:start position:0% +back end when you do make changes by +yourself.<00:38:16.400> So,<00:38:16.560> now<00:38:16.720> I<00:38:16.880> want<00:38:16.960> to<00:38:17.119> talk<00:38:17.200> a + +00:38:17.349 --> 00:38:17.359 align:start position:0% +yourself. So, now I want to talk a + + +00:38:17.359 --> 00:38:18.630 align:start position:0% +yourself. So, now I want to talk a +little<00:38:17.440> bit<00:38:17.599> about<00:38:17.760> some<00:38:17.920> of<00:38:18.000> the<00:38:18.160> other<00:38:18.320> files + +00:38:18.630 --> 00:38:18.640 align:start position:0% +little bit about some of the other files + + +00:38:18.640 --> 00:38:20.630 align:start position:0% +little bit about some of the other files +that<00:38:18.880> are<00:38:19.040> here.<00:38:19.520> And<00:38:19.839> specifically<00:38:20.320> I<00:38:20.560> want + +00:38:20.630 --> 00:38:20.640 align:start position:0% +that are here. And specifically I want + + +00:38:20.640 --> 00:38:23.349 align:start position:0% +that are here. And specifically I want +to<00:38:20.800> talk<00:38:20.960> about<00:38:21.119> this<00:38:21.599> identity<00:38:22.079> file<00:38:22.800> as<00:38:23.119> well + +00:38:23.349 --> 00:38:23.359 align:start position:0% +to talk about this identity file as well + + +00:38:23.359 --> 00:38:26.710 align:start position:0% +to talk about this identity file as well +as<00:38:23.839> this<00:38:24.320> user<00:38:24.720> file.<00:38:25.440> Now<00:38:25.680> the<00:38:25.920> user<00:38:26.240> file<00:38:26.560> is + +00:38:26.710 --> 00:38:26.720 align:start position:0% +as this user file. Now the user file is + + +00:38:26.720 --> 00:38:28.870 align:start position:0% +as this user file. Now the user file is +the<00:38:26.960> information<00:38:27.520> about<00:38:27.839> you<00:38:28.320> okay<00:38:28.560> or<00:38:28.720> in + +00:38:28.870 --> 00:38:28.880 align:start position:0% +the information about you okay or in + + +00:38:28.880 --> 00:38:30.470 align:start position:0% +the information about you okay or in +this<00:38:29.040> case<00:38:29.200> about<00:38:29.440> your<00:38:29.760> human<00:38:30.079> because<00:38:30.240> it's + +00:38:30.470 --> 00:38:30.480 align:start position:0% +this case about your human because it's + + +00:38:30.480 --> 00:38:33.109 align:start position:0% +this case about your human because it's +like<00:38:30.640> in<00:38:30.960> reference<00:38:31.359> to<00:38:31.599> the<00:38:31.839> clawbot<00:38:32.560> and<00:38:32.800> the + +00:38:33.109 --> 00:38:33.119 align:start position:0% +like in reference to the clawbot and the + + +00:38:33.119 --> 00:38:34.470 align:start position:0% +like in reference to the clawbot and the +identity<00:38:33.359> file<00:38:33.599> is<00:38:33.760> the<00:38:34.000> information<00:38:34.320> about + +00:38:34.470 --> 00:38:34.480 align:start position:0% +identity file is the information about + + +00:38:34.480 --> 00:38:37.030 align:start position:0% +identity file is the information about +the<00:38:34.720> clawbot<00:38:35.280> itself.<00:38:36.160> So<00:38:36.400> rather<00:38:36.640> than<00:38:36.800> you + +00:38:37.030 --> 00:38:37.040 align:start position:0% +the clawbot itself. So rather than you + + +00:38:37.040 --> 00:38:38.630 align:start position:0% +the clawbot itself. So rather than you +just<00:38:37.200> filling<00:38:37.520> this<00:38:37.760> file<00:38:38.000> in<00:38:38.240> manual + +00:38:38.630 --> 00:38:38.640 align:start position:0% +just filling this file in manual + + +00:38:38.640 --> 00:38:40.790 align:start position:0% +just filling this file in manual +yourself,<00:38:39.119> what<00:38:39.280> I<00:38:39.440> would<00:38:39.599> suggest<00:38:40.000> you<00:38:40.320> do<00:38:40.560> is + +00:38:40.790 --> 00:38:40.800 align:start position:0% +yourself, what I would suggest you do is + + +00:38:40.800 --> 00:38:43.109 align:start position:0% +yourself, what I would suggest you do is +actually<00:38:41.119> go<00:38:41.280> to<00:38:41.520> open<00:38:41.839> claw<00:38:42.320> and<00:38:42.560> ask<00:38:42.720> it<00:38:42.960> to + +00:38:43.109 --> 00:38:43.119 align:start position:0% +actually go to open claw and ask it to + + +00:38:43.119 --> 00:38:44.790 align:start position:0% +actually go to open claw and ask it to +give<00:38:43.200> you<00:38:43.440> an<00:38:43.680> interview<00:38:44.079> and<00:38:44.400> ask<00:38:44.560> you + +00:38:44.790 --> 00:38:44.800 align:start position:0% +give you an interview and ask you + + +00:38:44.800 --> 00:38:46.550 align:start position:0% +give you an interview and ask you +questions<00:38:45.200> on<00:38:45.440> what<00:38:45.599> you<00:38:45.839> want.<00:38:46.240> So,<00:38:46.400> I'm + +00:38:46.550 --> 00:38:46.560 align:start position:0% +questions on what you want. So, I'm + + +00:38:46.560 --> 00:38:47.829 align:start position:0% +questions on what you want. So, I'm +going<00:38:46.640> to<00:38:46.720> give<00:38:46.800> you<00:38:46.880> an<00:38:47.040> example<00:38:47.359> prompt<00:38:47.680> that + +00:38:47.829 --> 00:38:47.839 align:start position:0% +going to give you an example prompt that + + +00:38:47.839 --> 00:38:49.750 align:start position:0% +going to give you an example prompt that +you<00:38:48.000> could<00:38:48.160> pass<00:38:48.560> so<00:38:48.800> it<00:38:48.960> can<00:38:49.119> modify<00:38:49.520> these + +00:38:49.750 --> 00:38:49.760 align:start position:0% +you could pass so it can modify these + + +00:38:49.760 --> 00:38:52.470 align:start position:0% +you could pass so it can modify these +files.<00:38:50.720> Say,<00:38:50.960> "Hey,<00:38:51.280> I<00:38:51.520> need<00:38:51.599> you<00:38:51.839> to<00:38:52.079> update + +00:38:52.470 --> 00:38:52.480 align:start position:0% +files. Say, "Hey, I need you to update + + +00:38:52.480 --> 00:38:55.190 align:start position:0% +files. Say, "Hey, I need you to update +the<00:38:52.880> identity<00:38:53.200> file<00:38:53.440> as<00:38:53.680> well<00:38:53.760> as<00:38:53.839> the<00:38:54.079> user.md + +00:38:55.190 --> 00:38:55.200 align:start position:0% +the identity file as well as the user.md + + +00:38:55.200 --> 00:38:56.870 align:start position:0% +the identity file as well as the user.md +file<00:38:55.440> with<00:38:55.680> important<00:38:56.160> long-term + +00:38:56.870 --> 00:38:56.880 align:start position:0% +file with important long-term + + +00:38:56.880 --> 00:38:58.710 align:start position:0% +file with important long-term +information.<00:38:57.839> Ask<00:38:58.079> me<00:38:58.240> a<00:38:58.480> bunch<00:38:58.560> of + +00:38:58.710 --> 00:38:58.720 align:start position:0% +information. Ask me a bunch of + + +00:38:58.720 --> 00:39:00.310 align:start position:0% +information. Ask me a bunch of +questions.<00:38:59.200> Give<00:38:59.359> me<00:38:59.520> an<00:38:59.680> interview.<00:39:00.079> Give<00:39:00.240> me + +00:39:00.310 --> 00:39:00.320 align:start position:0% +questions. Give me an interview. Give me + + +00:39:00.320 --> 00:39:02.150 align:start position:0% +questions. Give me an interview. Give me +a<00:39:00.480> quiz<00:39:00.720> on<00:39:00.960> all<00:39:01.119> of<00:39:01.200> the<00:39:01.359> data<00:39:01.680> you<00:39:01.839> need<00:39:02.000> from + +00:39:02.150 --> 00:39:02.160 align:start position:0% +a quiz on all of the data you need from + + +00:39:02.160 --> 00:39:04.069 align:start position:0% +a quiz on all of the data you need from +me<00:39:02.320> in<00:39:02.560> order<00:39:02.720> to<00:39:03.040> create<00:39:03.280> those<00:39:03.520> files<00:39:03.839> and + +00:39:04.069 --> 00:39:04.079 align:start position:0% +me in order to create those files and + + +00:39:04.079 --> 00:39:06.310 align:start position:0% +me in order to create those files and +optimize<00:39:04.560> them<00:39:04.720> as<00:39:04.960> much<00:39:05.040> as<00:39:05.280> possible.<00:39:06.079> In + +00:39:06.310 --> 00:39:06.320 align:start position:0% +optimize them as much as possible. In + + +00:39:06.320 --> 00:39:08.230 align:start position:0% +optimize them as much as possible. In +the<00:39:06.480> future,<00:39:06.880> if<00:39:07.200> something<00:39:07.520> changes, + +00:39:08.230 --> 00:39:08.240 align:start position:0% +the future, if something changes, + + +00:39:08.240 --> 00:39:10.630 align:start position:0% +the future, if something changes, +continue<00:39:08.560> to<00:39:08.800> update<00:39:09.119> these<00:39:09.440> files<00:39:10.079> and<00:39:10.400> ask + +00:39:10.630 --> 00:39:10.640 align:start position:0% +continue to update these files and ask + + +00:39:10.640 --> 00:39:13.109 align:start position:0% +continue to update these files and ask +me<00:39:10.880> more<00:39:11.119> information<00:39:11.760> as<00:39:12.160> we<00:39:12.480> chat<00:39:12.800> through + +00:39:13.109 --> 00:39:13.119 align:start position:0% +me more information as we chat through + + +00:39:13.119 --> 00:39:15.109 align:start position:0% +me more information as we chat through +this<00:39:13.440> conversation<00:39:14.000> and<00:39:14.240> just<00:39:14.400> in<00:39:14.640> general<00:39:14.880> in + +00:39:15.109 --> 00:39:15.119 align:start position:0% +this conversation and just in general in + + +00:39:15.119 --> 00:39:16.790 align:start position:0% +this conversation and just in general in +the<00:39:15.280> future<00:39:15.680> so<00:39:15.839> that<00:39:16.000> you<00:39:16.240> always<00:39:16.480> have<00:39:16.640> the + +00:39:16.790 --> 00:39:16.800 align:start position:0% +the future so that you always have the + + +00:39:16.800 --> 00:39:18.550 align:start position:0% +the future so that you always have the +most<00:39:17.040> recent<00:39:17.359> up-to-date<00:39:17.920> data<00:39:18.160> and<00:39:18.320> you're + +00:39:18.550 --> 00:39:18.560 align:start position:0% +most recent up-to-date data and you're + + +00:39:18.560 --> 00:39:20.470 align:start position:0% +most recent up-to-date data and you're +constantly<00:39:18.960> updating<00:39:19.359> these<00:39:19.599> files.<00:39:20.240> That's + +00:39:20.470 --> 00:39:20.480 align:start position:0% +constantly updating these files. That's + + +00:39:20.480 --> 00:39:22.069 align:start position:0% +constantly updating these files. That's +maybe<00:39:20.720> a<00:39:20.960> little<00:39:21.040> bit<00:39:21.119> overkill,<00:39:21.680> but<00:39:21.920> point + +00:39:22.069 --> 00:39:22.079 align:start position:0% +maybe a little bit overkill, but point + + +00:39:22.079 --> 00:39:23.190 align:start position:0% +maybe a little bit overkill, but point +is,<00:39:22.320> you<00:39:22.480> know,<00:39:22.560> you<00:39:22.640> can<00:39:22.720> just<00:39:22.880> say,<00:39:22.960> "Hey, + +00:39:23.190 --> 00:39:23.200 align:start position:0% +is, you know, you can just say, "Hey, + + +00:39:23.200 --> 00:39:24.470 align:start position:0% +is, you know, you can just say, "Hey, +give<00:39:23.280> me<00:39:23.440> an<00:39:23.599> interview<00:39:23.760> to<00:39:24.000> update<00:39:24.240> these + +00:39:24.470 --> 00:39:24.480 align:start position:0% +give me an interview to update these + + +00:39:24.480 --> 00:39:26.710 align:start position:0% +give me an interview to update these +files."<00:39:25.119> And<00:39:25.280> that's<00:39:25.440> a<00:39:25.760> lot<00:39:26.000> easier<00:39:26.400> way<00:39:26.560> to + +00:39:26.710 --> 00:39:26.720 align:start position:0% +files." And that's a lot easier way to + + +00:39:26.720 --> 00:39:28.710 align:start position:0% +files." And that's a lot easier way to +go<00:39:26.880> about<00:39:27.200> doing<00:39:27.359> it<00:39:27.760> than<00:39:28.000> you<00:39:28.240> having<00:39:28.480> to + +00:39:28.710 --> 00:39:28.720 align:start position:0% +go about doing it than you having to + + +00:39:28.720 --> 00:39:30.550 align:start position:0% +go about doing it than you having to +manually<00:39:29.359> kind<00:39:29.520> of<00:39:29.760> work<00:39:30.000> through<00:39:30.240> and,<00:39:30.480> you + +00:39:30.550 --> 00:39:30.560 align:start position:0% +manually kind of work through and, you + + +00:39:30.560 --> 00:39:32.710 align:start position:0% +manually kind of work through and, you +know,<00:39:30.720> fill<00:39:30.880> in<00:39:31.040> all<00:39:31.200> of<00:39:31.280> this<00:39:31.520> data.<00:39:32.160> Okay,<00:39:32.560> so + +00:39:32.710 --> 00:39:32.720 align:start position:0% +know, fill in all of this data. Okay, so + + +00:39:32.720 --> 00:39:33.990 align:start position:0% +know, fill in all of this data. Okay, so +you<00:39:32.880> can<00:39:32.960> see<00:39:33.119> it's<00:39:33.359> giving<00:39:33.520> me<00:39:33.599> a<00:39:33.680> bunch<00:39:33.839> of + +00:39:33.990 --> 00:39:34.000 align:start position:0% +you can see it's giving me a bunch of + + +00:39:34.000 --> 00:39:35.829 align:start position:0% +you can see it's giving me a bunch of +stuff,<00:39:34.240> right?<00:39:35.119> I'm<00:39:35.280> not<00:39:35.440> going<00:39:35.520> to<00:39:35.599> actually + +00:39:35.829 --> 00:39:35.839 align:start position:0% +stuff, right? I'm not going to actually + + +00:39:35.839 --> 00:39:37.910 align:start position:0% +stuff, right? I'm not going to actually +go<00:39:36.000> and<00:39:36.240> fill<00:39:36.480> this<00:39:36.640> in<00:39:37.280> uh<00:39:37.359> because<00:39:37.599> I<00:39:37.760> don't + +00:39:37.910 --> 00:39:37.920 align:start position:0% +go and fill this in uh because I don't + + +00:39:37.920 --> 00:39:39.190 align:start position:0% +go and fill this in uh because I don't +care<00:39:38.079> too<00:39:38.320> much<00:39:38.480> about<00:39:38.640> it.<00:39:38.800> I'll<00:39:38.960> just<00:39:39.119> give + +00:39:39.190 --> 00:39:39.200 align:start position:0% +care too much about it. I'll just give + + +00:39:39.200 --> 00:39:40.710 align:start position:0% +care too much about it. I'll just give +it<00:39:39.359> a<00:39:39.520> quick<00:39:39.680> answer<00:39:39.920> so<00:39:40.160> we<00:39:40.320> can<00:39:40.400> see<00:39:40.480> the + +00:39:40.710 --> 00:39:40.720 align:start position:0% +it a quick answer so we can see the + + +00:39:40.720 --> 00:39:43.510 align:start position:0% +it a quick answer so we can see the +update.<00:39:41.280> Say,<00:39:41.680> "My<00:39:42.079> name<00:39:42.240> is<00:39:42.560> Tim.<00:39:43.119> You<00:39:43.359> can + +00:39:43.510 --> 00:39:43.520 align:start position:0% +update. Say, "My name is Tim. You can + + +00:39:43.520 --> 00:39:46.790 align:start position:0% +update. Say, "My name is Tim. You can +call<00:39:43.760> me<00:39:44.240> Master<00:39:44.720> Tim.<00:39:45.359> My<00:39:45.599> pronouns<00:39:46.160> are<00:39:46.480> the + +00:39:46.790 --> 00:39:46.800 align:start position:0% +call me Master Tim. My pronouns are the + + +00:39:46.800 --> 00:39:50.069 align:start position:0% +call me Master Tim. My pronouns are the +normal<00:39:47.040> ones,<00:39:47.520> he,<00:39:47.839> him.<00:39:48.480> Uh<00:39:48.800> my<00:39:49.040> time<00:39:49.280> zone<00:39:49.680> is + +00:39:50.069 --> 00:39:50.079 align:start position:0% +normal ones, he, him. Uh my time zone is + + +00:39:50.079 --> 00:39:52.950 align:start position:0% +normal ones, he, him. Uh my time zone is +Asia,<00:39:50.560> Dubai.<00:39:51.200> I<00:39:51.440> usually<00:39:51.839> work<00:39:52.160> from<00:39:52.640> 10:00 + +00:39:52.950 --> 00:39:52.960 align:start position:0% +Asia, Dubai. I usually work from 10:00 + + +00:39:52.960 --> 00:39:55.510 align:start position:0% +Asia, Dubai. I usually work from 10:00 +a.m.<00:39:53.200> to<00:39:53.520> 1:00<00:39:53.760> in<00:39:53.920> the<00:39:54.079> morning.<00:39:54.720> My<00:39:54.960> goal<00:39:55.280> is + +00:39:55.510 --> 00:39:55.520 align:start position:0% +a.m. to 1:00 in the morning. My goal is + + +00:39:55.520 --> 00:39:57.430 align:start position:0% +a.m. to 1:00 in the morning. My goal is +to<00:39:55.920> grow<00:39:56.240> my<00:39:56.480> YouTube<00:39:56.800> channel."<00:39:57.119> Okay, + +00:39:57.430 --> 00:39:57.440 align:start position:0% +to grow my YouTube channel." Okay, + + +00:39:57.440 --> 00:39:59.589 align:start position:0% +to grow my YouTube channel." Okay, +whatever.<00:39:57.839> Right.<00:39:58.240> And<00:39:58.480> then<00:39:58.640> go<00:39:58.880> ahead<00:39:59.280> and + +00:39:59.589 --> 00:39:59.599 align:start position:0% +whatever. Right. And then go ahead and + + +00:39:59.599 --> 00:40:02.470 align:start position:0% +whatever. Right. And then go ahead and +hit<00:39:59.920> enter.<00:40:00.720> And<00:40:01.040> hopefully<00:40:01.599> it<00:40:01.839> is<00:40:02.079> going<00:40:02.240> to + +00:40:02.470 --> 00:40:02.480 align:start position:0% +hit enter. And hopefully it is going to + + +00:40:02.480 --> 00:40:04.150 align:start position:0% +hit enter. And hopefully it is going to +update<00:40:02.800> the<00:40:02.960> file<00:40:03.200> now.<00:40:03.440> And<00:40:03.680> again,<00:40:03.920> if<00:40:04.079> you + +00:40:04.150 --> 00:40:04.160 align:start position:0% +update the file now. And again, if you + + +00:40:04.160 --> 00:40:05.510 align:start position:0% +update the file now. And again, if you +want<00:40:04.240> to<00:40:04.320> see<00:40:04.400> the<00:40:04.640> updates,<00:40:05.040> you<00:40:05.280> can + +00:40:05.510 --> 00:40:05.520 align:start position:0% +want to see the updates, you can + + +00:40:05.520 --> 00:40:08.470 align:start position:0% +want to see the updates, you can +refresh.<00:40:06.560> Um,<00:40:06.880> what<00:40:07.040> is<00:40:07.119> it?<00:40:07.359> This.<00:40:08.000> And<00:40:08.160> it + +00:40:08.470 --> 00:40:08.480 align:start position:0% +refresh. Um, what is it? This. And it + + +00:40:08.480 --> 00:40:11.109 align:start position:0% +refresh. Um, what is it? This. And it +should<00:40:08.800> show<00:40:09.119> the<00:40:09.440> new<00:40:09.760> version<00:40:10.079> of<00:40:10.240> the<00:40:10.480> file, + +00:40:11.109 --> 00:40:11.119 align:start position:0% +should show the new version of the file, + + +00:40:11.119 --> 00:40:12.790 align:start position:0% +should show the new version of the file, +assuming<00:40:11.520> that<00:40:11.680> it<00:40:11.760> updates<00:40:12.160> it.<00:40:12.480> Okay.<00:40:12.640> So, + +00:40:12.790 --> 00:40:12.800 align:start position:0% +assuming that it updates it. Okay. So, + + +00:40:12.800 --> 00:40:14.069 align:start position:0% +assuming that it updates it. Okay. So, +you<00:40:12.880> can<00:40:12.960> see<00:40:13.119> it's<00:40:13.280> updated<00:40:13.599> the<00:40:13.760> file<00:40:14.000> now + +00:40:14.069 --> 00:40:14.079 align:start position:0% +you can see it's updated the file now + + +00:40:14.079 --> 00:40:15.510 align:start position:0% +you can see it's updated the file now +and<00:40:14.320> it<00:40:14.400> kind<00:40:14.560> of<00:40:14.560> has<00:40:14.720> that<00:40:14.960> information. + +00:40:15.510 --> 00:40:15.520 align:start position:0% +and it kind of has that information. + + +00:40:15.520 --> 00:40:17.190 align:start position:0% +and it kind of has that information. +Then<00:40:15.760> for<00:40:15.920> the<00:40:16.160> identity,<00:40:16.560> we're<00:40:16.720> not<00:40:16.880> really + +00:40:17.190 --> 00:40:17.200 align:start position:0% +Then for the identity, we're not really + + +00:40:17.200 --> 00:40:19.670 align:start position:0% +Then for the identity, we're not really +getting<00:40:17.520> like<00:40:17.760> the<00:40:18.079> correct<00:40:18.480> stuff.<00:40:19.119> Um,<00:40:19.359> but + +00:40:19.670 --> 00:40:19.680 align:start position:0% +getting like the correct stuff. Um, but + + +00:40:19.680 --> 00:40:21.270 align:start position:0% +getting like the correct stuff. Um, but +you<00:40:19.839> you<00:40:20.160> get<00:40:20.240> the<00:40:20.480> idea.<00:40:20.800> Okay.<00:40:21.040> So,<00:40:21.119> we + +00:40:21.270 --> 00:40:21.280 align:start position:0% +you you get the idea. Okay. So, we + + +00:40:21.280 --> 00:40:22.550 align:start position:0% +you you get the idea. Okay. So, we +could,<00:40:21.440> you<00:40:21.599> know,<00:40:21.680> adjust<00:40:21.920> that<00:40:22.160> later<00:40:22.400> in + +00:40:22.550 --> 00:40:22.560 align:start position:0% +could, you know, adjust that later in + + +00:40:22.560 --> 00:40:23.750 align:start position:0% +could, you know, adjust that later in +the<00:40:22.720> future.<00:40:23.040> Okay.<00:40:23.280> So,<00:40:23.359> that<00:40:23.599> kind<00:40:23.680> of + +00:40:23.750 --> 00:40:23.760 align:start position:0% +the future. Okay. So, that kind of + + +00:40:23.760 --> 00:40:25.430 align:start position:0% +the future. Okay. So, that kind of +covers<00:40:24.000> that.<00:40:24.240> Now,<00:40:24.480> the<00:40:24.640> other<00:40:24.800> files<00:40:25.200> that + +00:40:25.430 --> 00:40:25.440 align:start position:0% +covers that. Now, the other files that + + +00:40:25.440 --> 00:40:28.390 align:start position:0% +covers that. Now, the other files that +are<00:40:25.680> useful<00:40:26.000> is<00:40:26.240> going<00:40:26.320> to<00:40:26.400> be<00:40:26.640> the<00:40:27.200> soul<00:40:28.079> as + +00:40:28.390 --> 00:40:28.400 align:start position:0% +are useful is going to be the soul as + + +00:40:28.400 --> 00:40:31.430 align:start position:0% +are useful is going to be the soul as +well<00:40:28.640> as<00:40:29.119> tools<00:40:29.760> and<00:40:30.160> heartbeat.<00:40:30.800> So<00:40:30.960> the<00:40:31.200> soul + +00:40:31.430 --> 00:40:31.440 align:start position:0% +well as tools and heartbeat. So the soul + + +00:40:31.440 --> 00:40:33.349 align:start position:0% +well as tools and heartbeat. So the soul +is<00:40:31.680> kind<00:40:31.760> of<00:40:31.839> some<00:40:32.079> more<00:40:32.320> instructions<00:40:33.040> in + +00:40:33.349 --> 00:40:33.359 align:start position:0% +is kind of some more instructions in + + +00:40:33.359 --> 00:40:35.990 align:start position:0% +is kind of some more instructions in +terms<00:40:33.599> of<00:40:33.920> how<00:40:34.320> the<00:40:34.720> bot<00:40:35.119> should<00:40:35.359> operate,<00:40:35.839> the + +00:40:35.990 --> 00:40:36.000 align:start position:0% +terms of how the bot should operate, the + + +00:40:36.000 --> 00:40:37.829 align:start position:0% +terms of how the bot should operate, the +way<00:40:36.160> it<00:40:36.320> should<00:40:36.560> talk<00:40:36.800> to<00:40:36.960> you,<00:40:37.520> you<00:40:37.599> know, + +00:40:37.829 --> 00:40:37.839 align:start position:0% +way it should talk to you, you know, + + +00:40:37.839 --> 00:40:39.589 align:start position:0% +way it should talk to you, you know, +core<00:40:38.160> truths,<00:40:38.640> things<00:40:38.800> that<00:40:38.960> it<00:40:39.200> believes, + +00:40:39.589 --> 00:40:39.599 align:start position:0% +core truths, things that it believes, + + +00:40:39.599 --> 00:40:41.589 align:start position:0% +core truths, things that it believes, +right?<00:40:39.839> Like<00:40:40.000> at<00:40:40.240> the<00:40:40.480> soul<00:40:40.880> of<00:40:41.040> the<00:40:41.200> agent, + +00:40:41.589 --> 00:40:41.599 align:start position:0% +right? Like at the soul of the agent, + + +00:40:41.599 --> 00:40:42.950 align:start position:0% +right? Like at the soul of the agent, +kind<00:40:41.760> of<00:40:41.839> at<00:40:42.000> the<00:40:42.160> heart<00:40:42.240> of<00:40:42.320> it,<00:40:42.480> I<00:40:42.720> guess<00:40:42.800> you + +00:40:42.950 --> 00:40:42.960 align:start position:0% +kind of at the heart of it, I guess you + + +00:40:42.960 --> 00:40:44.630 align:start position:0% +kind of at the heart of it, I guess you +could<00:40:43.119> say.<00:40:43.599> So<00:40:43.760> if<00:40:43.920> you<00:40:44.079> want<00:40:44.160> to<00:40:44.320> modify + +00:40:44.630 --> 00:40:44.640 align:start position:0% +could say. So if you want to modify + + +00:40:44.640 --> 00:40:46.310 align:start position:0% +could say. So if you want to modify +this,<00:40:44.960> you<00:40:45.119> can,<00:40:45.280> but<00:40:45.599> generally<00:40:45.839> the<00:40:46.079> default + +00:40:46.310 --> 00:40:46.320 align:start position:0% +this, you can, but generally the default + + +00:40:46.320 --> 00:40:47.910 align:start position:0% +this, you can, but generally the default +one<00:40:46.560> is<00:40:46.720> pretty<00:40:46.960> good.<00:40:47.280> And<00:40:47.440> it<00:40:47.599> says,<00:40:47.839> you + +00:40:47.910 --> 00:40:47.920 align:start position:0% +one is pretty good. And it says, you + + +00:40:47.920 --> 00:40:49.349 align:start position:0% +one is pretty good. And it says, you +know,<00:40:48.079> each<00:40:48.240> session<00:40:48.480> you<00:40:48.640> wake<00:40:48.800> up<00:40:48.960> fresh. + +00:40:49.349 --> 00:40:49.359 align:start position:0% +know, each session you wake up fresh. + + +00:40:49.359 --> 00:40:51.270 align:start position:0% +know, each session you wake up fresh. +These<00:40:49.599> files<00:40:50.000> are<00:40:50.240> your<00:40:50.480> memory.<00:40:50.880> Read<00:40:51.040> them, + +00:40:51.270 --> 00:40:51.280 align:start position:0% +These files are your memory. Read them, + + +00:40:51.280 --> 00:40:53.349 align:start position:0% +These files are your memory. Read them, +update<00:40:51.599> them,<00:40:52.160> etc.<00:40:52.720> And<00:40:52.880> then<00:40:52.960> it<00:40:53.119> goes + +00:40:53.349 --> 00:40:53.359 align:start position:0% +update them, etc. And then it goes + + +00:40:53.359 --> 00:40:54.630 align:start position:0% +update them, etc. And then it goes +through<00:40:53.599> boundaries,<00:40:54.079> you<00:40:54.160> know,<00:40:54.320> private + +00:40:54.630 --> 00:40:54.640 align:start position:0% +through boundaries, you know, private + + +00:40:54.640 --> 00:40:56.470 align:start position:0% +through boundaries, you know, private +things<00:40:54.880> stay<00:40:55.119> private.<00:40:55.599> Here's<00:40:55.839> your<00:40:56.000> vibe, + +00:40:56.470 --> 00:40:56.480 align:start position:0% +things stay private. Here's your vibe, + + +00:40:56.480 --> 00:40:57.670 align:start position:0% +things stay private. Here's your vibe, +all<00:40:56.560> of<00:40:56.720> that<00:40:56.880> kind<00:40:56.960> of<00:40:57.040> stuff.<00:40:57.280> So<00:40:57.440> you<00:40:57.599> can + +00:40:57.670 --> 00:40:57.680 align:start position:0% +all of that kind of stuff. So you can + + +00:40:57.680 --> 00:40:59.510 align:start position:0% +all of that kind of stuff. So you can +adjust<00:40:58.000> the<00:40:58.160> soul<00:40:58.480> based<00:40:58.720> on<00:40:58.880> what<00:40:59.040> you<00:40:59.200> want. + +00:40:59.510 --> 00:40:59.520 align:start position:0% +adjust the soul based on what you want. + + +00:40:59.520 --> 00:41:00.790 align:start position:0% +adjust the soul based on what you want. +If<00:40:59.680> you<00:40:59.760> want<00:40:59.920> something<00:41:00.160> rude,<00:41:00.480> if<00:41:00.560> you<00:41:00.720> want + +00:41:00.790 --> 00:41:00.800 align:start position:0% +If you want something rude, if you want + + +00:41:00.800 --> 00:41:01.910 align:start position:0% +If you want something rude, if you want +something<00:41:01.040> happy,<00:41:01.359> if<00:41:01.440> you<00:41:01.520> want<00:41:01.680> something + +00:41:01.910 --> 00:41:01.920 align:start position:0% +something happy, if you want something + + +00:41:01.920 --> 00:41:03.190 align:start position:0% +something happy, if you want something +funny,<00:41:02.400> you<00:41:02.480> know,<00:41:02.640> that's<00:41:02.800> where<00:41:02.960> you<00:41:03.119> would + +00:41:03.190 --> 00:41:03.200 align:start position:0% +funny, you know, that's where you would + + +00:41:03.200 --> 00:41:05.109 align:start position:0% +funny, you know, that's where you would +put<00:41:03.359> it<00:41:03.520> inside<00:41:03.839> of<00:41:04.000> here.<00:41:04.400> Now,<00:41:04.560> we<00:41:04.720> also<00:41:04.960> have + +00:41:05.109 --> 00:41:05.119 align:start position:0% +put it inside of here. Now, we also have + + +00:41:05.119 --> 00:41:07.030 align:start position:0% +put it inside of here. Now, we also have +tools.<00:41:05.680> Tools<00:41:06.079> are<00:41:06.319> different<00:41:06.560> things<00:41:06.720> that + +00:41:07.030 --> 00:41:07.040 align:start position:0% +tools. Tools are different things that + + +00:41:07.040 --> 00:41:09.510 align:start position:0% +tools. Tools are different things that +can<00:41:07.200> be<00:41:07.359> used<00:41:07.920> by<00:41:08.319> things<00:41:08.640> like<00:41:08.960> skills.<00:41:09.359> So, + +00:41:09.510 --> 00:41:09.520 align:start position:0% +can be used by things like skills. So, + + +00:41:09.520 --> 00:41:11.190 align:start position:0% +can be used by things like skills. So, +for<00:41:09.599> example,<00:41:09.920> you<00:41:10.079> have<00:41:10.160> an<00:41:10.240> SSH<00:41:10.720> host,<00:41:11.040> a + +00:41:11.190 --> 00:41:11.200 align:start position:0% +for example, you have an SSH host, a + + +00:41:11.200 --> 00:41:12.950 align:start position:0% +for example, you have an SSH host, a +preferred,<00:41:11.599> you<00:41:11.680> know,<00:41:11.839> voice,<00:41:12.560> speaker, + +00:41:12.950 --> 00:41:12.960 align:start position:0% +preferred, you know, voice, speaker, + + +00:41:12.960 --> 00:41:14.790 align:start position:0% +preferred, you know, voice, speaker, +rooms<00:41:13.280> names,<00:41:13.680> device<00:41:13.920> nicknames,<00:41:14.480> all<00:41:14.640> that + +00:41:14.790 --> 00:41:14.800 align:start position:0% +rooms names, device nicknames, all that + + +00:41:14.800 --> 00:41:16.550 align:start position:0% +rooms names, device nicknames, all that +kind<00:41:14.880> of<00:41:14.960> stuff.<00:41:15.440> It<00:41:15.599> can<00:41:15.680> put<00:41:15.839> that<00:41:16.079> directly + +00:41:16.550 --> 00:41:16.560 align:start position:0% +kind of stuff. It can put that directly + + +00:41:16.560 --> 00:41:18.790 align:start position:0% +kind of stuff. It can put that directly +inside<00:41:17.119> of<00:41:17.440> this<00:41:17.680> file.<00:41:18.079> I<00:41:18.319> don't<00:41:18.400> really<00:41:18.560> use + +00:41:18.790 --> 00:41:18.800 align:start position:0% +inside of this file. I don't really use + + +00:41:18.800 --> 00:41:20.470 align:start position:0% +inside of this file. I don't really use +tools<00:41:19.200> too<00:41:19.440> much,<00:41:19.680> but<00:41:20.000> you<00:41:20.079> know,<00:41:20.160> you<00:41:20.319> can + +00:41:20.470 --> 00:41:20.480 align:start position:0% +tools too much, but you know, you can + + +00:41:20.480 --> 00:41:22.950 align:start position:0% +tools too much, but you know, you can +modify<00:41:20.880> this<00:41:21.040> file<00:41:21.359> if<00:41:21.680> needed.<00:41:22.480> Awesome.<00:41:22.800> And + +00:41:22.950 --> 00:41:22.960 align:start position:0% +modify this file if needed. Awesome. And + + +00:41:22.960 --> 00:41:24.230 align:start position:0% +modify this file if needed. Awesome. And +then<00:41:23.040> the<00:41:23.280> last<00:41:23.359> one<00:41:23.520> is<00:41:23.760> going<00:41:23.839> to<00:41:23.920> be<00:41:24.000> the + +00:41:24.230 --> 00:41:24.240 align:start position:0% +then the last one is going to be the + + +00:41:24.240 --> 00:41:26.230 align:start position:0% +then the last one is going to be the +heartbeat<00:41:24.800> file.<00:41:25.200> Now,<00:41:25.440> the<00:41:25.599> heartbeat<00:41:26.000> file + +00:41:26.230 --> 00:41:26.240 align:start position:0% +heartbeat file. Now, the heartbeat file + + +00:41:26.240 --> 00:41:27.990 align:start position:0% +heartbeat file. Now, the heartbeat file +is<00:41:26.400> super<00:41:26.720> interesting<00:41:27.200> because<00:41:27.520> what<00:41:27.760> you + +00:41:27.990 --> 00:41:28.000 align:start position:0% +is super interesting because what you + + +00:41:28.000 --> 00:41:30.309 align:start position:0% +is super interesting because what you +can<00:41:28.160> do<00:41:28.319> is<00:41:28.560> you<00:41:28.800> can<00:41:29.040> have<00:41:29.359> the<00:41:29.599> Claudebot + +00:41:30.309 --> 00:41:30.319 align:start position:0% +can do is you can have the Claudebot + + +00:41:30.319 --> 00:41:33.270 align:start position:0% +can do is you can have the Claudebot +triggered<00:41:30.960> to<00:41:31.280> wake<00:41:31.599> up<00:41:31.839> effectively<00:41:32.640> every + +00:41:33.270 --> 00:41:33.280 align:start position:0% +triggered to wake up effectively every + + +00:41:33.280 --> 00:41:34.790 align:start position:0% +triggered to wake up effectively every +set<00:41:33.599> number<00:41:33.760> of<00:41:33.920> minutes.<00:41:34.319> You<00:41:34.400> can<00:41:34.560> have<00:41:34.640> it + +00:41:34.790 --> 00:41:34.800 align:start position:0% +set number of minutes. You can have it + + +00:41:34.800 --> 00:41:36.550 align:start position:0% +set number of minutes. You can have it +every<00:41:35.040> 5<00:41:35.200> minutes,<00:41:35.520> every<00:41:35.680> 30<00:41:35.920> minutes,<00:41:36.319> every + +00:41:36.550 --> 00:41:36.560 align:start position:0% +every 5 minutes, every 30 minutes, every + + +00:41:36.560 --> 00:41:38.470 align:start position:0% +every 5 minutes, every 30 minutes, every +hour.<00:41:37.119> And<00:41:37.280> when<00:41:37.440> it<00:41:37.599> wakes<00:41:37.839> up,<00:41:38.160> what<00:41:38.319> it's + +00:41:38.470 --> 00:41:38.480 align:start position:0% +hour. And when it wakes up, what it's + + +00:41:38.480 --> 00:41:39.829 align:start position:0% +hour. And when it wakes up, what it's +going<00:41:38.560> to<00:41:38.640> do<00:41:38.720> is<00:41:38.880> it's<00:41:39.119> going<00:41:39.200> to<00:41:39.359> read<00:41:39.599> this + +00:41:39.829 --> 00:41:39.839 align:start position:0% +going to do is it's going to read this + + +00:41:39.839 --> 00:41:42.390 align:start position:0% +going to do is it's going to read this +heartbeat<00:41:40.400> file.<00:41:41.119> Now,<00:41:41.440> inside<00:41:41.920> of<00:41:42.160> this + +00:41:42.390 --> 00:41:42.400 align:start position:0% +heartbeat file. Now, inside of this + + +00:41:42.400 --> 00:41:44.550 align:start position:0% +heartbeat file. Now, inside of this +file,<00:41:42.800> you<00:41:43.040> can<00:41:43.200> direct<00:41:43.520> it<00:41:43.760> to<00:41:43.920> do<00:41:44.160> something + +00:41:44.550 --> 00:41:44.560 align:start position:0% +file, you can direct it to do something + + +00:41:44.560 --> 00:41:46.069 align:start position:0% +file, you can direct it to do something +continuously.<00:41:45.440> So,<00:41:45.599> something<00:41:45.839> that's + +00:41:46.069 --> 00:41:46.079 align:start position:0% +continuously. So, something that's + + +00:41:46.079 --> 00:41:47.990 align:start position:0% +continuously. So, something that's +common<00:41:46.319> to<00:41:46.480> do<00:41:46.640> is<00:41:46.800> to<00:41:47.040> continually<00:41:47.599> improve + +00:41:47.990 --> 00:41:48.000 align:start position:0% +common to do is to continually improve + + +00:41:48.000 --> 00:41:51.030 align:start position:0% +common to do is to continually improve +itself.<00:41:48.480> So<00:41:48.720> what<00:41:48.960> we<00:41:49.119> can<00:41:49.280> do<00:41:49.359> is<00:41:49.599> we<00:41:49.760> can<00:41:49.920> say + +00:41:51.030 --> 00:41:51.040 align:start position:0% +itself. So what we can do is we can say + + +00:41:51.040 --> 00:41:52.870 align:start position:0% +itself. So what we can do is we can say +update<00:41:51.440> your<00:41:51.599> heartbeat<00:41:52.079> file<00:41:52.400> such<00:41:52.640> that + +00:41:52.870 --> 00:41:52.880 align:start position:0% +update your heartbeat file such that + + +00:41:52.880 --> 00:41:54.630 align:start position:0% +update your heartbeat file such that +anytime<00:41:53.280> you<00:41:53.440> wake<00:41:53.680> up<00:41:53.839> you<00:41:54.079> review<00:41:54.319> any<00:41:54.560> of + +00:41:54.630 --> 00:41:54.640 align:start position:0% +anytime you wake up you review any of + + +00:41:54.640 --> 00:41:56.470 align:start position:0% +anytime you wake up you review any of +the<00:41:54.800> mistakes<00:41:55.119> that<00:41:55.280> you've<00:41:55.440> made<00:41:55.760> previously + +00:41:56.470 --> 00:41:56.480 align:start position:0% +the mistakes that you've made previously + + +00:41:56.480 --> 00:41:58.950 align:start position:0% +the mistakes that you've made previously +and<00:41:56.800> start<00:41:57.040> making<00:41:57.440> improvements<00:41:58.160> and<00:41:58.560> fixing + +00:41:58.950 --> 00:41:58.960 align:start position:0% +and start making improvements and fixing + + +00:41:58.960 --> 00:42:00.950 align:start position:0% +and start making improvements and fixing +those<00:41:59.280> mistakes.<00:42:00.079> When<00:42:00.240> you<00:42:00.400> do<00:42:00.560> this<00:42:00.800> make + +00:42:00.950 --> 00:42:00.960 align:start position:0% +those mistakes. When you do this make + + +00:42:00.960 --> 00:42:02.950 align:start position:0% +those mistakes. When you do this make +sure<00:42:01.119> you<00:42:01.280> run<00:42:01.599> multiple<00:42:02.079> sub<00:42:02.319> aents<00:42:02.720> and + +00:42:02.950 --> 00:42:02.960 align:start position:0% +sure you run multiple sub aents and + + +00:42:02.960 --> 00:42:05.030 align:start position:0% +sure you run multiple sub aents and +paralyze<00:42:03.440> the<00:42:03.680> tasks<00:42:04.000> so<00:42:04.240> we<00:42:04.400> can<00:42:04.480> do<00:42:04.640> multiple + +00:42:05.030 --> 00:42:05.040 align:start position:0% +paralyze the tasks so we can do multiple + + +00:42:05.040 --> 00:42:07.670 align:start position:0% +paralyze the tasks so we can do multiple +things<00:42:05.200> at<00:42:05.440> the<00:42:05.599> same<00:42:05.760> time.<00:42:06.560> Okay.<00:42:07.359> So<00:42:07.520> I + +00:42:07.670 --> 00:42:07.680 align:start position:0% +things at the same time. Okay. So I + + +00:42:07.680 --> 00:42:09.270 align:start position:0% +things at the same time. Okay. So I +actually<00:42:07.920> just<00:42:08.240> introduced<00:42:08.720> another<00:42:09.040> concept + +00:42:09.270 --> 00:42:09.280 align:start position:0% +actually just introduced another concept + + +00:42:09.280 --> 00:42:11.910 align:start position:0% +actually just introduced another concept +to<00:42:09.520> you<00:42:09.599> as<00:42:09.760> well<00:42:09.920> here<00:42:10.160> called<00:42:10.560> sub<00:42:10.800> aents.<00:42:11.599> So + +00:42:11.910 --> 00:42:11.920 align:start position:0% +to you as well here called sub aents. So + + +00:42:11.920 --> 00:42:14.230 align:start position:0% +to you as well here called sub aents. So +when<00:42:12.160> you're<00:42:12.480> running<00:42:12.720> this<00:42:13.040> clawbot,<00:42:14.079> you + +00:42:14.230 --> 00:42:14.240 align:start position:0% +when you're running this clawbot, you + + +00:42:14.240 --> 00:42:15.829 align:start position:0% +when you're running this clawbot, you +know,<00:42:14.400> right<00:42:14.560> now<00:42:14.720> we're<00:42:14.960> in<00:42:15.119> this<00:42:15.280> kind<00:42:15.440> of + +00:42:15.829 --> 00:42:15.839 align:start position:0% +know, right now we're in this kind of + + +00:42:15.839 --> 00:42:17.349 align:start position:0% +know, right now we're in this kind of +one<00:42:16.160> session<00:42:16.400> where<00:42:16.640> I'm<00:42:16.800> asking<00:42:16.960> it<00:42:17.119> to<00:42:17.200> do + +00:42:17.349 --> 00:42:17.359 align:start position:0% +one session where I'm asking it to do + + +00:42:17.359 --> 00:42:19.349 align:start position:0% +one session where I'm asking it to do +something,<00:42:17.680> waiting<00:42:17.920> for<00:42:18.000> the<00:42:18.240> response.<00:42:19.119> You + +00:42:19.349 --> 00:42:19.359 align:start position:0% +something, waiting for the response. You + + +00:42:19.359 --> 00:42:21.589 align:start position:0% +something, waiting for the response. You +can<00:42:19.599> do<00:42:19.839> that,<00:42:20.160> right?<00:42:20.640> Or<00:42:20.960> you<00:42:21.200> can<00:42:21.280> actually + +00:42:21.589 --> 00:42:21.599 align:start position:0% +can do that, right? Or you can actually + + +00:42:21.599 --> 00:42:24.390 align:start position:0% +can do that, right? Or you can actually +tell<00:42:21.839> it<00:42:22.079> to<00:42:22.319> run<00:42:22.720> multiple<00:42:23.359> sub<00:42:23.599> aents.<00:42:24.240> And + +00:42:24.390 --> 00:42:24.400 align:start position:0% +tell it to run multiple sub aents. And + + +00:42:24.400 --> 00:42:26.470 align:start position:0% +tell it to run multiple sub aents. And +when<00:42:24.560> it<00:42:24.720> runs<00:42:25.119> sub<00:42:25.440> agents,<00:42:25.920> what<00:42:26.079> that<00:42:26.319> will + +00:42:26.470 --> 00:42:26.480 align:start position:0% +when it runs sub agents, what that will + + +00:42:26.480 --> 00:42:28.710 align:start position:0% +when it runs sub agents, what that will +do<00:42:26.560> is<00:42:26.800> it<00:42:26.960> will<00:42:27.119> run<00:42:27.280> a<00:42:27.520> background<00:42:28.160> agent, + +00:42:28.710 --> 00:42:28.720 align:start position:0% +do is it will run a background agent, + + +00:42:28.720 --> 00:42:30.390 align:start position:0% +do is it will run a background agent, +which<00:42:28.880> is<00:42:29.119> another<00:42:29.520> instance<00:42:29.920> of<00:42:30.079> in<00:42:30.319> this + +00:42:30.390 --> 00:42:30.400 align:start position:0% +which is another instance of in this + + +00:42:30.400 --> 00:42:33.109 align:start position:0% +which is another instance of in this +case<00:42:30.720> opus<00:42:31.119> or<00:42:31.599> codeex<00:42:32.079> or<00:42:32.319> whatever<00:42:32.880> that's + +00:42:33.109 --> 00:42:33.119 align:start position:0% +case opus or codeex or whatever that's + + +00:42:33.119 --> 00:42:34.790 align:start position:0% +case opus or codeex or whatever that's +going<00:42:33.200> to<00:42:33.280> go<00:42:33.440> and<00:42:33.680> achieve<00:42:34.079> some<00:42:34.400> kind<00:42:34.560> of + +00:42:34.790 --> 00:42:34.800 align:start position:0% +going to go and achieve some kind of + + +00:42:34.800 --> 00:42:37.190 align:start position:0% +going to go and achieve some kind of +task.<00:42:35.280> So<00:42:35.520> I<00:42:35.680> can<00:42:35.760> say,<00:42:35.920> hey,<00:42:36.240> spin<00:42:36.480> up<00:42:36.640> 10<00:42:36.960> sub + +00:42:37.190 --> 00:42:37.200 align:start position:0% +task. So I can say, hey, spin up 10 sub + + +00:42:37.200 --> 00:42:38.790 align:start position:0% +task. So I can say, hey, spin up 10 sub +aents<00:42:37.520> and<00:42:37.680> go<00:42:37.839> work<00:42:38.000> on<00:42:38.160> different<00:42:38.400> parts<00:42:38.640> of + +00:42:38.790 --> 00:42:38.800 align:start position:0% +aents and go work on different parts of + + +00:42:38.800 --> 00:42:40.550 align:start position:0% +aents and go work on different parts of +this<00:42:38.960> task<00:42:39.359> al<00:42:39.599> together<00:42:40.160> and<00:42:40.319> then + +00:42:40.550 --> 00:42:40.560 align:start position:0% +this task al together and then + + +00:42:40.560 --> 00:42:42.309 align:start position:0% +this task al together and then +collaborate<00:42:41.040> once<00:42:41.359> you're<00:42:41.520> finished.<00:42:42.000> And<00:42:42.160> it + +00:42:42.309 --> 00:42:42.319 align:start position:0% +collaborate once you're finished. And it + + +00:42:42.319 --> 00:42:43.910 align:start position:0% +collaborate once you're finished. And it +will<00:42:42.480> just<00:42:42.640> automatically<00:42:43.359> make<00:42:43.599> these + +00:42:43.910 --> 00:42:43.920 align:start position:0% +will just automatically make these + + +00:42:43.920 --> 00:42:46.150 align:start position:0% +will just automatically make these +different<00:42:44.160> sub<00:42:44.400> aents<00:42:45.040> and<00:42:45.280> you<00:42:45.440> can<00:42:45.599> see<00:42:45.839> them + +00:42:46.150 --> 00:42:46.160 align:start position:0% +different sub aents and you can see them + + +00:42:46.160 --> 00:42:48.150 align:start position:0% +different sub aents and you can see them +inside<00:42:46.560> of<00:42:46.720> your<00:42:46.960> clawed<00:42:47.359> gateway.<00:42:47.760> So<00:42:47.920> if<00:42:48.079> you + +00:42:48.150 --> 00:42:48.160 align:start position:0% +inside of your clawed gateway. So if you + + +00:42:48.160 --> 00:42:49.670 align:start position:0% +inside of your clawed gateway. So if you +go<00:42:48.319> to<00:42:48.640> sessions,<00:42:49.119> for<00:42:49.119> example,<00:42:49.520> you'll<00:42:49.680> be + +00:42:49.670 --> 00:42:49.680 align:start position:0% +go to sessions, for example, you'll be + + +00:42:49.680 --> 00:42:50.870 align:start position:0% +go to sessions, for example, you'll be +able<00:42:49.839> to<00:42:49.920> see<00:42:50.000> the<00:42:50.240> different<00:42:50.400> sessions<00:42:50.720> that + +00:42:50.870 --> 00:42:50.880 align:start position:0% +able to see the different sessions that + + +00:42:50.880 --> 00:42:53.270 align:start position:0% +able to see the different sessions that +are<00:42:51.040> running<00:42:51.359> as<00:42:51.680> well<00:42:51.839> as<00:42:52.240> the<00:42:52.560> different<00:42:53.119> uh + +00:42:53.270 --> 00:42:53.280 align:start position:0% +are running as well as the different uh + + +00:42:53.280 --> 00:42:55.030 align:start position:0% +are running as well as the different uh +what<00:42:53.359> do<00:42:53.520> you<00:42:53.599> call<00:42:53.680> it?<00:42:53.920> Sub<00:42:54.160> aents<00:42:54.560> that<00:42:54.800> are + +00:42:55.030 --> 00:42:55.040 align:start position:0% +what do you call it? Sub aents that are + + +00:42:55.040 --> 00:42:57.270 align:start position:0% +what do you call it? Sub aents that are +being<00:42:55.200> triggered<00:42:55.920> by<00:42:56.160> those.<00:42:56.880> Okay,<00:42:57.040> so + +00:42:57.270 --> 00:42:57.280 align:start position:0% +being triggered by those. Okay, so + + +00:42:57.280 --> 00:42:58.230 align:start position:0% +being triggered by those. Okay, so +there's<00:42:57.440> a<00:42:57.520> bunch<00:42:57.680> of<00:42:57.760> stuff.<00:42:57.920> You<00:42:58.079> can + +00:42:58.230 --> 00:42:58.240 align:start position:0% +there's a bunch of stuff. You can + + +00:42:58.240 --> 00:42:59.510 align:start position:0% +there's a bunch of stuff. You can +effectively<00:42:58.720> just<00:42:58.880> see<00:42:59.040> everything<00:42:59.280> that's + +00:42:59.510 --> 00:42:59.520 align:start position:0% +effectively just see everything that's + + +00:42:59.520 --> 00:43:01.829 align:start position:0% +effectively just see everything that's +going<00:42:59.680> on<00:42:59.920> inside<00:43:00.319> of<00:43:00.480> the<00:43:00.640> gateway.<00:43:01.359> Uh<00:43:01.599> but + +00:43:01.829 --> 00:43:01.839 align:start position:0% +going on inside of the gateway. Uh but + + +00:43:01.839 --> 00:43:03.990 align:start position:0% +going on inside of the gateway. Uh but +that<00:43:02.160> is<00:43:02.560> what<00:43:02.800> you<00:43:02.960> should<00:43:03.119> be<00:43:03.200> aware<00:43:03.440> of. + +00:43:03.990 --> 00:43:04.000 align:start position:0% +that is what you should be aware of. + + +00:43:04.000 --> 00:43:05.270 align:start position:0% +that is what you should be aware of. +Okay.<00:43:04.240> Now<00:43:04.400> you<00:43:04.560> can<00:43:04.640> see<00:43:04.720> inside<00:43:05.040> of<00:43:05.119> the + +00:43:05.270 --> 00:43:05.280 align:start position:0% +Okay. Now you can see inside of the + + +00:43:05.280 --> 00:43:06.390 align:start position:0% +Okay. Now you can see inside of the +heartbeat<00:43:05.680> file<00:43:05.839> it<00:43:05.920> says<00:43:06.079> on<00:43:06.240> every + +00:43:06.390 --> 00:43:06.400 align:start position:0% +heartbeat file it says on every + + +00:43:06.400 --> 00:43:08.309 align:start position:0% +heartbeat file it says on every +heartbeat<00:43:06.880> review<00:43:07.200> recent<00:43:07.599> mistakes<00:43:08.000> issues + +00:43:08.309 --> 00:43:08.319 align:start position:0% +heartbeat review recent mistakes issues + + +00:43:08.319 --> 00:43:10.309 align:start position:0% +heartbeat review recent mistakes issues +and<00:43:08.560> proposed<00:43:08.880> fixes<00:43:09.680> when<00:43:09.920> doing<00:43:10.160> this + +00:43:10.309 --> 00:43:10.319 align:start position:0% +and proposed fixes when doing this + + +00:43:10.319 --> 00:43:12.150 align:start position:0% +and proposed fixes when doing this +review<00:43:10.720> spawn<00:43:11.040> multiple<00:43:11.280> sub<00:43:11.520> aents<00:43:11.839> and<00:43:12.000> run + +00:43:12.150 --> 00:43:12.160 align:start position:0% +review spawn multiple sub aents and run + + +00:43:12.160 --> 00:43:13.829 align:start position:0% +review spawn multiple sub aents and run +the<00:43:12.319> tasks<00:43:12.640> in<00:43:12.800> parallel.<00:43:13.200> Right?<00:43:13.440> So<00:43:13.599> now + +00:43:13.829 --> 00:43:13.839 align:start position:0% +the tasks in parallel. Right? So now + + +00:43:13.839 --> 00:43:15.829 align:start position:0% +the tasks in parallel. Right? So now +anytime<00:43:14.160> it<00:43:14.400> wakes<00:43:14.640> up<00:43:14.800> and<00:43:14.960> has<00:43:15.040> a<00:43:15.200> heartbeat + +00:43:15.829 --> 00:43:15.839 align:start position:0% +anytime it wakes up and has a heartbeat + + +00:43:15.839 --> 00:43:18.790 align:start position:0% +anytime it wakes up and has a heartbeat +it<00:43:16.079> will<00:43:16.319> do<00:43:16.480> this.<00:43:17.359> Heartbeats<00:43:18.319> are<00:43:18.640> not + +00:43:18.790 --> 00:43:18.800 align:start position:0% +it will do this. Heartbeats are not + + +00:43:18.800 --> 00:43:20.870 align:start position:0% +it will do this. Heartbeats are not +going<00:43:18.960> to<00:43:19.040> do<00:43:19.280> like<00:43:19.599> super<00:43:20.079> long<00:43:20.560> running + +00:43:20.870 --> 00:43:20.880 align:start position:0% +going to do like super long running + + +00:43:20.880 --> 00:43:23.270 align:start position:0% +going to do like super long running +operations.<00:43:21.599> Typically<00:43:22.480> it's<00:43:22.720> usually<00:43:23.040> for + +00:43:23.270 --> 00:43:23.280 align:start position:0% +operations. Typically it's usually for + + +00:43:23.280 --> 00:43:25.190 align:start position:0% +operations. Typically it's usually for +kind<00:43:23.440> of<00:43:23.599> short<00:43:24.160> repetitive<00:43:24.640> things<00:43:24.800> that<00:43:25.040> you + +00:43:25.190 --> 00:43:25.200 align:start position:0% +kind of short repetitive things that you + + +00:43:25.200 --> 00:43:27.109 align:start position:0% +kind of short repetitive things that you +want<00:43:25.280> to<00:43:25.440> do<00:43:25.680> all<00:43:25.920> of<00:43:26.000> the<00:43:26.240> time.<00:43:26.640> For<00:43:26.720> example, + +00:43:27.109 --> 00:43:27.119 align:start position:0% +want to do all of the time. For example, + + +00:43:27.119 --> 00:43:28.790 align:start position:0% +want to do all of the time. For example, +check<00:43:27.359> my<00:43:27.599> email<00:43:27.839> on<00:43:28.079> every<00:43:28.240> heartbeat. + +00:43:28.790 --> 00:43:28.800 align:start position:0% +check my email on every heartbeat. + + +00:43:28.800 --> 00:43:30.309 align:start position:0% +check my email on every heartbeat. +Right?<00:43:29.359> That's<00:43:29.599> something<00:43:29.760> that<00:43:30.000> makes<00:43:30.160> sense + +00:43:30.309 --> 00:43:30.319 align:start position:0% +Right? That's something that makes sense + + +00:43:30.319 --> 00:43:32.230 align:start position:0% +Right? That's something that makes sense +to<00:43:30.480> put<00:43:30.640> inside<00:43:30.960> of<00:43:31.119> here.<00:43:31.599> Okay.<00:43:31.920> So,<00:43:32.079> let's + +00:43:32.230 --> 00:43:32.240 align:start position:0% +to put inside of here. Okay. So, let's + + +00:43:32.240 --> 00:43:34.630 align:start position:0% +to put inside of here. Okay. So, let's +go<00:43:32.400> back.<00:43:32.960> And<00:43:33.359> one<00:43:33.680> thing<00:43:33.839> to<00:43:34.079> note<00:43:34.319> is<00:43:34.480> that + +00:43:34.630 --> 00:43:34.640 align:start position:0% +go back. And one thing to note is that + + +00:43:34.640 --> 00:43:37.430 align:start position:0% +go back. And one thing to note is that +if<00:43:34.800> you<00:43:34.960> go<00:43:35.040> to<00:43:35.119> the<00:43:35.280> config<00:43:35.760> here,<00:43:36.880> I<00:43:37.200> believe + +00:43:37.430 --> 00:43:37.440 align:start position:0% +if you go to the config here, I believe + + +00:43:37.440 --> 00:43:39.589 align:start position:0% +if you go to the config here, I believe +it's<00:43:37.680> in<00:43:37.839> the<00:43:38.000> configuration.<00:43:39.040> It<00:43:39.280> might<00:43:39.359> not + +00:43:39.589 --> 00:43:39.599 align:start position:0% +it's in the configuration. It might not + + +00:43:39.599 --> 00:43:42.550 align:start position:0% +it's in the configuration. It might not +be<00:43:39.839> directly<00:43:40.720> here.<00:43:41.359> Uh,<00:43:41.680> okay.<00:43:42.000> Regardless, + +00:43:42.550 --> 00:43:42.560 align:start position:0% +be directly here. Uh, okay. Regardless, + + +00:43:42.560 --> 00:43:44.470 align:start position:0% +be directly here. Uh, okay. Regardless, +we'll<00:43:42.880> get<00:43:42.960> out<00:43:43.119> of<00:43:43.280> this.<00:43:43.760> You<00:43:44.000> can<00:43:44.160> tell<00:43:44.319> it + +00:43:44.470 --> 00:43:44.480 align:start position:0% +we'll get out of this. You can tell it + + +00:43:44.480 --> 00:43:46.150 align:start position:0% +we'll get out of this. You can tell it +how<00:43:44.800> frequently<00:43:45.200> you<00:43:45.359> want<00:43:45.520> the<00:43:45.760> heart<00:43:46.000> to + +00:43:46.150 --> 00:43:46.160 align:start position:0% +how frequently you want the heart to + + +00:43:46.160 --> 00:43:48.630 align:start position:0% +how frequently you want the heart to +beat.<00:43:46.400> So,<00:43:46.560> I'm<00:43:46.640> going<00:43:46.720> to<00:43:46.880> say<00:43:47.920> what<00:43:48.160> is, + +00:43:48.630 --> 00:43:48.640 align:start position:0% +beat. So, I'm going to say what is, + + +00:43:48.640 --> 00:43:49.990 align:start position:0% +beat. So, I'm going to say what is, +let's<00:43:48.880> just<00:43:48.960> do<00:43:49.119> it<00:43:49.200> like<00:43:49.359> this,<00:43:49.760> the + +00:43:49.990 --> 00:43:50.000 align:start position:0% +let's just do it like this, the + + +00:43:50.000 --> 00:43:52.870 align:start position:0% +let's just do it like this, the +frequency<00:43:50.480> of<00:43:50.720> your<00:43:51.040> heartbeat.<00:43:52.480> And<00:43:52.640> it's + +00:43:52.870 --> 00:43:52.880 align:start position:0% +frequency of your heartbeat. And it's + + +00:43:52.880 --> 00:43:54.390 align:start position:0% +frequency of your heartbeat. And it's +going<00:43:52.960> to<00:43:53.040> tell<00:43:53.200> us,<00:43:53.440> I<00:43:53.599> believe<00:43:53.920> 30<00:43:54.160> minutes + +00:43:54.390 --> 00:43:54.400 align:start position:0% +going to tell us, I believe 30 minutes + + +00:43:54.400 --> 00:43:55.990 align:start position:0% +going to tell us, I believe 30 minutes +is<00:43:54.560> the<00:43:54.720> default.<00:43:55.119> Let's<00:43:55.280> see.<00:43:55.599> Okay.<00:43:55.839> So, + +00:43:55.990 --> 00:43:56.000 align:start position:0% +is the default. Let's see. Okay. So, + + +00:43:56.000 --> 00:43:57.190 align:start position:0% +is the default. Let's see. Okay. So, +good<00:43:56.160> job.<00:43:56.319> I<00:43:56.480> checked<00:43:56.720> that<00:43:56.880> because<00:43:57.040> it + +00:43:57.190 --> 00:43:57.200 align:start position:0% +good job. I checked that because it + + +00:43:57.200 --> 00:43:58.870 align:start position:0% +good job. I checked that because it +looks<00:43:57.359> like<00:43:57.440> it's<00:43:57.680> actually<00:43:58.079> off.<00:43:58.560> So,<00:43:58.720> I'm + +00:43:58.870 --> 00:43:58.880 align:start position:0% +looks like it's actually off. So, I'm + + +00:43:58.880 --> 00:44:00.870 align:start position:0% +looks like it's actually off. So, I'm +going<00:43:58.960> to<00:43:59.119> tell<00:43:59.200> it<00:43:59.680> turn<00:44:00.000> on<00:44:00.240> the<00:44:00.400> heartbeat + +00:44:00.870 --> 00:44:00.880 align:start position:0% +going to tell it turn on the heartbeat + + +00:44:00.880 --> 00:44:03.829 align:start position:0% +going to tell it turn on the heartbeat +and<00:44:01.119> enable<00:44:01.440> it<00:44:01.680> every<00:44:02.000> 30<00:44:02.319> minutes.<00:44:03.520> Okay. + +00:44:03.829 --> 00:44:03.839 align:start position:0% +and enable it every 30 minutes. Okay. + + +00:44:03.839 --> 00:44:05.270 align:start position:0% +and enable it every 30 minutes. Okay. +So,<00:44:04.000> anyways,<00:44:04.400> good<00:44:04.560> job.<00:44:04.720> We<00:44:04.880> we<00:44:05.119> figured + +00:44:05.270 --> 00:44:05.280 align:start position:0% +So, anyways, good job. We we figured + + +00:44:05.280 --> 00:44:06.390 align:start position:0% +So, anyways, good job. We we figured +that<00:44:05.359> out<00:44:05.520> because<00:44:05.680> I<00:44:05.839> forgot<00:44:06.000> that<00:44:06.160> it<00:44:06.319> was + +00:44:06.390 --> 00:44:06.400 align:start position:0% +that out because I forgot that it was + + +00:44:06.400 --> 00:44:08.150 align:start position:0% +that out because I forgot that it was +off<00:44:06.560> by<00:44:06.800> default.<00:44:07.359> And<00:44:07.520> this<00:44:07.680> is<00:44:07.760> the<00:44:07.920> thing, + +00:44:08.150 --> 00:44:08.160 align:start position:0% +off by default. And this is the thing, + + +00:44:08.160 --> 00:44:09.270 align:start position:0% +off by default. And this is the thing, +right?<00:44:08.319> If<00:44:08.480> you<00:44:08.560> don't<00:44:08.640> know<00:44:08.800> something,<00:44:09.119> just + +00:44:09.270 --> 00:44:09.280 align:start position:0% +right? If you don't know something, just + + +00:44:09.280 --> 00:44:11.190 align:start position:0% +right? If you don't know something, just +ask<00:44:09.520> the<00:44:09.680> agent<00:44:10.000> like<00:44:10.160> I'm<00:44:10.400> asking<00:44:10.720> it.<00:44:11.040> But + +00:44:11.190 --> 00:44:11.200 align:start position:0% +ask the agent like I'm asking it. But + + +00:44:11.200 --> 00:44:12.470 align:start position:0% +ask the agent like I'm asking it. But +generally,<00:44:11.599> these<00:44:11.839> are<00:44:11.920> kind<00:44:12.079> of<00:44:12.079> the<00:44:12.240> best + +00:44:12.470 --> 00:44:12.480 align:start position:0% +generally, these are kind of the best + + +00:44:12.480 --> 00:44:14.230 align:start position:0% +generally, these are kind of the best +practices<00:44:12.880> for<00:44:13.040> the<00:44:13.200> setup.<00:44:13.680> So,<00:44:13.920> now<00:44:14.079> it's + +00:44:14.230 --> 00:44:14.240 align:start position:0% +practices for the setup. So, now it's + + +00:44:14.240 --> 00:44:16.069 align:start position:0% +practices for the setup. So, now it's +kind<00:44:14.400> of<00:44:14.480> modified<00:44:14.880> the<00:44:15.119> config.<00:44:15.599> And<00:44:15.760> you<00:44:15.920> can + +00:44:16.069 --> 00:44:16.079 align:start position:0% +kind of modified the config. And you can + + +00:44:16.079 --> 00:44:17.589 align:start position:0% +kind of modified the config. And you can +see<00:44:16.160> that<00:44:16.400> it's<00:44:16.560> going<00:44:16.640> to<00:44:16.720> heartbeat<00:44:17.200> every + +00:44:17.589 --> 00:44:17.599 align:start position:0% +see that it's going to heartbeat every + + +00:44:17.599 --> 00:44:19.670 align:start position:0% +see that it's going to heartbeat every +30<00:44:17.920> minutes<00:44:18.319> now.<00:44:18.800> And<00:44:18.960> then<00:44:19.119> every<00:44:19.440> 30 + +00:44:19.670 --> 00:44:19.680 align:start position:0% +30 minutes now. And then every 30 + + +00:44:19.680 --> 00:44:21.589 align:start position:0% +30 minutes now. And then every 30 +minutes,<00:44:19.920> we<00:44:20.160> will<00:44:20.400> have<00:44:20.720> that<00:44:21.040> task<00:44:21.359> that's + +00:44:21.589 --> 00:44:21.599 align:start position:0% +minutes, we will have that task that's + + +00:44:21.599 --> 00:44:24.069 align:start position:0% +minutes, we will have that task that's +inside<00:44:21.920> of<00:44:22.079> that<00:44:22.319> file<00:44:23.119> kind<00:44:23.280> of,<00:44:23.520> you<00:44:23.680> know, + +00:44:24.069 --> 00:44:24.079 align:start position:0% +inside of that file kind of, you know, + + +00:44:24.079 --> 00:44:26.470 align:start position:0% +inside of that file kind of, you know, +happen,<00:44:24.560> right?<00:44:25.200> Okay.<00:44:25.520> So,<00:44:25.680> that's<00:44:25.920> that. + +00:44:26.470 --> 00:44:26.480 align:start position:0% +happen, right? Okay. So, that's that. + + +00:44:26.480 --> 00:44:27.990 align:start position:0% +happen, right? Okay. So, that's that. +The<00:44:26.800> next<00:44:26.960> thing<00:44:27.040> I<00:44:27.200> want<00:44:27.280> to<00:44:27.359> quickly<00:44:27.680> go<00:44:27.760> over + +00:44:27.990 --> 00:44:28.000 align:start position:0% +The next thing I want to quickly go over + + +00:44:28.000 --> 00:44:31.190 align:start position:0% +The next thing I want to quickly go over +is<00:44:28.480> crons.<00:44:29.280> So<00:44:29.520> I<00:44:29.760> don't<00:44:29.920> think<00:44:30.079> that's<00:44:30.720> inside + +00:44:31.190 --> 00:44:31.200 align:start position:0% +is crons. So I don't think that's inside + + +00:44:31.200 --> 00:44:32.710 align:start position:0% +is crons. So I don't think that's inside +of<00:44:31.440> here,<00:44:31.680> but<00:44:31.920> it<00:44:32.079> should<00:44:32.160> be<00:44:32.240> in<00:44:32.400> its<00:44:32.640> own + +00:44:32.710 --> 00:44:32.720 align:start position:0% +of here, but it should be in its own + + +00:44:32.720 --> 00:44:34.870 align:start position:0% +of here, but it should be in its own +folder.<00:44:33.119> Yes,<00:44:33.280> it's<00:44:33.520> own<00:44:33.680> folder.<00:44:34.079> Crons + +00:44:34.870 --> 00:44:34.880 align:start position:0% +folder. Yes, it's own folder. Crons + + +00:44:34.880 --> 00:44:37.190 align:start position:0% +folder. Yes, it's own folder. Crons +essentially<00:44:35.280> a<00:44:35.599> cron<00:44:36.079> is<00:44:36.319> a<00:44:36.480> task<00:44:36.800> that<00:44:37.040> can + +00:44:37.190 --> 00:44:37.200 align:start position:0% +essentially a cron is a task that can + + +00:44:37.200 --> 00:44:40.309 align:start position:0% +essentially a cron is a task that can +run<00:44:37.359> at<00:44:37.599> a<00:44:37.760> set<00:44:38.079> time<00:44:38.400> at<00:44:38.560> a<00:44:38.800> set<00:44:39.119> frequency.<00:44:40.079> So + +00:44:40.309 --> 00:44:40.319 align:start position:0% +run at a set time at a set frequency. So + + +00:44:40.319 --> 00:44:41.750 align:start position:0% +run at a set time at a set frequency. So +for<00:44:40.400> example,<00:44:40.800> if<00:44:41.040> you<00:44:41.200> wanted<00:44:41.440> to<00:44:41.599> be + +00:44:41.750 --> 00:44:41.760 align:start position:0% +for example, if you wanted to be + + +00:44:41.760 --> 00:44:44.069 align:start position:0% +for example, if you wanted to be +reminded<00:44:42.160> of<00:44:42.319> something<00:44:42.560> at<00:44:42.960> 9:00<00:44:43.280> a.m.<00:44:43.920> That + +00:44:44.069 --> 00:44:44.079 align:start position:0% +reminded of something at 9:00 a.m. That + + +00:44:44.079 --> 00:44:46.309 align:start position:0% +reminded of something at 9:00 a.m. That +is<00:44:44.240> a<00:44:44.480> cron<00:44:44.880> where<00:44:45.040> at<00:44:45.200> 9:00<00:44:45.520> a.m.<00:44:45.760> this<00:44:46.000> task + +00:44:46.309 --> 00:44:46.319 align:start position:0% +is a cron where at 9:00 a.m. this task + + +00:44:46.319 --> 00:44:47.829 align:start position:0% +is a cron where at 9:00 a.m. this task +will<00:44:46.560> run<00:44:46.880> that<00:44:47.119> will<00:44:47.280> remind<00:44:47.520> you<00:44:47.680> of + +00:44:47.829 --> 00:44:47.839 align:start position:0% +will run that will remind you of + + +00:44:47.839 --> 00:44:49.829 align:start position:0% +will run that will remind you of +something.<00:44:48.400> And<00:44:48.560> you<00:44:48.720> can<00:44:48.800> see<00:44:48.880> the<00:44:49.119> cron<00:44:49.440> jobs + +00:44:49.829 --> 00:44:49.839 align:start position:0% +something. And you can see the cron jobs + + +00:44:49.839 --> 00:44:52.630 align:start position:0% +something. And you can see the cron jobs +here<00:44:50.400> inside<00:44:50.960> of<00:44:51.280> the<00:44:51.920> uh<00:44:52.079> what<00:44:52.240> do<00:44:52.400> you<00:44:52.480> call + +00:44:52.630 --> 00:44:52.640 align:start position:0% +here inside of the uh what do you call + + +00:44:52.640 --> 00:44:54.790 align:start position:0% +here inside of the uh what do you call +it<00:44:52.880> here?<00:44:53.119> The<00:44:53.280> open<00:44:53.599> clog<00:44:53.839> gateway.<00:44:54.480> And<00:44:54.640> you + +00:44:54.790 --> 00:44:54.800 align:start position:0% +it here? The open clog gateway. And you + + +00:44:54.800 --> 00:44:56.230 align:start position:0% +it here? The open clog gateway. And you +can<00:44:54.960> manually<00:44:55.359> create<00:44:55.599> your<00:44:55.760> own<00:44:55.839> one<00:44:56.079> by + +00:44:56.230 --> 00:44:56.240 align:start position:0% +can manually create your own one by + + +00:44:56.240 --> 00:44:58.870 align:start position:0% +can manually create your own one by +going<00:44:56.480> through<00:44:56.640> this<00:44:57.200> or<00:44:57.599> you<00:44:57.920> can<00:44:58.079> just<00:44:58.480> tell + +00:44:58.870 --> 00:44:58.880 align:start position:0% +going through this or you can just tell + + +00:44:58.880 --> 00:45:00.550 align:start position:0% +going through this or you can just tell +the<00:44:59.119> agent<00:44:59.359> to<00:44:59.599> set<00:44:59.680> up<00:44:59.839> a<00:44:59.920> cron.<00:45:00.319> So<00:45:00.400> I'm<00:45:00.480> going + +00:45:00.550 --> 00:45:00.560 align:start position:0% +the agent to set up a cron. So I'm going + + +00:45:00.560 --> 00:45:03.750 align:start position:0% +the agent to set up a cron. So I'm going +to<00:45:00.640> say<00:45:01.200> in<00:45:01.520> five<00:45:01.839> minutes<00:45:02.480> remind<00:45:02.880> me<00:45:03.200> that<00:45:03.520> I + +00:45:03.750 --> 00:45:03.760 align:start position:0% +to say in five minutes remind me that I + + +00:45:03.760 --> 00:45:06.309 align:start position:0% +to say in five minutes remind me that I +need<00:45:03.920> to<00:45:04.240> finish<00:45:04.560> recording<00:45:04.960> this<00:45:05.200> video + +00:45:06.309 --> 00:45:06.319 align:start position:0% +need to finish recording this video + + +00:45:06.319 --> 00:45:08.069 align:start position:0% +need to finish recording this video +whatever<00:45:06.720> right<00:45:07.200> and<00:45:07.359> then<00:45:07.520> what<00:45:07.680> will<00:45:07.920> happen + +00:45:08.069 --> 00:45:08.079 align:start position:0% +whatever right and then what will happen + + +00:45:08.079 --> 00:45:09.589 align:start position:0% +whatever right and then what will happen +is<00:45:08.240> it<00:45:08.480> should<00:45:08.640> automatically<00:45:09.200> create<00:45:09.440> the + +00:45:09.589 --> 00:45:09.599 align:start position:0% +is it should automatically create the + + +00:45:09.599 --> 00:45:11.349 align:start position:0% +is it should automatically create the +cron<00:45:09.920> for<00:45:10.079> us<00:45:10.240> in<00:45:10.400> the<00:45:10.560> gateway<00:45:10.880> and<00:45:11.040> we<00:45:11.200> should + +00:45:11.349 --> 00:45:11.359 align:start position:0% +cron for us in the gateway and we should + + +00:45:11.359 --> 00:45:13.589 align:start position:0% +cron for us in the gateway and we should +be<00:45:11.440> able<00:45:11.599> to<00:45:11.760> see<00:45:11.920> the<00:45:12.079> job.<00:45:12.640> So<00:45:12.800> in<00:45:13.040> my<00:45:13.280> own + +00:45:13.589 --> 00:45:13.599 align:start position:0% +be able to see the job. So in my own + + +00:45:13.599 --> 00:45:15.589 align:start position:0% +be able to see the job. So in my own +personal<00:45:14.000> clawbot<00:45:14.640> I<00:45:14.880> have<00:45:15.040> like<00:45:15.280> four<00:45:15.440> or + +00:45:15.589 --> 00:45:15.599 align:start position:0% +personal clawbot I have like four or + + +00:45:15.599 --> 00:45:17.270 align:start position:0% +personal clawbot I have like four or +five<00:45:15.839> crons<00:45:16.240> where<00:45:16.400> every<00:45:16.560> day<00:45:16.720> at<00:45:16.880> like<00:45:17.040> 9:00 + +00:45:17.270 --> 00:45:17.280 align:start position:0% +five crons where every day at like 9:00 + + +00:45:17.280 --> 00:45:18.870 align:start position:0% +five crons where every day at like 9:00 +a.m.<00:45:17.520> I<00:45:17.680> want<00:45:17.839> you<00:45:17.920> to<00:45:18.079> review<00:45:18.319> the<00:45:18.480> stuff<00:45:18.640> I + +00:45:18.870 --> 00:45:18.880 align:start position:0% +a.m. I want you to review the stuff I + + +00:45:18.880 --> 00:45:21.589 align:start position:0% +a.m. I want you to review the stuff I +did<00:45:19.040> yesterday.<00:45:19.920> give<00:45:20.079> me<00:45:20.240> an<00:45:20.400> update<00:45:21.119> every, + +00:45:21.589 --> 00:45:21.599 align:start position:0% +did yesterday. give me an update every, + + +00:45:21.599 --> 00:45:23.430 align:start position:0% +did yesterday. give me an update every, +you<00:45:21.760> know,<00:45:21.920> three<00:45:22.160> times<00:45:22.400> a<00:45:22.640> day,<00:45:22.960> whatever.<00:45:23.280> I + +00:45:23.430 --> 00:45:23.440 align:start position:0% +you know, three times a day, whatever. I + + +00:45:23.440 --> 00:45:25.109 align:start position:0% +you know, three times a day, whatever. I +want<00:45:23.520> you<00:45:23.680> to<00:45:23.760> do<00:45:23.920> XYZ.<00:45:24.560> So,<00:45:24.720> if<00:45:24.880> you<00:45:24.960> want<00:45:25.040> to + +00:45:25.109 --> 00:45:25.119 align:start position:0% +want you to do XYZ. So, if you want to + + +00:45:25.119 --> 00:45:26.950 align:start position:0% +want you to do XYZ. So, if you want to +run<00:45:25.280> at<00:45:25.520> a<00:45:25.599> certain<00:45:25.920> time,<00:45:26.240> like<00:45:26.480> remind<00:45:26.720> me<00:45:26.880> to + +00:45:26.950 --> 00:45:26.960 align:start position:0% +run at a certain time, like remind me to + + +00:45:26.960 --> 00:45:28.470 align:start position:0% +run at a certain time, like remind me to +go<00:45:27.040> to<00:45:27.119> the<00:45:27.280> gym,<00:45:27.599> remind<00:45:27.839> me<00:45:27.920> to<00:45:28.079> eat<00:45:28.319> my + +00:45:28.470 --> 00:45:28.480 align:start position:0% +go to the gym, remind me to eat my + + +00:45:28.480 --> 00:45:30.390 align:start position:0% +go to the gym, remind me to eat my +breakfast,<00:45:29.280> you<00:45:29.359> know,<00:45:29.520> that's<00:45:29.680> where<00:45:29.920> a<00:45:30.079> cron + +00:45:30.390 --> 00:45:30.400 align:start position:0% +breakfast, you know, that's where a cron + + +00:45:30.400 --> 00:45:33.270 align:start position:0% +breakfast, you know, that's where a cron +comes<00:45:30.640> in<00:45:30.960> in<00:45:31.359> handy.<00:45:32.000> Or<00:45:32.160> if<00:45:32.319> you<00:45:32.480> want<00:45:32.640> a<00:45:32.960> task + +00:45:33.270 --> 00:45:33.280 align:start position:0% +comes in in handy. Or if you want a task + + +00:45:33.280 --> 00:45:34.870 align:start position:0% +comes in in handy. Or if you want a task +like<00:45:33.520> back<00:45:33.760> up<00:45:34.000> my<00:45:34.160> database<00:45:34.560> or<00:45:34.720> something, + +00:45:34.870 --> 00:45:34.880 align:start position:0% +like back up my database or something, + + +00:45:34.880 --> 00:45:36.550 align:start position:0% +like back up my database or something, +and<00:45:35.119> you<00:45:35.200> want<00:45:35.359> that<00:45:35.520> to<00:45:35.680> run<00:45:35.920> every<00:45:36.079> day<00:45:36.240> at<00:45:36.400> a + +00:45:36.550 --> 00:45:36.560 align:start position:0% +and you want that to run every day at a + + +00:45:36.560 --> 00:45:38.390 align:start position:0% +and you want that to run every day at a +certain<00:45:36.800> time,<00:45:37.280> you<00:45:37.520> would<00:45:37.680> make<00:45:37.839> that<00:45:38.240> a + +00:45:38.390 --> 00:45:38.400 align:start position:0% +certain time, you would make that a + + +00:45:38.400 --> 00:45:40.150 align:start position:0% +certain time, you would make that a +cron.<00:45:38.960> You<00:45:39.119> don't<00:45:39.200> need<00:45:39.359> to<00:45:39.440> necessarily<00:45:39.920> tell + +00:45:40.150 --> 00:45:40.160 align:start position:0% +cron. You don't need to necessarily tell + + +00:45:40.160 --> 00:45:42.150 align:start position:0% +cron. You don't need to necessarily tell +it<00:45:40.400> to<00:45:40.560> make<00:45:40.720> a<00:45:40.880> cron,<00:45:41.280> but<00:45:41.440> just<00:45:41.680> understand + +00:45:42.150 --> 00:45:42.160 align:start position:0% +it to make a cron, but just understand + + +00:45:42.160 --> 00:45:44.069 align:start position:0% +it to make a cron, but just understand +that's<00:45:42.480> what<00:45:42.640> it<00:45:42.800> is.<00:45:43.200> And<00:45:43.359> you<00:45:43.520> can<00:45:43.599> see<00:45:43.680> I<00:45:43.920> now + +00:45:44.069 --> 00:45:44.079 align:start position:0% +that's what it is. And you can see I now + + +00:45:44.079 --> 00:45:45.990 align:start position:0% +that's what it is. And you can see I now +have<00:45:44.240> this<00:45:44.480> cron.<00:45:44.880> This<00:45:45.040> is<00:45:45.119> a<00:45:45.280> one-off<00:45:45.680> cron + +00:45:45.990 --> 00:45:46.000 align:start position:0% +have this cron. This is a one-off cron + + +00:45:46.000 --> 00:45:48.230 align:start position:0% +have this cron. This is a one-off cron +that's<00:45:46.319> scheduled<00:45:46.560> to<00:45:46.720> run<00:45:46.960> in<00:45:47.440> 4<00:45:47.680> minutes. + +00:45:48.230 --> 00:45:48.240 align:start position:0% +that's scheduled to run in 4 minutes. + + +00:45:48.240 --> 00:45:50.069 align:start position:0% +that's scheduled to run in 4 minutes. +And<00:45:48.400> then<00:45:48.560> once<00:45:48.720> it<00:45:48.880> does,<00:45:49.119> I<00:45:49.359> will<00:45:49.520> be<00:45:49.680> able<00:45:49.839> to + +00:45:50.069 --> 00:45:50.079 align:start position:0% +And then once it does, I will be able to + + +00:45:50.079 --> 00:45:52.309 align:start position:0% +And then once it does, I will be able to +see<00:45:50.319> the<00:45:50.560> history.<00:45:51.280> Okay.<00:45:51.599> Now,<00:45:51.920> generally + +00:45:52.309 --> 00:45:52.319 align:start position:0% +see the history. Okay. Now, generally + + +00:45:52.319 --> 00:45:53.829 align:start position:0% +see the history. Okay. Now, generally +speaking,<00:45:52.720> there's<00:45:52.960> obviously<00:45:53.200> a<00:45:53.520> lot<00:45:53.680> more + +00:45:53.829 --> 00:45:53.839 align:start position:0% +speaking, there's obviously a lot more + + +00:45:53.839 --> 00:45:55.349 align:start position:0% +speaking, there's obviously a lot more +stuff<00:45:54.000> I<00:45:54.240> can<00:45:54.319> go<00:45:54.400> through<00:45:54.640> here<00:45:54.800> in<00:45:55.040> terms<00:45:55.200> of + +00:45:55.349 --> 00:45:55.359 align:start position:0% +stuff I can go through here in terms of + + +00:45:55.359 --> 00:45:56.630 align:start position:0% +stuff I can go through here in terms of +setting<00:45:55.680> this<00:45:55.839> up,<00:45:56.000> but<00:45:56.160> I<00:45:56.319> don't<00:45:56.400> know<00:45:56.480> if + +00:45:56.630 --> 00:45:56.640 align:start position:0% +setting this up, but I don't know if + + +00:45:56.640 --> 00:45:58.710 align:start position:0% +setting this up, but I don't know if +that's<00:45:56.880> going<00:45:56.960> to<00:45:57.040> be<00:45:57.200> particularly<00:45:57.920> useful, + +00:45:58.710 --> 00:45:58.720 align:start position:0% +that's going to be particularly useful, + + +00:45:58.720 --> 00:46:00.550 align:start position:0% +that's going to be particularly useful, +especially<00:45:59.119> because<00:45:59.440> everybody<00:46:00.000> has<00:46:00.240> their + +00:46:00.550 --> 00:46:00.560 align:start position:0% +especially because everybody has their + + +00:46:00.560 --> 00:46:02.309 align:start position:0% +especially because everybody has their +own<00:46:00.720> unique<00:46:01.200> thing<00:46:01.359> that<00:46:01.520> they<00:46:01.760> want<00:46:01.920> this<00:46:02.160> to + +00:46:02.309 --> 00:46:02.319 align:start position:0% +own unique thing that they want this to + + +00:46:02.319 --> 00:46:04.630 align:start position:0% +own unique thing that they want this to +do.<00:46:02.800> I<00:46:03.040> think<00:46:03.200> generally<00:46:03.839> understanding<00:46:04.480> what + +00:46:04.630 --> 00:46:04.640 align:start position:0% +do. I think generally understanding what + + +00:46:04.640 --> 00:46:06.390 align:start position:0% +do. I think generally understanding what +I<00:46:04.880> explained<00:46:05.200> here<00:46:05.280> is<00:46:05.520> a<00:46:05.680> very<00:46:05.839> good<00:46:06.079> start. + +00:46:06.390 --> 00:46:06.400 align:start position:0% +I explained here is a very good start. + + +00:46:06.400 --> 00:46:07.670 align:start position:0% +I explained here is a very good start. +So,<00:46:06.560> you<00:46:06.720> know<00:46:06.880> what<00:46:07.040> it<00:46:07.119> is<00:46:07.280> you<00:46:07.440> need<00:46:07.520> to + +00:46:07.670 --> 00:46:07.680 align:start position:0% +So, you know what it is you need to + + +00:46:07.680 --> 00:46:09.829 align:start position:0% +So, you know what it is you need to +modify,<00:46:08.160> how<00:46:08.319> the<00:46:08.560> thing<00:46:08.880> actually<00:46:09.280> works, + +00:46:09.829 --> 00:46:09.839 align:start position:0% +modify, how the thing actually works, + + +00:46:09.839 --> 00:46:11.829 align:start position:0% +modify, how the thing actually works, +how<00:46:10.079> you<00:46:10.240> can<00:46:10.400> get<00:46:10.560> value<00:46:10.880> out<00:46:11.040> of<00:46:11.119> it,<00:46:11.440> right? + +00:46:11.829 --> 00:46:11.839 align:start position:0% +how you can get value out of it, right? + + +00:46:11.839 --> 00:46:13.109 align:start position:0% +how you can get value out of it, right? +Things<00:46:12.000> like<00:46:12.240> setting<00:46:12.480> up<00:46:12.560> the<00:46:12.800> multiple + +00:46:13.109 --> 00:46:13.119 align:start position:0% +Things like setting up the multiple + + +00:46:13.119 --> 00:46:14.950 align:start position:0% +Things like setting up the multiple +group<00:46:13.359> chats,<00:46:13.760> using<00:46:14.000> the<00:46:14.240> different<00:46:14.480> models, + +00:46:14.950 --> 00:46:14.960 align:start position:0% +group chats, using the different models, + + +00:46:14.960 --> 00:46:17.670 align:start position:0% +group chats, using the different models, +right?<00:46:15.680> All<00:46:15.839> of<00:46:16.000> that<00:46:16.240> stuff<00:46:16.400> is<00:46:16.720> quite<00:46:17.040> useful + +00:46:17.670 --> 00:46:17.680 align:start position:0% +right? All of that stuff is quite useful + + +00:46:17.680 --> 00:46:19.190 align:start position:0% +right? All of that stuff is quite useful +and<00:46:17.920> that's<00:46:18.079> kind<00:46:18.240> of<00:46:18.319> what<00:46:18.480> I<00:46:18.640> meant<00:46:18.880> to<00:46:19.040> show + +00:46:19.190 --> 00:46:19.200 align:start position:0% +and that's kind of what I meant to show + + +00:46:19.200 --> 00:46:20.870 align:start position:0% +and that's kind of what I meant to show +you.<00:46:19.599> So,<00:46:19.760> I<00:46:20.000> will<00:46:20.160> definitely<00:46:20.480> do<00:46:20.640> some + +00:46:20.870 --> 00:46:20.880 align:start position:0% +you. So, I will definitely do some + + +00:46:20.880 --> 00:46:22.309 align:start position:0% +you. So, I will definitely do some +follow-up<00:46:21.280> videos<00:46:21.599> showing<00:46:21.920> some<00:46:22.079> more + +00:46:22.309 --> 00:46:22.319 align:start position:0% +follow-up videos showing some more + + +00:46:22.319 --> 00:46:24.470 align:start position:0% +follow-up videos showing some more +advanced<00:46:22.720> use<00:46:22.960> cases<00:46:23.359> of<00:46:23.599> the<00:46:23.760> clawbot<00:46:24.319> or + +00:46:24.470 --> 00:46:24.480 align:start position:0% +advanced use cases of the clawbot or + + +00:46:24.480 --> 00:46:26.550 align:start position:0% +advanced use cases of the clawbot or +openclaw,<00:46:25.040> whatever<00:46:25.359> in<00:46:25.599> the<00:46:25.760> future.<00:46:26.319> For + +00:46:26.550 --> 00:46:26.560 align:start position:0% +openclaw, whatever in the future. For + + +00:46:26.560 --> 00:46:28.069 align:start position:0% +openclaw, whatever in the future. For +now,<00:46:26.800> though,<00:46:27.119> this<00:46:27.280> is<00:46:27.359> where<00:46:27.599> I<00:46:27.760> will<00:46:27.920> leave + +00:46:28.069 --> 00:46:28.079 align:start position:0% +now, though, this is where I will leave + + +00:46:28.079 --> 00:46:29.750 align:start position:0% +now, though, this is where I will leave +it.<00:46:28.480> And<00:46:28.720> please<00:46:28.960> leave<00:46:29.119> a<00:46:29.359> comment<00:46:29.599> down + +00:46:29.750 --> 00:46:29.760 align:start position:0% +it. And please leave a comment down + + +00:46:29.760 --> 00:46:31.750 align:start position:0% +it. And please leave a comment down +below<00:46:30.000> if<00:46:30.240> you<00:46:30.319> want<00:46:30.480> more<00:46:30.720> instructions<00:46:31.280> on<00:46:31.520> a + +00:46:31.750 --> 00:46:31.760 align:start position:0% +below if you want more instructions on a + + +00:46:31.760 --> 00:46:33.670 align:start position:0% +below if you want more instructions on a +particular<00:46:32.160> area<00:46:32.640> so<00:46:32.800> I<00:46:32.960> can<00:46:33.119> go<00:46:33.280> more<00:46:33.440> in + +00:46:33.670 --> 00:46:33.680 align:start position:0% +particular area so I can go more in + + +00:46:33.680 --> 00:46:35.270 align:start position:0% +particular area so I can go more in +depth<00:46:33.920> with<00:46:34.079> that<00:46:34.240> and<00:46:34.480> kind<00:46:34.640> of<00:46:34.800> explain<00:46:35.119> it + +00:46:35.270 --> 00:46:35.280 align:start position:0% +depth with that and kind of explain it + + +00:46:35.280 --> 00:46:36.790 align:start position:0% +depth with that and kind of explain it +in<00:46:35.440> a<00:46:35.599> way<00:46:35.760> that's<00:46:36.000> going<00:46:36.079> to<00:46:36.160> be<00:46:36.319> valuable<00:46:36.640> to + +00:46:36.790 --> 00:46:36.800 align:start position:0% +in a way that's going to be valuable to + + +00:46:36.800 --> 00:46:38.470 align:start position:0% +in a way that's going to be valuable to +you<00:46:36.960> guys.<00:46:37.440> Anyways,<00:46:37.760> with<00:46:37.920> that<00:46:38.079> said,<00:46:38.319> I + +00:46:38.470 --> 00:46:38.480 align:start position:0% +you guys. Anyways, with that said, I + + +00:46:38.480 --> 00:46:40.069 align:start position:0% +you guys. Anyways, with that said, I +will<00:46:38.640> wrap<00:46:38.880> up<00:46:39.040> the<00:46:39.280> video<00:46:39.520> here.<00:46:39.839> If<00:46:40.000> you + +00:46:40.069 --> 00:46:40.079 align:start position:0% +will wrap up the video here. If you + + +00:46:40.079 --> 00:46:41.430 align:start position:0% +will wrap up the video here. If you +enjoyed,<00:46:40.480> make<00:46:40.560> sure<00:46:40.720> leave<00:46:40.880> a<00:46:41.040> like, + +00:46:41.430 --> 00:46:41.440 align:start position:0% +enjoyed, make sure leave a like, + + +00:46:41.440 --> 00:46:43.190 align:start position:0% +enjoyed, make sure leave a like, +subscribe,<00:46:41.839> and<00:46:42.000> I<00:46:42.160> will<00:46:42.319> see<00:46:42.480> you<00:46:42.640> in<00:46:43.040> the + +00:46:43.190 --> 00:46:43.200 align:start position:0% +subscribe, and I will see you in the + + +00:46:43.200 --> 00:46:46.319 align:start position:0% +subscribe, and I will see you in the +next<00:46:43.359> one. + diff --git a/tmp_vte_from11.txt b/tmp_vte_from11.txt new file mode 100644 index 0000000..08c958b --- /dev/null +++ b/tmp_vte_from11.txt @@ -0,0 +1,1076 @@ +[00:11:01] then /bin/bash and you can start +[00:11:01] interacting with it in the terminal. +[00:11:03] Okay, cool. So we have this set up now +[00:11:05] and like I was saying the first thing I +[00:11:06] would suggest we do is actually change +[00:11:08] the model that we're using or at least +[00:11:10] configure the LLM so that we save a +[00:11:13] bunch of money and we have the best +[00:11:14] intelligence possible. Now Enthropic +[00:11:16] does have the best models for open claw. +[00:11:19] So for example the newest model that +[00:11:20] just came out opus 4.6 six is the +[00:11:23] current best model that we definitely +[00:11:25] want to be using. However, we don't want +[00:11:27] to use it all of the time because of the +[00:11:29] rate limits. So, a lot of times it just +[00:11:31] won't work because we've gone past our +[00:11:33] rate limit, especially if you're on a +[00:11:34] new account and it's very, very +[00:11:37] expensive. So, the approach that I +[00:11:38] recommend is that we run with Opus 4.6 +[00:11:41] six for usually the starting tasks and +[00:11:44] any high-level complex you know kind of +[00:11:46] planning tasks and then we have that +[00:11:48] delegate to a cheaper less intelligent +[00:11:51] model that can handle everything else. +[00:11:53] Now, in my case, what I've been doing is +[00:11:55] I've been connecting this to my OpenAI +[00:11:57] subscription or my Chat GPT subscription +[00:12:00] because this allows me to use my usage +[00:12:02] or kind of quota from chat GPT that I'm +[00:12:05] already paying in my case $200 per month +[00:12:07] for, but even if you're paying $20 per +[00:12:09] month for it, you can still access all +[00:12:11] of that usage. And OpenAI has made that, +[00:12:13] you know, available to do and not +[00:12:15] against their terms of service. So, what +[00:12:17] I would suggest here is that you connect +[00:12:19] this to another model that is cheaper. +[00:12:21] In my case, I'm going to show you +[00:12:22] connecting it to the codeex model, which +[00:12:24] is still quite good and has almost +[00:12:26] unlimited usage when you are paying like +[00:12:28] I am $200 per month. However, if you're +[00:12:31] not paying for that, then I would +[00:12:32] suggest at least connecting this to just +[00:12:34] a cheaper model. For example, the Kimmy +[00:12:36] models are pretty good uh or anything +[00:12:38] that's going to be just again cheaper +[00:12:40] than Opus. Because if you run Opus every +[00:12:42] single day and you're doing a lot, you +[00:12:44] can spend 100, 200, 300, $500 per day. I +[00:12:47] know someone, one of my friends was +[00:12:49] spending about $200 per day running this +[00:12:51] purely with Opus, which is insanity. So, +[00:12:54] first things first, let's tell it the +[00:12:55] following. We're going to say, okay, +[00:12:56] switch to use Opus 4.6 by default. All +[00:13:02] right, so it should automatically switch +[00:13:04] its model then over to do that and we'll +[00:13:06] verify that that's working. Okay, so it +[00:13:08] said that it's switched over now and +[00:13:09] just restarted the gateway. By the way, +[00:13:11] the way that I'm seeing all of this +[00:13:13] information on the side is I have this +[00:13:14] little brain thing enabled. So, if you +[00:13:16] want to disable that, it will just show +[00:13:17] you what it did. If you want to see the +[00:13:19] full logs, you can view it here. And +[00:13:21] again, you can go to the logs to see +[00:13:23] everything that's happening, which is +[00:13:24] always pretty useful. So, I'm going to +[00:13:26] go back to chat and I'm just going to +[00:13:28] quickly tell it to disable the rest of +[00:13:30] the fallback models because if you have +[00:13:31] a look here, it shows the models that +[00:13:34] it's using is enthropic, right? It shows +[00:13:36] which ones has access to and then it +[00:13:38] shows the fallbacks are these. So, I'm +[00:13:40] just going to tell it remove these +[00:13:44] fallbacks. Okay. And we'll leave chatgbt +[00:13:47] 5.2, but remove the other two. So, +[00:13:50] actually, we're going to do it like this +[00:13:51] because I don't want it to accidentally +[00:13:53] try to switch to one of these models +[00:13:54] that doesn't exist. So, I'm going to hit +[00:13:56] enter. Uh, and hopefully it will do +[00:13:58] that. Okay. So, now I want to add +[00:13:59] additional models. So, I'm going to say, +[00:14:01] help me add the codeex model uh from my +[00:14:06] open AI subscription. Same thing. Any +[00:14:10] model you want to add, just tell it. It +[00:14:11] can help you do that. And hopefully it +[00:14:13] should run through the setup steps. It's +[00:14:15] probably going to have me click a link +[00:14:16] and then from that link, I will be able +[00:14:18] to authorize and then kind of give it an +[00:14:20] authentication token to add the model. +[00:14:22] Now, once we have multiple models here, +[00:14:24] what we're going to do is give it +[00:14:25] instructions to switch between the +[00:14:26] models based on what we wanted to do. +[00:14:28] So, it says, what options do you want? +[00:14:30] I'm going to say I need to connect via +[00:14:34] OOTH to my OpenAI codeex plan. Give me +[00:14:40] the link to do so. So, I know that +[00:14:42] that's how we need to connect to it. So, +[00:14:44] hopefully it should give me the link. +[00:14:46] Uh, but I guess the way that I prompted +[00:14:47] it before wasn't clear. So, anyways, +[00:14:49] let's see what it does now. Okay. So, +[00:14:50] you can see it's giving us a few options +[00:14:51] here on how to connect this. And it +[00:14:53] says, you know, option A is OpenAI API +[00:14:56] key and option B is OpenAI codec +[00:14:58] subscription. So, I'm going to say use +[00:15:00] this and run the command. +[00:15:03] Okay. And again, notice that I'm just +[00:15:05] using the model directly to do this +[00:15:07] rather than me going in the config and +[00:15:09] modifying everything. And it's really a +[00:15:10] matter of knowing what to ask for as +[00:15:12] opposed to you having to manually go do +[00:15:14] that. So, I'm just going to ask it. +[00:15:15] Hopefully, it will run that command and +[00:15:17] then we can connect our OpenAI model. +[00:15:19] Okay. So, you can see it's given me this +[00:15:20] URL. So, what I'm going to do is press +[00:15:22] on that and then what I need to pass to +[00:15:24] this afterwards is the localhost URL +[00:15:26] redirect. So, I'm just going to sign in +[00:15:28] and then give it that. Okay. So, I'm +[00:15:29] going to press continue here and then +[00:15:31] what's going to happen is it will +[00:15:32] redirect me to this URL. So, let's give +[00:15:34] it a second. I want to copy it and then +[00:15:36] I'm just going to paste it in here and +[00:15:38] hopefully it will configure that for me. +[00:15:40] Again, if you want to do another model, +[00:15:41] you just tell it the other model and it +[00:15:42] will set it up. Now, while it's doing +[00:15:44] this, what I want to do is I want to +[00:15:46] tell this to actually write a command +[00:15:49] for me that's going to allow me to +[00:15:50] switch between the models and then have +[00:15:53] it automatically do that as well. So, +[00:15:54] I'm going to say make a command called +[00:15:57] slash model that allows me to switch +[00:16:03] between the opus +[00:16:07] 4.6 and codeex I don't know 5.3 or +[00:16:12] something I think is what it is. +[00:16:14] Whatever the best one is. +[00:16:17] Okay. So now we'll cue that up. So after +[00:16:20] this is done we'll run that command. +[00:16:21] Okay. So it looks like it created that +[00:16:23] command. So now if I run the command +[00:16:25] /model, we should be able to switch. So +[00:16:27] let's go /model and then codeex and see +[00:16:30] if that command is going to work. Uh and +[00:16:32] it says model set to codeex 5.2. Okay, +[00:16:35] perfect. Looks like that is indeed +[00:16:36] working. All right, so now we have the +[00:16:38] two models. Again, what I want to do is +[00:16:40] just quickly give it some instructions +[00:16:41] to always default to opus, but then +[00:16:43] anytime we're doing some kind of coding +[00:16:45] task or something that doesn't require a +[00:16:47] lot of intelligence or complexity to +[00:16:49] switch over to the codeex model to save +[00:16:51] money. So, let me write up a prompt and +[00:16:53] tell it that and it should save that in +[00:16:55] its preferences and configuration. I +[00:16:57] want you to always use the Opus 4.6 +[00:17:00] model by default. But whenever an +[00:17:02] instruction is provided to you, I want +[00:17:04] you to determine whether or not you need +[00:17:06] that level of intelligence or if you can +[00:17:08] switch to a cheaper model like codeex +[00:17:11] 5.2. Codec should always be used for +[00:17:13] coding tasks and anything that is lower +[00:17:15] leverage or doesn't require a ton of +[00:17:18] detailed steps or thinking. So always +[00:17:20] use Opus to come up with the plan to +[00:17:22] start the process, but then delegate +[00:17:25] lower level tasks using sub aents to the +[00:17:27] codeex model to ensure that we're saving +[00:17:29] money and cost. Whenever you run a task, +[00:17:32] start by telling me what model you're +[00:17:34] using for running it. So tell me, hey, +[00:17:36] we did codeex 5.2 for this, we did opus +[00:17:39] for this, etc. So that I know that it's +[00:17:41] running correctly. Save this preference +[00:17:43] for the future. So it looks like that's +[00:17:45] working. And what this would have done +[00:17:46] here is create a rule. So now I can go +[00:17:48] reference that rule to understand all +[00:17:50] right I need to do this I need to switch +[00:17:51] between the models. So what I'm going to +[00:17:53] tell this now is I want to +[00:17:56] set up telegram +[00:17:59] tell me how to connect it. Okay now +[00:18:02] while it does that I'm just going to +[00:18:03] open up telegram on my computer and I +[00:18:05] will start running you through the +[00:18:06] steps. Okay now it says that we can just +[00:18:08] run this command to connect telegram and +[00:18:10] it says that we need to paste the uh bot +[00:18:13] token when prompted. So I'm going to say +[00:18:15] run the command for me and I will send +[00:18:19] the token. And the general steps is that +[00:18:22] we need to open telegram and chat with +[00:18:24] the at@botfather. Type newbot and then +[00:18:27] copy the token. So it's very easy. What +[00:18:29] we're going to do is open telegram. +[00:18:30] We're going to go into the search here. +[00:18:32] We're going to find bot father and make +[00:18:34] sure you find the one that has the check +[00:18:37] mark. Okay. Then from here we're going +[00:18:39] to type start and we're going to go +[00:18:40] slash newbot. +[00:18:43] All right. When we do that, it's going +[00:18:44] to ask us for a name. So, just call this +[00:18:46] Tim A. All right. And let's go Tim A12 +[00:18:49] 3456_bot. +[00:18:51] Just make sure it ends in underscorebot. +[00:18:53] It's then going to give you a token. +[00:18:54] Copy the token. And of course, don't +[00:18:56] give that to anyone else. And then we're +[00:18:58] going to wait for this to finish. And we +[00:19:00] are going to send it the token so that +[00:19:02] it is able to um what what do you call +[00:19:04] it? Actually trigger this. Okay. So, +[00:19:05] this is the token. We're going to paste +[00:19:07] that here. Now, while that sets it up, +[00:19:10] we are also just going to press this +[00:19:12] link right here, which will bring us to +[00:19:13] chat with our bot. So, we want to chat +[00:19:16] with the bot that we just created. From +[00:19:17] here, we're going to press on start. And +[00:19:20] as soon as it's connected, we should get +[00:19:22] some kind of message here saying, "Hey, +[00:19:24] like we need to pair this or add some +[00:19:26] setting." So, wait for the bot to +[00:19:27] finish. And then what you can do is just +[00:19:29] type any message here again. And it +[00:19:31] should tell you something like, "Hey, +[00:19:32] it's not paired. It's not connected." +[00:19:33] And then we can run the pairing command. +[00:19:35] All right. So, this works and I just +[00:19:36] typed hi and you can see that it now +[00:19:38] gives me this. So, I'm just going to +[00:19:39] copy this code here and I'm going to say +[00:19:41] I got this, you know, pair it whatever +[00:19:45] and just paste the information in and +[00:19:47] hopefully we'll be able to run the +[00:19:48] pairing command and then we'll be +[00:19:49] connected with Telegram. All right, so +[00:19:51] it said the pairing was approved. What +[00:19:52] I'm going to do now is just take type hi +[00:19:55] and see if we get a response from the +[00:19:56] bot and then from this point forward +[00:19:58] we're able just directly to use +[00:19:59] telegram. Okay, so it says we're using +[00:20:00] Opus 4.6. Hey, Telegram is connected. +[00:20:03] What do you want me to do next? Perfect. +[00:20:05] So that is exactly what I was looking +[00:20:06] for. So now rather than me having to +[00:20:09] type out all of the prompts, I do want +[00:20:11] the ability to actually just speak them. +[00:20:13] So I'm going to tell it enable speech to +[00:20:17] text so you can transcribe my audio +[00:20:21] messages. Because by default, if I send +[00:20:23] this an audio message, it's not going to +[00:20:25] understand it. So I'm just going to tell +[00:20:26] it, hey, you know, add that tool, add +[00:20:28] that skill, and set yourself up. Now +[00:20:30] while it does that I will just quickly +[00:20:32] mention right that the thing that makes +[00:20:34] this bot useful is skills. So if you +[00:20:37] press on skills here in the uh what do +[00:20:39] you call it claw dashboard or you know +[00:20:41] gateway dashboard whatever you want to +[00:20:43] call it you'll see there's this long +[00:20:44] list of default kind of built-in skills +[00:20:47] that you can install and configure. Now +[00:20:49] skills usually contain some kind of +[00:20:51] underlying software as well as a +[00:20:53] markdown file that explains to the model +[00:20:56] in this case open claw how to actually +[00:20:58] use the skill. So go through here have a +[00:21:01] look at some skills that are useful to +[00:21:03] yourself and you can disable them or you +[00:21:05] can install them. Sometimes again you +[00:21:06] need some command, right? And I'll show +[00:21:08] you installing some of them in a second. +[00:21:10] But when we tell this, hey, we want to +[00:21:12] be able to speak to you. What we're +[00:21:14] effectively telling it to do is create a +[00:21:16] new skill that will allow it to +[00:21:18] transcribe audio messages. So, I'm going +[00:21:20] to go here and it says we can enable +[00:21:21] audio transcription, but you need to +[00:21:23] pick a transcription provider. The +[00:21:25] config schema supports +[00:21:26] tools.mmedia.audio +[00:21:28] uh deepgram openai. I'm going to say use +[00:21:31] whatever the default is +[00:21:35] that doesn't +[00:21:37] okay say doesn't require a new key. +[00:21:42] Perfect. And then that should enable +[00:21:43] voice mode for us. Okay. So you can see +[00:21:46] even though it was kind of lying to us +[00:21:47] before and saying hey you know I need to +[00:21:48] provide open AAI key whatever I just +[00:21:50] told it no you don't need that because I +[00:21:51] know it can do it by default and it said +[00:21:53] we can now send an audio message. So +[00:21:55] let's test this. Hey so I'm just sending +[00:21:56] an audio message. Can you tell me what +[00:21:58] this audio message says? Make sure that +[00:22:00] you can transcribe it correctly and that +[00:22:02] you can understand my accent. Just give +[00:22:04] me back exactly what I said in the audio +[00:22:06] message. +[00:22:08] Okay. Perfect. and it should be able to +[00:22:10] understand this now and transcribe it. +[00:22:12] Let's see if that works. All right, so +[00:22:14] this is being a little bit annoying +[00:22:15] here. Let's just bring it back. And it's +[00:22:16] telling me, hey, there's no model even +[00:22:18] though it said it used the model and it +[00:22:20] set it up. So I'm just going to tell it +[00:22:21] install whisper locally to convert +[00:22:23] speech to text. That should set up for +[00:22:25] us and get it working. Again, I'm +[00:22:27] showing you the process. This is what +[00:22:28] happens when you're working with +[00:22:29] OpenClaw. Sometimes stuff breaks and you +[00:22:32] have to do a bit of problem solving. +[00:22:33] Okay, so it said that it's installed +[00:22:34] this now and it's just asking me if I +[00:22:36] want better accuracy or for it to be +[00:22:38] faster. So I'm just going to type bass +[00:22:41] and I hope this is going to work. Hey, +[00:22:42] I'm doing a test. I want to see if you +[00:22:44] can transcribe this audio message. If +[00:22:46] so, tell me exactly what it said. Okay, +[00:22:48] and let's see what we get. Okay, so it +[00:22:49] looks like the audio message I was +[00:22:50] sending was blank because I was sending +[00:22:53] it from my computer and I guess my mic +[00:22:54] is already being used by OBS to record. +[00:22:56] So I just sent one from my phone and +[00:22:58] hopefully it's going to work now. Let's +[00:23:00] see. Awesome. And finally, it looks like +[00:23:02] it's working. We have voice mode +[00:23:03] enabled. I can now send audio messages +[00:23:05] for it to transcribe. All right. So, now +[00:23:08] that Telegram is configured, what I want +[00:23:10] to do is I want to start setting up some +[00:23:12] different Telegram channels that we can +[00:23:14] chat inside of that are going to allow +[00:23:16] us to kind of segregate different things +[00:23:18] that we're talking about. So, for +[00:23:19] example, if I have the bot running as +[00:23:21] like a virtual assistant, but then I +[00:23:22] also have it running like an accounting +[00:23:24] task or doing programming, I probably +[00:23:26] don't want all of my messages in one +[00:23:28] channel because that's going to be +[00:23:30] pretty difficult to organize and to view +[00:23:32] the history of. So, what we can do is we +[00:23:34] can make a new group here in Telegram. +[00:23:36] So, what I can do is go here, go new +[00:23:39] group. I can call this, you know, +[00:23:41] startup ideas or whatever the thing is +[00:23:42] that I want to chat about with the bot. +[00:23:44] So, let's go startup ideas, not +[00:23:46] channels. And then let's add the bot by +[00:23:49] just typing in their username. Okay. And +[00:23:52] go ahead and press on create. So now +[00:23:54] what I can do is I can start chatting +[00:23:56] with the bot. But in order for this to +[00:23:57] work, I do need to manage the group and +[00:23:59] I need to give the bot permissions. So +[00:24:01] I'm just going to right click on the bot +[00:24:02] here and I'm going to go promote to +[00:24:04] admin. And when I promote them to admin, +[00:24:06] I am going to just make sure they have +[00:24:08] the correct permissions and go save. And +[00:24:11] now what I can do, wait one second. And +[00:24:13] let me just look at this cuz it says it +[00:24:15] has no access or has access to messages. +[00:24:17] Okay, good. I'm going to just tag the +[00:24:18] bot. So say at Tim Aello. +[00:24:22] Okay. And hopefully it's going to read +[00:24:24] something. So it reacted to that showing +[00:24:25] us that it saw it. So that's a good +[00:24:27] sign. Says, "Hey Tim, what's up?" +[00:24:29] Perfect. So now I can chat with the bot +[00:24:31] directly inside of this channel. And all +[00:24:33] I need to do is give the bot +[00:24:34] instructions to remember that it should +[00:24:36] only talk about these ideas in this +[00:24:39] particular channel. So, what I'm going +[00:24:41] to do is I'm just going to do a voice +[00:24:42] transcription here and tell you kind of +[00:24:44] how I would instruct this. Hey, so I'm +[00:24:47] going to start adding you to some group +[00:24:49] chats where it's just you and me. The +[00:24:51] name of the group chat or the name of +[00:24:52] the group channel is the topic that I +[00:24:55] want to discuss in that channel. Don't +[00:24:57] talk about anything else and only reply +[00:25:00] or send me messages in the appropriate +[00:25:02] channels based on the name of them. If I +[00:25:04] DM you directly, we can talk about +[00:25:06] anything. But if I DM in a channel like +[00:25:08] you know startup ideas or something we +[00:25:10] only talk about startup ideas again +[00:25:12] whatever the title of that uh what do +[00:25:15] you call it channel is. Now I also want +[00:25:17] you to reply to any message. So don't +[00:25:19] just reply if I ping you reply to +[00:25:21] anything in those channels. Make this a +[00:25:24] rule and ensure that you remember this +[00:25:25] going forward in the future. Uh you also +[00:25:27] should be able to create groups with me. +[00:25:29] I'll give you the permission to do that. +[00:25:31] So, if we have a new thing to talk +[00:25:32] about, make a new group with me and +[00:25:34] start chatting with me there. I don't +[00:25:36] know if that last part's going to work +[00:25:37] because I actually haven't tried that +[00:25:39] before, but I'm just going to send that +[00:25:40] over to the bot. And I will go and +[00:25:43] configure the bot further to hopefully +[00:25:45] allow it to create new groups. Okay, so +[00:25:47] we're replying to that. Now, I don't +[00:25:48] know if this is actually going to be +[00:25:49] able to create new groups cuz I don't +[00:25:50] know if there's another setting we need +[00:25:51] for that, but I'm going to say create a +[00:25:53] new group called +[00:25:56] accounting. And let's see if it's able +[00:25:58] to do that. Okay, so it looks like it +[00:26:00] can't make the uh groups for us. There's +[00:26:01] probably a way that I can enable that, +[00:26:02] but for now, we'll just leave it. +[00:26:04] Anyways, point is we can make different +[00:26:06] groups, right? We can pin those groups +[00:26:07] and then we can just have kind of a more +[00:26:09] organized way of chatting with the bot. +[00:26:11] Now, I did try to send something in the +[00:26:12] group and I did still need to ping the +[00:26:14] bot. So, again, there's probably a way +[00:26:16] to configure that, but for now, that's +[00:26:17] fine. We can just ping the bot if we +[00:26:19] wanted to reply. And actually, in the +[00:26:20] future, we could add multiple of our +[00:26:21] bots in the same group. That could be +[00:26:23] interesting to see how that would go. +[00:26:25] Okay, anyways, let's go back here and +[00:26:27] let's now start talking about skills. +[00:26:30] So, skills allow the bot to have some +[00:26:33] capabilities that it can complete, +[00:26:35] right? Or that it can do. Now, by +[00:26:37] default, there's some skills that are +[00:26:38] already added. And if we go to the uh +[00:26:41] what do you call it? Gateway dashboard. +[00:26:43] And you go to skills and you expand +[00:26:45] this, you'll see there's a bunch of +[00:26:46] default skills that are already +[00:26:47] installed that you just need to enable +[00:26:50] or add the dependencies for. For +[00:26:52] example, voice calling, right? getting +[00:26:54] the weather, playing a Spotify song, you +[00:26:56] know, creating a skill is a skill that +[00:26:58] exists, all of this kind of stuff. So, I +[00:27:00] would suggest reading through here and +[00:27:01] enabling any of the ones that you want +[00:27:03] for sure, but I also would suggest +[00:27:05] having a look at this place called +[00:27:07] Clawhub. Now, Claw Hub has a list of +[00:27:10] pre-built skills that you can use and +[00:27:12] just build into your bot. However, +[00:27:14] before you start just going and adding +[00:27:16] all of these random skills, I would +[00:27:18] suggest that you understand what a skill +[00:27:20] is. And uh we're going to talk about +[00:27:22] that now. So, a skill is effectively +[00:27:25] just a markdown file. Now, I'm going to +[00:27:27] show you that if I open up any one of +[00:27:29] these skills, you'll see that the skill +[00:27:31] is just in this skill.md file. MD stands +[00:27:34] for markdown. And all the skill is is +[00:27:37] just a bunch of formatted text that +[00:27:39] explains what the bot should be able to +[00:27:42] do. Now, the skill can also reference +[00:27:44] files. So, you can see in this case, it +[00:27:46] has like a scripts/stats.py +[00:27:48] file, which is a Python file that it can +[00:27:50] run to complete something. So that's all +[00:27:53] a skill is. You can tell the bot to add +[00:27:56] its own skill and it can just write it, +[00:27:58] configure it, add it itself, or you can +[00:28:00] bring in pre-built skills from a place +[00:28:02] like Clawub. Again, I don't suggest just +[00:28:04] randomly bringing them in. But I want to +[00:28:06] show you how you can view all of the +[00:28:08] skills that your bot has and start +[00:28:09] actually viewing all of the different +[00:28:11] files that essentially enable the bot to +[00:28:14] do something. So to do that, you need to +[00:28:16] open up some kind of code editor. Now, I +[00:28:19] suggest that you open up cursor. You can +[00:28:21] also open up Visual Studio Code or VS +[00:28:23] Code. You can download it for free on +[00:28:25] the internet. Just search VS Code or +[00:28:26] cursor download. Okay. So, from here, +[00:28:29] what we're going to do is hit control +[00:28:30] shiftp or commandshiftp on our keyboard +[00:28:33] and we're going to go add new SSH host. +[00:28:36] This is how you open the command pallet +[00:28:37] in VS Code or cursor. From here, we're +[00:28:40] going to say SSH root at and then we're +[00:28:43] just going to copy whatever we had here. +[00:28:45] So, actually, we just copy this command. +[00:28:46] And again, make sure we know what the +[00:28:48] password is and hit enter. We can just +[00:28:51] use the default SSH config. Then we're +[00:28:54] going to go control shiftp again or +[00:28:56] command shiftp and then connect to host +[00:28:58] and we're just going to choose the host +[00:29:00] that we added recently. Okay. Now once +[00:29:02] we press that, it's going to open up a +[00:29:03] new window. We're going to select our +[00:29:05] operating system as Linux and we're +[00:29:07] going to paste in our root password and +[00:29:09] hit enter. From there, it should open up +[00:29:12] a remote kind of terminal and you're now +[00:29:15] inside of the server. So, what we can do +[00:29:18] is we can actually go open folder and we +[00:29:20] can find the folder that contains all of +[00:29:23] the data for open claw. So, in order to +[00:29:25] find this folder, we're going to go to +[00:29:27] docker. We're going to go to openclaw +[00:29:29] data and then openclaw like that. And +[00:29:33] you can see there's a bunch of stuff +[00:29:34] here. So, we're going to go ahead and +[00:29:35] press on open. And then in the lefth +[00:29:37] hand sidebar, let me just close my +[00:29:40] agent. Uh, okay, it's asking me for the +[00:29:42] password again. So that's fine. Let's +[00:29:43] type the password. We should be able to +[00:29:45] see this data. So you'll notice here if +[00:29:47] you open up the sidebar to view the +[00:29:49] files, right, you can do that with +[00:29:50] controlB or commandB on your keyboard +[00:29:53] that you'll see a bunch of information +[00:29:55] showing up. Okay, so we have +[00:29:56] credentials, we have cron, and then if +[00:29:58] you go into workspace, we have all of +[00:30:00] these different files, which is really +[00:30:01] the configuration for the agent. Now, +[00:30:04] right now, we don't see any skills in +[00:30:06] here. The reason for that is that a lot +[00:30:07] of the built-in skills are actually +[00:30:09] stored in a different location because +[00:30:10] they're already written. But if you were +[00:30:12] to ask the bot to make its own skill, it +[00:30:14] should show up here. So, let's actually +[00:30:15] test that. Make a simple skill that says +[00:30:20] hello world in five languages. And let's +[00:30:24] just go five random languages. Okay. And +[00:30:27] let's see actually if it can create +[00:30:28] that. And then we're going to have to +[00:30:30] refresh this and we'll be able to view +[00:30:31] hopefully the new skill file. so I can +[00:30:33] show you what it looks like before we +[00:30:35] start enabling other ones. Okay, so it's +[00:30:36] making the skill right now and you can +[00:30:38] actually see that it's now created a new +[00:30:39] folder called skills and then it has +[00:30:41] hello world languages as a subfolder +[00:30:43] which is the name of the skill and then +[00:30:45] we have this skill.md +[00:30:48] file that explains what the skill is +[00:30:50] right name description and then all of +[00:30:53] this. Now you'll notice that after I do +[00:30:56] that I now will have a command and this +[00:30:59] command should be hello world languages +[00:31:01] uh or sorry /skill. So I can do /skill +[00:31:04] and then I can do hello-world-languages +[00:31:09] and it should trigger that skill to +[00:31:11] execute. And you can see that it now +[00:31:13] runs the skill. Right? So that's +[00:31:15] effectively what a skill is. I just want +[00:31:16] you to understand that before we start +[00:31:18] adding a bunch of them. And now that we +[00:31:20] can make our own custom skills, which is +[00:31:22] very easy, right? You just ask it to do +[00:31:23] something which is a repeatable task +[00:31:25] that you want it to have written down. +[00:31:27] Make sure you review what it writes +[00:31:28] inside of here and customize it because +[00:31:30] that's going to give you the best +[00:31:31] results. Now, some skills that we +[00:31:33] definitely want to enable that are uh +[00:31:35] default skills are going to be the +[00:31:37] following, and they have to do with Git +[00:31:39] and GitHub. So, a lot of times you can +[00:31:42] have your agent actually code its own +[00:31:44] skills. So, it can write its own custom +[00:31:45] Python files or scripts or whatever +[00:31:48] websites. Uh, and that's quite useful. +[00:31:50] So, what you're going to want to do +[00:31:51] right away when setting up this agent is +[00:31:53] first enable the coding agent. So, what +[00:31:56] you can just simply do is you can copy +[00:31:58] this and just tell the agent +[00:32:01] enable this skill. Okay, so I'm just +[00:32:03] going to say enable this skill and just +[00:32:05] copy it and it's going to go and install +[00:32:07] and configure it as needed. You're also +[00:32:09] going to want to enable GitHub. And in +[00:32:11] order to enable GitHub, I highly suggest +[00:32:13] that you create your own GitHub account +[00:32:15] specifically for the bot. So, I've +[00:32:18] already done this. I've gone to +[00:32:19] github.com. I've made my own bot or my +[00:32:21] own GitHub account called Techwithim +[00:32:22] Claudebot. And what we'll do is we'll +[00:32:25] connect this GitHub account, so not our +[00:32:26] GitHub account, a separate GitHub +[00:32:28] account to the bot and then allow it to +[00:32:30] write all of its code. Now, notice that +[00:32:32] I actually have some code here already. +[00:32:34] And the reason for this is I've +[00:32:36] instructed my Clawbot on a different +[00:32:38] instance for anytime it writes any code +[00:32:40] to commit the code to GitHub, +[00:32:42] automatically create a new git repo, and +[00:32:44] store all of the code so that I always +[00:32:46] have access to it. I can manage it, I +[00:32:48] can make changes, I can pull it down. +[00:32:50] You get the idea. Okay, so we have like +[00:32:52] you know a YouTube OS dashboard whatever +[00:32:54] all of this stuff and you can see any of +[00:32:56] the code that's been written. So anyways +[00:32:58] let's go back to Telegram and you can +[00:32:59] see it says the coding agent skill is +[00:33:00] already present by missing the +[00:33:02] requirements. I'm going to say use +[00:33:04] codeex. Okay, and hopefully it's going +[00:33:07] to set that up. Okay, so it looks like +[00:33:08] codeex was installed. So if we go back +[00:33:10] here now we should be able to see that +[00:33:12] the coding agent we might just have to +[00:33:14] refresh here hopefully is no longer +[00:33:17] being blocked. So let's go here and you +[00:33:19] can see coding agent is good. We can +[00:33:21] also see we have workspace skills. And +[00:33:22] these are ones that it created itself. +[00:33:25] Cool. So the other one that we want is +[00:33:26] GitHub. So I'm just going to press the +[00:33:28] button to install the GitHub CLI here. +[00:33:30] And then what I'm going to do is go down +[00:33:33] to uh what is it? My agent and tell it +[00:33:35] to configure GitHub and you know tell me +[00:33:37] what I need to do to essentially have my +[00:33:39] GitHub account signed in. So I'm going +[00:33:41] to say configure git/github +[00:33:45] and tell me how to connect my account. +[00:33:48] Okay. So it's given me a few steps here. +[00:33:50] It says I need to set my Git identity +[00:33:52] and then authenticate with the GitHub +[00:33:54] CLI. So I'm going to tell it my name as +[00:33:56] well as my email and then to +[00:33:58] authenticate for me. Okay, cool. So what +[00:33:59] I'm going to do is just go to this link +[00:34:01] that it's giving me and then type in +[00:34:03] this code. So let's do that and see if +[00:34:06] we can authenticate. Okay, so I just did +[00:34:08] that. So I just told it, hey, I did +[00:34:09] that. You know, maybe it's going to test +[00:34:10] this now and let's see if GitHub is +[00:34:12] working. And then again we can give this +[00:34:14] some instructions to save to always +[00:34:16] write and save any code um you know to +[00:34:19] GitHub effectively. All right so looks +[00:34:21] like GitHub is configured. Now the next +[00:34:23] thing that I want to do is go over +[00:34:25] memory and preferences just so you +[00:34:27] understand kind of how this works in uh +[00:34:29] what do you call it open claw. So +[00:34:31] something you need to understand is that +[00:34:32] anytime open claw spins up again and you +[00:34:35] have a new session it effectively +[00:34:36] forgets whatever you were talking about +[00:34:38] before. Now the only way for it to +[00:34:41] remember something and to keep improving +[00:34:43] is for it to actually modify the files +[00:34:45] that it has in its file system and you +[00:34:47] can think of the files like its memory. +[00:34:50] Now there are multiple files you're +[00:34:52] going to see here related specifically +[00:34:53] to memory. So first is memory MD. Now +[00:34:57] this is persistent long-term memory that +[00:35:00] it will always read before it's doing +[00:35:02] some kind of action. So if there's +[00:35:04] something that you always want it to +[00:35:05] remember, you put it inside of this file +[00:35:07] right here, or you tell the model to put +[00:35:09] it there. The other memory is daily +[00:35:12] memory, which is set up by default. And +[00:35:13] if you go here into the workspace, +[00:35:15] you'll see that it has memories for each +[00:35:17] day. Okay, so it explains what's +[00:35:20] happening, what's going on in that day, +[00:35:21] what it needs to do, blah blah blah. +[00:35:23] Now, by default, Open Claw, I believe, +[00:35:25] is only going to read two days of +[00:35:27] previous memory. So if you tell it to do +[00:35:29] something, you know, yeah, like one week +[00:35:31] ago, it's not going to remember that +[00:35:32] unless it's in the persistent memory. So +[00:35:35] I'm quickly going to show you two +[00:35:37] settings that you can enable that will +[00:35:38] allow OpenClaw to have longer memory and +[00:35:41] to save things better. Now what they +[00:35:44] are, I'm just going to copy them in +[00:35:45] here. Okay, so I'm just pasting them, +[00:35:46] but essentially they are the following. +[00:35:48] It is compaction.mmemory flush.enabled +[00:35:51] memory search.experimental session +[00:35:53] memory to true. Now I'm going to say +[00:35:55] enable these. +[00:35:57] Okay. +[00:35:59] And explain what they do. So, I found +[00:36:03] that when I enable these two settings, I +[00:36:05] get a better result in terms of the +[00:36:06] memory. We're just going to wait for +[00:36:07] Open Claw to explain it because it will +[00:36:09] give us a better explanation probably +[00:36:10] than what I can come off come up with at +[00:36:12] the top of my head. But you can see it's +[00:36:14] enabled them and it says when the +[00:36:16] conversation gets too long, OpenClaw +[00:36:17] will trigger a memory flush prompt. So, +[00:36:19] important context gets written to memory +[00:36:20] files before compaction drops history. +[00:36:23] And then this one lets memory search +[00:36:24] include recent session transcripts, not +[00:36:27] just files in memory, improving recall +[00:36:29] of what just happened. Okay, so that +[00:36:32] explains what it's doing, but +[00:36:33] effectively what would happen is if +[00:36:34] you're talking for a really long time +[00:36:36] with OpenClaw, it's automatically going +[00:36:38] to compact what you were talking about. +[00:36:40] Now, before we have it compact that, we +[00:36:42] wanted to save that into the memory so +[00:36:44] that we don't lose any of that +[00:36:45] information. So that's what it's doing. +[00:36:47] And then same thing with the session +[00:36:48] memory. Rather than just reading the +[00:36:51] information that's in the memory files, +[00:36:53] we want it to read what was recently in +[00:36:56] session, right? So what we talked about +[00:36:58] that maybe wasn't automat. Okay, so +[00:36:59] hopefully that makes a little bit of +[00:37:00] sense. Now, another thing that we're +[00:37:02] going to do, and I'm just pulling this +[00:37:03] up from the OpenCloud docs to make the +[00:37:05] memory even better, cuz this is really +[00:37:07] the crux of how this gets good, is we're +[00:37:09] going to enable vector memory search +[00:37:11] using a QMD backend, which is +[00:37:13] significantly better at searching +[00:37:15] through the memory than the default +[00:37:16] backend service. You don't really have +[00:37:18] to understand this, but effectively in +[00:37:20] the background, OpenClaw will search +[00:37:22] through the memory files using some type +[00:37:24] of vectorzed search. Now, we can change +[00:37:27] how we're doing that search so that it's +[00:37:29] just going to be a lot more effective +[00:37:30] and give us better results. So, what I'm +[00:37:32] going to do is I'm just going to copy +[00:37:34] all of this content from the docs. I'll +[00:37:35] leave this link in the description. If I +[00:37:37] forget, someone leave a comment and I +[00:37:39] will add it. And I'm going to say enable +[00:37:41] this. Okay. And just tell it to enable +[00:37:43] it. And it should go through the +[00:37:44] prerequisites here and install this for +[00:37:46] us. So, I'm going to tell yes, install +[00:37:47] the prerequisites. Okay. So, it looks +[00:37:49] like QMD was added now. So, our memory +[00:37:51] should be a little bit more optimized, +[00:37:52] just working better in the long term. +[00:37:54] Now, I'm going to go through a bunch of +[00:37:55] other things that we can set up and +[00:37:57] configure, but keep in mind that, you +[00:37:58] know, Open Claw is for you, right? You +[00:38:00] guys customize it. And what I'm trying +[00:38:02] to do is give you a solid base that you +[00:38:04] can then extend. So, while it's not +[00:38:06] super detailed in terms of every little +[00:38:08] individual skill we add, the idea is I +[00:38:10] want you to understand what these things +[00:38:12] are so you know what's going on in the +[00:38:13] back end when you do make changes by +[00:38:15] yourself. So, now I want to talk a +[00:38:17] little bit about some of the other files +[00:38:18] that are here. And specifically I want +[00:38:20] to talk about this identity file as well +[00:38:23] as this user file. Now the user file is +[00:38:26] the information about you okay or in +[00:38:28] this case about your human because it's +[00:38:30] like in reference to the clawbot and the +[00:38:33] identity file is the information about +[00:38:34] the clawbot itself. So rather than you +[00:38:37] just filling this file in manual +[00:38:38] yourself, what I would suggest you do is +[00:38:40] actually go to open claw and ask it to +[00:38:43] give you an interview and ask you +[00:38:44] questions on what you want. So, I'm +[00:38:46] going to give you an example prompt that +[00:38:47] you could pass so it can modify these +[00:38:49] files. Say, "Hey, I need you to update +[00:38:52] the identity file as well as the user.md +[00:38:55] file with important long-term +[00:38:56] information. Ask me a bunch of +[00:38:58] questions. Give me an interview. Give me +[00:39:00] a quiz on all of the data you need from +[00:39:02] me in order to create those files and +[00:39:04] optimize them as much as possible. In +[00:39:06] the future, if something changes, +[00:39:08] continue to update these files and ask +[00:39:10] me more information as we chat through +[00:39:13] this conversation and just in general in +[00:39:15] the future so that you always have the +[00:39:16] most recent up-to-date data and you're +[00:39:18] constantly updating these files. That's +[00:39:20] maybe a little bit overkill, but point +[00:39:22] is, you know, you can just say, "Hey, +[00:39:23] give me an interview to update these +[00:39:24] files." And that's a lot easier way to +[00:39:26] go about doing it than you having to +[00:39:28] manually kind of work through and, you +[00:39:30] know, fill in all of this data. Okay, so +[00:39:32] you can see it's giving me a bunch of +[00:39:34] stuff, right? I'm not going to actually +[00:39:35] go and fill this in uh because I don't +[00:39:37] care too much about it. I'll just give +[00:39:39] it a quick answer so we can see the +[00:39:40] update. Say, "My name is Tim. You can +[00:39:43] call me Master Tim. My pronouns are the +[00:39:46] normal ones, he, him. Uh my time zone is +[00:39:50] Asia, Dubai. I usually work from 10:00 +[00:39:52] a.m. to 1:00 in the morning. My goal is +[00:39:55] to grow my YouTube channel." Okay, +[00:39:57] whatever. Right. And then go ahead and +[00:39:59] hit enter. And hopefully it is going to +[00:40:02] update the file now. And again, if you +[00:40:04] want to see the updates, you can +[00:40:05] refresh. Um, what is it? This. And it +[00:40:08] should show the new version of the file, +[00:40:11] assuming that it updates it. Okay. So, +[00:40:12] you can see it's updated the file now +[00:40:14] and it kind of has that information. +[00:40:15] Then for the identity, we're not really +[00:40:17] getting like the correct stuff. Um, but +[00:40:19] you you get the idea. Okay. So, we +[00:40:21] could, you know, adjust that later in +[00:40:22] the future. Okay. So, that kind of +[00:40:23] covers that. Now, the other files that +[00:40:25] are useful is going to be the soul as +[00:40:28] well as tools and heartbeat. So the soul +[00:40:31] is kind of some more instructions in +[00:40:33] terms of how the bot should operate, the +[00:40:36] way it should talk to you, you know, +[00:40:37] core truths, things that it believes, +[00:40:39] right? Like at the soul of the agent, +[00:40:41] kind of at the heart of it, I guess you +[00:40:42] could say. So if you want to modify +[00:40:44] this, you can, but generally the default +[00:40:46] one is pretty good. And it says, you +[00:40:47] know, each session you wake up fresh. +[00:40:49] These files are your memory. Read them, +[00:40:51] update them, etc. And then it goes +[00:40:53] through boundaries, you know, private +[00:40:54] things stay private. Here's your vibe, +[00:40:56] all of that kind of stuff. So you can +[00:40:57] adjust the soul based on what you want. +[00:40:59] If you want something rude, if you want +[00:41:00] something happy, if you want something +[00:41:01] funny, you know, that's where you would +[00:41:03] put it inside of here. Now, we also have +[00:41:05] tools. Tools are different things that +[00:41:07] can be used by things like skills. So, +[00:41:09] for example, you have an SSH host, a +[00:41:11] preferred, you know, voice, speaker, +[00:41:12] rooms names, device nicknames, all that +[00:41:14] kind of stuff. It can put that directly +[00:41:16] inside of this file. I don't really use +[00:41:18] tools too much, but you know, you can +[00:41:20] modify this file if needed. Awesome. And +[00:41:22] then the last one is going to be the +[00:41:24] heartbeat file. Now, the heartbeat file +[00:41:26] is super interesting because what you +[00:41:28] can do is you can have the Claudebot +[00:41:30] triggered to wake up effectively every +[00:41:33] set number of minutes. You can have it +[00:41:34] every 5 minutes, every 30 minutes, every +[00:41:36] hour. And when it wakes up, what it's +[00:41:38] going to do is it's going to read this +[00:41:39] heartbeat file. Now, inside of this +[00:41:42] file, you can direct it to do something +[00:41:44] continuously. So, something that's +[00:41:46] common to do is to continually improve +[00:41:48] itself. So what we can do is we can say +[00:41:51] update your heartbeat file such that +[00:41:52] anytime you wake up you review any of +[00:41:54] the mistakes that you've made previously +[00:41:56] and start making improvements and fixing +[00:41:58] those mistakes. When you do this make +[00:42:00] sure you run multiple sub aents and +[00:42:02] paralyze the tasks so we can do multiple +[00:42:05] things at the same time. Okay. So I +[00:42:07] actually just introduced another concept +[00:42:09] to you as well here called sub aents. So +[00:42:11] when you're running this clawbot, you +[00:42:14] know, right now we're in this kind of +[00:42:15] one session where I'm asking it to do +[00:42:17] something, waiting for the response. You +[00:42:19] can do that, right? Or you can actually +[00:42:21] tell it to run multiple sub aents. And +[00:42:24] when it runs sub agents, what that will +[00:42:26] do is it will run a background agent, +[00:42:28] which is another instance of in this +[00:42:30] case opus or codeex or whatever that's +[00:42:33] going to go and achieve some kind of +[00:42:34] task. So I can say, hey, spin up 10 sub +[00:42:37] aents and go work on different parts of +[00:42:38] this task al together and then +[00:42:40] collaborate once you're finished. And it +[00:42:42] will just automatically make these +[00:42:43] different sub aents and you can see them +[00:42:46] inside of your clawed gateway. So if you +[00:42:48] go to sessions, for example, you'll be +[00:42:49] able to see the different sessions that +[00:42:50] are running as well as the different uh +[00:42:53] what do you call it? Sub aents that are +[00:42:55] being triggered by those. Okay, so +[00:42:57] there's a bunch of stuff. You can +[00:42:58] effectively just see everything that's +[00:42:59] going on inside of the gateway. Uh but +[00:43:01] that is what you should be aware of. +[00:43:04] Okay. Now you can see inside of the +[00:43:05] heartbeat file it says on every +[00:43:06] heartbeat review recent mistakes issues +[00:43:08] and proposed fixes when doing this +[00:43:10] review spawn multiple sub aents and run +[00:43:12] the tasks in parallel. Right? So now +[00:43:13] anytime it wakes up and has a heartbeat +[00:43:15] it will do this. Heartbeats are not +[00:43:18] going to do like super long running +[00:43:20] operations. Typically it's usually for +[00:43:23] kind of short repetitive things that you +[00:43:25] want to do all of the time. For example, +[00:43:27] check my email on every heartbeat. +[00:43:28] Right? That's something that makes sense +[00:43:30] to put inside of here. Okay. So, let's +[00:43:32] go back. And one thing to note is that +[00:43:34] if you go to the config here, I believe +[00:43:37] it's in the configuration. It might not +[00:43:39] be directly here. Uh, okay. Regardless, +[00:43:42] we'll get out of this. You can tell it +[00:43:44] how frequently you want the heart to +[00:43:46] beat. So, I'm going to say what is, +[00:43:48] let's just do it like this, the +[00:43:50] frequency of your heartbeat. And it's +[00:43:52] going to tell us, I believe 30 minutes +[00:43:54] is the default. Let's see. Okay. So, +[00:43:56] good job. I checked that because it +[00:43:57] looks like it's actually off. So, I'm +[00:43:58] going to tell it turn on the heartbeat +[00:44:00] and enable it every 30 minutes. Okay. +[00:44:03] So, anyways, good job. We we figured +[00:44:05] that out because I forgot that it was +[00:44:06] off by default. And this is the thing, +[00:44:08] right? If you don't know something, just +[00:44:09] ask the agent like I'm asking it. But +[00:44:11] generally, these are kind of the best +[00:44:12] practices for the setup. So, now it's +[00:44:14] kind of modified the config. And you can +[00:44:16] see that it's going to heartbeat every +[00:44:17] 30 minutes now. And then every 30 +[00:44:19] minutes, we will have that task that's +[00:44:21] inside of that file kind of, you know, +[00:44:24] happen, right? Okay. So, that's that. +[00:44:26] The next thing I want to quickly go over +[00:44:28] is crons. So I don't think that's inside +[00:44:31] of here, but it should be in its own +[00:44:32] folder. Yes, it's own folder. Crons +[00:44:34] essentially a cron is a task that can +[00:44:37] run at a set time at a set frequency. So +[00:44:40] for example, if you wanted to be +[00:44:41] reminded of something at 9:00 a.m. That +[00:44:44] is a cron where at 9:00 a.m. this task +[00:44:46] will run that will remind you of +[00:44:47] something. And you can see the cron jobs +[00:44:49] here inside of the uh what do you call +[00:44:52] it here? The open clog gateway. And you +[00:44:54] can manually create your own one by +[00:44:56] going through this or you can just tell +[00:44:58] the agent to set up a cron. So I'm going +[00:45:00] to say in five minutes remind me that I +[00:45:03] need to finish recording this video +[00:45:06] whatever right and then what will happen +[00:45:08] is it should automatically create the +[00:45:09] cron for us in the gateway and we should +[00:45:11] be able to see the job. So in my own +[00:45:13] personal clawbot I have like four or +[00:45:15] five crons where every day at like 9:00 +[00:45:17] a.m. I want you to review the stuff I +[00:45:18] did yesterday. give me an update every, +[00:45:21] you know, three times a day, whatever. I +[00:45:23] want you to do XYZ. So, if you want to +[00:45:25] run at a certain time, like remind me to +[00:45:26] go to the gym, remind me to eat my +[00:45:28] breakfast, you know, that's where a cron +[00:45:30] comes in in handy. Or if you want a task +[00:45:33] like back up my database or something, +[00:45:34] and you want that to run every day at a +[00:45:36] certain time, you would make that a +[00:45:38] cron. You don't need to necessarily tell +[00:45:40] it to make a cron, but just understand +[00:45:42] that's what it is. And you can see I now +[00:45:44] have this cron. This is a one-off cron +[00:45:46] that's scheduled to run in 4 minutes. +[00:45:48] And then once it does, I will be able to +[00:45:50] see the history. Okay. Now, generally +[00:45:52] speaking, there's obviously a lot more +[00:45:53] stuff I can go through here in terms of +[00:45:55] setting this up, but I don't know if +[00:45:56] that's going to be particularly useful, +[00:45:58] especially because everybody has their +[00:46:00] own unique thing that they want this to +[00:46:02] do. I think generally understanding what +[00:46:04] I explained here is a very good start. +[00:46:06] So, you know what it is you need to +[00:46:07] modify, how the thing actually works, +[00:46:09] how you can get value out of it, right? +[00:46:11] Things like setting up the multiple +[00:46:13] group chats, using the different models, +[00:46:14] right? All of that stuff is quite useful +[00:46:17] and that's kind of what I meant to show +[00:46:19] you. So, I will definitely do some +[00:46:20] follow-up videos showing some more +[00:46:22] advanced use cases of the clawbot or +[00:46:24] openclaw, whatever in the future. For +[00:46:26] now, though, this is where I will leave +[00:46:28] it. And please leave a comment down +[00:46:29] below if you want more instructions on a +[00:46:31] particular area so I can go more in +[00:46:33] depth with that and kind of explain it +[00:46:35] in a way that's going to be valuable to +[00:46:36] you guys. Anyways, with that said, I +[00:46:38] will wrap up the video here. If you +[00:46:40] enjoyed, make sure leave a like, +[00:46:41] subscribe, and I will see you in the +[00:46:43] next one. \ No newline at end of file diff --git a/tmp_vte_transcript.txt b/tmp_vte_transcript.txt new file mode 100644 index 0000000..8877c90 --- /dev/null +++ b/tmp_vte_transcript.txt @@ -0,0 +1 @@ +Today I'll be giving you a full Today I'll be giving you a full Today I'll be giving you a full comprehensive tutorial on how to set up comprehensive tutorial on how to set up comprehensive tutorial on how to set up OpenClaw so it is productive, efficient, OpenClaw so it is productive, efficient, OpenClaw so it is productive, efficient, and actually helps you get something and actually helps you get something and actually helps you get something done. I'm going to go through skills, done. I'm going to go through skills, done. I'm going to go through skills, memory, the different files you need to memory, the different files you need to memory, the different files you need to configure, voice mode, groups, all of configure, voice mode, groups, all of configure, voice mode, groups, all of the different things that actually allow the different things that actually allow the different things that actually allow you to get some value out of this tool you to get some value out of this tool you to get some value out of this tool and that I learned the hard way spending and that I learned the hard way spending and that I learned the hard way spending now over probably 60 70 hours now over probably 60 70 hours now over probably 60 70 hours configuring my own open claw instance. configuring my own open claw instance. configuring my own open claw instance. So with that said, let's get into it. So with that said, let's get into it. So with that said, let's get into it. So, first I do need to give you a quick So, first I do need to give you a quick So, first I do need to give you a quick disclaimer about security. And also just disclaimer about security. And also just disclaimer about security. And also just generally want to mention that in this generally want to mention that in this generally want to mention that in this video I'm going to be pretty thorough. video I'm going to be pretty thorough. video I'm going to be pretty thorough. I'm going to be very detailed. I'm going I'm going to be very detailed. I'm going I'm going to be very detailed. I'm going to try to actually teach you something to try to actually teach you something to try to actually teach you something new. So, while it will be pretty long, new. So, while it will be pretty long, new. So, while it will be pretty long, there's a reason for that. And I would there's a reason for that. And I would there's a reason for that. And I would suggest that you're going to get a lot suggest that you're going to get a lot suggest that you're going to get a lot more value out of a video like this than more value out of a video like this than more value out of a video like this than a quick 10-minute setup where they're a quick 10-minute setup where they're a quick 10-minute setup where they're just blitzing through all of the steps just blitzing through all of the steps just blitzing through all of the steps and you have no idea what's going on. and you have no idea what's going on. and you have no idea what's going on. Anyways, that brings us to security. Anyways, that brings us to security. Anyways, that brings us to security. Now, while what I'm going to show you in Now, while what I'm going to show you in Now, while what I'm going to show you in this video in terms of setup is secure, this video in terms of setup is secure, this video in terms of setup is secure, if you want to go kind of extreme and if you want to go kind of extreme and if you want to go kind of extreme and make sure that you're very secure, I make sure that you're very secure, I make sure that you're very secure, I have a full 50inute long video that have a full 50inute long video that have a full 50inute long video that breaks down every step you can take to breaks down every step you can take to breaks down every step you can take to harden and secure your OpenClaw harden and secure your OpenClaw harden and secure your OpenClaw instance. So, I'll put that on screen instance. So, I'll put that on screen instance. So, I'll put that on screen right here. I'm not going to repeat right here. I'm not going to repeat right here. I'm not going to repeat everything in that video because again, everything in that video because again, everything in that video because again, it's already filmed and it's there for it's already filmed and it's there for it's already filmed and it's there for you to watch. And I'm going to assume you to watch. And I'm going to assume you to watch. And I'm going to assume generally that you already know how to generally that you already know how to generally that you already know how to set up open claw in terms of getting at set up open claw in terms of getting at set up open claw in terms of getting at least access to the open claw gateway or least access to the open claw gateway or least access to the open claw gateway or accessing it from the terminal or accessing it from the terminal or accessing it from the terminal or telegram. I will repeat those steps but telegram. I will repeat those steps but telegram. I will repeat those steps but I will go through that quickly and focus I will go through that quickly and focus I will go through that quickly and focus most of my effort on all of the skills most of my effort on all of the skills most of my effort on all of the skills integrations connections etc. Now with integrations connections etc. Now with integrations connections etc. Now with that in mind the general best practice that in mind the general best practice that in mind the general best practice here is to treat openclaw like an here is to treat openclaw like an here is to treat openclaw like an untrusted virtual assistant. What I mean untrusted virtual assistant. What I mean untrusted virtual assistant. What I mean by that is that imagine you had actually by that is that imagine you had actually by that is that imagine you had actually a real person, maybe living in another a real person, maybe living in another a real person, maybe living in another country and they were helping you with country and they were helping you with country and they were helping you with stuff and had access to a bunch of your stuff and had access to a bunch of your stuff and had access to a bunch of your data. You'd want to ensure if that data. You'd want to ensure if that data. You'd want to ensure if that person went rogue or had bad intentions person went rogue or had bad intentions person went rogue or had bad intentions that they couldn't completely mess up that they couldn't completely mess up that they couldn't completely mess up your life. That means you wouldn't give your life. That means you wouldn't give your life. That means you wouldn't give them access to your main computer, you them access to your main computer, you them access to your main computer, you wouldn't give them access to your crypto wouldn't give them access to your crypto wouldn't give them access to your crypto keys or your primary email address or keys or your primary email address or keys or your primary email address or any of those things, right? So treat any of those things, right? So treat any of those things, right? So treat OpenClaw the exact same way. Make sure OpenClaw the exact same way. Make sure OpenClaw the exact same way. Make sure that if you are connecting it to that if you are connecting it to that if you are connecting it to external resources that those are secure external resources that those are secure external resources that those are secure and that you set up separate accounts and that you set up separate accounts and that you set up separate accounts for. Now, you also definitely want to for. Now, you also definitely want to for. Now, you also definitely want to make sure that you run this on a virtual make sure that you run this on a virtual make sure that you run this on a virtual private server. This is a server that private server. This is a server that private server. This is a server that runs in the cloud that's hosted and runs in the cloud that's hosted and runs in the cloud that's hosted and managed by a company. It's typically a managed by a company. It's typically a managed by a company. It's typically a part of a large data center that is part of a large data center that is part of a large data center that is literally more secure than an airport. literally more secure than an airport. literally more secure than an airport. It's going to have things like regular It's going to have things like regular It's going to have things like regular backups, disaster recovery, you know, backups, disaster recovery, you know, backups, disaster recovery, you know, fire protection, natural disaster fire protection, natural disaster fire protection, natural disaster protection, and theft protection that protection, and theft protection that protection, and theft protection that you don't have when you run Open Claw on you don't have when you run Open Claw on you don't have when you run Open Claw on something like a Mac Mini or your own something like a Mac Mini or your own something like a Mac Mini or your own computer. Now, yes, sure, you can do computer. Now, yes, sure, you can do computer. Now, yes, sure, you can do that, but generally speaking, a VPS is that, but generally speaking, a VPS is that, but generally speaking, a VPS is just the best option. It's also very just the best option. It's also very just the best option. It's also very cheap and very easy and quick to set up. cheap and very easy and quick to set up. cheap and very easy and quick to set up. And as soon as you don't want it And as soon as you don't want it And as soon as you don't want it anymore, you can just turn it off rather anymore, you can just turn it off rather anymore, you can just turn it off rather than investing, say, $1,000 in a local than investing, say, $1,000 in a local than investing, say, $1,000 in a local hardware device. Okay, so anyways, that hardware device. Okay, so anyways, that hardware device. Okay, so anyways, that is the kind of basic set of steps on is the kind of basic set of steps on is the kind of basic set of steps on security. Just remember the more stuff security. Just remember the more stuff security. Just remember the more stuff that you add to open claw, the more that you add to open claw, the more that you add to open claw, the more insecure that it becomes and you only insecure that it becomes and you only insecure that it becomes and you only want to connect it to things that you want to connect it to things that you want to connect it to things that you would be okay, you know, at some point would be okay, you know, at some point would be okay, you know, at some point in time got hacked or got lost or got in time got hacked or got lost or got in time got hacked or got lost or got insecure. If you treat it like that, insecure. If you treat it like that, insecure. If you treat it like that, you're going to be fine and you won't you're going to be fine and you won't you're going to be fine and you won't have any security issues. So, like I have any security issues. So, like I have any security issues. So, like I mentioned, I will run through a quick mentioned, I will run through a quick mentioned, I will run through a quick install of Open Claw in case you haven't install of Open Claw in case you haven't install of Open Claw in case you haven't already done this. Now, the fastest and already done this. Now, the fastest and already done this. Now, the fastest and easiest way to get this up and running easiest way to get this up and running easiest way to get this up and running is to use Hostinger's one-click install is to use Hostinger's one-click install is to use Hostinger's one-click install for their virtual private server KVM2 for their virtual private server KVM2 for their virtual private server KVM2 plan. Now, I'm fortunate enough to plan. Now, I'm fortunate enough to plan. Now, I'm fortunate enough to partner with Hostinger, so I also have a partner with Hostinger, so I also have a partner with Hostinger, so I also have a discount code, which I'll show you in 1 discount code, which I'll show you in 1 discount code, which I'll show you in 1 second. But you can see that it's as low second. But you can see that it's as low second. But you can see that it's as low as $7 per month. And the advantage here as $7 per month. And the advantage here as $7 per month. And the advantage here is you can literally just press three or is you can literally just press three or is you can literally just press three or four buttons. Then, Open Claw is already four buttons. Then, Open Claw is already four buttons. Then, Open Claw is already set up and running, and you don't need set up and running, and you don't need set up and running, and you don't need to do any manual configuration yourself. to do any manual configuration yourself. to do any manual configuration yourself. Now, this is still secure. There's no Now, this is still secure. There's no Now, this is still secure. There's no issue with doing this. But if you want issue with doing this. But if you want issue with doing this. But if you want the extra secure version of setup, then the extra secure version of setup, then the extra secure version of setup, then again, you can watch the video that I'll again, you can watch the video that I'll again, you can watch the video that I'll put on screen that walks through some put on screen that walks through some put on screen that walks through some more advanced steps to really kind of go more advanced steps to really kind of go more advanced steps to really kind of go overkill and ensure that no one's going overkill and ensure that no one's going overkill and ensure that no one's going to access your virtual private ser. So to access your virtual private ser. So to access your virtual private ser. So in my case, what I'm going to do for in my case, what I'm going to do for in my case, what I'm going to do for this video is just press on deploy. When this video is just press on deploy. When this video is just press on deploy. When I do that, it's going to bring me to the I do that, it's going to bring me to the I do that, it's going to bring me to the checkout page where I can select my checkout page where I can select my checkout page where I can select my plan. So what I'm going to do is just go plan. So what I'm going to do is just go plan. So what I'm going to do is just go with one month. But if you did go with with one month. But if you did go with with one month. But if you did go with access my coupon code, which is tech access my coupon code, which is tech access my coupon code, which is tech with Tim, which will give you an with Tim, which will give you an with Tim, which will give you an additional 10% off. Just keep that in additional 10% off. Just keep that in additional 10% off. Just keep that in mind in case you want to use it. So, I'm mind in case you want to use it. So, I'm mind in case you want to use it. So, I'm going to go 1 month. I'm also just going going to go 1 month. I'm also just going going to go 1 month. I'm also just going to uncheck ready to use with AI. Now, to uncheck ready to use with AI. Now, to uncheck ready to use with AI. Now, you can use their credits there if you you can use their credits there if you you can use their credits there if you don't want to worry about API keys, but don't want to worry about API keys, but don't want to worry about API keys, but in my case, I am going to manually enter in my case, I am going to manually enter in my case, I am going to manually enter my own anthropic or OpenAI API key, my own anthropic or OpenAI API key, my own anthropic or OpenAI API key, which I will show you in a second. So, which I will show you in a second. So, which I will show you in a second. So, from here, choose your server location from here, choose your server location from here, choose your server location and then press on continue and proceed and then press on continue and proceed and then press on continue and proceed with the billing. and then it will set with the billing. and then it will set with the billing. and then it will set up the virtual private server and bring up the virtual private server and bring up the virtual private server and bring you to the screen you will see next. All you to the screen you will see next. All you to the screen you will see next. All right, so you should be brought to a right, so you should be brought to a right, so you should be brought to a page that looks like this where you're page that looks like this where you're page that looks like this where you're now going to need to enter at least one now going to need to enter at least one now going to need to enter at least one of these four API keys that you see. So of these four API keys that you see. So of these four API keys that you see. So I'm going to go with Enthropic, but you I'm going to go with Enthropic, but you I'm going to go with Enthropic, but you can use anything that you want and you can use anything that you want and you can use anything that you want and you can change this later, but you just need can change this later, but you just need can change this later, but you just need to start with one of them. Otherwise, to start with one of them. Otherwise, to start with one of them. Otherwise, the setup's going to be a little bit the setup's going to be a little bit the setup's going to be a little bit more complex. So what I'm going to do is more complex. So what I'm going to do is more complex. So what I'm going to do is just go to Enthropic console. Again, you just go to Enthropic console. Again, you just go to Enthropic console. Again, you can find the links directly from this can find the links directly from this can find the links directly from this page here on where to go to find the page here on where to go to find the page here on where to go to find the keys. And I'm just going to make a new keys. And I'm just going to make a new keys. And I'm just going to make a new key. Now I'm just going to call this key. Now I'm just going to call this key. Now I'm just going to call this hostinger claude. That's fine. And let's hostinger claude. That's fine. And let's hostinger claude. That's fine. And let's copy the key. And I will delete this copy the key. And I will delete this copy the key. And I will delete this after. Okay. So I'm just going to paste after. Okay. So I'm just going to paste after. Okay. So I'm just going to paste that inside of here. And then press on that inside of here. And then press on that inside of here. And then press on deploy. Now this will take a second. deploy. Now this will take a second. deploy. Now this will take a second. Once it's done, what's going to happen Once it's done, what's going to happen Once it's done, what's going to happen is it will actually spin up a docker is it will actually spin up a docker is it will actually spin up a docker container on this server which will be container on this server which will be container on this server which will be running our open claw process server, running our open claw process server, running our open claw process server, whatever you want to call it. From whatever you want to call it. From whatever you want to call it. From there, we actually won't need to go there, we actually won't need to go there, we actually won't need to go directly into the terminal to manage directly into the terminal to manage directly into the terminal to manage anything there unless we want to. What anything there unless we want to. What anything there unless we want to. What we can do is just directly access the we can do is just directly access the we can do is just directly access the open claw gateway and from the gateway open claw gateway and from the gateway open claw gateway and from the gateway we can start configuring everything that we can start configuring everything that we can start configuring everything that we need. The advantage of using we need. The advantage of using we need. The advantage of using something like open claw is that rather something like open claw is that rather something like open claw is that rather than you having to go in and manually than you having to go in and manually than you having to go in and manually modify a file or change a config, you modify a file or change a config, you modify a file or change a config, you can just tell the model to do that for can just tell the model to do that for can just tell the model to do that for you. So for example, when we want to set you. So for example, when we want to set you. So for example, when we want to set up telegram, we don't actually need to up telegram, we don't actually need to up telegram, we don't actually need to go in and run any commands on the go in and run any commands on the go in and run any commands on the server. We can just tell it set up server. We can just tell it set up server. We can just tell it set up telegram and connect to this bot token, telegram and connect to this bot token, telegram and connect to this bot token, right? And it will just be able to do right? And it will just be able to do right? And it will just be able to do that for us. Okay, so the VPS is now that for us. Okay, so the VPS is now that for us. Okay, so the VPS is now spun up and you'll know that everything spun up and you'll know that everything spun up and you'll know that everything is functioning when you see this Docker is functioning when you see this Docker is functioning when you see this Docker container configured here in the Docker container configured here in the Docker container configured here in the Docker manager. Now, Docker is effectively a manager. Now, Docker is effectively a manager. Now, Docker is effectively a way for us to run an isolated container way for us to run an isolated container way for us to run an isolated container on the virtual private server that has on the virtual private server that has on the virtual private server that has its own dependencies, its own its own dependencies, its own its own dependencies, its own management, its own files, whatever, so management, its own files, whatever, so management, its own files, whatever, so that if something were to go wrong with that if something were to go wrong with that if something were to go wrong with this Docker container, it wouldn't cause this Docker container, it wouldn't cause this Docker container, it wouldn't cause an issue with our whole virtual private an issue with our whole virtual private an issue with our whole virtual private server. Now, if you're a beginner and server. Now, if you're a beginner and server. Now, if you're a beginner and you have no idea what that means, don't you have no idea what that means, don't you have no idea what that means, don't worry too much about it. just worry too much about it. just worry too much about it. just effectively it's running through Docker. effectively it's running through Docker. effectively it's running through Docker. So that does change the way in which So that does change the way in which So that does change the way in which you're going to interact with this if you're going to interact with this if you're going to interact with this if you want to SSH into the server which I you want to SSH into the server which I you want to SSH into the server which I will show you in a second. Anyways, what will show you in a second. Anyways, what will show you in a second. Anyways, what we can do is we can first just click we can do is we can first just click we can do is we can first just click right into this. So we can press on right into this. So we can press on right into this. So we can press on manage. And when we press on manage, manage. And when we press on manage, manage. And when we press on manage, we're going to be able to see the we're going to be able to see the we're going to be able to see the environment. And if we press on the environment. And if we press on the environment. And if we press on the environment, we can see all of our environment, we can see all of our environment, we can see all of our environment variables. The first thing environment variables. The first thing environment variables. The first thing we're going to do is we're just going to we're going to do is we're just going to we're going to do is we're just going to copy the open claw gateway token. Okay. copy the open claw gateway token. Okay. copy the open claw gateway token. Okay. and we're going to press this button and we're going to press this button and we're going to press this button right here, which is going to link us to right here, which is going to link us to right here, which is going to link us to the OpenClaw gateway interface. From the OpenClaw gateway interface. From the OpenClaw gateway interface. From here, we can just paste our gateway here, we can just paste our gateway here, we can just paste our gateway token. And then we can log in. And now token. And then we can log in. And now token. And then we can log in. And now we're inside of Open Claw. It is set up. we're inside of Open Claw. It is set up. we're inside of Open Claw. It is set up. It's configured. And we can just start It's configured. And we can just start It's configured. And we can just start chatting with it. So from here, like chatting with it. So from here, like chatting with it. So from here, like this is really all you need now to start this is really all you need now to start this is really all you need now to start setting everything up. And you can just setting everything up. And you can just setting everything up. And you can just talk to the model, you know, hello world talk to the model, you know, hello world talk to the model, you know, hello world or something, right? And it should give or something, right? And it should give or something, right? And it should give you a response. Now what I'm going to you a response. Now what I'm going to you a response. Now what I'm going to suggest is that the first thing we do is suggest is that the first thing we do is suggest is that the first thing we do is we add additional models or we change we add additional models or we change we add additional models or we change the model from enthropic to something the model from enthropic to something the model from enthropic to something else because you are going to get very else because you are going to get very else because you are going to get very heavy rate limits are if you are using heavy rate limits are if you are using heavy rate limits are if you are using the enthropic models and can be the enthropic models and can be the enthropic models and can be extremely expensive. So I'll show you extremely expensive. So I'll show you extremely expensive. So I'll show you how to do that in one second. But I how to do that in one second. But I how to do that in one second. But I first want to just show you how you can first want to just show you how you can first want to just show you how you can actually manually access the server if actually manually access the server if actually manually access the server if you're looking to do that. And actually you're looking to do that. And actually you're looking to do that. And actually we have a good learning moment here we have a good learning moment here we have a good learning moment here already because I tried to type already because I tried to type already because I tried to type something to the assistant and nothing something to the assistant and nothing something to the assistant and nothing was working. So I'm kind of sitting here was working. So I'm kind of sitting here was working. So I'm kind of sitting here going like why isn't that functioning? going like why isn't that functioning? going like why isn't that functioning? And then I realized that I went to the And then I realized that I went to the And then I realized that I went to the logs here. By the way, this is a super logs here. By the way, this is a super logs here. By the way, this is a super useful thing that you should definitely useful thing that you should definitely useful thing that you should definitely utilize if it's not working. Go to logs. utilize if it's not working. Go to logs. utilize if it's not working. Go to logs. I just filtered by error uh or sorry, I just filtered by error uh or sorry, I just filtered by error uh or sorry, yeah, error and fatal. And I noticed yeah, error and fatal. And I noticed yeah, error and fatal. And I noticed that if I started reading through this, that if I started reading through this, that if I started reading through this, it said no API key found. And then above it said no API key found. And then above it said no API key found. And then above here, it said my credit balance is too here, it said my credit balance is too here, it said my credit balance is too low to access the anthropic API. So what low to access the anthropic API. So what low to access the anthropic API. So what I did is I'm just here on billing. And I did is I'm just here on billing. And I did is I'm just here on billing. And what I added was a $10 um what do you what I added was a $10 um what do you what I added was a $10 um what do you call it? Credit amount so that I can call it? Credit amount so that I can call it? Credit amount so that I can actually start using the API. So actually start using the API. So actually start using the API. So definitely make sure that you have definitely make sure that you have definitely make sure that you have credits that you purchase some credits credits that you purchase some credits credits that you purchase some credits in whatever platform you're using for in whatever platform you're using for in whatever platform you're using for the LLM. And I also suggest that you set the LLM. And I also suggest that you set the LLM. And I also suggest that you set your own limits. So it will show you the your own limits. So it will show you the your own limits. So it will show you the default limits, but you set a monthly default limits, but you set a monthly default limits, but you set a monthly limit. So something like $100, for limit. So something like $100, for limit. So something like $100, for example, like I said, so you don't example, like I said, so you don't example, like I said, so you don't accidentally use a ton because this can accidentally use a ton because this can accidentally use a ton because this can get extremely expensive very fast. Also, get extremely expensive very fast. Also, get extremely expensive very fast. Also, I would recommend adding a notification I would recommend adding a notification I would recommend adding a notification so that you get emails when you spend a so that you get emails when you spend a so that you get emails when you spend a certain amount so you know what's certain amount so you know what's certain amount so you know what's actually going on. Okay. Anyways, let's actually going on. Okay. Anyways, let's actually going on. Okay. Anyways, let's go back to chat and let's just type type go back to chat and let's just type type go back to chat and let's just type type hey and make sure that this is going to hey and make sure that this is going to hey and make sure that this is going to work. And that looks a little bit work. And that looks a little bit work. And that looks a little bit better. Now we're getting the three better. Now we're getting the three better. Now we're getting the three dots. So hopefully we're going to get a dots. So hopefully we're going to get a dots. So hopefully we're going to get a response. And there we go. It gave us response. And there we go. It gave us response. And there we go. It gave us the information. Okay. So what we're the information. Okay. So what we're the information. Okay. So what we're going to do now before I start going going to do now before I start going going to do now before I start going into all of the setup is I'm just going into all of the setup is I'm just going into all of the setup is I'm just going to quickly show you how if you did want to quickly show you how if you did want to quickly show you how if you did want to access this from the terminal, you to access this from the terminal, you to access this from the terminal, you could do that. Now, first from the could do that. Now, first from the could do that. Now, first from the hosting or um kind of manager here, hosting or um kind of manager here, hosting or um kind of manager here, whatever you want to call this, you whatever you want to call this, you whatever you want to call this, you know, platform console, you could press know, platform console, you could press know, platform console, you could press the terminal button here and it will the terminal button here and it will the terminal button here and it will just directly sign you into the server just directly sign you into the server just directly sign you into the server and in the web here, you can start and in the web here, you can start and in the web here, you can start typing commands and start actually typing commands and start actually typing commands and start actually interacting with the server. Now, if you interacting with the server. Now, if you interacting with the server. Now, if you don't want to do that, you can go to the don't want to do that, you can go to the don't want to do that, you can go to the overview and you can use the SSH overview and you can use the SSH overview and you can use the SSH command, which I'm going to assume command, which I'm going to assume command, which I'm going to assume you're familiar with if you'd like to do you're familiar with if you'd like to do you're familiar with if you'd like to do that. And you'll see here that this is that. And you'll see here that this is that. And you'll see here that this is the command SSH root at and then the IP the command SSH root at and then the IP the command SSH root at and then the IP address. And what you're going to have address. And what you're going to have address. And what you're going to have to do is change the root password of the to do is change the root password of the to do is change the root password of the server in order to be able to sign in server in order to be able to sign in server in order to be able to sign in because you wouldn't have set it by because you wouldn't have set it by because you wouldn't have set it by default. So you're going to change the default. So you're going to change the default. So you're going to change the root password SSH sign in with the root password SSH sign in with the root password SSH sign in with the account and then you will have the same account and then you will have the same account and then you will have the same view as this. Now I will zoom in a view as this. Now I will zoom in a view as this. Now I will zoom in a little bit and I'm going to show you little bit and I'm going to show you little bit and I'm going to show you that if you wanted to for example access that if you wanted to for example access that if you wanted to for example access open claw if you just type open claw open claw if you just type open claw open claw if you just type open claw nothing's going to happen because this nothing's going to happen because this nothing's going to happen because this is running inside of a docker container. is running inside of a docker container. is running inside of a docker container. So what you're going to have to do if So what you're going to have to do if So what you're going to have to do if you want to run terminal commands is you want to run terminal commands is you want to run terminal commands is you're going to have to type docker ps. you're going to have to type docker ps. you're going to have to type docker ps. You're gonna have to find this container You're gonna have to find this container You're gonna have to find this container ID here. Okay. And copy it. So from ID here. Okay. And copy it. So from ID here. Okay. And copy it. So from here, you're gonna have to just here, you're gonna have to just here, you're gonna have to just rightclick and copy. And you're going to rightclick and copy. And you're going to rightclick and copy. And you're going to type docker. And then this is going to type docker. And then this is going to type docker. And then this is going to be run. Yeah, I think it's run or no, be run. Yeah, I think it's run or no, be run. Yeah, I think it's run or no, docker exec. Sorry. Dash it. You're then docker exec. Sorry. Dash it. You're then docker exec. Sorry. Dash it. You're then going to paste this ID. So let's paste going to paste this ID. So let's paste going to paste this ID. So let's paste that there. I'm going to have to remove that there. I'm going to have to remove that there. I'm going to have to remove all of these things that I don't need. all of these things that I don't need. all of these things that I don't need. Okay. So remove that. And then I'm going Okay. So remove that. And then I'm going Okay. So remove that. And then I'm going to type /bin slashbash. So this is how to type /bin slashbash. So this is how to type /bin slashbash. So this is how you can actually execute the docker you can actually execute the docker you can actually execute the docker container interactively. When you do container interactively. When you do container interactively. When you do that, you're going to notice that it that, you're going to notice that it that, you're going to notice that it will change this at symbol to be at the will change this at symbol to be at the will change this at symbol to be at the docker container ID. And then from here docker container ID. And then from here docker container ID. And then from here you can type openclaw. And if you do you can type openclaw. And if you do you can type openclaw. And if you do that, it will run open claw and you will that, it will run open claw and you will that, it will run open claw and you will be able to actually interact with it and be able to actually interact with it and be able to actually interact with it and run any of the commands that you want. run any of the commands that you want. run any of the commands that you want. Okay? So I'm not going to go through Okay? So I'm not going to go through Okay? So I'm not going to go through doing anything in the terminal, but I'm doing anything in the terminal, but I'm doing anything in the terminal, but I'm just showing you that that's how you just showing you that that's how you just showing you that that's how you would do this. Again, you run docker ps. would do this. Again, you run docker ps. would do this. Again, you run docker ps. You get the name here or the ID, sorry. You get the name here or the ID, sorry. You get the name here or the ID, sorry. You then run docker exec-it for You then run docker exec-it for You then run docker exec-it for interactive put the container ID and interactive put the container ID and interactive put the container ID and then /bin/bash and you can start then /bin/bash and you can start then /bin/bash and you can start interacting with it in the terminal. interacting with it in the terminal. interacting with it in the terminal. Okay, cool. So we have this set up now Okay, cool. So we have this set up now Okay, cool. So we have this set up now and like I was saying the first thing I and like I was saying the first thing I and like I was saying the first thing I would suggest we do is actually change would suggest we do is actually change would suggest we do is actually change the model that we're using or at least the model that we're using or at least the model that we're using or at least configure the LLM so that we save a configure the LLM so that we save a configure the LLM so that we save a bunch of money and we have the best bunch of money and we have the best bunch of money and we have the best intelligence possible. Now Enthropic intelligence possible. Now Enthropic intelligence possible. Now Enthropic does have the best models for open claw. does have the best models for open claw. does have the best models for open claw. So for example the newest model that So for example the newest model that So for example the newest model that just came out opus 4.6 six is the just came out opus 4.6 six is the just came out opus 4.6 six is the current best model that we definitely current best model that we definitely current best model that we definitely want to be using. However, we don't want want to be using. However, we don't want want to be using. However, we don't want to use it all of the time because of the to use it all of the time because of the to use it all of the time because of the rate limits. So, a lot of times it just rate limits. So, a lot of times it just rate limits. So, a lot of times it just won't work because we've gone past our won't work because we've gone past our won't work because we've gone past our rate limit, especially if you're on a rate limit, especially if you're on a rate limit, especially if you're on a new account and it's very, very new account and it's very, very new account and it's very, very expensive. So, the approach that I expensive. So, the approach that I expensive. So, the approach that I recommend is that we run with Opus 4.6 recommend is that we run with Opus 4.6 recommend is that we run with Opus 4.6 six for usually the starting tasks and six for usually the starting tasks and six for usually the starting tasks and any high-level complex you know kind of any high-level complex you know kind of any high-level complex you know kind of planning tasks and then we have that planning tasks and then we have that planning tasks and then we have that delegate to a cheaper less intelligent delegate to a cheaper less intelligent delegate to a cheaper less intelligent model that can handle everything else. model that can handle everything else. model that can handle everything else. Now, in my case, what I've been doing is Now, in my case, what I've been doing is Now, in my case, what I've been doing is I've been connecting this to my OpenAI I've been connecting this to my OpenAI I've been connecting this to my OpenAI subscription or my Chat GPT subscription subscription or my Chat GPT subscription subscription or my Chat GPT subscription because this allows me to use my usage because this allows me to use my usage because this allows me to use my usage or kind of quota from chat GPT that I'm or kind of quota from chat GPT that I'm or kind of quota from chat GPT that I'm already paying in my case $200 per month already paying in my case $200 per month already paying in my case $200 per month for, but even if you're paying $20 per for, but even if you're paying $20 per for, but even if you're paying $20 per month for it, you can still access all month for it, you can still access all month for it, you can still access all of that usage. And OpenAI has made that, of that usage. And OpenAI has made that, of that usage. And OpenAI has made that, you know, available to do and not you know, available to do and not you know, available to do and not against their terms of service. So, what against their terms of service. So, what against their terms of service. So, what I would suggest here is that you connect I would suggest here is that you connect I would suggest here is that you connect this to another model that is cheaper. this to another model that is cheaper. this to another model that is cheaper. In my case, I'm going to show you In my case, I'm going to show you In my case, I'm going to show you connecting it to the codeex model, which connecting it to the codeex model, which connecting it to the codeex model, which is still quite good and has almost is still quite good and has almost is still quite good and has almost unlimited usage when you are paying like unlimited usage when you are paying like unlimited usage when you are paying like I am $200 per month. However, if you're I am $200 per month. However, if you're I am $200 per month. However, if you're not paying for that, then I would not paying for that, then I would not paying for that, then I would suggest at least connecting this to just suggest at least connecting this to just suggest at least connecting this to just a cheaper model. For example, the Kimmy a cheaper model. For example, the Kimmy a cheaper model. For example, the Kimmy models are pretty good uh or anything models are pretty good uh or anything models are pretty good uh or anything that's going to be just again cheaper that's going to be just again cheaper that's going to be just again cheaper than Opus. Because if you run Opus every than Opus. Because if you run Opus every than Opus. Because if you run Opus every single day and you're doing a lot, you single day and you're doing a lot, you single day and you're doing a lot, you can spend 100, 200, 300, $500 per day. I can spend 100, 200, 300, $500 per day. I can spend 100, 200, 300, $500 per day. I know someone, one of my friends was know someone, one of my friends was know someone, one of my friends was spending about $200 per day running this spending about $200 per day running this spending about $200 per day running this purely with Opus, which is insanity. So, purely with Opus, which is insanity. So, purely with Opus, which is insanity. So, first things first, let's tell it the first things first, let's tell it the first things first, let's tell it the following. We're going to say, okay, following. We're going to say, okay, following. We're going to say, okay, switch to use Opus 4.6 by default. All switch to use Opus 4.6 by default. All switch to use Opus 4.6 by default. All right, so it should automatically switch right, so it should automatically switch right, so it should automatically switch its model then over to do that and we'll its model then over to do that and we'll its model then over to do that and we'll verify that that's working. Okay, so it verify that that's working. Okay, so it verify that that's working. Okay, so it said that it's switched over now and said that it's switched over now and said that it's switched over now and just restarted the gateway. By the way, just restarted the gateway. By the way, just restarted the gateway. By the way, the way that I'm seeing all of this the way that I'm seeing all of this the way that I'm seeing all of this information on the side is I have this information on the side is I have this information on the side is I have this little brain thing enabled. So, if you little brain thing enabled. So, if you little brain thing enabled. So, if you want to disable that, it will just show want to disable that, it will just show want to disable that, it will just show you what it did. If you want to see the you what it did. If you want to see the you what it did. If you want to see the full logs, you can view it here. And full logs, you can view it here. And full logs, you can view it here. And again, you can go to the logs to see again, you can go to the logs to see again, you can go to the logs to see everything that's happening, which is everything that's happening, which is everything that's happening, which is always pretty useful. So, I'm going to always pretty useful. So, I'm going to always pretty useful. So, I'm going to go back to chat and I'm just going to go back to chat and I'm just going to go back to chat and I'm just going to quickly tell it to disable the rest of quickly tell it to disable the rest of quickly tell it to disable the rest of the fallback models because if you have the fallback models because if you have the fallback models because if you have a look here, it shows the models that a look here, it shows the models that a look here, it shows the models that it's using is enthropic, right? It shows it's using is enthropic, right? It shows it's using is enthropic, right? It shows which ones has access to and then it which ones has access to and then it which ones has access to and then it shows the fallbacks are these. So, I'm shows the fallbacks are these. So, I'm shows the fallbacks are these. So, I'm just going to tell it remove these just going to tell it remove these just going to tell it remove these fallbacks. Okay. And we'll leave chatgbt fallbacks. Okay. And we'll leave chatgbt fallbacks. Okay. And we'll leave chatgbt actually, we're going to do it like this actually, we're going to do it like this actually, we're going to do it like this because I don't want it to accidentally because I don't want it to accidentally because I don't want it to accidentally try to switch to one of these models try to switch to one of these models try to switch to one of these models that doesn't exist. So, I'm going to hit that doesn't exist. So, I'm going to hit that doesn't exist. So, I'm going to hit enter. Uh, and hopefully it will do enter. Uh, and hopefully it will do enter. Uh, and hopefully it will do that. Okay. So, now I want to add that. Okay. So, now I want to add that. Okay. So, now I want to add additional models. So, I'm going to say, additional models. So, I'm going to say, additional models. So, I'm going to say, help me add the codeex model uh from my help me add the codeex model uh from my help me add the codeex model uh from my open AI subscription. Same thing. Any open AI subscription. Same thing. Any open AI subscription. Same thing. Any model you want to add, just tell it. It model you want to add, just tell it. It model you want to add, just tell it. It can help you do that. And hopefully it can help you do that. And hopefully it can help you do that. And hopefully it should run through the setup steps. It's should run through the setup steps. It's should run through the setup steps. It's probably going to have me click a link probably going to have me click a link probably going to have me click a link and then from that link, I will be able and then from that link, I will be able and then from that link, I will be able to authorize and then kind of give it an to authorize and then kind of give it an to authorize and then kind of give it an authentication token to add the model. authentication token to add the model. authentication token to add the model. Now, once we have multiple models here, Now, once we have multiple models here, Now, once we have multiple models here, what we're going to do is give it what we're going to do is give it what we're going to do is give it instructions to switch between the instructions to switch between the instructions to switch between the models based on what we wanted to do. models based on what we wanted to do. models based on what we wanted to do. So, it says, what options do you want? So, it says, what options do you want? So, it says, what options do you want? I'm going to say I need to connect via I'm going to say I need to connect via I'm going to say I need to connect via OOTH to my OpenAI codeex plan. Give me OOTH to my OpenAI codeex plan. Give me OOTH to my OpenAI codeex plan. Give me the link to do so. So, I know that the link to do so. So, I know that the link to do so. So, I know that that's how we need to connect to it. So, that's how we need to connect to it. So, that's how we need to connect to it. So, hopefully it should give me the link. hopefully it should give me the link. hopefully it should give me the link. Uh, but I guess the way that I prompted Uh, but I guess the way that I prompted Uh, but I guess the way that I prompted it before wasn't clear. So, anyways, it before wasn't clear. So, anyways, it before wasn't clear. So, anyways, let's see what it does now. Okay. So, let's see what it does now. Okay. So, let's see what it does now. Okay. So, you can see it's giving us a few options you can see it's giving us a few options you can see it's giving us a few options here on how to connect this. And it here on how to connect this. And it here on how to connect this. And it says, you know, option A is OpenAI API says, you know, option A is OpenAI API says, you know, option A is OpenAI API key and option B is OpenAI codec key and option B is OpenAI codec key and option B is OpenAI codec subscription. So, I'm going to say use subscription. So, I'm going to say use subscription. So, I'm going to say use this and run the command. this and run the command. this and run the command. Okay. And again, notice that I'm just Okay. And again, notice that I'm just Okay. And again, notice that I'm just using the model directly to do this using the model directly to do this using the model directly to do this rather than me going in the config and rather than me going in the config and rather than me going in the config and modifying everything. And it's really a modifying everything. And it's really a modifying everything. And it's really a matter of knowing what to ask for as matter of knowing what to ask for as matter of knowing what to ask for as opposed to you having to manually go do opposed to you having to manually go do opposed to you having to manually go do that. So, I'm just going to ask it. that. So, I'm just going to ask it. that. So, I'm just going to ask it. Hopefully, it will run that command and Hopefully, it will run that command and Hopefully, it will run that command and then we can connect our OpenAI model. then we can connect our OpenAI model. then we can connect our OpenAI model. Okay. So, you can see it's given me this Okay. So, you can see it's given me this Okay. So, you can see it's given me this URL. So, what I'm going to do is press URL. So, what I'm going to do is press URL. So, what I'm going to do is press on that and then what I need to pass to on that and then what I need to pass to on that and then what I need to pass to this afterwards is the localhost URL this afterwards is the localhost URL this afterwards is the localhost URL redirect. So, I'm just going to sign in redirect. So, I'm just going to sign in redirect. So, I'm just going to sign in and then give it that. Okay. So, I'm and then give it that. Okay. So, I'm and then give it that. Okay. So, I'm going to press continue here and then going to press continue here and then going to press continue here and then what's going to happen is it will what's going to happen is it will what's going to happen is it will redirect me to this URL. So, let's give redirect me to this URL. So, let's give redirect me to this URL. So, let's give it a second. I want to copy it and then it a second. I want to copy it and then it a second. I want to copy it and then I'm just going to paste it in here and I'm just going to paste it in here and I'm just going to paste it in here and hopefully it will configure that for me. hopefully it will configure that for me. hopefully it will configure that for me. Again, if you want to do another model, Again, if you want to do another model, Again, if you want to do another model, you just tell it the other model and it you just tell it the other model and it you just tell it the other model and it will set it up. Now, while it's doing will set it up. Now, while it's doing will set it up. Now, while it's doing this, what I want to do is I want to this, what I want to do is I want to this, what I want to do is I want to tell this to actually write a command tell this to actually write a command tell this to actually write a command for me that's going to allow me to for me that's going to allow me to for me that's going to allow me to switch between the models and then have switch between the models and then have switch between the models and then have it automatically do that as well. So, it automatically do that as well. So, it automatically do that as well. So, I'm going to say make a command called I'm going to say make a command called I'm going to say make a command called slash model that allows me to switch slash model that allows me to switch slash model that allows me to switch between the opus between the opus between the opus something I think is what it is. something I think is what it is. something I think is what it is. Whatever the best one is. Whatever the best one is. Whatever the best one is. Okay. So now we'll cue that up. So after Okay. So now we'll cue that up. So after Okay. So now we'll cue that up. So after this is done we'll run that command. this is done we'll run that command. this is done we'll run that command. Okay. So it looks like it created that Okay. So it looks like it created that Okay. So it looks like it created that command. So now if I run the command command. So now if I run the command command. So now if I run the command /model, we should be able to switch. So /model, we should be able to switch. So /model, we should be able to switch. So let's go /model and then codeex and see let's go /model and then codeex and see let's go /model and then codeex and see if that command is going to work. Uh and if that command is going to work. Uh and if that command is going to work. Uh and it says model set to codeex 5.2. Okay, it says model set to codeex 5.2. Okay, it says model set to codeex 5.2. Okay, perfect. Looks like that is indeed perfect. Looks like that is indeed perfect. Looks like that is indeed working. All right, so now we have the working. All right, so now we have the working. All right, so now we have the two models. Again, what I want to do is two models. Again, what I want to do is two models. Again, what I want to do is just quickly give it some instructions just quickly give it some instructions just quickly give it some instructions to always default to opus, but then to always default to opus, but then to always default to opus, but then anytime we're doing some kind of coding anytime we're doing some kind of coding anytime we're doing some kind of coding task or something that doesn't require a task or something that doesn't require a task or something that doesn't require a lot of intelligence or complexity to lot of intelligence or complexity to lot of intelligence or complexity to switch over to the codeex model to save switch over to the codeex model to save switch over to the codeex model to save money. So, let me write up a prompt and money. So, let me write up a prompt and money. So, let me write up a prompt and tell it that and it should save that in tell it that and it should save that in tell it that and it should save that in its preferences and configuration. I its preferences and configuration. I its preferences and configuration. I want you to always use the Opus 4.6 want you to always use the Opus 4.6 want you to always use the Opus 4.6 model by default. But whenever an model by default. But whenever an model by default. But whenever an instruction is provided to you, I want instruction is provided to you, I want instruction is provided to you, I want you to determine whether or not you need you to determine whether or not you need you to determine whether or not you need that level of intelligence or if you can that level of intelligence or if you can that level of intelligence or if you can switch to a cheaper model like codeex switch to a cheaper model like codeex switch to a cheaper model like codeex coding tasks and anything that is lower coding tasks and anything that is lower coding tasks and anything that is lower leverage or doesn't require a ton of leverage or doesn't require a ton of leverage or doesn't require a ton of detailed steps or thinking. So always detailed steps or thinking. So always detailed steps or thinking. So always use Opus to come up with the plan to use Opus to come up with the plan to use Opus to come up with the plan to start the process, but then delegate start the process, but then delegate start the process, but then delegate lower level tasks using sub aents to the lower level tasks using sub aents to the lower level tasks using sub aents to the codeex model to ensure that we're saving codeex model to ensure that we're saving codeex model to ensure that we're saving money and cost. Whenever you run a task, money and cost. Whenever you run a task, money and cost. Whenever you run a task, start by telling me what model you're start by telling me what model you're start by telling me what model you're using for running it. So tell me, hey, using for running it. So tell me, hey, using for running it. So tell me, hey, we did codeex 5.2 for this, we did opus we did codeex 5.2 for this, we did opus we did codeex 5.2 for this, we did opus for this, etc. So that I know that it's for this, etc. So that I know that it's for this, etc. So that I know that it's running correctly. Save this preference running correctly. Save this preference running correctly. Save this preference for the future. So it looks like that's for the future. So it looks like that's for the future. So it looks like that's working. And what this would have done working. And what this would have done working. And what this would have done here is create a rule. So now I can go here is create a rule. So now I can go here is create a rule. So now I can go reference that rule to understand all reference that rule to understand all reference that rule to understand all right I need to do this I need to switch right I need to do this I need to switch right I need to do this I need to switch between the models. So what I'm going to between the models. So what I'm going to between the models. So what I'm going to tell this now is I want to tell this now is I want to tell this now is I want to set up telegram set up telegram set up telegram tell me how to connect it. Okay now tell me how to connect it. Okay now tell me how to connect it. Okay now while it does that I'm just going to while it does that I'm just going to while it does that I'm just going to open up telegram on my computer and I open up telegram on my computer and I open up telegram on my computer and I will start running you through the will start running you through the will start running you through the steps. Okay now it says that we can just steps. Okay now it says that we can just steps. Okay now it says that we can just run this command to connect telegram and run this command to connect telegram and run this command to connect telegram and it says that we need to paste the uh bot it says that we need to paste the uh bot it says that we need to paste the uh bot token when prompted. So I'm going to say token when prompted. So I'm going to say token when prompted. So I'm going to say run the command for me and I will send run the command for me and I will send run the command for me and I will send the token. And the general steps is that the token. And the general steps is that the token. And the general steps is that we need to open telegram and chat with we need to open telegram and chat with we need to open telegram and chat with the at@botfather. Type newbot and then the at@botfather. Type newbot and then the at@botfather. Type newbot and then copy the token. So it's very easy. What copy the token. So it's very easy. What copy the token. So it's very easy. What we're going to do is open telegram. we're going to do is open telegram. we're going to do is open telegram. We're going to go into the search here. We're going to go into the search here. We're going to go into the search here. We're going to find bot father and make We're going to find bot father and make We're going to find bot father and make sure you find the one that has the check sure you find the one that has the check sure you find the one that has the check mark. Okay. Then from here we're going mark. Okay. Then from here we're going mark. Okay. Then from here we're going to type start and we're going to go to type start and we're going to go to type start and we're going to go slash newbot. slash newbot. slash newbot. All right. When we do that, it's going All right. When we do that, it's going All right. When we do that, it's going to ask us for a name. So, just call this to ask us for a name. So, just call this to ask us for a name. So, just call this Tim A. All right. And let's go Tim A12 Tim A. All right. And let's go Tim A12 Tim A. All right. And let's go Tim A12 Just make sure it ends in underscorebot. Just make sure it ends in underscorebot. Just make sure it ends in underscorebot. It's then going to give you a token. It's then going to give you a token. It's then going to give you a token. Copy the token. And of course, don't Copy the token. And of course, don't Copy the token. And of course, don't give that to anyone else. And then we're give that to anyone else. And then we're give that to anyone else. And then we're going to wait for this to finish. And we going to wait for this to finish. And we going to wait for this to finish. And we are going to send it the token so that are going to send it the token so that are going to send it the token so that it is able to um what what do you call it is able to um what what do you call it is able to um what what do you call it? Actually trigger this. Okay. So, it? Actually trigger this. Okay. So, it? Actually trigger this. Okay. So, this is the token. We're going to paste this is the token. We're going to paste this is the token. We're going to paste that here. Now, while that sets it up, that here. Now, while that sets it up, that here. Now, while that sets it up, we are also just going to press this we are also just going to press this we are also just going to press this link right here, which will bring us to link right here, which will bring us to link right here, which will bring us to chat with our bot. So, we want to chat chat with our bot. So, we want to chat chat with our bot. So, we want to chat with the bot that we just created. From with the bot that we just created. From with the bot that we just created. From here, we're going to press on start. And here, we're going to press on start. And here, we're going to press on start. And as soon as it's connected, we should get as soon as it's connected, we should get as soon as it's connected, we should get some kind of message here saying, "Hey, some kind of message here saying, "Hey, some kind of message here saying, "Hey, like we need to pair this or add some like we need to pair this or add some like we need to pair this or add some setting." So, wait for the bot to setting." So, wait for the bot to setting." So, wait for the bot to finish. And then what you can do is just finish. And then what you can do is just finish. And then what you can do is just type any message here again. And it type any message here again. And it type any message here again. And it should tell you something like, "Hey, should tell you something like, "Hey, should tell you something like, "Hey, it's not paired. It's not connected." it's not paired. It's not connected." it's not paired. It's not connected." And then we can run the pairing command. And then we can run the pairing command. And then we can run the pairing command. All right. So, this works and I just All right. So, this works and I just All right. So, this works and I just typed hi and you can see that it now typed hi and you can see that it now typed hi and you can see that it now gives me this. So, I'm just going to gives me this. So, I'm just going to gives me this. So, I'm just going to copy this code here and I'm going to say copy this code here and I'm going to say copy this code here and I'm going to say I got this, you know, pair it whatever I got this, you know, pair it whatever I got this, you know, pair it whatever and just paste the information in and and just paste the information in and and just paste the information in and hopefully we'll be able to run the hopefully we'll be able to run the hopefully we'll be able to run the pairing command and then we'll be pairing command and then we'll be pairing command and then we'll be connected with Telegram. All right, so connected with Telegram. All right, so connected with Telegram. All right, so it said the pairing was approved. What it said the pairing was approved. What it said the pairing was approved. What I'm going to do now is just take type hi I'm going to do now is just take type hi I'm going to do now is just take type hi and see if we get a response from the and see if we get a response from the and see if we get a response from the bot and then from this point forward bot and then from this point forward bot and then from this point forward we're able just directly to use we're able just directly to use we're able just directly to use telegram. Okay, so it says we're using telegram. Okay, so it says we're using telegram. Okay, so it says we're using Opus 4.6. Hey, Telegram is connected. Opus 4.6. Hey, Telegram is connected. Opus 4.6. Hey, Telegram is connected. What do you want me to do next? Perfect. What do you want me to do next? Perfect. What do you want me to do next? Perfect. So that is exactly what I was looking So that is exactly what I was looking So that is exactly what I was looking for. So now rather than me having to for. So now rather than me having to for. So now rather than me having to type out all of the prompts, I do want type out all of the prompts, I do want type out all of the prompts, I do want the ability to actually just speak them. the ability to actually just speak them. the ability to actually just speak them. So I'm going to tell it enable speech to So I'm going to tell it enable speech to So I'm going to tell it enable speech to text so you can transcribe my audio text so you can transcribe my audio text so you can transcribe my audio messages. Because by default, if I send messages. Because by default, if I send messages. Because by default, if I send this an audio message, it's not going to this an audio message, it's not going to this an audio message, it's not going to understand it. So I'm just going to tell understand it. So I'm just going to tell understand it. So I'm just going to tell it, hey, you know, add that tool, add it, hey, you know, add that tool, add it, hey, you know, add that tool, add that skill, and set yourself up. Now that skill, and set yourself up. Now that skill, and set yourself up. Now while it does that I will just quickly while it does that I will just quickly while it does that I will just quickly mention right that the thing that makes mention right that the thing that makes mention right that the thing that makes this bot useful is skills. So if you this bot useful is skills. So if you this bot useful is skills. So if you press on skills here in the uh what do press on skills here in the uh what do press on skills here in the uh what do you call it claw dashboard or you know you call it claw dashboard or you know you call it claw dashboard or you know gateway dashboard whatever you want to gateway dashboard whatever you want to gateway dashboard whatever you want to call it you'll see there's this long call it you'll see there's this long call it you'll see there's this long list of default kind of built-in skills list of default kind of built-in skills list of default kind of built-in skills that you can install and configure. Now that you can install and configure. Now that you can install and configure. Now skills usually contain some kind of skills usually contain some kind of skills usually contain some kind of underlying software as well as a underlying software as well as a underlying software as well as a markdown file that explains to the model markdown file that explains to the model markdown file that explains to the model in this case open claw how to actually in this case open claw how to actually in this case open claw how to actually use the skill. So go through here have a use the skill. So go through here have a use the skill. So go through here have a look at some skills that are useful to look at some skills that are useful to look at some skills that are useful to yourself and you can disable them or you yourself and you can disable them or you yourself and you can disable them or you can install them. Sometimes again you can install them. Sometimes again you can install them. Sometimes again you need some command, right? And I'll show need some command, right? And I'll show need some command, right? And I'll show you installing some of them in a second. you installing some of them in a second. you installing some of them in a second. But when we tell this, hey, we want to But when we tell this, hey, we want to But when we tell this, hey, we want to be able to speak to you. What we're be able to speak to you. What we're be able to speak to you. What we're effectively telling it to do is create a effectively telling it to do is create a effectively telling it to do is create a new skill that will allow it to new skill that will allow it to new skill that will allow it to transcribe audio messages. So, I'm going transcribe audio messages. So, I'm going transcribe audio messages. So, I'm going to go here and it says we can enable to go here and it says we can enable to go here and it says we can enable audio transcription, but you need to audio transcription, but you need to audio transcription, but you need to pick a transcription provider. The pick a transcription provider. The pick a transcription provider. The config schema supports config schema supports config schema supports tools.mmedia.audio tools.mmedia.audio tools.mmedia.audio uh deepgram openai. I'm going to say use uh deepgram openai. I'm going to say use uh deepgram openai. I'm going to say use whatever the default is whatever the default is whatever the default is that doesn't that doesn't that doesn't okay say doesn't require a new key. okay say doesn't require a new key. okay say doesn't require a new key. Perfect. And then that should enable Perfect. And then that should enable Perfect. And then that should enable voice mode for us. Okay. So you can see voice mode for us. Okay. So you can see voice mode for us. Okay. So you can see even though it was kind of lying to us even though it was kind of lying to us even though it was kind of lying to us before and saying hey you know I need to before and saying hey you know I need to before and saying hey you know I need to provide open AAI key whatever I just provide open AAI key whatever I just provide open AAI key whatever I just told it no you don't need that because I told it no you don't need that because I told it no you don't need that because I know it can do it by default and it said know it can do it by default and it said know it can do it by default and it said we can now send an audio message. So we can now send an audio message. So we can now send an audio message. So let's test this. Hey so I'm just sending let's test this. Hey so I'm just sending let's test this. Hey so I'm just sending an audio message. Can you tell me what an audio message. Can you tell me what an audio message. Can you tell me what this audio message says? Make sure that this audio message says? Make sure that this audio message says? Make sure that you can transcribe it correctly and that you can transcribe it correctly and that you can transcribe it correctly and that you can understand my accent. Just give you can understand my accent. Just give you can understand my accent. Just give me back exactly what I said in the audio me back exactly what I said in the audio me back exactly what I said in the audio message. message. message. Okay. Perfect. and it should be able to Okay. Perfect. and it should be able to Okay. Perfect. and it should be able to understand this now and transcribe it. understand this now and transcribe it. understand this now and transcribe it. Let's see if that works. All right, so Let's see if that works. All right, so Let's see if that works. All right, so this is being a little bit annoying this is being a little bit annoying this is being a little bit annoying here. Let's just bring it back. And it's here. Let's just bring it back. And it's here. Let's just bring it back. And it's telling me, hey, there's no model even telling me, hey, there's no model even telling me, hey, there's no model even though it said it used the model and it though it said it used the model and it though it said it used the model and it set it up. So I'm just going to tell it set it up. So I'm just going to tell it set it up. So I'm just going to tell it install whisper locally to convert install whisper locally to convert install whisper locally to convert speech to text. That should set up for speech to text. That should set up for speech to text. That should set up for us and get it working. Again, I'm us and get it working. Again, I'm us and get it working. Again, I'm showing you the process. This is what showing you the process. This is what showing you the process. This is what happens when you're working with happens when you're working with happens when you're working with OpenClaw. Sometimes stuff breaks and you OpenClaw. Sometimes stuff breaks and you OpenClaw. Sometimes stuff breaks and you have to do a bit of problem solving. have to do a bit of problem solving. have to do a bit of problem solving. Okay, so it said that it's installed Okay, so it said that it's installed Okay, so it said that it's installed this now and it's just asking me if I this now and it's just asking me if I this now and it's just asking me if I want better accuracy or for it to be want better accuracy or for it to be want better accuracy or for it to be faster. So I'm just going to type bass faster. So I'm just going to type bass faster. So I'm just going to type bass and I hope this is going to work. Hey, and I hope this is going to work. Hey, and I hope this is going to work. Hey, I'm doing a test. I want to see if you I'm doing a test. I want to see if you I'm doing a test. I want to see if you can transcribe this audio message. If can transcribe this audio message. If can transcribe this audio message. If so, tell me exactly what it said. Okay, so, tell me exactly what it said. Okay, so, tell me exactly what it said. Okay, and let's see what we get. Okay, so it and let's see what we get. Okay, so it and let's see what we get. Okay, so it looks like the audio message I was looks like the audio message I was looks like the audio message I was sending was blank because I was sending sending was blank because I was sending sending was blank because I was sending it from my computer and I guess my mic it from my computer and I guess my mic it from my computer and I guess my mic is already being used by OBS to record. is already being used by OBS to record. is already being used by OBS to record. So I just sent one from my phone and So I just sent one from my phone and So I just sent one from my phone and hopefully it's going to work now. Let's hopefully it's going to work now. Let's hopefully it's going to work now. Let's see. Awesome. And finally, it looks like see. Awesome. And finally, it looks like see. Awesome. And finally, it looks like it's working. We have voice mode it's working. We have voice mode it's working. We have voice mode enabled. I can now send audio messages enabled. I can now send audio messages enabled. I can now send audio messages for it to transcribe. All right. So, now for it to transcribe. All right. So, now for it to transcribe. All right. So, now that Telegram is configured, what I want that Telegram is configured, what I want that Telegram is configured, what I want to do is I want to start setting up some to do is I want to start setting up some to do is I want to start setting up some different Telegram channels that we can different Telegram channels that we can different Telegram channels that we can chat inside of that are going to allow chat inside of that are going to allow chat inside of that are going to allow us to kind of segregate different things us to kind of segregate different things us to kind of segregate different things that we're talking about. So, for that we're talking about. So, for that we're talking about. So, for example, if I have the bot running as example, if I have the bot running as example, if I have the bot running as like a virtual assistant, but then I like a virtual assistant, but then I like a virtual assistant, but then I also have it running like an accounting also have it running like an accounting also have it running like an accounting task or doing programming, I probably task or doing programming, I probably task or doing programming, I probably don't want all of my messages in one don't want all of my messages in one don't want all of my messages in one channel because that's going to be channel because that's going to be channel because that's going to be pretty difficult to organize and to view pretty difficult to organize and to view pretty difficult to organize and to view the history of. So, what we can do is we the history of. So, what we can do is we the history of. So, what we can do is we can make a new group here in Telegram. can make a new group here in Telegram. can make a new group here in Telegram. So, what I can do is go here, go new So, what I can do is go here, go new So, what I can do is go here, go new group. I can call this, you know, group. I can call this, you know, group. I can call this, you know, startup ideas or whatever the thing is startup ideas or whatever the thing is startup ideas or whatever the thing is that I want to chat about with the bot. that I want to chat about with the bot. that I want to chat about with the bot. So, let's go startup ideas, not So, let's go startup ideas, not So, let's go startup ideas, not channels. And then let's add the bot by channels. And then let's add the bot by channels. And then let's add the bot by just typing in their username. Okay. And just typing in their username. Okay. And just typing in their username. Okay. And go ahead and press on create. So now go ahead and press on create. So now go ahead and press on create. So now what I can do is I can start chatting what I can do is I can start chatting what I can do is I can start chatting with the bot. But in order for this to with the bot. But in order for this to with the bot. But in order for this to work, I do need to manage the group and work, I do need to manage the group and work, I do need to manage the group and I need to give the bot permissions. So I need to give the bot permissions. So I need to give the bot permissions. So I'm just going to right click on the bot I'm just going to right click on the bot I'm just going to right click on the bot here and I'm going to go promote to here and I'm going to go promote to here and I'm going to go promote to admin. And when I promote them to admin, admin. And when I promote them to admin, admin. And when I promote them to admin, I am going to just make sure they have I am going to just make sure they have I am going to just make sure they have the correct permissions and go save. And the correct permissions and go save. And the correct permissions and go save. And now what I can do, wait one second. And now what I can do, wait one second. And now what I can do, wait one second. And let me just look at this cuz it says it let me just look at this cuz it says it let me just look at this cuz it says it has no access or has access to messages. has no access or has access to messages. has no access or has access to messages. Okay, good. I'm going to just tag the Okay, good. I'm going to just tag the Okay, good. I'm going to just tag the bot. So say at Tim Aello. bot. So say at Tim Aello. bot. So say at Tim Aello. Okay. And hopefully it's going to read Okay. And hopefully it's going to read Okay. And hopefully it's going to read something. So it reacted to that showing something. So it reacted to that showing something. So it reacted to that showing us that it saw it. So that's a good us that it saw it. So that's a good us that it saw it. So that's a good sign. Says, "Hey Tim, what's up?" sign. Says, "Hey Tim, what's up?" sign. Says, "Hey Tim, what's up?" Perfect. So now I can chat with the bot Perfect. So now I can chat with the bot Perfect. So now I can chat with the bot directly inside of this channel. And all directly inside of this channel. And all directly inside of this channel. And all I need to do is give the bot I need to do is give the bot I need to do is give the bot instructions to remember that it should instructions to remember that it should instructions to remember that it should only talk about these ideas in this only talk about these ideas in this only talk about these ideas in this particular channel. So, what I'm going particular channel. So, what I'm going particular channel. So, what I'm going to do is I'm just going to do a voice to do is I'm just going to do a voice to do is I'm just going to do a voice transcription here and tell you kind of transcription here and tell you kind of transcription here and tell you kind of how I would instruct this. Hey, so I'm how I would instruct this. Hey, so I'm how I would instruct this. Hey, so I'm going to start adding you to some group going to start adding you to some group going to start adding you to some group chats where it's just you and me. The chats where it's just you and me. The chats where it's just you and me. The name of the group chat or the name of name of the group chat or the name of name of the group chat or the name of the group channel is the topic that I the group channel is the topic that I the group channel is the topic that I want to discuss in that channel. Don't want to discuss in that channel. Don't want to discuss in that channel. Don't talk about anything else and only reply talk about anything else and only reply talk about anything else and only reply or send me messages in the appropriate or send me messages in the appropriate or send me messages in the appropriate channels based on the name of them. If I channels based on the name of them. If I channels based on the name of them. If I DM you directly, we can talk about DM you directly, we can talk about DM you directly, we can talk about anything. But if I DM in a channel like anything. But if I DM in a channel like anything. But if I DM in a channel like you know startup ideas or something we you know startup ideas or something we you know startup ideas or something we only talk about startup ideas again only talk about startup ideas again only talk about startup ideas again whatever the title of that uh what do whatever the title of that uh what do whatever the title of that uh what do you call it channel is. Now I also want you call it channel is. Now I also want you call it channel is. Now I also want you to reply to any message. So don't you to reply to any message. So don't you to reply to any message. So don't just reply if I ping you reply to just reply if I ping you reply to just reply if I ping you reply to anything in those channels. Make this a anything in those channels. Make this a anything in those channels. Make this a rule and ensure that you remember this rule and ensure that you remember this rule and ensure that you remember this going forward in the future. Uh you also going forward in the future. Uh you also going forward in the future. Uh you also should be able to create groups with me. should be able to create groups with me. should be able to create groups with me. I'll give you the permission to do that. I'll give you the permission to do that. I'll give you the permission to do that. So, if we have a new thing to talk So, if we have a new thing to talk So, if we have a new thing to talk about, make a new group with me and about, make a new group with me and about, make a new group with me and start chatting with me there. I don't start chatting with me there. I don't start chatting with me there. I don't know if that last part's going to work know if that last part's going to work know if that last part's going to work because I actually haven't tried that because I actually haven't tried that because I actually haven't tried that before, but I'm just going to send that before, but I'm just going to send that before, but I'm just going to send that over to the bot. And I will go and over to the bot. And I will go and over to the bot. And I will go and configure the bot further to hopefully configure the bot further to hopefully configure the bot further to hopefully allow it to create new groups. Okay, so allow it to create new groups. Okay, so allow it to create new groups. Okay, so we're replying to that. Now, I don't we're replying to that. Now, I don't we're replying to that. Now, I don't know if this is actually going to be know if this is actually going to be know if this is actually going to be able to create new groups cuz I don't able to create new groups cuz I don't able to create new groups cuz I don't know if there's another setting we need know if there's another setting we need know if there's another setting we need for that, but I'm going to say create a for that, but I'm going to say create a for that, but I'm going to say create a new group called new group called new group called accounting. And let's see if it's able accounting. And let's see if it's able accounting. And let's see if it's able to do that. Okay, so it looks like it to do that. Okay, so it looks like it to do that. Okay, so it looks like it can't make the uh groups for us. There's can't make the uh groups for us. There's can't make the uh groups for us. There's probably a way that I can enable that, probably a way that I can enable that, probably a way that I can enable that, but for now, we'll just leave it. but for now, we'll just leave it. but for now, we'll just leave it. Anyways, point is we can make different Anyways, point is we can make different Anyways, point is we can make different groups, right? We can pin those groups groups, right? We can pin those groups groups, right? We can pin those groups and then we can just have kind of a more and then we can just have kind of a more and then we can just have kind of a more organized way of chatting with the bot. organized way of chatting with the bot. organized way of chatting with the bot. Now, I did try to send something in the Now, I did try to send something in the Now, I did try to send something in the group and I did still need to ping the group and I did still need to ping the group and I did still need to ping the bot. So, again, there's probably a way bot. So, again, there's probably a way bot. So, again, there's probably a way to configure that, but for now, that's to configure that, but for now, that's to configure that, but for now, that's fine. We can just ping the bot if we fine. We can just ping the bot if we fine. We can just ping the bot if we wanted to reply. And actually, in the wanted to reply. And actually, in the wanted to reply. And actually, in the future, we could add multiple of our future, we could add multiple of our future, we could add multiple of our bots in the same group. That could be bots in the same group. That could be bots in the same group. That could be interesting to see how that would go. interesting to see how that would go. interesting to see how that would go. Okay, anyways, let's go back here and Okay, anyways, let's go back here and Okay, anyways, let's go back here and let's now start talking about skills. let's now start talking about skills. let's now start talking about skills. So, skills allow the bot to have some So, skills allow the bot to have some So, skills allow the bot to have some capabilities that it can complete, capabilities that it can complete, capabilities that it can complete, right? Or that it can do. Now, by right? Or that it can do. Now, by right? Or that it can do. Now, by default, there's some skills that are default, there's some skills that are default, there's some skills that are already added. And if we go to the uh already added. And if we go to the uh already added. And if we go to the uh what do you call it? Gateway dashboard. what do you call it? Gateway dashboard. what do you call it? Gateway dashboard. And you go to skills and you expand And you go to skills and you expand And you go to skills and you expand this, you'll see there's a bunch of this, you'll see there's a bunch of this, you'll see there's a bunch of default skills that are already default skills that are already default skills that are already installed that you just need to enable installed that you just need to enable installed that you just need to enable or add the dependencies for. For or add the dependencies for. For or add the dependencies for. For example, voice calling, right? getting example, voice calling, right? getting example, voice calling, right? getting the weather, playing a Spotify song, you the weather, playing a Spotify song, you the weather, playing a Spotify song, you know, creating a skill is a skill that know, creating a skill is a skill that know, creating a skill is a skill that exists, all of this kind of stuff. So, I exists, all of this kind of stuff. So, I exists, all of this kind of stuff. So, I would suggest reading through here and would suggest reading through here and would suggest reading through here and enabling any of the ones that you want enabling any of the ones that you want enabling any of the ones that you want for sure, but I also would suggest for sure, but I also would suggest for sure, but I also would suggest having a look at this place called having a look at this place called having a look at this place called Clawhub. Now, Claw Hub has a list of Clawhub. Now, Claw Hub has a list of Clawhub. Now, Claw Hub has a list of pre-built skills that you can use and pre-built skills that you can use and pre-built skills that you can use and just build into your bot. However, just build into your bot. However, just build into your bot. However, before you start just going and adding before you start just going and adding before you start just going and adding all of these random skills, I would all of these random skills, I would all of these random skills, I would suggest that you understand what a skill suggest that you understand what a skill suggest that you understand what a skill is. And uh we're going to talk about is. And uh we're going to talk about is. And uh we're going to talk about that now. So, a skill is effectively that now. So, a skill is effectively that now. So, a skill is effectively just a markdown file. Now, I'm going to just a markdown file. Now, I'm going to just a markdown file. Now, I'm going to show you that if I open up any one of show you that if I open up any one of show you that if I open up any one of these skills, you'll see that the skill these skills, you'll see that the skill these skills, you'll see that the skill is just in this skill.md file. MD stands is just in this skill.md file. MD stands is just in this skill.md file. MD stands for markdown. And all the skill is is for markdown. And all the skill is is for markdown. And all the skill is is just a bunch of formatted text that just a bunch of formatted text that just a bunch of formatted text that explains what the bot should be able to explains what the bot should be able to explains what the bot should be able to do. Now, the skill can also reference do. Now, the skill can also reference do. Now, the skill can also reference files. So, you can see in this case, it files. So, you can see in this case, it files. So, you can see in this case, it has like a scripts/stats.py has like a scripts/stats.py has like a scripts/stats.py file, which is a Python file that it can file, which is a Python file that it can file, which is a Python file that it can run to complete something. So that's all run to complete something. So that's all run to complete something. So that's all a skill is. You can tell the bot to add a skill is. You can tell the bot to add a skill is. You can tell the bot to add its own skill and it can just write it, its own skill and it can just write it, its own skill and it can just write it, configure it, add it itself, or you can configure it, add it itself, or you can configure it, add it itself, or you can bring in pre-built skills from a place bring in pre-built skills from a place bring in pre-built skills from a place like Clawub. Again, I don't suggest just like Clawub. Again, I don't suggest just like Clawub. Again, I don't suggest just randomly bringing them in. But I want to randomly bringing them in. But I want to randomly bringing them in. But I want to show you how you can view all of the show you how you can view all of the show you how you can view all of the skills that your bot has and start skills that your bot has and start skills that your bot has and start actually viewing all of the different actually viewing all of the different actually viewing all of the different files that essentially enable the bot to files that essentially enable the bot to files that essentially enable the bot to do something. So to do that, you need to do something. So to do that, you need to do something. So to do that, you need to open up some kind of code editor. Now, I open up some kind of code editor. Now, I open up some kind of code editor. Now, I suggest that you open up cursor. You can suggest that you open up cursor. You can suggest that you open up cursor. You can also open up Visual Studio Code or VS also open up Visual Studio Code or VS also open up Visual Studio Code or VS Code. You can download it for free on Code. You can download it for free on Code. You can download it for free on the internet. Just search VS Code or the internet. Just search VS Code or the internet. Just search VS Code or cursor download. Okay. So, from here, cursor download. Okay. So, from here, cursor download. Okay. So, from here, what we're going to do is hit control what we're going to do is hit control what we're going to do is hit control shiftp or commandshiftp on our keyboard shiftp or commandshiftp on our keyboard shiftp or commandshiftp on our keyboard and we're going to go add new SSH host. and we're going to go add new SSH host. and we're going to go add new SSH host. This is how you open the command pallet This is how you open the command pallet This is how you open the command pallet in VS Code or cursor. From here, we're in VS Code or cursor. From here, we're in VS Code or cursor. From here, we're going to say SSH root at and then we're going to say SSH root at and then we're going to say SSH root at and then we're just going to copy whatever we had here. just going to copy whatever we had here. just going to copy whatever we had here. So, actually, we just copy this command. So, actually, we just copy this command. So, actually, we just copy this command. And again, make sure we know what the And again, make sure we know what the And again, make sure we know what the password is and hit enter. We can just password is and hit enter. We can just password is and hit enter. We can just use the default SSH config. Then we're use the default SSH config. Then we're use the default SSH config. Then we're going to go control shiftp again or going to go control shiftp again or going to go control shiftp again or command shiftp and then connect to host command shiftp and then connect to host command shiftp and then connect to host and we're just going to choose the host and we're just going to choose the host and we're just going to choose the host that we added recently. Okay. Now once that we added recently. Okay. Now once that we added recently. Okay. Now once we press that, it's going to open up a we press that, it's going to open up a we press that, it's going to open up a new window. We're going to select our new window. We're going to select our new window. We're going to select our operating system as Linux and we're operating system as Linux and we're operating system as Linux and we're going to paste in our root password and going to paste in our root password and going to paste in our root password and hit enter. From there, it should open up hit enter. From there, it should open up hit enter. From there, it should open up a remote kind of terminal and you're now a remote kind of terminal and you're now a remote kind of terminal and you're now inside of the server. So, what we can do inside of the server. So, what we can do inside of the server. So, what we can do is we can actually go open folder and we is we can actually go open folder and we is we can actually go open folder and we can find the folder that contains all of can find the folder that contains all of can find the folder that contains all of the data for open claw. So, in order to the data for open claw. So, in order to the data for open claw. So, in order to find this folder, we're going to go to find this folder, we're going to go to find this folder, we're going to go to docker. We're going to go to openclaw docker. We're going to go to openclaw docker. We're going to go to openclaw data and then openclaw like that. And data and then openclaw like that. And data and then openclaw like that. And you can see there's a bunch of stuff you can see there's a bunch of stuff you can see there's a bunch of stuff here. So, we're going to go ahead and here. So, we're going to go ahead and here. So, we're going to go ahead and press on open. And then in the lefth press on open. And then in the lefth press on open. And then in the lefth hand sidebar, let me just close my hand sidebar, let me just close my hand sidebar, let me just close my agent. Uh, okay, it's asking me for the agent. Uh, okay, it's asking me for the agent. Uh, okay, it's asking me for the password again. So that's fine. Let's password again. So that's fine. Let's password again. So that's fine. Let's type the password. We should be able to type the password. We should be able to type the password. We should be able to see this data. So you'll notice here if see this data. So you'll notice here if see this data. So you'll notice here if you open up the sidebar to view the you open up the sidebar to view the you open up the sidebar to view the files, right, you can do that with files, right, you can do that with files, right, you can do that with controlB or commandB on your keyboard controlB or commandB on your keyboard controlB or commandB on your keyboard that you'll see a bunch of information that you'll see a bunch of information that you'll see a bunch of information showing up. Okay, so we have showing up. Okay, so we have showing up. Okay, so we have credentials, we have cron, and then if credentials, we have cron, and then if credentials, we have cron, and then if you go into workspace, we have all of you go into workspace, we have all of you go into workspace, we have all of these different files, which is really these different files, which is really these different files, which is really the configuration for the agent. Now, the configuration for the agent. Now, the configuration for the agent. Now, right now, we don't see any skills in right now, we don't see any skills in right now, we don't see any skills in here. The reason for that is that a lot here. The reason for that is that a lot here. The reason for that is that a lot of the built-in skills are actually of the built-in skills are actually of the built-in skills are actually stored in a different location because stored in a different location because stored in a different location because they're already written. But if you were they're already written. But if you were they're already written. But if you were to ask the bot to make its own skill, it to ask the bot to make its own skill, it to ask the bot to make its own skill, it should show up here. So, let's actually should show up here. So, let's actually should show up here. So, let's actually test that. Make a simple skill that says test that. Make a simple skill that says test that. Make a simple skill that says hello world in five languages. And let's hello world in five languages. And let's hello world in five languages. And let's just go five random languages. Okay. And just go five random languages. Okay. And just go five random languages. Okay. And let's see actually if it can create let's see actually if it can create let's see actually if it can create that. And then we're going to have to that. And then we're going to have to that. And then we're going to have to refresh this and we'll be able to view refresh this and we'll be able to view refresh this and we'll be able to view hopefully the new skill file. so I can hopefully the new skill file. so I can hopefully the new skill file. so I can show you what it looks like before we show you what it looks like before we show you what it looks like before we start enabling other ones. Okay, so it's start enabling other ones. Okay, so it's start enabling other ones. Okay, so it's making the skill right now and you can making the skill right now and you can making the skill right now and you can actually see that it's now created a new actually see that it's now created a new actually see that it's now created a new folder called skills and then it has folder called skills and then it has folder called skills and then it has hello world languages as a subfolder hello world languages as a subfolder hello world languages as a subfolder which is the name of the skill and then which is the name of the skill and then which is the name of the skill and then we have this skill.md we have this skill.md we have this skill.md file that explains what the skill is file that explains what the skill is file that explains what the skill is right name description and then all of right name description and then all of right name description and then all of this. Now you'll notice that after I do this. Now you'll notice that after I do this. Now you'll notice that after I do that I now will have a command and this that I now will have a command and this that I now will have a command and this command should be hello world languages command should be hello world languages command should be hello world languages uh or sorry /skill. So I can do /skill uh or sorry /skill. So I can do /skill uh or sorry /skill. So I can do /skill and then I can do hello-world-languages and it should trigger that skill to and it should trigger that skill to and it should trigger that skill to execute. And you can see that it now execute. And you can see that it now execute. And you can see that it now runs the skill. Right? So that's runs the skill. Right? So that's runs the skill. Right? So that's effectively what a skill is. I just want effectively what a skill is. I just want effectively what a skill is. I just want you to understand that before we start you to understand that before we start you to understand that before we start adding a bunch of them. And now that we adding a bunch of them. And now that we adding a bunch of them. And now that we can make our own custom skills, which is can make our own custom skills, which is can make our own custom skills, which is very easy, right? You just ask it to do very easy, right? You just ask it to do very easy, right? You just ask it to do something which is a repeatable task something which is a repeatable task something which is a repeatable task that you want it to have written down. that you want it to have written down. that you want it to have written down. Make sure you review what it writes Make sure you review what it writes Make sure you review what it writes inside of here and customize it because inside of here and customize it because inside of here and customize it because that's going to give you the best that's going to give you the best that's going to give you the best results. Now, some skills that we results. Now, some skills that we results. Now, some skills that we definitely want to enable that are uh definitely want to enable that are uh definitely want to enable that are uh default skills are going to be the default skills are going to be the default skills are going to be the following, and they have to do with Git following, and they have to do with Git following, and they have to do with Git and GitHub. So, a lot of times you can and GitHub. So, a lot of times you can and GitHub. So, a lot of times you can have your agent actually code its own have your agent actually code its own have your agent actually code its own skills. So, it can write its own custom skills. So, it can write its own custom skills. So, it can write its own custom Python files or scripts or whatever Python files or scripts or whatever Python files or scripts or whatever websites. Uh, and that's quite useful. websites. Uh, and that's quite useful. websites. Uh, and that's quite useful. So, what you're going to want to do So, what you're going to want to do So, what you're going to want to do right away when setting up this agent is right away when setting up this agent is right away when setting up this agent is first enable the coding agent. So, what first enable the coding agent. So, what first enable the coding agent. So, what you can just simply do is you can copy you can just simply do is you can copy you can just simply do is you can copy this and just tell the agent this and just tell the agent this and just tell the agent enable this skill. Okay, so I'm just enable this skill. Okay, so I'm just enable this skill. Okay, so I'm just going to say enable this skill and just going to say enable this skill and just going to say enable this skill and just copy it and it's going to go and install copy it and it's going to go and install copy it and it's going to go and install and configure it as needed. You're also and configure it as needed. You're also and configure it as needed. You're also going to want to enable GitHub. And in going to want to enable GitHub. And in going to want to enable GitHub. And in order to enable GitHub, I highly suggest order to enable GitHub, I highly suggest order to enable GitHub, I highly suggest that you create your own GitHub account that you create your own GitHub account that you create your own GitHub account specifically for the bot. So, I've specifically for the bot. So, I've specifically for the bot. So, I've already done this. I've gone to already done this. I've gone to already done this. I've gone to github.com. I've made my own bot or my github.com. I've made my own bot or my github.com. I've made my own bot or my own GitHub account called Techwithim own GitHub account called Techwithim own GitHub account called Techwithim Claudebot. And what we'll do is we'll Claudebot. And what we'll do is we'll Claudebot. And what we'll do is we'll connect this GitHub account, so not our connect this GitHub account, so not our connect this GitHub account, so not our GitHub account, a separate GitHub GitHub account, a separate GitHub GitHub account, a separate GitHub account to the bot and then allow it to account to the bot and then allow it to account to the bot and then allow it to write all of its code. Now, notice that write all of its code. Now, notice that write all of its code. Now, notice that I actually have some code here already. I actually have some code here already. I actually have some code here already. And the reason for this is I've And the reason for this is I've And the reason for this is I've instructed my Clawbot on a different instructed my Clawbot on a different instructed my Clawbot on a different instance for anytime it writes any code instance for anytime it writes any code instance for anytime it writes any code to commit the code to GitHub, to commit the code to GitHub, to commit the code to GitHub, automatically create a new git repo, and automatically create a new git repo, and automatically create a new git repo, and store all of the code so that I always store all of the code so that I always store all of the code so that I always have access to it. I can manage it, I have access to it. I can manage it, I have access to it. I can manage it, I can make changes, I can pull it down. can make changes, I can pull it down. can make changes, I can pull it down. You get the idea. Okay, so we have like You get the idea. Okay, so we have like You get the idea. Okay, so we have like you know a YouTube OS dashboard whatever you know a YouTube OS dashboard whatever you know a YouTube OS dashboard whatever all of this stuff and you can see any of all of this stuff and you can see any of all of this stuff and you can see any of the code that's been written. So anyways the code that's been written. So anyways the code that's been written. So anyways let's go back to Telegram and you can let's go back to Telegram and you can let's go back to Telegram and you can see it says the coding agent skill is see it says the coding agent skill is see it says the coding agent skill is already present by missing the already present by missing the already present by missing the requirements. I'm going to say use requirements. I'm going to say use requirements. I'm going to say use codeex. Okay, and hopefully it's going codeex. Okay, and hopefully it's going codeex. Okay, and hopefully it's going to set that up. Okay, so it looks like to set that up. Okay, so it looks like to set that up. Okay, so it looks like codeex was installed. So if we go back codeex was installed. So if we go back codeex was installed. So if we go back here now we should be able to see that here now we should be able to see that here now we should be able to see that the coding agent we might just have to the coding agent we might just have to the coding agent we might just have to refresh here hopefully is no longer refresh here hopefully is no longer refresh here hopefully is no longer being blocked. So let's go here and you being blocked. So let's go here and you being blocked. So let's go here and you can see coding agent is good. We can can see coding agent is good. We can can see coding agent is good. We can also see we have workspace skills. And also see we have workspace skills. And also see we have workspace skills. And these are ones that it created itself. these are ones that it created itself. these are ones that it created itself. Cool. So the other one that we want is Cool. So the other one that we want is Cool. So the other one that we want is GitHub. So I'm just going to press the GitHub. So I'm just going to press the GitHub. So I'm just going to press the button to install the GitHub CLI here. button to install the GitHub CLI here. button to install the GitHub CLI here. And then what I'm going to do is go down And then what I'm going to do is go down And then what I'm going to do is go down to uh what is it? My agent and tell it to uh what is it? My agent and tell it to uh what is it? My agent and tell it to configure GitHub and you know tell me to configure GitHub and you know tell me to configure GitHub and you know tell me what I need to do to essentially have my what I need to do to essentially have my what I need to do to essentially have my GitHub account signed in. So I'm going GitHub account signed in. So I'm going GitHub account signed in. So I'm going to say configure git/github to say configure git/github to say configure git/github and tell me how to connect my account. and tell me how to connect my account. and tell me how to connect my account. Okay. So it's given me a few steps here. Okay. So it's given me a few steps here. Okay. So it's given me a few steps here. It says I need to set my Git identity It says I need to set my Git identity It says I need to set my Git identity and then authenticate with the GitHub and then authenticate with the GitHub and then authenticate with the GitHub CLI. So I'm going to tell it my name as CLI. So I'm going to tell it my name as CLI. So I'm going to tell it my name as well as my email and then to well as my email and then to well as my email and then to authenticate for me. Okay, cool. So what authenticate for me. Okay, cool. So what authenticate for me. Okay, cool. So what I'm going to do is just go to this link I'm going to do is just go to this link I'm going to do is just go to this link that it's giving me and then type in that it's giving me and then type in that it's giving me and then type in this code. So let's do that and see if this code. So let's do that and see if this code. So let's do that and see if we can authenticate. Okay, so I just did we can authenticate. Okay, so I just did we can authenticate. Okay, so I just did that. So I just told it, hey, I did that. So I just told it, hey, I did that. So I just told it, hey, I did that. You know, maybe it's going to test that. You know, maybe it's going to test that. You know, maybe it's going to test this now and let's see if GitHub is this now and let's see if GitHub is this now and let's see if GitHub is working. And then again we can give this working. And then again we can give this working. And then again we can give this some instructions to save to always some instructions to save to always some instructions to save to always write and save any code um you know to write and save any code um you know to write and save any code um you know to GitHub effectively. All right so looks GitHub effectively. All right so looks GitHub effectively. All right so looks like GitHub is configured. Now the next like GitHub is configured. Now the next like GitHub is configured. Now the next thing that I want to do is go over thing that I want to do is go over thing that I want to do is go over memory and preferences just so you memory and preferences just so you memory and preferences just so you understand kind of how this works in uh understand kind of how this works in uh understand kind of how this works in uh what do you call it open claw. So what do you call it open claw. So what do you call it open claw. So something you need to understand is that something you need to understand is that something you need to understand is that anytime open claw spins up again and you anytime open claw spins up again and you anytime open claw spins up again and you have a new session it effectively have a new session it effectively have a new session it effectively forgets whatever you were talking about forgets whatever you were talking about forgets whatever you were talking about before. Now the only way for it to before. Now the only way for it to before. Now the only way for it to remember something and to keep improving remember something and to keep improving remember something and to keep improving is for it to actually modify the files is for it to actually modify the files is for it to actually modify the files that it has in its file system and you that it has in its file system and you that it has in its file system and you can think of the files like its memory. can think of the files like its memory. can think of the files like its memory. Now there are multiple files you're Now there are multiple files you're Now there are multiple files you're going to see here related specifically going to see here related specifically going to see here related specifically to memory. So first is memory MD. Now to memory. So first is memory MD. Now to memory. So first is memory MD. Now this is persistent long-term memory that this is persistent long-term memory that this is persistent long-term memory that it will always read before it's doing it will always read before it's doing it will always read before it's doing some kind of action. So if there's some kind of action. So if there's some kind of action. So if there's something that you always want it to something that you always want it to something that you always want it to remember, you put it inside of this file remember, you put it inside of this file remember, you put it inside of this file right here, or you tell the model to put right here, or you tell the model to put right here, or you tell the model to put it there. The other memory is daily it there. The other memory is daily it there. The other memory is daily memory, which is set up by default. And memory, which is set up by default. And memory, which is set up by default. And if you go here into the workspace, if you go here into the workspace, if you go here into the workspace, you'll see that it has memories for each you'll see that it has memories for each you'll see that it has memories for each day. Okay, so it explains what's day. Okay, so it explains what's day. Okay, so it explains what's happening, what's going on in that day, happening, what's going on in that day, happening, what's going on in that day, what it needs to do, blah blah blah. what it needs to do, blah blah blah. what it needs to do, blah blah blah. Now, by default, Open Claw, I believe, Now, by default, Open Claw, I believe, Now, by default, Open Claw, I believe, is only going to read two days of is only going to read two days of is only going to read two days of previous memory. So if you tell it to do previous memory. So if you tell it to do previous memory. So if you tell it to do something, you know, yeah, like one week something, you know, yeah, like one week something, you know, yeah, like one week ago, it's not going to remember that ago, it's not going to remember that ago, it's not going to remember that unless it's in the persistent memory. So unless it's in the persistent memory. So unless it's in the persistent memory. So I'm quickly going to show you two I'm quickly going to show you two I'm quickly going to show you two settings that you can enable that will settings that you can enable that will settings that you can enable that will allow OpenClaw to have longer memory and allow OpenClaw to have longer memory and allow OpenClaw to have longer memory and to save things better. Now what they to save things better. Now what they to save things better. Now what they are, I'm just going to copy them in are, I'm just going to copy them in are, I'm just going to copy them in here. Okay, so I'm just pasting them, here. Okay, so I'm just pasting them, here. Okay, so I'm just pasting them, but essentially they are the following. but essentially they are the following. but essentially they are the following. It is compaction.mmemory flush.enabled It is compaction.mmemory flush.enabled It is compaction.mmemory flush.enabled memory search.experimental session memory search.experimental session memory search.experimental session memory to true. Now I'm going to say memory to true. Now I'm going to say memory to true. Now I'm going to say enable these. enable these. enable these. Okay. Okay. Okay. And explain what they do. So, I found And explain what they do. So, I found And explain what they do. So, I found that when I enable these two settings, I that when I enable these two settings, I that when I enable these two settings, I get a better result in terms of the get a better result in terms of the get a better result in terms of the memory. We're just going to wait for memory. We're just going to wait for memory. We're just going to wait for Open Claw to explain it because it will Open Claw to explain it because it will Open Claw to explain it because it will give us a better explanation probably give us a better explanation probably give us a better explanation probably than what I can come off come up with at than what I can come off come up with at than what I can come off come up with at the top of my head. But you can see it's the top of my head. But you can see it's the top of my head. But you can see it's enabled them and it says when the enabled them and it says when the enabled them and it says when the conversation gets too long, OpenClaw conversation gets too long, OpenClaw conversation gets too long, OpenClaw will trigger a memory flush prompt. So, will trigger a memory flush prompt. So, will trigger a memory flush prompt. So, important context gets written to memory important context gets written to memory important context gets written to memory files before compaction drops history. files before compaction drops history. files before compaction drops history. And then this one lets memory search And then this one lets memory search And then this one lets memory search include recent session transcripts, not include recent session transcripts, not include recent session transcripts, not just files in memory, improving recall just files in memory, improving recall just files in memory, improving recall of what just happened. Okay, so that of what just happened. Okay, so that of what just happened. Okay, so that explains what it's doing, but explains what it's doing, but explains what it's doing, but effectively what would happen is if effectively what would happen is if effectively what would happen is if you're talking for a really long time you're talking for a really long time you're talking for a really long time with OpenClaw, it's automatically going with OpenClaw, it's automatically going with OpenClaw, it's automatically going to compact what you were talking about. to compact what you were talking about. to compact what you were talking about. Now, before we have it compact that, we Now, before we have it compact that, we Now, before we have it compact that, we wanted to save that into the memory so wanted to save that into the memory so wanted to save that into the memory so that we don't lose any of that that we don't lose any of that that we don't lose any of that information. So that's what it's doing. information. So that's what it's doing. information. So that's what it's doing. And then same thing with the session And then same thing with the session And then same thing with the session memory. Rather than just reading the memory. Rather than just reading the memory. Rather than just reading the information that's in the memory files, information that's in the memory files, information that's in the memory files, we want it to read what was recently in we want it to read what was recently in we want it to read what was recently in session, right? So what we talked about session, right? So what we talked about session, right? So what we talked about that maybe wasn't automat. Okay, so that maybe wasn't automat. Okay, so that maybe wasn't automat. Okay, so hopefully that makes a little bit of hopefully that makes a little bit of hopefully that makes a little bit of sense. Now, another thing that we're sense. Now, another thing that we're sense. Now, another thing that we're going to do, and I'm just pulling this going to do, and I'm just pulling this going to do, and I'm just pulling this up from the OpenCloud docs to make the up from the OpenCloud docs to make the up from the OpenCloud docs to make the memory even better, cuz this is really memory even better, cuz this is really memory even better, cuz this is really the crux of how this gets good, is we're the crux of how this gets good, is we're the crux of how this gets good, is we're going to enable vector memory search going to enable vector memory search going to enable vector memory search using a QMD backend, which is using a QMD backend, which is using a QMD backend, which is significantly better at searching significantly better at searching significantly better at searching through the memory than the default through the memory than the default through the memory than the default backend service. You don't really have backend service. You don't really have backend service. You don't really have to understand this, but effectively in to understand this, but effectively in to understand this, but effectively in the background, OpenClaw will search the background, OpenClaw will search the background, OpenClaw will search through the memory files using some type through the memory files using some type through the memory files using some type of vectorzed search. Now, we can change of vectorzed search. Now, we can change of vectorzed search. Now, we can change how we're doing that search so that it's how we're doing that search so that it's how we're doing that search so that it's just going to be a lot more effective just going to be a lot more effective just going to be a lot more effective and give us better results. So, what I'm and give us better results. So, what I'm and give us better results. So, what I'm going to do is I'm just going to copy going to do is I'm just going to copy going to do is I'm just going to copy all of this content from the docs. I'll all of this content from the docs. I'll all of this content from the docs. I'll leave this link in the description. If I leave this link in the description. If I leave this link in the description. If I forget, someone leave a comment and I forget, someone leave a comment and I forget, someone leave a comment and I will add it. And I'm going to say enable will add it. And I'm going to say enable will add it. And I'm going to say enable this. Okay. And just tell it to enable this. Okay. And just tell it to enable this. Okay. And just tell it to enable it. And it should go through the it. And it should go through the it. And it should go through the prerequisites here and install this for prerequisites here and install this for prerequisites here and install this for us. So, I'm going to tell yes, install us. So, I'm going to tell yes, install us. So, I'm going to tell yes, install the prerequisites. Okay. So, it looks the prerequisites. Okay. So, it looks the prerequisites. Okay. So, it looks like QMD was added now. So, our memory like QMD was added now. So, our memory like QMD was added now. So, our memory should be a little bit more optimized, should be a little bit more optimized, should be a little bit more optimized, just working better in the long term. just working better in the long term. just working better in the long term. Now, I'm going to go through a bunch of Now, I'm going to go through a bunch of Now, I'm going to go through a bunch of other things that we can set up and other things that we can set up and other things that we can set up and configure, but keep in mind that, you configure, but keep in mind that, you configure, but keep in mind that, you know, Open Claw is for you, right? You know, Open Claw is for you, right? You know, Open Claw is for you, right? You guys customize it. And what I'm trying guys customize it. And what I'm trying guys customize it. And what I'm trying to do is give you a solid base that you to do is give you a solid base that you to do is give you a solid base that you can then extend. So, while it's not can then extend. So, while it's not can then extend. So, while it's not super detailed in terms of every little super detailed in terms of every little super detailed in terms of every little individual skill we add, the idea is I individual skill we add, the idea is I individual skill we add, the idea is I want you to understand what these things want you to understand what these things want you to understand what these things are so you know what's going on in the are so you know what's going on in the are so you know what's going on in the back end when you do make changes by back end when you do make changes by back end when you do make changes by yourself. So, now I want to talk a yourself. So, now I want to talk a yourself. So, now I want to talk a little bit about some of the other files little bit about some of the other files little bit about some of the other files that are here. And specifically I want that are here. And specifically I want that are here. And specifically I want to talk about this identity file as well to talk about this identity file as well to talk about this identity file as well as this user file. Now the user file is as this user file. Now the user file is as this user file. Now the user file is the information about you okay or in the information about you okay or in the information about you okay or in this case about your human because it's this case about your human because it's this case about your human because it's like in reference to the clawbot and the like in reference to the clawbot and the like in reference to the clawbot and the identity file is the information about identity file is the information about identity file is the information about the clawbot itself. So rather than you the clawbot itself. So rather than you the clawbot itself. So rather than you just filling this file in manual just filling this file in manual just filling this file in manual yourself, what I would suggest you do is yourself, what I would suggest you do is yourself, what I would suggest you do is actually go to open claw and ask it to actually go to open claw and ask it to actually go to open claw and ask it to give you an interview and ask you give you an interview and ask you give you an interview and ask you questions on what you want. So, I'm questions on what you want. So, I'm questions on what you want. So, I'm going to give you an example prompt that going to give you an example prompt that going to give you an example prompt that you could pass so it can modify these you could pass so it can modify these you could pass so it can modify these files. Say, "Hey, I need you to update files. Say, "Hey, I need you to update files. Say, "Hey, I need you to update the identity file as well as the user.md the identity file as well as the user.md the identity file as well as the user.md file with important long-term file with important long-term file with important long-term information. Ask me a bunch of information. Ask me a bunch of information. Ask me a bunch of questions. Give me an interview. Give me questions. Give me an interview. Give me questions. Give me an interview. Give me a quiz on all of the data you need from a quiz on all of the data you need from a quiz on all of the data you need from me in order to create those files and me in order to create those files and me in order to create those files and optimize them as much as possible. In optimize them as much as possible. In optimize them as much as possible. In the future, if something changes, the future, if something changes, the future, if something changes, continue to update these files and ask continue to update these files and ask continue to update these files and ask me more information as we chat through me more information as we chat through me more information as we chat through this conversation and just in general in this conversation and just in general in this conversation and just in general in the future so that you always have the the future so that you always have the the future so that you always have the most recent up-to-date data and you're most recent up-to-date data and you're most recent up-to-date data and you're constantly updating these files. That's constantly updating these files. That's constantly updating these files. That's maybe a little bit overkill, but point maybe a little bit overkill, but point maybe a little bit overkill, but point is, you know, you can just say, "Hey, is, you know, you can just say, "Hey, is, you know, you can just say, "Hey, give me an interview to update these give me an interview to update these give me an interview to update these files." And that's a lot easier way to files." And that's a lot easier way to files." And that's a lot easier way to go about doing it than you having to go about doing it than you having to go about doing it than you having to manually kind of work through and, you manually kind of work through and, you manually kind of work through and, you know, fill in all of this data. Okay, so know, fill in all of this data. Okay, so know, fill in all of this data. Okay, so you can see it's giving me a bunch of you can see it's giving me a bunch of you can see it's giving me a bunch of stuff, right? I'm not going to actually stuff, right? I'm not going to actually stuff, right? I'm not going to actually go and fill this in uh because I don't go and fill this in uh because I don't go and fill this in uh because I don't care too much about it. I'll just give care too much about it. I'll just give care too much about it. I'll just give it a quick answer so we can see the it a quick answer so we can see the it a quick answer so we can see the update. Say, "My name is Tim. You can update. Say, "My name is Tim. You can update. Say, "My name is Tim. You can call me Master Tim. My pronouns are the call me Master Tim. My pronouns are the call me Master Tim. My pronouns are the normal ones, he, him. Uh my time zone is normal ones, he, him. Uh my time zone is normal ones, he, him. Uh my time zone is Asia, Dubai. I usually work from 10:00 Asia, Dubai. I usually work from 10:00 Asia, Dubai. I usually work from 10:00 a.m. to 1:00 in the morning. My goal is a.m. to 1:00 in the morning. My goal is a.m. to 1:00 in the morning. My goal is to grow my YouTube channel." Okay, to grow my YouTube channel." Okay, to grow my YouTube channel." Okay, whatever. Right. And then go ahead and whatever. Right. And then go ahead and whatever. Right. And then go ahead and hit enter. And hopefully it is going to hit enter. And hopefully it is going to hit enter. And hopefully it is going to update the file now. And again, if you update the file now. And again, if you update the file now. And again, if you want to see the updates, you can want to see the updates, you can want to see the updates, you can refresh. Um, what is it? This. And it refresh. Um, what is it? This. And it refresh. Um, what is it? This. And it should show the new version of the file, should show the new version of the file, should show the new version of the file, assuming that it updates it. Okay. So, assuming that it updates it. Okay. So, assuming that it updates it. Okay. So, you can see it's updated the file now you can see it's updated the file now you can see it's updated the file now and it kind of has that information. and it kind of has that information. and it kind of has that information. Then for the identity, we're not really Then for the identity, we're not really Then for the identity, we're not really getting like the correct stuff. Um, but getting like the correct stuff. Um, but getting like the correct stuff. Um, but you you get the idea. Okay. So, we you you get the idea. Okay. So, we you you get the idea. Okay. So, we could, you know, adjust that later in could, you know, adjust that later in could, you know, adjust that later in the future. Okay. So, that kind of the future. Okay. So, that kind of the future. Okay. So, that kind of covers that. Now, the other files that covers that. Now, the other files that covers that. Now, the other files that are useful is going to be the soul as are useful is going to be the soul as are useful is going to be the soul as well as tools and heartbeat. So the soul well as tools and heartbeat. So the soul well as tools and heartbeat. So the soul is kind of some more instructions in is kind of some more instructions in is kind of some more instructions in terms of how the bot should operate, the terms of how the bot should operate, the terms of how the bot should operate, the way it should talk to you, you know, way it should talk to you, you know, way it should talk to you, you know, core truths, things that it believes, core truths, things that it believes, core truths, things that it believes, right? Like at the soul of the agent, right? Like at the soul of the agent, right? Like at the soul of the agent, kind of at the heart of it, I guess you kind of at the heart of it, I guess you kind of at the heart of it, I guess you could say. So if you want to modify could say. So if you want to modify could say. So if you want to modify this, you can, but generally the default this, you can, but generally the default this, you can, but generally the default one is pretty good. And it says, you one is pretty good. And it says, you one is pretty good. And it says, you know, each session you wake up fresh. know, each session you wake up fresh. know, each session you wake up fresh. These files are your memory. Read them, These files are your memory. Read them, These files are your memory. Read them, update them, etc. And then it goes update them, etc. And then it goes update them, etc. And then it goes through boundaries, you know, private through boundaries, you know, private through boundaries, you know, private things stay private. Here's your vibe, things stay private. Here's your vibe, things stay private. Here's your vibe, all of that kind of stuff. So you can all of that kind of stuff. So you can all of that kind of stuff. So you can adjust the soul based on what you want. adjust the soul based on what you want. adjust the soul based on what you want. If you want something rude, if you want If you want something rude, if you want If you want something rude, if you want something happy, if you want something something happy, if you want something something happy, if you want something funny, you know, that's where you would funny, you know, that's where you would funny, you know, that's where you would put it inside of here. Now, we also have put it inside of here. Now, we also have put it inside of here. Now, we also have tools. Tools are different things that tools. Tools are different things that tools. Tools are different things that can be used by things like skills. So, can be used by things like skills. So, can be used by things like skills. So, for example, you have an SSH host, a for example, you have an SSH host, a for example, you have an SSH host, a preferred, you know, voice, speaker, preferred, you know, voice, speaker, preferred, you know, voice, speaker, rooms names, device nicknames, all that rooms names, device nicknames, all that rooms names, device nicknames, all that kind of stuff. It can put that directly kind of stuff. It can put that directly kind of stuff. It can put that directly inside of this file. I don't really use inside of this file. I don't really use inside of this file. I don't really use tools too much, but you know, you can tools too much, but you know, you can tools too much, but you know, you can modify this file if needed. Awesome. And modify this file if needed. Awesome. And modify this file if needed. Awesome. And then the last one is going to be the then the last one is going to be the then the last one is going to be the heartbeat file. Now, the heartbeat file heartbeat file. Now, the heartbeat file heartbeat file. Now, the heartbeat file is super interesting because what you is super interesting because what you is super interesting because what you can do is you can have the Claudebot can do is you can have the Claudebot can do is you can have the Claudebot triggered to wake up effectively every triggered to wake up effectively every triggered to wake up effectively every set number of minutes. You can have it set number of minutes. You can have it set number of minutes. You can have it every 5 minutes, every 30 minutes, every every 5 minutes, every 30 minutes, every every 5 minutes, every 30 minutes, every hour. And when it wakes up, what it's hour. And when it wakes up, what it's hour. And when it wakes up, what it's going to do is it's going to read this going to do is it's going to read this going to do is it's going to read this heartbeat file. Now, inside of this heartbeat file. Now, inside of this heartbeat file. Now, inside of this file, you can direct it to do something file, you can direct it to do something file, you can direct it to do something continuously. So, something that's continuously. So, something that's continuously. So, something that's common to do is to continually improve common to do is to continually improve common to do is to continually improve itself. So what we can do is we can say itself. So what we can do is we can say itself. So what we can do is we can say update your heartbeat file such that update your heartbeat file such that update your heartbeat file such that anytime you wake up you review any of anytime you wake up you review any of anytime you wake up you review any of the mistakes that you've made previously the mistakes that you've made previously the mistakes that you've made previously and start making improvements and fixing and start making improvements and fixing and start making improvements and fixing those mistakes. When you do this make those mistakes. When you do this make those mistakes. When you do this make sure you run multiple sub aents and sure you run multiple sub aents and sure you run multiple sub aents and paralyze the tasks so we can do multiple paralyze the tasks so we can do multiple paralyze the tasks so we can do multiple things at the same time. Okay. So I things at the same time. Okay. So I things at the same time. Okay. So I actually just introduced another concept actually just introduced another concept actually just introduced another concept to you as well here called sub aents. So to you as well here called sub aents. So to you as well here called sub aents. So when you're running this clawbot, you when you're running this clawbot, you when you're running this clawbot, you know, right now we're in this kind of know, right now we're in this kind of know, right now we're in this kind of one session where I'm asking it to do one session where I'm asking it to do one session where I'm asking it to do something, waiting for the response. You something, waiting for the response. You something, waiting for the response. You can do that, right? Or you can actually can do that, right? Or you can actually can do that, right? Or you can actually tell it to run multiple sub aents. And tell it to run multiple sub aents. And tell it to run multiple sub aents. And when it runs sub agents, what that will when it runs sub agents, what that will when it runs sub agents, what that will do is it will run a background agent, do is it will run a background agent, do is it will run a background agent, which is another instance of in this which is another instance of in this which is another instance of in this case opus or codeex or whatever that's case opus or codeex or whatever that's case opus or codeex or whatever that's going to go and achieve some kind of going to go and achieve some kind of going to go and achieve some kind of task. So I can say, hey, spin up 10 sub task. So I can say, hey, spin up 10 sub task. So I can say, hey, spin up 10 sub aents and go work on different parts of aents and go work on different parts of aents and go work on different parts of this task al together and then this task al together and then this task al together and then collaborate once you're finished. And it collaborate once you're finished. And it collaborate once you're finished. And it will just automatically make these will just automatically make these will just automatically make these different sub aents and you can see them different sub aents and you can see them different sub aents and you can see them inside of your clawed gateway. So if you inside of your clawed gateway. So if you inside of your clawed gateway. So if you go to sessions, for example, you'll be go to sessions, for example, you'll be go to sessions, for example, you'll be able to see the different sessions that able to see the different sessions that able to see the different sessions that are running as well as the different uh are running as well as the different uh are running as well as the different uh what do you call it? Sub aents that are what do you call it? Sub aents that are what do you call it? Sub aents that are being triggered by those. Okay, so being triggered by those. Okay, so being triggered by those. Okay, so there's a bunch of stuff. You can there's a bunch of stuff. You can there's a bunch of stuff. You can effectively just see everything that's effectively just see everything that's effectively just see everything that's going on inside of the gateway. Uh but going on inside of the gateway. Uh but going on inside of the gateway. Uh but that is what you should be aware of. that is what you should be aware of. that is what you should be aware of. Okay. Now you can see inside of the Okay. Now you can see inside of the Okay. Now you can see inside of the heartbeat file it says on every heartbeat file it says on every heartbeat file it says on every heartbeat review recent mistakes issues heartbeat review recent mistakes issues heartbeat review recent mistakes issues and proposed fixes when doing this and proposed fixes when doing this and proposed fixes when doing this review spawn multiple sub aents and run review spawn multiple sub aents and run review spawn multiple sub aents and run the tasks in parallel. Right? So now the tasks in parallel. Right? So now the tasks in parallel. Right? So now anytime it wakes up and has a heartbeat anytime it wakes up and has a heartbeat anytime it wakes up and has a heartbeat it will do this. Heartbeats are not it will do this. Heartbeats are not it will do this. Heartbeats are not going to do like super long running going to do like super long running going to do like super long running operations. Typically it's usually for operations. Typically it's usually for operations. Typically it's usually for kind of short repetitive things that you kind of short repetitive things that you kind of short repetitive things that you want to do all of the time. For example, want to do all of the time. For example, want to do all of the time. For example, check my email on every heartbeat. check my email on every heartbeat. check my email on every heartbeat. Right? That's something that makes sense Right? That's something that makes sense Right? That's something that makes sense to put inside of here. Okay. So, let's to put inside of here. Okay. So, let's to put inside of here. Okay. So, let's go back. And one thing to note is that go back. And one thing to note is that go back. And one thing to note is that if you go to the config here, I believe if you go to the config here, I believe if you go to the config here, I believe it's in the configuration. It might not it's in the configuration. It might not it's in the configuration. It might not be directly here. Uh, okay. Regardless, be directly here. Uh, okay. Regardless, be directly here. Uh, okay. Regardless, we'll get out of this. You can tell it we'll get out of this. You can tell it we'll get out of this. You can tell it how frequently you want the heart to how frequently you want the heart to how frequently you want the heart to beat. So, I'm going to say what is, beat. So, I'm going to say what is, beat. So, I'm going to say what is, let's just do it like this, the let's just do it like this, the let's just do it like this, the frequency of your heartbeat. And it's frequency of your heartbeat. And it's frequency of your heartbeat. And it's going to tell us, I believe 30 minutes going to tell us, I believe 30 minutes going to tell us, I believe 30 minutes is the default. Let's see. Okay. So, is the default. Let's see. Okay. So, is the default. Let's see. Okay. So, good job. I checked that because it good job. I checked that because it good job. I checked that because it looks like it's actually off. So, I'm looks like it's actually off. So, I'm looks like it's actually off. So, I'm going to tell it turn on the heartbeat going to tell it turn on the heartbeat going to tell it turn on the heartbeat and enable it every 30 minutes. Okay. and enable it every 30 minutes. Okay. and enable it every 30 minutes. Okay. So, anyways, good job. We we figured So, anyways, good job. We we figured So, anyways, good job. We we figured that out because I forgot that it was that out because I forgot that it was that out because I forgot that it was off by default. And this is the thing, off by default. And this is the thing, off by default. And this is the thing, right? If you don't know something, just right? If you don't know something, just right? If you don't know something, just ask the agent like I'm asking it. But ask the agent like I'm asking it. But ask the agent like I'm asking it. But generally, these are kind of the best generally, these are kind of the best generally, these are kind of the best practices for the setup. So, now it's practices for the setup. So, now it's practices for the setup. So, now it's kind of modified the config. And you can kind of modified the config. And you can kind of modified the config. And you can see that it's going to heartbeat every see that it's going to heartbeat every see that it's going to heartbeat every minutes, we will have that task that's minutes, we will have that task that's minutes, we will have that task that's inside of that file kind of, you know, inside of that file kind of, you know, inside of that file kind of, you know, happen, right? Okay. So, that's that. happen, right? Okay. So, that's that. happen, right? Okay. So, that's that. The next thing I want to quickly go over The next thing I want to quickly go over The next thing I want to quickly go over is crons. So I don't think that's inside is crons. So I don't think that's inside is crons. So I don't think that's inside of here, but it should be in its own of here, but it should be in its own of here, but it should be in its own folder. Yes, it's own folder. Crons folder. Yes, it's own folder. Crons folder. Yes, it's own folder. Crons essentially a cron is a task that can essentially a cron is a task that can essentially a cron is a task that can run at a set time at a set frequency. So run at a set time at a set frequency. So run at a set time at a set frequency. So for example, if you wanted to be for example, if you wanted to be for example, if you wanted to be reminded of something at 9:00 a.m. That reminded of something at 9:00 a.m. That reminded of something at 9:00 a.m. That is a cron where at 9:00 a.m. this task is a cron where at 9:00 a.m. this task is a cron where at 9:00 a.m. this task will run that will remind you of will run that will remind you of will run that will remind you of something. And you can see the cron jobs something. And you can see the cron jobs something. And you can see the cron jobs here inside of the uh what do you call here inside of the uh what do you call here inside of the uh what do you call it here? The open clog gateway. And you it here? The open clog gateway. And you it here? The open clog gateway. And you can manually create your own one by can manually create your own one by can manually create your own one by going through this or you can just tell going through this or you can just tell going through this or you can just tell the agent to set up a cron. So I'm going the agent to set up a cron. So I'm going the agent to set up a cron. So I'm going to say in five minutes remind me that I to say in five minutes remind me that I to say in five minutes remind me that I need to finish recording this video need to finish recording this video need to finish recording this video whatever right and then what will happen whatever right and then what will happen whatever right and then what will happen is it should automatically create the is it should automatically create the is it should automatically create the cron for us in the gateway and we should cron for us in the gateway and we should cron for us in the gateway and we should be able to see the job. So in my own be able to see the job. So in my own be able to see the job. So in my own personal clawbot I have like four or personal clawbot I have like four or personal clawbot I have like four or five crons where every day at like 9:00 five crons where every day at like 9:00 five crons where every day at like 9:00 a.m. I want you to review the stuff I a.m. I want you to review the stuff I a.m. I want you to review the stuff I did yesterday. give me an update every, did yesterday. give me an update every, did yesterday. give me an update every, you know, three times a day, whatever. I you know, three times a day, whatever. I you know, three times a day, whatever. I want you to do XYZ. So, if you want to want you to do XYZ. So, if you want to want you to do XYZ. So, if you want to run at a certain time, like remind me to run at a certain time, like remind me to run at a certain time, like remind me to go to the gym, remind me to eat my go to the gym, remind me to eat my go to the gym, remind me to eat my breakfast, you know, that's where a cron breakfast, you know, that's where a cron breakfast, you know, that's where a cron comes in in handy. Or if you want a task comes in in handy. Or if you want a task comes in in handy. Or if you want a task like back up my database or something, like back up my database or something, like back up my database or something, and you want that to run every day at a and you want that to run every day at a and you want that to run every day at a certain time, you would make that a certain time, you would make that a certain time, you would make that a cron. You don't need to necessarily tell cron. You don't need to necessarily tell cron. You don't need to necessarily tell it to make a cron, but just understand it to make a cron, but just understand it to make a cron, but just understand that's what it is. And you can see I now that's what it is. And you can see I now that's what it is. And you can see I now have this cron. This is a one-off cron have this cron. This is a one-off cron have this cron. This is a one-off cron that's scheduled to run in 4 minutes. that's scheduled to run in 4 minutes. that's scheduled to run in 4 minutes. And then once it does, I will be able to And then once it does, I will be able to And then once it does, I will be able to see the history. Okay. Now, generally see the history. Okay. Now, generally see the history. Okay. Now, generally speaking, there's obviously a lot more speaking, there's obviously a lot more speaking, there's obviously a lot more stuff I can go through here in terms of stuff I can go through here in terms of stuff I can go through here in terms of setting this up, but I don't know if setting this up, but I don't know if setting this up, but I don't know if that's going to be particularly useful, that's going to be particularly useful, that's going to be particularly useful, especially because everybody has their especially because everybody has their especially because everybody has their own unique thing that they want this to own unique thing that they want this to own unique thing that they want this to do. I think generally understanding what do. I think generally understanding what do. I think generally understanding what I explained here is a very good start. I explained here is a very good start. I explained here is a very good start. So, you know what it is you need to So, you know what it is you need to So, you know what it is you need to modify, how the thing actually works, modify, how the thing actually works, modify, how the thing actually works, how you can get value out of it, right? how you can get value out of it, right? how you can get value out of it, right? Things like setting up the multiple Things like setting up the multiple Things like setting up the multiple group chats, using the different models, group chats, using the different models, group chats, using the different models, right? All of that stuff is quite useful right? All of that stuff is quite useful right? All of that stuff is quite useful and that's kind of what I meant to show and that's kind of what I meant to show and that's kind of what I meant to show you. So, I will definitely do some you. So, I will definitely do some you. So, I will definitely do some follow-up videos showing some more follow-up videos showing some more follow-up videos showing some more advanced use cases of the clawbot or advanced use cases of the clawbot or advanced use cases of the clawbot or openclaw, whatever in the future. For openclaw, whatever in the future. For openclaw, whatever in the future. For now, though, this is where I will leave now, though, this is where I will leave now, though, this is where I will leave it. And please leave a comment down it. And please leave a comment down it. And please leave a comment down below if you want more instructions on a below if you want more instructions on a below if you want more instructions on a particular area so I can go more in particular area so I can go more in particular area so I can go more in depth with that and kind of explain it depth with that and kind of explain it depth with that and kind of explain it in a way that's going to be valuable to in a way that's going to be valuable to in a way that's going to be valuable to you guys. Anyways, with that said, I you guys. Anyways, with that said, I you guys. Anyways, with that said, I will wrap up the video here. If you will wrap up the video here. If you will wrap up the video here. If you enjoyed, make sure leave a like, enjoyed, make sure leave a like, enjoyed, make sure leave a like, subscribe, and I will see you in the subscribe, and I will see you in the subscribe, and I will see you in the next one. \ No newline at end of file