← Back to home
Local Machine Β· self-hosted service External APIs INPUT CHANNELS Telegram Bot voice, images src/channels/telegram Discord Bot threads, attachments src/channels/discord Web Dashboard Preact + Vite SPA :18790/dashboard CLI start Β· onboard Β· cron skimpyclaw … Newspaper daily edition UI :18790/newspaper Fastify Gateway bearer auth Β· port :18790 src/gateway.ts + src/api.ts CORE RUNTIME Agent Runner runAgentTurn() Β· tool loop history Β· memory Β· audit src/agent.ts Provider Router runToolLoop (unified) model-selection Β· aliases src/providers/* Cron agentTurn + script payloads src/cron.ts Heartbeat keep-alive + proactive alerts src/heartbeat.ts Tool Executor registry Β· MCP discovery Β· dispatch Β· allowedPaths guard src/tools.ts + src/tools/* TOOLS Built-in Tools Read Β· Write Β· Glob Β· Bash Fetch Β· Browser (Playwright) src/tools/*.ts security gate Exec Approval risk tiers 0–3 human-in-loop for 2–3 src/exec-approval.ts code_with_agent delegate to coding CLI + Discord interactive sessions src/code-agents/* Skills trigger-loaded prompt snippets ~/.skimpyclaw/skills/ CODING AGENT CLIs Claude Code claude -p / --resume Codex codex exec Kimi kimi --yolo Anthropic API Claude Opus / Sonnet / Haiku OAuth or API key Codex / ChatGPT chatgpt.com responses Codex OAuth OpenAI-compatible OpenRouter Β· Groq Β· Together… API key + baseURL MCP Servers auto-discovered via mcporter Telegram API long-poll bot updates bot token Discord API gateway websocket bot token ~/.skimpyclaw/ (local storage) config.json Β· logs/audit Β· logs/usage Β· logs/code-agents Β· skills/ Β· agents/

Input Channels

  • Telegram bot β€” voice, images, history, /new
  • Discord bot β€” threads, attachments, interactive coding sessions
  • Web dashboard β€” audit, cron, usage, templates, skills
  • CLI β€” start, stop, onboard, tools, cron

Core Runtime

  • Fastify gateway on :18790 with bearer auth
  • Agent runner with tool loop, history, and memory
  • Unified provider router (Anthropic / Codex / OpenAI-compat)
  • Cron scheduler + heartbeat keep-alive

Tools

  • Read, Write, Glob, Bash, Fetch + Playwright browser
  • Path-scoped to allowedPaths β€” no free filesystem access
  • MCP tools auto-discovered via mcporter

Safety Gate

  • Exec approval classifies bash commands tier 0–3
  • Tiers 2–3 pause and require human approval
  • Approval requests route to the active channel

Coding Agents

  • code_with_agent spawns Claude, Codex, or Kimi CLI
  • Monorepo-aware validation scoped to changed packages
  • Live stdout streaming + cost / token tracking
  • Discord threads: bidirectional claude --resume sessions

Local Storage

  • Config at ~/.skimpyclaw/config.json (0600 perms)
  • JSONL logs: audit, usage, code-agents, interactive-sessions
  • Skills at ~/.skimpyclaw/skills/<name>/SKILL.md
  • Agent templates at ~/.skimpyclaw/agents/<name>/

External APIs

  • Anthropic (Claude Opus / Sonnet / Haiku) β€” OAuth or API key
  • Codex backend via ChatGPT responses endpoint
  • Any OpenAI-compatible provider (OpenRouter, Groq, Together)
  • MCP servers auto-discovered via mcporter