A Go project building chat, skills, scheduler, memory, and permissions in small pieces
to see how far it can go. Single binary, no external runtimes.
curl -fsSL https://raw.githubusercontent.com/kittypaw-app/kitty/main/install-kittypaw.sh | sh
macOS ยท Linux โ Windows builds available on the releases page
single Go binary ยท sqlite (modernc) ยท goja JS sandbox ยท macOS / Linux / Windows
Not a polished SaaS โ a source-available project building local automation components piece by piece.
Each card uses โ
/ ๐ง / ๐ฌ to mark its current verification state.
Install from registry / GitHub URL / local path. package.toml, source-bound config (secrets.json), SHA256 verification.
Recent chats โ repeated intent / topic candidates stored. First-turn suffix surface โ verified, "yes" reply dispatches โ , generated code stability ๐ง.
All skills run in goja. SSRF guard, hop-by-hop header block, dangerous ops (Shell.exec / Git.push) require approval in supervised mode.
Pipeline of skills. Staged execution validated for some packages. A general-purpose chain DSL is still undecided.
DuckDuckGo (no-config) + Google API + Tavily option. Web.search + Web.fetch primitives. Source quality / verification ongoing.
OpenAI-compatible local endpoints (Ollama, LM Studio). Model performance varies โ small models often have tool-use limits.
From the CLI or local Web UI โ all data lives in a local SQLite file.
kittypaw skill install <name> โ registry / GitHub URL / local path all supported.
kittypaw skill config <name> <key> <value> โ or kittypaw setup for LLM/channel in one shot. Required fields are in the package's package.toml.
kittypaw skill run <name> for manual, or cron triggers driven by the server โ output flows through the channel adapter.
Live-tested โ vs in-progress ๐ง โ see status on each card.
Install weather / market / RSS packages โ cron schedule โ telegram setup means delivery at the cron time.
Reflection candidates stored โ first-turn chat suffix verified (commit 8f2536a). Auto-generated code is ๐ง.
cron HTTP check โ alert message on status change. Telegram-routed delivery.
Open-Meteo 7-day forecast + LLM short summary, no API key needed.
kittypaw skill create "..." โ JS code โ goja syntax check (5/5 pass measured) โ SkillStore save. Runtime stability depends on the package.
kittypaw skill install <name> to install. Status reflects live tests.
ETF + AI summary
โ cron7-day forecast (Open-Meteo)
โ No API keyFeed + LLM summary
โ dupe filterChat keyword + cron
๐ง partialHTTP check + status alert
โ every 5 minSingle binary. No npm, Node, or Python. 20 SQLite migrations and 159 commits in.