Ryan's AI employee. Runs 24/7. Ships while you sleep. This page documents everything about the Molty installation — architecture, config, capabilities, and status.
💬 Open Molty in TelegramThe AI employee that never clocks out — Ryan's personal assistant, developer, and business operator.
Primary brain — Anthropic's most capable model. Deep reasoning, expert coding, nuanced conversation. Falls back through Sonnet → Haiku → GPT 5.2.
Creates PRs, builds websites, deploys to Cloudflare, manages GitHub repos. Never pushes live — always branches and PRs for review.
DMs, group chats, inline buttons. Streams responses in real-time. Handles images, files, voice messages.
Heartbeats, proactive monitoring, adaptive rate limiting, memory maintenance. Manages itself so you don't have to.
Clawdbot gateway running on Ryan's Mac, connected to Telegram, with full filesystem and tool access.
Clawdbot Gateway
v2026.1.24macOS (Darwin x64)
Node v22Local mode, loopback
Port 18789Main agent workspace
/clawd-mainTelegram → Clawdbot Gateway → Claude API → Tools (exec, browser, web, files, cron, memory)
Messages arrive via Telegram long-polling, get processed by the gateway which manages sessions, routes to the right agent, calls the AI model, executes tool calls, and streams the response back. The gateway handles auth, rate limiting, model fallbacks, and session persistence automatically.
Multi-model setup with automatic failover for maximum reliability.
When the primary model hits a rate limit (429), Molty automatically falls to the next model in the chain. Cooldown is exponential — retries the primary after increasing intervals.
Most capable model. Deep reasoning, complex coding, long context. ~$15/MTok input, $75/MTok output.
Smart and fast. Great for most tasks. ~$3/MTok input, $15/MTok output. 5x cheaper than Opus.
Lightweight and fast. Much higher rate limits. ~$0.25/MTok input, $1.25/MTok output.
Different provider entirely. If all Anthropic models are limited, falls to OpenAI. Never fully stops.
When a model gets a 429, Molty backs off with exponential cooldown: 1 min → 5 min → 25 min → 1 hour. After each cooldown, it retries the higher-tier model. Once it responds, the cooldown resets. All transparent.
Anthropic automatically caches the system prompt across calls within the same session. Cached tokens don't count toward rate limits and cost 90% less. First message in a session may take ~55s (cold cache), subsequent ones are much faster.
Three layers of protection ensure Molty never fully stops responding.
Automatic failover through 4 models across 2 providers. If one model is rate-limited, the next one takes over instantly.
Adaptive monitoring daemon watches for 429 errors, high concurrency, and system load. Auto-enables request queuing when needed.
System prompt cached across API calls. Cached tokens don't count toward rate limits — reduces effective token usage by 60-80%.
A background daemon that watches for problems and automatically activates additional protections.
A background process runs every 30 seconds, checking three signals:
3+ rate limit errors in recent logs triggers queue
12+ active subagents triggers queue
80%+ CPU usage triggers queue
When thresholds are crossed, the priority queue activates automatically
DMs (priority 1) → Group chats (priority 2) → Background tasks (priority 3)
Short waits are invisible — looks like normal processing time
After 5 minutes of stability (no errors, normal load), queue disables itself
| Command | Action |
|---|---|
./scripts/smart-queue-monitor.sh status | Check monitor status + current metrics |
./scripts/smart-queue-monitor.sh daemon | Start monitoring daemon |
./scripts/smart-queue-monitor.sh stop | Stop monitoring daemon |
./scripts/queue-control.sh emergency-enable | Force-enable basic queue immediately |
./scripts/queue-control.sh disable | Force-disable queue |
Two agents configured — Molty (main) and Hanna (secondary).
ID: main
Workspace: /Users/home/clawd-main
Model: Claude Opus 4.5
Role: Primary assistant — coding, business ops, proactive work
Default: Yes — handles all unrouted messages
ID: hanna
Workspace: /Users/home/clawd/agents/hanna
Model: Claude Opus 4.5
Role: Secondary agent — separate Telegram bot
Groups: Disabled
| Setting | Value | Description |
|---|---|---|
maxConcurrent | 4 | Max simultaneous main agent runs |
subagents.maxConcurrent | 8 | Max simultaneous sub-agent runs |
compaction | safeguard | Context compaction with memory flush before truncation |
Telegram is the primary channel. WhatsApp plugin is enabled but not linked.
| Setting | Value |
|---|---|
| DM Policy | allowlist — only Ryan (ID: 7191564227) |
| Group Policy | allowlist — Ryan + Leads group |
| Stream Mode | partial — real-time streaming edits |
| Ack Reactions | Group mentions only (group-mentions) |
| Capabilities | Inline buttons enabled |
Molty Bot: @MoltyBot (main agent)
Hanna Bot: Separate Telegram bot (DMs only, groups disabled)
Plugin enabled but not currently linked. Available for future use — supports DMs, groups, voice messages, reactions.
File-based memory with daily logs, long-term curation, and group isolation.
memory/YYYY-MM-DD.md
MEMORY.md — curated
memory/groups/<slug>/
Reviews during heartbeats
| File | Purpose |
|---|---|
SOUL.md | Personality, behavior rules, core mission |
USER.md | Ryan's info — name, timezone, context |
IDENTITY.md | Molty's name, creature, vibe, emoji |
AGENTS.md | Operating procedures, memory protocol, group chat rules |
TOOLS.md | Local tool notes (cameras, SSH, TTS, etc.) |
HEARTBEAT.md | Periodic task checklist for heartbeat polls |
IDEAS.md | Pipeline of ideas, opportunities, things to explore |
MEMORY.md | Curated long-term memory (main session only) |
Current projects, repos, and deployments managed by this install.
Site: denveraitraining.com
Repo: RShuken/denveraitraining
Stack: Next.js → Cloudflare Pages
PRs: Stripe checkout, SEO polish
Site: openclawinstall.net
Repo: RShuken/openclawinstall
Stack: Next.js → Cloudflare Pages
PRs: Stripe checkout, SEO polish
Repo: RShuken/molty-bot-sites
Stack: CF Worker + D1 + Stripe
PRs: /checkout/quick endpoint
Features: Lead capture, Turnstile, payments
Vishnu (Ian Ferguson)
Host: Mac Mini via Tailscale
SSH: roberts-mac-mini
Model: Claude Sonnet 4 + Haiku fallback
Quick reference for important configuration values.
| Profile | Provider | Mode |
|---|---|---|
anthropic:default | Anthropic | Token |
openai-codex:default | OpenAI Codex | OAuth |
| Skill | Purpose |
|---|---|
goplaces | Google Places API queries |
openai-image-gen | Image generation via OpenAI |
openai-whisper-api | Audio transcription via Whisper |
| Plugin | Status |
|---|---|
telegram | ✅ Enabled |
whatsapp | ✅ Enabled (not linked) |
| Hook | Status |
|---|---|
boot-md | ✅ Loads workspace .md files at session start |
command-logger | ✅ Logs slash commands |
session-memory | ✅ Session persistence |
clawdbot gateway restart from the terminal, or send /reset in Telegram to reset the current session without restarting the gateway.channels.telegram.groupAllowFrom in the config, then restart the gateway. Molty will automatically create isolated memory for the new group./status in Telegram to see current session costs, or check the Anthropic console at console.anthropic.com.roberts-mac-mini (Ian's Vishnu install) via Tailscale. Additional SSH hosts can be added to ~/.ssh/config../scripts/smart-queue-monitor.sh daemon, or use ./scripts/queue-control.sh emergency-enable to force-enable the queue.