Created
April 4, 2026 06:22
-
-
Save jenssgb/65de2e03a660c4183905bfe52466202e to your computer and use it in GitHub Desktop.
OpenClaw Knowledge Base Dashboard
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>OpenClaw Knowledge Base</title> | |
| <style> | |
| :root { | |
| --bg: #0d1117; | |
| --card: #161b22; | |
| --card-hover: #1c2333; | |
| --border: #30363d; | |
| --accent: #58a6ff; | |
| --accent2: #3fb950; | |
| --accent3: #d2a8ff; | |
| --accent4: #f0883e; | |
| --accent5: #f778ba; | |
| --text: #e6edf3; | |
| --text-dim: #8b949e; | |
| --text-bright: #ffffff; | |
| --tag-bg: #1f2937; | |
| --faq-bg: #1a1f2b; | |
| --source-bg: #0f1318; | |
| } | |
| * { margin: 0; padding: 0; box-sizing: border-box; } | |
| body { | |
| font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; | |
| background: var(--bg); | |
| color: var(--text); | |
| line-height: 1.6; | |
| min-height: 100vh; | |
| } | |
| .header { | |
| background: linear-gradient(135deg, #0d1117 0%, #161b22 50%, #1a1f2b 100%); | |
| border-bottom: 1px solid var(--border); | |
| padding: 2rem 1.5rem 1.5rem; | |
| text-align: center; | |
| } | |
| .header h1 { | |
| font-size: 2rem; | |
| font-weight: 700; | |
| color: var(--text-bright); | |
| margin-bottom: 0.3rem; | |
| } | |
| .header h1 span { color: var(--accent); } | |
| .header .subtitle { | |
| color: var(--text-dim); | |
| font-size: 0.95rem; | |
| } | |
| .header .stats { | |
| display: flex; | |
| gap: 1.5rem; | |
| justify-content: center; | |
| margin-top: 1rem; | |
| flex-wrap: wrap; | |
| } | |
| .header .stat { | |
| background: var(--card); | |
| border: 1px solid var(--border); | |
| border-radius: 8px; | |
| padding: 0.5rem 1rem; | |
| font-size: 0.85rem; | |
| } | |
| .header .stat strong { color: var(--accent); } | |
| /* Navigation Tabs */ | |
| .nav { | |
| display: flex; | |
| gap: 0; | |
| border-bottom: 1px solid var(--border); | |
| background: var(--card); | |
| overflow-x: auto; | |
| -webkit-overflow-scrolling: touch; | |
| } | |
| .nav button { | |
| flex: 1; | |
| min-width: 120px; | |
| background: none; | |
| border: none; | |
| color: var(--text-dim); | |
| padding: 0.9rem 1rem; | |
| font-size: 0.9rem; | |
| font-weight: 500; | |
| cursor: pointer; | |
| border-bottom: 2px solid transparent; | |
| transition: all 0.2s; | |
| white-space: nowrap; | |
| } | |
| .nav button:hover { color: var(--text); background: var(--card-hover); } | |
| .nav button.active { | |
| color: var(--accent); | |
| border-bottom-color: var(--accent); | |
| background: var(--card-hover); | |
| } | |
| /* Content */ | |
| .content { max-width: 960px; margin: 0 auto; padding: 1.5rem; } | |
| .tab-panel { display: none; } | |
| .tab-panel.active { display: block; } | |
| /* Cards */ | |
| .card { | |
| background: var(--card); | |
| border: 1px solid var(--border); | |
| border-radius: 10px; | |
| padding: 1.25rem 1.5rem; | |
| margin-bottom: 1rem; | |
| transition: border-color 0.2s; | |
| } | |
| .card:hover { border-color: var(--accent); } | |
| .card h3 { | |
| font-size: 1.1rem; | |
| color: var(--text-bright); | |
| margin-bottom: 0.6rem; | |
| display: flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| } | |
| .card p, .card li { | |
| color: var(--text); | |
| font-size: 0.92rem; | |
| line-height: 1.7; | |
| } | |
| .card ul { padding-left: 1.2rem; } | |
| .card li { margin-bottom: 0.3rem; } | |
| /* Section headers */ | |
| .section-title { | |
| font-size: 1.3rem; | |
| font-weight: 700; | |
| color: var(--text-bright); | |
| margin: 1.5rem 0 1rem; | |
| padding-bottom: 0.5rem; | |
| border-bottom: 1px solid var(--border); | |
| display: flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| } | |
| .section-title:first-child { margin-top: 0; } | |
| /* Tags */ | |
| .tag { | |
| display: inline-block; | |
| background: var(--tag-bg); | |
| color: var(--accent); | |
| font-size: 0.75rem; | |
| padding: 0.15rem 0.5rem; | |
| border-radius: 12px; | |
| margin-left: 0.3rem; | |
| font-weight: 500; | |
| } | |
| .tag.green { color: var(--accent2); } | |
| .tag.purple { color: var(--accent3); } | |
| .tag.orange { color: var(--accent4); } | |
| .tag.pink { color: var(--accent5); } | |
| /* FAQ Accordion */ | |
| .faq-item { | |
| background: var(--faq-bg); | |
| border: 1px solid var(--border); | |
| border-radius: 8px; | |
| margin-bottom: 0.6rem; | |
| overflow: hidden; | |
| } | |
| .faq-q { | |
| padding: 1rem 1.25rem; | |
| cursor: pointer; | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| font-weight: 600; | |
| font-size: 0.95rem; | |
| color: var(--text-bright); | |
| transition: background 0.2s; | |
| } | |
| .faq-q:hover { background: var(--card-hover); } | |
| .faq-q::after { | |
| content: '▸'; | |
| font-size: 1.1rem; | |
| color: var(--text-dim); | |
| transition: transform 0.2s; | |
| } | |
| .faq-item.open .faq-q::after { transform: rotate(90deg); } | |
| .faq-a { | |
| max-height: 0; | |
| overflow: hidden; | |
| transition: max-height 0.3s ease; | |
| } | |
| .faq-a-inner { | |
| padding: 0 1.25rem 1rem; | |
| color: var(--text); | |
| font-size: 0.9rem; | |
| line-height: 1.7; | |
| } | |
| .faq-a-inner code { | |
| background: var(--source-bg); | |
| padding: 0.15rem 0.4rem; | |
| border-radius: 4px; | |
| font-size: 0.85rem; | |
| color: var(--accent3); | |
| } | |
| /* Architecture diagram */ | |
| .arch-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); | |
| gap: 0.8rem; | |
| margin: 1rem 0; | |
| } | |
| .arch-box { | |
| background: var(--source-bg); | |
| border: 1px solid var(--border); | |
| border-radius: 8px; | |
| padding: 1rem; | |
| text-align: center; | |
| } | |
| .arch-box .icon { font-size: 1.8rem; margin-bottom: 0.4rem; } | |
| .arch-box .label { | |
| font-weight: 600; | |
| color: var(--text-bright); | |
| font-size: 0.9rem; | |
| margin-bottom: 0.3rem; | |
| } | |
| .arch-box .desc { | |
| color: var(--text-dim); | |
| font-size: 0.8rem; | |
| line-height: 1.4; | |
| } | |
| .arch-arrow { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: var(--accent); | |
| font-size: 1.2rem; | |
| padding: 0.3rem 0; | |
| } | |
| /* File tree */ | |
| .file-tree { | |
| background: var(--source-bg); | |
| border: 1px solid var(--border); | |
| border-radius: 8px; | |
| padding: 1rem 1.25rem; | |
| font-family: 'SF Mono', 'Fira Code', monospace; | |
| font-size: 0.85rem; | |
| line-height: 1.8; | |
| } | |
| .file-tree .dir { color: var(--accent); } | |
| .file-tree .file { color: var(--text); } | |
| .file-tree .desc { color: var(--text-dim); font-style: italic; } | |
| /* Source reference */ | |
| .source-ref { | |
| background: var(--source-bg); | |
| border-left: 3px solid var(--accent); | |
| padding: 0.6rem 1rem; | |
| margin-top: 0.8rem; | |
| border-radius: 0 6px 6px 0; | |
| font-size: 0.8rem; | |
| color: var(--text-dim); | |
| } | |
| .source-ref a { color: var(--accent); text-decoration: none; } | |
| .source-ref a:hover { text-decoration: underline; } | |
| /* Comparison table */ | |
| .cmp-table { | |
| width: 100%; | |
| border-collapse: collapse; | |
| margin: 0.8rem 0; | |
| font-size: 0.88rem; | |
| } | |
| .cmp-table th { | |
| text-align: left; | |
| padding: 0.6rem 0.8rem; | |
| border-bottom: 2px solid var(--border); | |
| color: var(--accent); | |
| font-weight: 600; | |
| } | |
| .cmp-table td { | |
| padding: 0.5rem 0.8rem; | |
| border-bottom: 1px solid var(--border); | |
| color: var(--text); | |
| } | |
| .cmp-table tr:last-child td { border-bottom: none; } | |
| .cmp-table tr:hover td { background: var(--card-hover); } | |
| /* Footer */ | |
| .footer { | |
| text-align: center; | |
| padding: 2rem 1rem; | |
| color: var(--text-dim); | |
| font-size: 0.8rem; | |
| border-top: 1px solid var(--border); | |
| margin-top: 2rem; | |
| } | |
| /* Search */ | |
| .search-wrap { | |
| padding: 1rem 1.5rem 0; | |
| max-width: 960px; | |
| margin: 0 auto; | |
| } | |
| .search-input { | |
| width: 100%; | |
| background: var(--card); | |
| border: 1px solid var(--border); | |
| border-radius: 8px; | |
| padding: 0.7rem 1rem 0.7rem 2.5rem; | |
| color: var(--text); | |
| font-size: 0.9rem; | |
| outline: none; | |
| transition: border-color 0.2s; | |
| background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%238b949e' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.656a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E"); | |
| background-repeat: no-repeat; | |
| background-position: 0.8rem center; | |
| } | |
| .search-input:focus { border-color: var(--accent); } | |
| .search-input::placeholder { color: var(--text-dim); } | |
| .highlight { background: rgba(88,166,255,0.2); border-radius: 2px; } | |
| @media (max-width: 600px) { | |
| .header h1 { font-size: 1.5rem; } | |
| .content { padding: 1rem; } | |
| .nav button { font-size: 0.8rem; padding: 0.7rem 0.6rem; min-width: 80px; } | |
| .arch-grid { grid-template-columns: 1fr 1fr; } | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="header"> | |
| <h1>🐾 <span>OpenClaw</span> Knowledge Base</h1> | |
| <p class="subtitle">Curated insights from video deep-dives — continuously expanding</p> | |
| <div class="stats"> | |
| <div class="stat">📹 <strong>2</strong> Videos Processed</div> | |
| <div class="stat">📝 <strong>~11,000</strong> Words Transcribed</div> | |
| <div class="stat">⏱️ <strong>~54 min</strong> Total Runtime</div> | |
| <div class="stat">🔄 Last Updated: <strong>2026-04-04</strong></div> | |
| </div> | |
| </div> | |
| <nav class="nav"> | |
| <button class="active" onclick="showTab('overview')">🏠 Overview</button> | |
| <button onclick="showTab('architecture')">🏗️ Architecture</button> | |
| <button onclick="showTab('memory')">🧠 Memory</button> | |
| <button onclick="showTab('heartbeats')">💓 Heartbeats</button> | |
| <button onclick="showTab('security')">🔒 Security</button> | |
| <button onclick="showTab('setup')">⚙️ Setup</button> | |
| <button onclick="showTab('faq')">❓ FAQ</button> | |
| <button onclick="showTab('sources')">📹 Sources</button> | |
| </nav> | |
| <div class="search-wrap"> | |
| <input type="text" class="search-input" placeholder="Search knowledge base..." oninput="searchKB(this.value)"> | |
| </div> | |
| <div class="content"> | |
| <!-- ═══════════════════ OVERVIEW ═══════════════════ --> | |
| <div id="tab-overview" class="tab-panel active"> | |
| <h2 class="section-title">What is OpenClaw?</h2> | |
| <div class="card searchable"> | |
| <h3>🐾 Not an AI — A Gateway</h3> | |
| <p>OpenClaw is <strong>not</strong> an AI model. It's a <strong>harness/gateway</strong> that sits between LLMs (like GPT, Claude, Opus) and the real world. It connects an AI brain to your tools, your messages, your computer.</p> | |
| <ul> | |
| <li>#1 project on GitHub — more stars than React and Linux</li> | |
| <li>Creator was acqui-hired by OpenAI</li> | |
| <li>NVIDIA built their own version (NemoClaw)</li> | |
| <li>Anthropic building competing features (Channels, Dispatch)</li> | |
| </ul> | |
| <div class="source-ref">📹 Source: <a href="https://www.youtube.com/watch?v=T-HZHO_PQPY" target="_blank">NetworkChuck</a> + <a href="https://www.youtube.com/watch?v=yfFARCwwKtQ" target="_blank">100h OpenClaw</a></div> | |
| </div> | |
| <h2 class="section-title">The Four Pillars</h2> | |
| <div class="arch-grid"> | |
| <div class="arch-box"> | |
| <div class="icon">🧠</div> | |
| <div class="label">Model Agnostic</div> | |
| <div class="desc">Use any LLM — OpenAI, Anthropic, Ollama, local models. Swap brains anytime.</div> | |
| </div> | |
| <div class="arch-box"> | |
| <div class="icon">💬</div> | |
| <div class="label">Channels</div> | |
| <div class="desc">AI comes to YOU — Telegram, Discord, Slack, Web UI. Not the other way around.</div> | |
| </div> | |
| <div class="arch-box"> | |
| <div class="icon">📝</div> | |
| <div class="label">Memory</div> | |
| <div class="desc">Persistent markdown files. Soul, identity, long-term memory, daily journals.</div> | |
| </div> | |
| <div class="arch-box"> | |
| <div class="icon">🔧</div> | |
| <div class="label">Tools & Access</div> | |
| <div class="desc">Bash, cron, heartbeats, skills, browser. Full computer access if configured.</div> | |
| </div> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>💡 The Memento Analogy</h3> | |
| <p>Like the Christopher Nolan film: every session, a new agent wakes up with <strong>zero memory</strong> and reconstructs everything from its markdown notes. That's why accurate, well-maintained files are critical — they ARE the agent's continuity.</p> | |
| <div class="source-ref">📹 Source: <a href="https://www.youtube.com/watch?v=yfFARCwwKtQ" target="_blank">100h OpenClaw</a></div> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>⚡ What Makes It Special</h3> | |
| <ul> | |
| <li><strong>Proactive, not just reactive</strong> — Heartbeats make it check in every ~30 minutes</li> | |
| <li><strong>24/7 availability</strong> — runs on a server, always reachable via Telegram/Discord</li> | |
| <li><strong>Portable memory</strong> — markdown files can be moved to a new instance; agent thinks it's the same "person"</li> | |
| <li><strong>Open source</strong> — full control, no vendor lock-in</li> | |
| <li><strong>Multi-agent</strong> — run multiple specialized agents under one gateway (IT team, personal assistant, trainer)</li> | |
| </ul> | |
| </div> | |
| </div> | |
| <!-- ═══════════════════ ARCHITECTURE ═══════════════════ --> | |
| <div id="tab-architecture" class="tab-panel"> | |
| <h2 class="section-title">How OpenClaw Works</h2> | |
| <div class="card searchable"> | |
| <h3>🏗️ Gateway Architecture</h3> | |
| <p>OpenClaw is a <strong>Node.js service</strong> running 24/7 on your machine. It connects three things:</p> | |
| <ul> | |
| <li><strong>AI Model</strong> (the brain) — via API key or subscription OAuth</li> | |
| <li><strong>Channels</strong> (the interface) — Telegram bot, Discord, Slack, Web UI</li> | |
| <li><strong>Tools</strong> (the hands) — bash, file system, web search, skills, browser</li> | |
| </ul> | |
| <p style="margin-top:0.6rem">You can verify it's running: <code>ps aux | grep claw</code> — it's just a Node.js process.</p> | |
| <div class="source-ref">📹 Source: <a href="https://www.youtube.com/watch?v=T-HZHO_PQPY" target="_blank">NetworkChuck</a></div> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>📁 File Structure</h3> | |
| <div class="file-tree"> | |
| <span class="dir">~/.openclaw/</span><br> | |
| ├── <span class="dir">workspace/</span> <span class="desc">— agent's home directory</span><br> | |
| │ ├── <span class="file">SOUL.md</span> <span class="desc">— personality & character</span><br> | |
| │ ├── <span class="file">IDENTITY.md</span> <span class="desc">— name, creature type, emoji</span><br> | |
| │ ├── <span class="file">USER.md</span> <span class="desc">— info about the human</span><br> | |
| │ ├── <span class="file">MEMORY.md</span> <span class="desc">— curated long-term memory</span><br> | |
| │ ├── <span class="file">TOOLS.md</span> <span class="desc">— tool-specific config & notes</span><br> | |
| │ ├── <span class="file">AGENTS.md</span> <span class="desc">— operating instructions</span><br> | |
| │ ├── <span class="file">HEARTBEAT.md</span> <span class="desc">— periodic check instructions</span><br> | |
| │ └── <span class="dir">memory/</span> <span class="desc">— daily journal files</span><br> | |
| │ ├── <span class="file">2026-04-03.md</span><br> | |
| │ └── <span class="file">2026-04-04.md</span><br> | |
| ├── <span class="dir">agents/</span> <span class="desc">— agent sessions & transcripts</span><br> | |
| └── <span class="file">openclaw.json</span> <span class="desc">— gateway configuration</span> | |
| </div> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>🔌 Sub-Agents</h3> | |
| <p>You can run <strong>multiple specialized agents</strong> under one gateway. Example setups mentioned:</p> | |
| <ul> | |
| <li><strong>IT Department:</strong> Ron (CTO/Manager) → Fred, George, Charlie (Network/Storage/Systems Engineer)</li> | |
| <li><strong>Personal:</strong> Hermione (personal assistant, can make calls in Japanese)</li> | |
| <li><strong>Health:</strong> Arnold Schwarzenegger (personal trainer)</li> | |
| </ul> | |
| <p style="margin-top:0.6rem">Sub-agents can be deployed for specific tasks. Monitor via <code>/subagents list</code> or <code>/status</code> in Telegram.</p> | |
| <div class="source-ref">📹 Source: <a href="https://www.youtube.com/watch?v=T-HZHO_PQPY" target="_blank">NetworkChuck</a></div> | |
| </div> | |
| </div> | |
| <!-- ═══════════════════ MEMORY ═══════════════════ --> | |
| <div id="tab-memory" class="tab-panel"> | |
| <h2 class="section-title">Memory System</h2> | |
| <div class="card searchable"> | |
| <h3>📂 The Key Files</h3> | |
| <table class="cmp-table"> | |
| <tr><th>File</th><th>Purpose</th><th>Changes?</th></tr> | |
| <tr><td><code>SOUL.md</code></td><td>Agent's personality, values, behavioral rules</td><td>Rarely</td></tr> | |
| <tr><td><code>IDENTITY.md</code></td><td>Name, creature type, emoji — separated from soul</td><td>Rarely</td></tr> | |
| <tr><td><code>USER.md</code></td><td>Human's name, timezone, preferences, context</td><td>Occasionally</td></tr> | |
| <tr><td><code>MEMORY.md</code></td><td>Curated long-term memory (like a human's core memories)</td><td>Frequently</td></tr> | |
| <tr><td><code>TOOLS.md</code></td><td>Tool configs, API endpoints, server IPs, technical notes</td><td>Frequently</td></tr> | |
| <tr><td><code>AGENTS.md</code></td><td>Operating instructions — how agent behaves on startup</td><td>Convention file, rarely edited</td></tr> | |
| <tr><td><code>HEARTBEAT.md</code></td><td>Periodic check instructions (what to do each heartbeat)</td><td>As needed</td></tr> | |
| <tr><td><code>memory/*.md</code></td><td>Daily journals — raw notes of what happened each day</td><td>Daily (auto)</td></tr> | |
| </table> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>🧠 How Memory Works</h3> | |
| <ul> | |
| <li>Every new session: agent reads SOUL → USER → recent daily notes → MEMORY</li> | |
| <li><strong>No persistent state between sessions</strong> — everything comes from files</li> | |
| <li>Agent can both <strong>read and write</strong> these files — learns by updating them</li> | |
| <li>You can also edit files manually — agent won't notice the difference</li> | |
| <li>"Reverse Prompting": Ask the agent <em>"How can you help me?"</em> — it builds understanding through dialogue</li> | |
| </ul> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>🔄 Portability</h3> | |
| <p>Since memory is just text files, you can:</p> | |
| <ul> | |
| <li>Download all markdown files from one instance</li> | |
| <li>Upload to a new OpenClaw instance</li> | |
| <li>New agent thinks it IS the old agent — same memories, same personality</li> | |
| <li>Like a brain transplant: new hardware, same consciousness (or is it?)</li> | |
| </ul> | |
| <div class="source-ref">📹 Source: <a href="https://www.youtube.com/watch?v=yfFARCwwKtQ" target="_blank">100h OpenClaw</a></div> | |
| </div> | |
| </div> | |
| <!-- ═══════════════════ HEARTBEATS & CRON ═══════════════════ --> | |
| <div id="tab-heartbeats" class="tab-panel"> | |
| <h2 class="section-title">Heartbeats & Cron Jobs</h2> | |
| <div class="card searchable"> | |
| <h3>💓 Heartbeats — What Makes It Feel "Alive"</h3> | |
| <p>The #1 differentiator. Every <strong>~30 minutes</strong>, OpenClaw "wakes up" and checks its <code>HEARTBEAT.md</code> file.</p> | |
| <ul> | |
| <li>Transforms a reactive chatbot into a <strong>proactive assistant</strong></li> | |
| <li>Can monitor websites, check inboxes, track prices, verify server health</li> | |
| <li>Not real-time — up to 30 min delay (configurable)</li> | |
| <li>This is what Anthropic and others are now trying to copy</li> | |
| </ul> | |
| <div class="source-ref">📹 Both sources agree: Heartbeats are OpenClaw's "killer feature"</div> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>⏰ Cron Jobs — Scheduled Tasks</h3> | |
| <p>Built on actual Unix cron — <strong>real scheduled jobs</strong> on your server.</p> | |
| <ul> | |
| <li>Exact timing: "Every day at 6 AM, send me a news briefing"</li> | |
| <li>Uses standard cron syntax under the hood</li> | |
| <li>Managed via chat: "Remind me to drink coffee every 30 minutes" → creates cron job</li> | |
| <li>View jobs: <code>openclaw cron list</code></li> | |
| <li>Each job follows instructions from a linked markdown file</li> | |
| </ul> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>💓 vs ⏰ When to Use Which</h3> | |
| <table class="cmp-table"> | |
| <tr><th>Use Heartbeat When...</th><th>Use Cron When...</th></tr> | |
| <tr><td>Multiple checks can batch together</td><td>Exact timing matters ("9 AM sharp")</td></tr> | |
| <tr><td>You need conversational context</td><td>Task needs isolation from main session</td></tr> | |
| <tr><td>Timing can drift ~30 min</td><td>Recurring schedule (daily, weekly)</td></tr> | |
| <tr><td>Monitoring, watching, checking</td><td>Producing output (briefings, reports)</td></tr> | |
| </table> | |
| </div> | |
| </div> | |
| <!-- ═══════════════════ SECURITY ═══════════════════ --> | |
| <div id="tab-security" class="tab-panel"> | |
| <h2 class="section-title">Security</h2> | |
| <div class="card searchable"> | |
| <h3>🔍 Security Audit</h3> | |
| <p>Built-in security scanner:</p> | |
| <ul> | |
| <li><code>openclaw security audit</code> — basic scan</li> | |
| <li><code>openclaw security audit --deep</code> — thorough analysis</li> | |
| <li><code>openclaw security audit --fix</code> — auto-fix issues (use with caution!)</li> | |
| </ul> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>⚙️ Key Security Configs</h3> | |
| <table class="cmp-table"> | |
| <tr><th>Config</th><th>Options</th><th>What It Controls</th></tr> | |
| <tr><td><code>tools.profile</code></td><td><code>coding</code> / <code>full</code></td><td>Which tools the agent can see</td></tr> | |
| <tr><td><code>tools.exec.security</code></td><td><code>full</code> / <code>allowlist</code> / <code>deny</code></td><td>Which tools the agent can USE</td></tr> | |
| <tr><td><code>tools.exec.ask</code></td><td><code>off</code> / <code>always</code> / <code>on-miss</code></td><td>Whether agent asks before using tools</td></tr> | |
| </table> | |
| <p style="margin-top:0.8rem"><strong>Configure via CLI:</strong></p> | |
| <ul> | |
| <li><code>openclaw config set tools.profile full</code></li> | |
| <li><code>openclaw config set tools.exec.security allowlist</code></li> | |
| <li><code>openclaw config set tools.exec.ask on-miss</code></li> | |
| <li>Always restart after: <code>openclaw gateway restart</code></li> | |
| </ul> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>🚧 Red Lines (AGENTS.md)</h3> | |
| <p>Define boundaries in the agent's instructions file:</p> | |
| <ul> | |
| <li>"Don't exfiltrate private data — ever"</li> | |
| <li>"Don't run destructive commands without asking"</li> | |
| <li>"Don't modify SSH configurations"</li> | |
| <li>"Log but don't block: firewall changes, Docker commands"</li> | |
| </ul> | |
| <p style="margin-top:0.5rem; color: var(--accent4);">⚠️ These are prompt-level instructions — not enforced by code. The agent CAN ignore them (but good models won't).</p> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>⚠️ Known Risks</h3> | |
| <ul> | |
| <li><strong>Skills/ClawHub:</strong> ~12% of skills contained malware at one point. Verify with VirusTotal.</li> | |
| <li><strong>Credential concentration:</strong> Many API keys in one place — attractive target</li> | |
| <li><strong>Local models (Ollama):</strong> More susceptible to prompt injection</li> | |
| <li><strong>Layer 8 (YOU):</strong> Biggest risk is giving wrong instructions — agent deletes inbox, sends embarrassing emails</li> | |
| <li><strong>Web UI:</strong> By default bound to 127.0.0.1 (safe). Use SSH tunnel for remote access.</li> | |
| </ul> | |
| <div class="source-ref">📹 Source: <a href="https://www.youtube.com/watch?v=T-HZHO_PQPY" target="_blank">NetworkChuck</a> (security deep-dive section)</div> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>✅ Best Practices</h3> | |
| <ul> | |
| <li>Treat OpenClaw like a new employee — capable but unproven</li> | |
| <li>Don't give more permissions than needed</li> | |
| <li>Use virtual credit cards with limits for API billing</li> | |
| <li>Set up a firewall: <code>ufw allow 22 && ufw enable</code></li> | |
| <li>Don't download random skills from ClawHub — let agent create its own</li> | |
| <li>Regularly update: <code>openclaw update</code></li> | |
| </ul> | |
| </div> | |
| </div> | |
| <!-- ═══════════════════ SETUP ═══════════════════ --> | |
| <div id="tab-setup" class="tab-panel"> | |
| <h2 class="section-title">Installation Options</h2> | |
| <div class="card searchable"> | |
| <h3>📍 Where to Install</h3> | |
| <table class="cmp-table"> | |
| <tr><th>Option</th><th>Best For</th><th>Pros</th><th>Cons</th></tr> | |
| <tr> | |
| <td><strong>Laptop/Local</strong></td> | |
| <td>Testing, free tier</td> | |
| <td>Free, simple</td> | |
| <td>Not 24/7, not always reachable</td> | |
| </tr> | |
| <tr> | |
| <td><strong>VPS/Server</strong></td> | |
| <td>IT-savvy users</td> | |
| <td>24/7, full control, Docker</td> | |
| <td>Needs admin knowledge</td> | |
| </tr> | |
| <tr> | |
| <td><strong>Managed</strong></td> | |
| <td>Non-technical users</td> | |
| <td>Zero admin, auto-updates</td> | |
| <td>Less control, vendor dependency</td> | |
| </tr> | |
| </table> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>🧠 Model Selection</h3> | |
| <table class="cmp-table"> | |
| <tr><th>Approach</th><th>Model</th><th>Cost</th><th>Quality</th></tr> | |
| <tr><td>Best quality</td><td>Opus 4.6</td><td>$$$$</td><td>⭐⭐⭐⭐⭐</td></tr> | |
| <tr><td>Good balance</td><td>Sonnet 4.6</td><td>$$</td><td>⭐⭐⭐⭐</td></tr> | |
| <tr><td>Budget (subscription)</td><td>ChatGPT Plus OAuth</td><td>Fixed monthly</td><td>⭐⭐⭐⭐</td></tr> | |
| <tr><td>Free / Local</td><td>Ollama models</td><td>Free</td><td>⭐⭐⭐</td></tr> | |
| </table> | |
| <p style="margin-top:0.6rem; color: var(--text-dim);">💡 Tip: Use ChatGPT subscription to connect, then ask OpenClaw to help you switch to a better/cheaper provider.</p> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>🚀 Quick Start (5-Minute Setup)</h3> | |
| <ul> | |
| <li>One-liner install from <code>openclaw.ai</code></li> | |
| <li>Choose AI model (OpenAI recommended for starters)</li> | |
| <li>Connect via subscription OAuth or API key</li> | |
| <li>Set up Telegram bot via BotFather</li> | |
| <li>Enable hooks: bootstrap, command logger, session memory</li> | |
| <li>Launch TUI → configure agent's identity</li> | |
| <li>Start chatting in Telegram!</li> | |
| </ul> | |
| <div class="source-ref">📹 Source: <a href="https://www.youtube.com/watch?v=T-HZHO_PQPY" target="_blank">NetworkChuck</a> (5-minute setup challenge)</div> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>🔍 Web Search Setup</h3> | |
| <ul> | |
| <li><strong>Brave Search API</strong> — default option, ~1000 searches/month free ($5 credit)</li> | |
| <li><strong>Perplexity API</strong> — premium alternative, AI-powered search</li> | |
| <li>Connect via API key in OpenClaw config</li> | |
| </ul> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>🛠️ Useful Commands</h3> | |
| <table class="cmp-table"> | |
| <tr><th>Command</th><th>What It Does</th></tr> | |
| <tr><td><code>/new</code></td><td>Start fresh session (fixes most issues!)</td></tr> | |
| <tr><td><code>/stop</code></td><td>Interrupt current action</td></tr> | |
| <tr><td><code>/status</code></td><td>Show current state, sub-agents, model</td></tr> | |
| <tr><td><code>/subagents list</code></td><td>List active sub-agents</td></tr> | |
| <tr><td><code>openclaw config</code></td><td>Interactive TUI for settings</td></tr> | |
| <tr><td><code>openclaw cron list</code></td><td>Show scheduled cron jobs</td></tr> | |
| <tr><td><code>openclaw security audit</code></td><td>Run security check</td></tr> | |
| <tr><td><code>openclaw gateway restart</code></td><td>Restart after config changes</td></tr> | |
| </table> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>💡 Onboarding Tips</h3> | |
| <ul> | |
| <li><strong>Take your time.</strong> Don't expect magic in hour one. Invest in teaching it who you are.</li> | |
| <li>Tell it about yourself — private, professional, goals, bottlenecks, communication preferences</li> | |
| <li>Use <strong>Reverse Prompting:</strong> "Based on what you know about me, how could you help?"</li> | |
| <li>Regularly review the markdown files — see what it remembered (and correct mistakes)</li> | |
| <li>Read your <code>AGENTS.md</code> thoroughly — it's the blueprint for how OpenClaw operates</li> | |
| </ul> | |
| <div class="source-ref">📹 Source: <a href="https://www.youtube.com/watch?v=yfFARCwwKtQ" target="_blank">100h OpenClaw</a></div> | |
| </div> | |
| </div> | |
| <!-- ═══════════════════ FAQ ═══════════════════ --> | |
| <div id="tab-faq" class="tab-panel"> | |
| <h2 class="section-title">Frequently Asked Questions</h2> | |
| <div class="faq-item searchable"> | |
| <div class="faq-q" onclick="toggleFaq(this)">Is OpenClaw an AI model?</div> | |
| <div class="faq-a"><div class="faq-a-inner"> | |
| <strong>No.</strong> OpenClaw is a gateway/harness that connects existing AI models (GPT, Claude, Opus, Ollama) to the real world. It provides memory, tools, channels, and scheduling — the AI brain comes from whichever provider you choose. | |
| </div></div> | |
| </div> | |
| <div class="faq-item searchable"> | |
| <div class="faq-q" onclick="toggleFaq(this)">Does OpenClaw remember things between sessions?</div> | |
| <div class="faq-a"><div class="faq-a-inner"> | |
| <strong>Sort of.</strong> Each session starts fresh with zero memory (like the movie Memento). But the agent reads its markdown files (SOUL.md, MEMORY.md, daily notes) at the start of every session to reconstruct context. If it's written down, it "remembers." If not, it's gone. | |
| </div></div> | |
| </div> | |
| <div class="faq-item searchable"> | |
| <div class="faq-q" onclick="toggleFaq(this)">What are Skills? Are they like plugins?</div> | |
| <div class="faq-a"><div class="faq-a-inner"> | |
| <strong>Hot take: Skills are overrated.</strong> They sound fancy but they're just short markdown text files with API documentation or step-by-step instructions. Most "skills" fit on a single printed page. Your agent can usually figure things out by searching the web anyway. Skills just save it from re-researching every session. Better approach: Let the agent create its own skills from successful interactions rather than downloading from ClawHub (12% malware rate!). | |
| </div></div> | |
| </div> | |
| <div class="faq-item searchable"> | |
| <div class="faq-q" onclick="toggleFaq(this)">Is it safe to give OpenClaw access to my computer?</div> | |
| <div class="faq-a"><div class="faq-a-inner"> | |
| It depends on your configuration. Best practices:<br><br> | |
| • Use <code>tools.profile = coding</code> (limited) instead of <code>full</code><br> | |
| • Set <code>tools.exec.ask = always</code> so it asks before executing<br> | |
| • Define red lines in AGENTS.md<br> | |
| • Run <code>openclaw security audit</code> regularly<br> | |
| • The biggest risk is actually YOU giving wrong instructions (agent deletes inbox, sends bad emails)<br><br> | |
| Treat it like a new employee: capable but not yet trusted with the keys to everything. | |
| </div></div> | |
| </div> | |
| <div class="faq-item searchable"> | |
| <div class="faq-q" onclick="toggleFaq(this)">Can I run multiple agents?</div> | |
| <div class="faq-a"><div class="faq-a-inner"> | |
| <strong>Yes!</strong> You can run multiple agents under one gateway, each with their own personality and purpose. Example: An IT team with a CTO agent managing network/storage/systems engineer agents. Or separate agents for personal assistant, health coach, research, etc. You can even deploy sub-agents on-demand for specific tasks. | |
| </div></div> | |
| </div> | |
| <div class="faq-item searchable"> | |
| <div class="faq-q" onclick="toggleFaq(this)">What's the difference between Heartbeats and Cron?</div> | |
| <div class="faq-a"><div class="faq-a-inner"> | |
| <strong>Cron</strong> = scheduled jobs at exact times (daily briefing at 6 AM). Uses real Unix cron under the hood.<br><br> | |
| <strong>Heartbeats</strong> = periodic "pulse" every ~30 minutes where the agent checks its HEARTBEAT.md and acts on instructions. More flexible, can batch multiple checks, but timing is approximate.<br><br> | |
| Heartbeats are what make OpenClaw feel "alive" — they turn it from a reactive chatbot into a proactive assistant. | |
| </div></div> | |
| </div> | |
| <div class="faq-item searchable"> | |
| <div class="faq-q" onclick="toggleFaq(this)">Can I migrate my agent to a different server?</div> | |
| <div class="faq-a"><div class="faq-a-inner"> | |
| <strong>Yes, easily.</strong> Since all memory/personality is stored in markdown text files, just copy the workspace directory to a new OpenClaw instance. The new agent will have the same memories, personality, and knowledge. It will genuinely think it's the same agent. | |
| </div></div> | |
| </div> | |
| <div class="faq-item searchable"> | |
| <div class="faq-q" onclick="toggleFaq(this)">My agent is stuck / not responding. What do I do?</div> | |
| <div class="faq-a"><div class="faq-a-inner"> | |
| Try in this order:<br><br> | |
| 1. <code>/new</code> in chat — starts a fresh session (fixes most issues!)<br> | |
| 2. <code>/stop</code> — interrupts current action<br> | |
| 3. <code>openclaw gateway restart</code> — restart the gateway service<br> | |
| 4. Check logs in the Gateway UI (Debug tab)<br> | |
| 5. Nuclear option: Install a second OpenClaw instance and ask IT to fix the first one 😄 | |
| </div></div> | |
| </div> | |
| <div class="faq-item searchable"> | |
| <div class="faq-q" onclick="toggleFaq(this)">How much does it cost?</div> | |
| <div class="faq-a"><div class="faq-a-inner"> | |
| OpenClaw itself is <strong>free</strong> (open source). Costs come from:<br><br> | |
| • <strong>AI Model:</strong> API tokens (pay-per-use) or included in existing subscription (ChatGPT Plus/Pro)<br> | |
| • <strong>Server:</strong> Free if local, $5-15/month for VPS<br> | |
| • <strong>Web Search:</strong> Brave API ~free (1000 searches/month with $5 credit)<br><br> | |
| Budget tip: Connect your existing ChatGPT subscription via OAuth — no additional AI costs. | |
| </div></div> | |
| </div> | |
| <div class="faq-item searchable"> | |
| <div class="faq-q" onclick="toggleFaq(this)">Will OpenClaw be replaced by Claude/ChatGPT native features?</div> | |
| <div class="faq-a"><div class="faq-a-inner"> | |
| That's the big question. Anthropic is building Channels/Dispatch, NVIDIA has NemoClaw, and every major AI company is converging on the same idea. But OpenClaw's advantages:<br><br> | |
| • <strong>Model agnostic</strong> — not locked to one provider<br> | |
| • <strong>Self-hosted</strong> — full data control<br> | |
| • <strong>Open source</strong> — community-driven<br> | |
| • <strong>Portable memory</strong> — not stuck in one vendor's cloud<br><br> | |
| Jensen Huang called OpenClaw "the operating system for personal AI." When the biggest tech companies converge on the same idea, that's significant. | |
| </div></div> | |
| </div> | |
| </div> | |
| <!-- ═══════════════════ SOURCES ═══════════════════ --> | |
| <div id="tab-sources" class="tab-panel"> | |
| <h2 class="section-title">📹 Video Sources</h2> | |
| <div class="card searchable"> | |
| <h3>🇺🇸 OpenClaw...RIGHT NOW??? (it's not what you think) <span class="tag">EN</span> <span class="tag orange">~35 min</span></h3> | |
| <p><strong>Channel:</strong> NetworkChuck<br> | |
| <strong>Published:</strong> 2026<br> | |
| <strong>URL:</strong> <a href="https://www.youtube.com/watch?v=T-HZHO_PQPY" target="_blank" style="color:var(--accent)">youtube.com/watch?v=T-HZHO_PQPY</a></p> | |
| <p style="margin-top:0.5rem"><strong>Key Topics:</strong> 5-minute setup walkthrough, security deep-dive (configs, red lines, firewall), skills & ClawHub, sub-agents, one-shot project demos (news dashboard, IT monitoring), multi-agent IT team, personal assistant use cases.</p> | |
| <p style="margin-top:0.5rem"><strong>Transcript:</strong> 6,928 words · 4 chunks</p> | |
| </div> | |
| <div class="card searchable"> | |
| <h3>🇩🇪 100 Stunden OpenClaw in 19 Minuten <span class="tag purple">DE</span> <span class="tag orange">~19 min</span></h3> | |
| <p><strong>Channel:</strong> German tech creator<br> | |
| <strong>Published:</strong> 2026<br> | |
| <strong>URL:</strong> <a href="https://www.youtube.com/watch?v=yfFARCwwKtQ" target="_blank" style="color:var(--accent)">youtube.com/watch?v=yfFARCwwKtQ</a></p> | |
| <p style="margin-top:0.5rem"><strong>Key Topics:</strong> Comprehensive guide after 100+ hours, Memento analogy, file system deep-dive (all .md files), heartbeats vs cron explained, "skills are overrated" hot take, installation options, model selection guide, Reverse Prompting, security best practices, troubleshooting tips.</p> | |
| <p style="margin-top:0.5rem"><strong>Transcript:</strong> 4,088 words · 2 chunks</p> | |
| </div> | |
| <div class="card" style="border-style: dashed; opacity: 0.6;"> | |
| <h3>➕ More videos coming soon...</h3> | |
| <p>This knowledge base will be expanded as new sources are processed.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="footer"> | |
| 🐾 OpenClaw Knowledge Base v1.0 · Built by Data · Last updated: 2026-04-04 08:18 CEST<br> | |
| Full transcripts stored in <code>knowledge/openclaw/</code> | |
| </div> | |
| <script> | |
| function showTab(id) { | |
| document.querySelectorAll('.tab-panel').forEach(p => p.classList.remove('active')); | |
| document.querySelectorAll('.nav button').forEach(b => b.classList.remove('active')); | |
| document.getElementById('tab-' + id).classList.add('active'); | |
| event.target.classList.add('active'); | |
| } | |
| function toggleFaq(el) { | |
| const item = el.parentElement; | |
| const answer = item.querySelector('.faq-a'); | |
| if (item.classList.contains('open')) { | |
| item.classList.remove('open'); | |
| answer.style.maxHeight = '0'; | |
| } else { | |
| document.querySelectorAll('.faq-item.open').forEach(i => { | |
| i.classList.remove('open'); | |
| i.querySelector('.faq-a').style.maxHeight = '0'; | |
| }); | |
| item.classList.add('open'); | |
| answer.style.maxHeight = answer.scrollHeight + 'px'; | |
| } | |
| } | |
| function searchKB(query) { | |
| const q = query.toLowerCase().trim(); | |
| document.querySelectorAll('.searchable').forEach(el => { | |
| if (!q) { | |
| el.style.display = ''; | |
| el.querySelectorAll('.highlight').forEach(h => { | |
| h.outerHTML = h.textContent; | |
| }); | |
| return; | |
| } | |
| const text = el.textContent.toLowerCase(); | |
| if (text.includes(q)) { | |
| el.style.display = ''; | |
| } else { | |
| el.style.display = 'none'; | |
| } | |
| }); | |
| } | |
| </script> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment