services/openclaw/overview.md
Table of Contents
OpenClaw / Clawdbot Usage Guide
Personal AI assistant (Max) running on OpenClaw framework. This folder covers setup, configuration, and usage patterns. See sibling files for proposed agents and workspaces, CLI/skills, MCP/browser, integrations, troubleshooting, and meeting plugins.
š Web Interface
Access the Control UI / webchat at: http://localhost:18789 (the Gateway port) ā remotely at https://max.dph.am
š Connected Channels
- Telegram: connected ā
@dpham_clawd_bot, Dominick Pham (id: 1662354361) - Webchat / Control UI: http://localhost:18789 (remote: https://max.dph.am)
- WhatsApp: enabled (as of 2026-10-12), Max's own number (Google Voice). Group "Phamily" is bound to the
family-planneragent withrequireMention: true; see troubleshooting.md "Group bot answers everything".
Current Status
- Version: 2026.9.5
- Default Model: GPT-5.6 Terra (
openai/gpt-5.6-terra) ā the configured default - Session model: DeepSeek V4 Flash (
deepseek/deepseek-v4-flash) ā what dashboard/webchat sessions run; 1,000,000-token context - Previous default: Anthropic Claude Sonnet 4.5 ā DeepSeek Chat
š¤ Model Providers
DeepSeek (current default)
- Added May 2026 via OpenAI-compatible completions API
- Base URL: https://api.deepseek.com
- Models:
deepseek/deepseek-v4-flashā default, 1M ctx, w/ reasoning ($0.14/M in, $0.28/M out)deepseek/deepseek-v4-proā 1M ctx, w/ reasoning ($1.74/M in, $3.48/M out)deepseek/deepseek-chatā 128k ctx, legacy ($0.28/M in, $0.42/M out)deepseek/deepseek-reasonerā 128k ctx, legacy R1 ($0.28/M in, $0.42/M out)
- API key: sk-d5cā¦d24f
Local Ollama
- Windows host Ollama is reachable on the LAN at
http://192.168.1.153:11434; Mac127.0.0.1:11434does not listen (checked 2026-09-29). - HTTPS endpoint:
https://ollama.dph.am(public DNS108.56.68.112) proxies from Mac nginx to the Windows host. nginx requires an exactAuthorization: Bearer <key>header on all proxied paths and strips it before forwarding to Ollama; the key lives in/opt/homebrew/etc/nginx/sites-enabled/ollama.dph.am.conf(not duplicated in notes). After the privileged nginx reload on 2026-09-29,/api/tagsreturned 401 with no or incorrect key, and 200 with the configured key;qwen3:8bappeared in the authorized model list. The public proxy was unauthenticated before this change. - Example API call:
curl -H 'Authorization: Bearer <key-from-nginx-config>' https://ollama.dph.am/api/tags. The same authentication applies to generation routes such as/api/generate. - Available models checked 2026-09-29:
qwen3:8b,qwen3-coder:30b,nqduc/mixsura:mixsura-q2_K. Useqwen3:8bfor faster everyday tasks; a benign generation over LAN succeeded in 13.75 seconds, possibly including a cold load. qwen3:8bcan think. For simple organizing tasks, put/no_thinkin the prompt or a system message such asAnswer directly, no thinking.to encourage faster, terser responses. When the client supports Ollama'sthinkparameter,think: falseis a more explicit way to suppress thinking. Prompt wording alone is not a guaranteed control.- OpenClaw's
models.providers.ollamastill points tohttp://localhost:11434and registers only the absentqwen3.5:35b-a3b-coding-nvfp4model with OpenAI-compatible API mode. OpenClaw is not currently configured to use the working Windows model. - For sensitive local-only work, use the LAN endpoint rather than the public nginx URL, register the actual model, and verify the runtime's provider and fallback policy before passing secrets. The nginx bearer check does not protect direct access to Windows port 11434; the short demonstration key should not be treated as strong protection against guessing. A local Ollama host does not by itself make a cloud-mediated agent conversation private.
OpenAI ChatGPT OAuth and Talk
- OpenClaw has a managed OpenAI ChatGPT OAuth profile;
OPENAI_API_KEYis not set in the Gateway environment. - Android Talk is configured with the OpenAI GPT-Live model
gpt-realtime-2.1(currently using thealloyspeaker voice). - GPT-Live is OpenClaw's supported subscription-backed realtime route and can use ChatGPT OAuth. It is separate from general OpenAI Platform Realtime API access.
- A Platform API key is required for OpenAI GA Realtime and unlisted realtime routes. GPT-Live instead follows the ChatGPT subscription's availability and limits.
š File Structure
~/.openclaw/
āāā openclaw.json # Main config
āāā workspace/ # Working directory
ā āāā AGENTS.md # Agent behavior guide
ā āāā SOUL.md # Personality/vibe
ā āāā USER.md # User info
ā āāā IDENTITY.md # Agent identity
ā āāā TOOLS.md # Local tool notes
ā āāā MEMORY.md # Long-term memory
ā āāā HEARTBEAT.md # Periodic task checklist
ā āāā memory/ # Daily logs (YYYY-MM-DD.md)
āāā skills/ # Custom skills (if any)
ā° Cron Jobs
Scheduled work runs through OpenClaw's own scheduler (Automations), not the system crontab ā crontab -l is empty for dominick. Inspect via the Control UI ā Automations page (or the automations tool).
Currently registered:
- Heartbeat (main) ā every 30 min (
heartbeat:main) - Daily exec health guard ā daily 9:00 AM ET; probes the
exectool and DMs Telegram only if it breaks
The previously-documented 6:30 AM Morning Briefing (weather + BBC + PRs ā Telegram) is no longer registered.
š¦ Allowed Origins
Control UI accessible from:
š Gateway Auth
Auth mode: trusted-proxy ā delegates auth to nginx reverse proxy
bind: "lan"(listens on all interfaces0.0.0.0:18789)trustedProxies: ["127.0.0.1", "::1"]ā only a loopback proxy may supply identity headerstrustedProxy.userHeader: "X-Forwarded-User",allowUsers: ["dominick"],allowLoopback: trueport: 18789- nginx stamps
X-Forwarded-User: dominickā gateway trusts it
Token (fallback for direct LAN access):
2e7b62da9967d3cec56b037fe6f55f7280e41883239d7c214d4956312483ea12
Usage:
- Web UI via nginx (https://max.dph.am): Seamless ā nginx auth + header = auto-authed
- Direct web UI (http://192.168.1.189:18789): Paste token into login prompt
- Local CLI (
openclaw cron list): ā Does NOT work.trusted-proxymode rejects loopback connections before considering password fallback- Cron jobs (Daily Briefing) run via OpenClaw's internal scheduler, not the CLI ā they are unaffected
- To run CLI commands, use nix shell with the token or switch to
tokenauth mode
Nginx proxy (192.168.1.185): stamps X-Forwarded-User header from auth_request.
š Resources
- Docs: https://docs.openclaw.ai
- Skills: https://clawdhub.com
- GitHub: https://github.com/openclaw/openclaw
- Discord: https://discord.com/invite/clawd