Clawdie Docs

Annotated git tags, regenerated with npm run gen-changelog on each release. Full history at Codeberg.

This static HTML page is an archival snapshot and can lag behind the live repository. Use the repo tags, commits, and package.json version as the authoritative current release state.

v1.0.3 Session Compaction, Budget Policy, TTS, Telegram Commands 20.apr.2026

Session compaction with LLM summarization and non-blocking rotation. Budget-aware chat policy with per-chat quotas. Text-to-speech via Edge TTS. Inbound sanitization and HTML message splitting for Telegram.

  • featSession compaction: LLM summarization, token-aware triggers, non-blocking background rotation, memory DB storage
  • featBudget-aware chat policy: normal/low_budget/paused states, per-chat daily token quotas, ops chat exemption
  • featText-to-speech via Edge TTS with per-chat auto-mode override (/tts command)
  • featTelegram commands: /compact, /resume, /stop, /new, /status, /usage, /whoami, /activation, /tts
  • featInbound sanitization (zero-width chars, byte-level truncation) and HTML message splitting for Telegram 4096-char limit
  • featStartup report with OpenRouter key status, extracted to src/startup-report.ts
  • featEmbeddings default to OpenRouter when API key is configured
  • featCodex (OpenAI) as swappable controlplane agent engine
v0.10.0 Aider+Pi Harness, Three-Database Split Brain 12.apr.2026

Controlplane harness migrated from Codex to Aider+Pi. Split-brain architecture expanded to three PostgreSQL databases (skills, memory, ops). Forgejo replaces Gitea. Justfile added.

  • featCodex runner renamed to Aider runner with --message one-shot prompt model
  • featOps database provisioned in setup/secrets.ts + setup/db.ts
  • featjustfile with 20 recipes mirroring npm scripts
  • feat13 tests for Aider runner, 34 tests for controlplane DB, +9 gap-fill tests
  • refactorAll CONTROLPLANE_CODEX_* env vars renamed to CONTROLPLANE_AIDER_*
  • docs30+ files updated: SQLite/Paperclip/two-database references cleaned across docs, skills, HTML
v1.0.0 Domain Defaults Fix 04.apr.2026

Default domains now use home.arpa for internal names. Added GIT_MIRROR_URLS and GIT_JAIL_NAME config options. setup/env-audit.ts no longer warns about missing REMOTE_GIT_URL when mirror URLs are configured.

v1.0.2 Out-of-the-Box Jails + SSH Baseline 03.apr.2026

Jail setup steps (db, jails, hostd) now implemented in-tree. PF baseline writes /etc/pf.warden.conf. Ansible playbooks for jail SSH baseline and optional PF SSH exposure. Temp files use project-local tmp/.

v0.7.2 Docs Redesign + Skills Artifact Plan 15.mar.2026

Full CSS rewrite for docs.clawdie.si — soft pastel light theme matching Clawdie brand (Cormorant Garamond + DM Mono, #4fb3ce accent). Brand renamed to "Clawdie Docs" across all 12 pages. Terminology pass throughout.

  • docsIntroduction headline: "Sysadmin Skills in Vector Format"
  • docsinstall.html simplified, duplicates removed
  • featSkills artifact V1 plan documented
v0.7.1 Control Plane Refactoring 15.mar.2026

Naming consistency pass and observability wiring on top of v0.7.0.
- src/infra.ts renamed to src/controlplane.ts; all exported symbols renamed
- Watchdog stores lastControlPlaneReport, exposes it in IPC status response
- npm run doctor queries watchdog IPC socket — prints WATCHDOG_MODE, WATCHDOG_THROTTLED, WATCHDOG_FREE_MEMORY_MB, WATCHDOG_ACTIVE_JAILS, WATCHDOG_QUEUED, and per-check CONTROLPLANE_* lines
- All stale src/infra.ts references eliminated from docs, skills, and HTML
- Onboarding no longer requires bsddialog; plain TTY readline fallback added

  • cfd8c60refactor(hostd)rename ops to privileged-commands
  • a2ab8b2simplify(setup)drop required bsddialog dependency for onboarding
  • 09e1d06releasev0.7.1 — Control Plane Refactoring
  • ccb9a0bdocsrefine docs landing copy and manifesto phrasing
  • bf3b392docspolish footer source links for web pages
  • e954f2fpolish(docs)improve freebsd setup guide readability
  • d96befffix(docs)restore section reveal on freebsd setup guide
  • 5ad5191feat(setup)add sanoid step for host-level ZFS snapshot retention
  • 3ed52e5style(docs)rework shared.css to match clawdie.si dark theme
v0.7.0 Privileged Host Daemon + PF Web Edge 15.mar.2026

Production-grade privilege separation and web edge.
- hostd: root daemon on /var/run/<agent>-hostd.sock with whitelisted Zod-validated ops. Agent calls hostd(op, params) from src/hostd/client.ts, never needs sudo
- setup/pf.ts: writes /etc/pf.warden.conf and ensures /etc/pf.conf includes it (Warden NAT egress baseline; ingress rdr is opt-in)
- src/controlplane.ts: self-healing layer checks hostd reachability, persistent jails, and PF at startup and every 5 min via watchdog. Attempts fixes via hostd
- setup/hostd.ts: rc.d setup step; two rc.conf entries: <agent>_hostd_enable=YES + <agent>_enable=YES

  • fb7c8f0chore(service)update generated start/stop scripts
  • bbfdc36fix(preflight)default mounts config and flag root-only steps
  • 489a2ddtest(preflight)smoke tests for both preflight invocation paths
  • 4301d00fix(onboarding)capture bsddialog selection from stderr via spawnSync
  • 560667afix(setup)unblock fresh-host deployment preflight
  • 5934895feat(setup)add host preflight and protected screenshots
  • 4bd6c21READMEfill quick start gaps
  • 133e858add outbound links to all core technologies in docs
  • f8ec295redesign docs CSS with dark theme
v0.6.0 db Jail Mandatory + Watchdog + FreeBSD Onboarding 14.mar.2026

Runtime consolidation: db jail required, watchdog monitors memory, onboarding syncs the full host baseline.
- db jail mandatory (setup/db.ts); renamed Brain A/B → Agent System Skills / User & Agent Memory
- Resource watchdog: auto/slow/fast/permanent modes, memory throttle, IPC socket at /tmp/{agent}-watchdog.sock
- Three-mode service autostart: AUTO (rc.d), YES (always), NONE (default — operator starts manually)
- npm run wizard syncs host package baseline; auto-detects locale; applies to ~/.login_conf
- Hostname + /etc/hosts management for home.arpa jail-local name resolution
- Built-in knowledge loaded into db at --step db; host-side runtime lookup; follow-up jails enriched
- CMS Strapi seed bootstrap from committed baseline with generated secrets
- npm run doctor: split-brain DB availability and row counts

  • 6fe113dchore(release)bump version to 0.6.0
  • 1d1dc4dfeat(cms)add repo-owned Strapi seed bootstrap
  • 7be5e66fix(split-brain)make verify enforce skills artifact integrity
  • 4b2519efeat(skills)add host-side runtime lookup for built-in knowledge
  • 2eb3b6efeat(skills)make built-in knowledge part of default db setup
  • 0209b8dfeat(setup)make local git a default jail
  • c7b96c0refactor(payments)simplify Stripe integration
  • fa659b7feat(freebsd)manage jail hostnames and /etc/hosts for local resolution
  • 7c5d9a8fix(db)generate split-brain secrets and remove bootstrap deadlocks
  • 9c05321featmake db jail mandatory, add setup/db.ts, rename Brain A/B to Agent System Skills / User/Agent Memory
  • e1d5f23feat(service)three-mode autostart with NONE default and grandpa-friendly docs
  • 0dcb148feat(watchdog)add resource watchdog with run modes and IPC socket
  • b5a2c80feat(setup)apply host locale to ~/.login_conf after onboarding wizard
  • d73bff5feat(setup)auto-detect host locale without prompting
  • 5beec71feat(setup)add FreeBSD onboarding and baseline sync
  • 646150ffeat(doctor)surface split-brain readiness
v0.5.0 Skill Forge 13.mar.2026

- NanoClaw upstream toggle (Option A git remote, fetch-only)
- check_upstream_updates + explain_upstream_commit MCP tools
- Installer refactor: host-first orchestrator architecture
- setup/pi-config, setup/jails, setup/platform, setup/upstream, setup/skills-memory
- Instrument Codex docs redesign — shared.css, NanoClaw guide, changelog, license pages
- Architecture diagram, status badges, Why Clawdie table on landing page
- BSD-3-Clause license with FreeBSD/PlayStation lineage explanation
- scripts/gen-changelog: annotated tag changelog auto-generation
- Brain A / Brain B split-brain memory model documented

  • f7404aachorev0.5.0 prep — BSD-3 emphasis, changelog, license page
  • dac11a2docsadd deploy helper, freshness badge, and built-in knowledge badge
  • 6a0fec9docsadd docs.clawdie.si site and split-brain docs
  • 918f21cdocsadd built-in knowledge spec
  • 9ebcaeadocsdefine local knowledge bootstrap flow
  • 19ce0bafeatsharpen FreeBSD differentiation and skills-memory bootstrap
  • c35e6c5feat(landing)architecture diagram, status badges, Why Clawdie table
  • e1693a5designInstrument Codex — docs redesign + NanoClaw upstream guide
  • 4d79038featNanoClaw upstream toggle — Option A (git remote)
  • 229d6d0featadd add-stripe and add-protonmail skills
  • 799961edocsfix stale .claude/skills references in REFACTOR-PLAN to .agent/skills
  • 7983917choreupdate stale clawdie-cp references in comments to AGENT_NAME notation
  • 598951arefactor(phase-4)runtime naming cleanup — warden→jail, drop clawdie-cp prefix
  • 0455a77refactor(phase-3)orchestrator host migration — AGENT_SUBNET_BASE + jail runner
  • d58b288refactor(phase-2.2)installer steps — AGENT_NAME naming + pi-config + cleanup
  • f53004crefactor(phase-2.1)AGENT_NAME namespace — jail-config + platform + jails step
  • be4f9fedocsupdate refactor plan with naming and multi-agent decisions
  • 8caf32cRemove PI-ZAI-KEY.md — notes absorbed into REFACTOR-PLAN.md
  • 52c2bf6v0.4.0: host-first architecture plan, website redesign, name fix
  • 606c8e9Document local git hosting plan
  • 4795efaUpdate install flow and project status
  • 17c3c36Align deployment profile defaults
  • 75c3dfdImprove installer SSH guidance
  • 928c03aRemove hardcoded host examples
  • 943c52aSimplify operator user setup
  • 738b3a4Add controlplane SSH bootstrap
  • f7367f6Refine PI controlplane prerequisites
  • ae7c066Removing stale Nanoclaw references
  • 752081dRedesign /screenshots/ index with dd.mm.yyyy dates, sort toggle, centered layout
  • 059f41bImprove /screenshots/ gallery with lightbox, sorting, date filter
  • f09ece4Add auto-generated index.html for /screenshots/ + fix BASE_URL
  • 2f42f6dFix ANSI color rendering in tmux screenshots + add install guide
  • 2f5525eAdd clean slate rebuild guide + fix CMS IP
  • 5768a91Add CMS deployment plan with screenshot strategy
  • 64cf884Add screenshot security and failure handling
  • 9d44d2aAdd wizard simulation test plan
  • 11bb4daFix ZFS_PREFIX to read from .env for backward compat
  • 08ac6b4Make project name-agnostic for multi-user support
  • 9046a4eFix auth prompt on landing page - separate public img from protected screenshots
  • 86eb0efAdd HTML website sources for clawdie.si and osa.smilepowered.org
  • 4afd42fMinor links update
v0.3.0 From Manual Setup to Guided Wizard 10.mar.2026

- Setup wizard: FreeBSD bsdinstall-style TUI for first-time setup
- Project-relative tmp/: No more /tmp usage
- Infrastructure as code: Ansible reads all IPs from .env
- Password-protected-site: Auto-generated htpasswd during wizard

This release was made possible with assistance from:

AI Systems: Openclaw, NanoClaw, z.ai, Anthropic Claude, OpenAI Codex, OpenRouter, Deepseek, Groq, Ollama, pi-tui

Human: Peter Steinberger

  • 71df5efv0.3.0 - From Manual Setup to Guided Wizard
  • c48d949Add CHANGELOG and release notes for v0.3.0
  • 0e825c6Skip jail-specific tests when not running inside a jail
  • 03bb97cAdd password-protected-site feature to setup wizard
  • aacadcdAdd setup wizard screenshot generator
  • 1330935Reserved IP allocation for jail services
  • 679dfb5Ollama integration
  • 1f95514Add AGENT_NAME parameterization foundation and Astro CV example
  • 9ea0707Add rsync as core skill and update references
  • c0484dcFixing /tmp problem
  • ed4a268Apply RCTL memory limits and document session log convention
  • b6a6f59Add PI coding agent prerequisites: tmux, ripgrep, fd-find
  • 050c93cDocument core FreeBSD config files
  • dcb3545Document bhyve/VMM prerequisites for future VM support
  • a502bd2Add RCTL prerequisites for jail memory limits
  • 5d2e605Add jail state tracking and standardize date formats
  • 39b00d1Add test deployment plan
  • a81ae2aAdd jail creation playbook and configure pi agent
  • 23f222fComplete PGVector memory system
  • 1a82089Add memory pipeline scripts (Phase 2)
  • ad6fc7bAdd ai_brain schema and hybrid search function
  • 19e709dInternal IP and domain redesign
  • a903372Add hybrid memory schema plan
  • 58582f5Wire db bootstrap into Ansible
  • cde2963Refine PF rule placement
  • 81794cbAdopt PostgreSQL 17 with pgvector
  • 5d520ceAdd PF validation and forwarding guides
  • 1cdee3aAdd controlplane operator doc
  • 701cd25Propagate node service user model
  • b09664eRecord successful PI install
  • 4bec262Adopt shared npm service user
  • a986837Fix uv package name on FreeBSD
  • d6b0562Expand controlplane operator baseline
  • 0355595Expand Ansible host operations
  • e2c878bExpand freebsd-admin execution model
  • 9f42a7aMigrate Warden docs to 10.0.0
  • 4180c5aUse bash for operator accounts
  • 56e5a6fRemoval of hardcoded URL paths
  • 8afab7fsshd on controlplane
  • 687598aImplement cms ansible deployment
  • 69703dcAnsible install
  • 1de5f8eAdd ansible FreeBSD scaffold
  • 69c4ad4Astro/Strapi integration plan
  • c6179cdDocument small codebase security benefit
  • 9f6b666Add repo token badge
  • d703a7bSecurity refinement
  • d43fd7cRebranding fixes
  • 86b7e52Harden PostgreSQL security and add nginx basic auth for screenshots
  • 2d64c76Serve screenshots from nginx webroot at clawdie.si/screenshots
  • dda26b7Add tmux-screenshot sample to README FreeBSD milestone section
  • 740253bAdapt tmux-screenshot for FreeBSD: fix font paths, output dir, and document deps
  • 127da92Add PostgreSQL security reference for multi-jail access control
  • 91b3a6cAdd Strapi and Astro skills with cms jail model and memory budget
  • bca992eAdd nginx skill and update clawdie.si with v0.2.0 milestone
  • 7cbc972Expand signature database to 30 patterns with success detection and ZFS dry-run rule
  • 2a21a2fRewrite setup, update, and clawdie-freebsd skills for FreeBSD/ZFS/Warden
  • 5765a22Add skills catalog, doctor command, and restore ai.clawdie.si link
  • 89dd56fRelease 0.2.0 milestone
  • c7c58daAdd controlplane to Sanoid baseline
  • b79b1e7Document Sanoid sample warning
  • c9a38b3Capture Sanoid install baseline
  • 11e5165Define rollback policy classes
  • f477441Adopt day-first snapshot naming baseline
  • 39714baStandardize ZFS snapshot naming
  • f0729a1Add PostgreSQL jail IPC prerequisite
  • 31bf118Capture observed Tailscale resolver state
  • 8d2520dDocument Warden NAT and resolver baseline
  • 9bcd14dCapture Bastille db troubleshooting signatures
  • bc983d3Fix VNET gateway provisioning and bump version
  • 2fad5f9Document successful db jail creation
  • 993e5abClarify PostgreSQL memory install choices
  • 63e1c55Refine PostgreSQL memory storage guidance
  • a431b6fAdd PostgreSQL memory skill
  • 6ec1cebAdd screenshot signature matching
  • 6019227Improve tmux screenshot diagnostics
  • ca5c19aAdd FreeBSD admin skill
  • b205063Document host forwarding for Warden networking
  • f1354c1Rename root package to controlplane
  • 3785099Use controlplane as Bastille jail ID
  • 28ced07Document Bastille destroy and pf warnings
  • 6d5974dAdd browser VM skill
  • 24eeee1Add Warden health skill
  • 3a76bceAdd Telegram admin skill
  • c5fe9acAdd nginx glasspane skill
  • 6a026e5Add Sanoid skill
  • 7392a13Add Warden bootstrap skill
  • 7e4ab6aAdd Bastille network skill
  • 0ff0dfaAdd Warden ZFS skill
  • 6217e25Add Warden pf skill
  • d9d15f6Force thick VNET control-plane jail
  • eca1e91Add Bastille control-plane provisioning plan
  • 07d43acExpand Warden runtime model
  • 7d164f8Define Warden jail profiles
  • 4459019Align default jail name with clawdie-cp
  • f3fb4d8Handle Warden stdin EPIPE gracefully
  • 9caac0cAdd runtime health tracking and doctor command
  • 6a365beIntroduce Warden runtime naming
  • c98c1a0Add Bastille and jail networking docs
  • 2dd996dFix jail config migration and chat listing
  • c3c56abReplace WhatsApp setup with Telegram auth
  • 8254d78Remove Claude runtime path
  • 11682feRename runtime tree to jail
  • 4fd5ea0Drop legacy container config aliases
  • d354405Rename jail runtime config types
  • df06a9bStandardize memory files on AGENTS.md
  • 372f26aFix build imports and setup branding
  • d600f27Rename jail worker runtime types
  • c6e5553Remove non-FreeBSD runtime paths
  • a7877c6Switch default runtime to pi
  • 3fc2aa6refactorreplace WhatsApp with Telegram, rename container→jail, migrate skills to .agent/
  • d5462a6refactorreplace container paradigm with FreeBSD jails, rename all container refs
  • da61a7edocsupdate token count to 38.4k tokens · 19% of context window
  • 24001a2chorebump version to 1.1.3
  • 11c2010refactorCI optimization, logging improvements, and codebase formatting (#456)
  • bd2e236docsadd AmaxGuan to CONTRIBUTORS.md
  • 9232c11docsadd rgarcia to CONTRIBUTORS.md
  • 7d95ddfdocsadd pottertech to CONTRIBUTORS.md
  • 3e578ebdocsadd tydev-new to CONTRIBUTORS.md
  • 40882abdocsadd CONTRIBUTORS.md with Alakazam03
  • ee1dab8choreadd gabi-simons as codeowner for core paths
  • e0cf045choreremove .claude/settings.local.json
  • ee7f720/add-slack (#366)
  • bc05d5ffix(add-telegram)update test assertions for 5-arg onChatMetadata signature
  • ae2f339chore(skills)rebase core skills (telegram, discord, voice) to latest main and fix db schema gaps
  • 3dd48f3fix(add-gmail)restore YAML frontmatter to SKILL.md
  • 8e164f6fix(add-gmail)graceful startup when credentials missing + poll backoff
  • df0e5fcremove unused
  • 6dd9082refactorremove GMAIL_CHANNEL_ENABLED env flag from add-gmail skill
  • 18c0432Fix QR data handling in WhatsApp auth (#467)
  • 5298449choreadd .nvmrc specifying Node 22 (#473)
  • 41e2424refactorrestructure add-gmail skill for new skill architecture
  • 1c31726add npm cache to gitignore
  • 29a5dafrefactorremove deterministic caching system from skills engine (#453)
  • 1448a14docsupdate token count to 38.2k tokens · 19% of context window
  • 796906bchorebump version to 1.1.2
  • 7631a5cfixadd error handling and tests for WA Web version fetch
  • f4277b2docsupdate token count to 38.1k tokens · 19% of context window
  • 3a876c1chorebump version to 1.1.1
  • ec176a0fixuse fetchLatestWaWebVersion to prevent 405 connection failures (#443)
  • 9f802bcdocsrewrite README for broader audience and updated feature set
  • 1ff1fd6featadd official Qodo skills and codebase intelligence (#428)
  • 226b520chorebump version to 1.1.0
  • f59ca7cdocsmake /update skill discoverable, add auto version bumping
  • 1216b5bfeatadd /update skill for pulling upstream changes (#372)
  • 628d434docsupdate token count to 38.0k tokens · 19% of context window
  • 9fb1790fiximprove type safety and add error logging (#378)
  • 856f980Fix critical skills path-remap root escape (including symlink traversal) (#367)
  • 264f855Replace 'ask the user' with AskUserQuestion tool in skills (#389)
  • e59856fFix: filter empty messages from polling queries (#383)
  • f5b2068docsupdate token count to 37.9k tokens · 19% of context window
  • 5958175fixuse 'Assistant' as fallback name instead of 'AssistantNameMissing'
  • 1046a79docsupdate token count to 37.8k tokens · 19% of context window
  • 77f7423fixpass host timezone to container and reject UTC-suffixed timestamps (#371)
  • 107aff8fixpass assistantName to container agent instead of hardcoding 'Andy'
  • 6b85ac5docsupdate token count to 37.7k tokens · 19% of context window
  • 02d8528fixpause malformed scheduled tasks
  • c6391ccfixblock group folder path escapes
  • 6d4277fdocsupdate token count to 37.0k tokens · 18% of context window
  • 5fb1064fixmount project root read-only to prevent container escape (#392)
  • ef00320Update README.md
  • e8d1d1edocsupdate token count to 36.9k tokens · 18% of context window
  • 92d1440refactormove setup scripts out of src/ to reduce build token count
  • c1a2491docsupdate token count to 49.9k tokens · 25% of context window
  • 8fc1c23Migrate setup from bash scripts to cross-platform Node.js modules (#382)
  • ccef3bbfixblock symlink escapes in skills file ops
  • 1980d97docsupdate token count to 36.8k tokens · 18% of context window
  • 5f58941fixadd .catch() handlers to fire-and-forget async calls (#221) (#355)
  • cb29440fixupdate voice note test to match empty-content skip behavior
  • 6e22abbfixreplace hardcoded /Users/user fallback with os.homedir()
  • 9003259docsupdate token count to 36.6k tokens · 18% of context window
  • 3d8c0d1testadd coverage for isTaskContainer and idleWaiting reset
  • c6b69e8fixcorrectly trigger idle preemption in streaming input mode
  • 93bb94ffixonly preempt idle containers when scheduled tasks enqueue
  • 6f177adfixskip empty WhatsApp protocol messages
  • d336b32fixcopy skill subdirectories recursively (#175)
  • 94ba537Decouple formatting test from @Andy (#329)
  • 3c79c61docsfix README_zh consistency and remove Skills System CLI section
  • 3d1859fdocs(zh)Apply stylistic and consistency improvements to README_zh.md (#328)
  • 646411fdocsadd nanoclaw.dev link to README header
  • 41e54a9fixpass filePath in setupRerereAdapter stale MERGE_HEAD cleanup
  • 7181c49featadd /convert-to-apple-container skill, remove /convert-to-docker (#324)
  • a407216featadd voice transcription as nanorepo skill (#326)
  • 6b9b3a1docsupdate skills to use Docker commands after runtime migration (#325)
  • a7faac6docsupdate token count to 36.3k tokens · 18% of context window
  • 607623afeatconvert container runtime from Apple Container to Docker (#323)
  • 51a50d4docsupdate token count to 36.4k tokens · 18% of context window
  • c6e1bferefactorextract runtime-specific code into src/container-runtime.ts (#321)
  • 8fd6791Update README.md (#316)
  • 5a16a9dDocumentation improvements
  • 646491cdocsupdate token count to 36.3k tokens · 18% of context window
  • 51788deSkills engine v0.1 + multi-channel infrastructure (#307)
  • a689f8bfixquote ASSISTANT_NAME in .env to handle special characters
  • 6f71987docsupdate token count to 35.6k tokens · 18% of context window
  • 802805dFix/WA reconnect, container perms, assist name in env (#297)
  • f257b93choreupdate Discord invite link
  • b7c9d98fixensure setup skill runs Docker conversion before building containers
  • ff574a2choreupdate social preview with new subtitle
  • b125cb1choreadd nanoclaw profile and sales images
  • 88140ecfeatadd setup skill with scripted steps (#258)
  • 5694ac9docsupdate token count to 35.5k tokens · 18% of context window
  • 5031d0fciadd workflow_dispatch trigger to token count workflow (#254)
  • c467941fixadd git pull --rebase before push in token count workflow (#253)
  • e4d77cdfixuse GitHub App token for token count workflow
  • 9261a25featadd is_bot_message column and support dedicated phone numbers (#235)
  • c8ab3d9featadd repo-tokens GitHub Action with token count badge
  • 6f2e10ffixtyping indicator now shows on every message, not just the first
  • 5c68deefixrepair WhatsApp channel tests (missing Browsers mock and async flush)
  • ae474fdfixuse available instead of paused when stopping typing indicator
  • 658f6b0fixsend available presence on connect so typing indicators work consistently
  • 1549ad5security: pass secrets via SDK env option and delete temp file (#213)
  • 1a07869security: sanitize env vars from agent Bash subprocesses (#171)
  • c30bd62docsupdate Chinese README and move language link to badge row
  • b5a6757fixpass requiresTrigger through IPC and auto-discover additional directories
  • acdc645fixWhatsApp auth improvements and LID translation for DMs
  • 6863c0btestadd comprehensive WhatsApp connector tests (#182)
  • a354997Add Apple Container Networking Setup documentation (#178)
  • 4647353choreadd /groups/ and /launchd/ to CODEOWNERS
  • 8eb80d4fixprevent infinite message replay on container timeout (#164)
  • 2b56fecRefactor index (#156)
  • 196abf6docsclarify agent swarms vs teams in Telegram skill
  • b3f5814featmove to Claude's native memory management
  • 116fba1fixbust shields.io cache for Discord badge
  • 126b3f4featadd Telegram agent swarm skill
  • 6f02ee5Adds Agent Swarms
  • 6cd165ffeatAdd /add-telegram skill for Telegram channel support (#83)
  • b2bd141Fix orphan container cleanup and update installation steps (#149)
  • f26468cfixsetup skill reliability, requiresTrigger option, agent-browser visibility
  • 675ed30fiximprove container error logging to include full stdout/stderr
  • 8dd27bcfixdefend against missing structured output and message without content
  • 2ecda36small tweak to acknowledgement prompt
  • 44f0b3dfiximprove agent output schema, tool descriptions, and shutdown robustness
  • ae17715featper-group queue, SQLite state, graceful shutdown (#111)
  • 03df69efixaddress review feedback for per-group queue reliability
  • eac9a6afeatper-group queue, SQLite state, graceful shutdown
  • db216a4fixproper container lifecycle management to prevent stopped container accumulation
  • abc1c06featAdd Chinese README and language switcher
  • 3a4d340Fix duplicate responses caused by reconnect-stacking loops
  • 1f8cd26Add voice transcription skill using OpenAI Whisper API (#77)
  • 1179801refactordeduplicate logger into shared module (#39)
  • 392ba62fixtranslate WhatsApp LID JIDs to phone JIDs for self-chat messages (#62)
  • c9ca34aAdd X integration skill (#52)
  • 3084fabRemove ToS gray areas section from README (#65)
  • 7ff9a65Update setup skill to use claude setup-token for auth
  • 21c66dfAdd prettier
  • 1a32bffImprove setup UX with AskUserQuestion tool and security education (#60)
  • 80e68dcAdd social preview image
  • 7223511Add contribution guidelines and PR checks for skills-only model
  • ff23125Add Docker support and integrate /convert-to-docker into setup flow
  • 849b224Fix minor issues in add-parallel skill
  • 1b960c5Add /add-parallel skill for Parallel AI integration (#28)
  • 93e639fAdd /convert-to-docker skill for Docker migration (#23)
  • fb5dbcbUpdate README.md
  • 40d4154Update README.md
  • 98f82b7Update README.md
  • d20df2eUpdate README.md
  • 4711ec4Add register_group IPC command for dynamic group registration
  • 05a29d5Security improvements: per-group session isolation, remove built-in Gmail
  • 22eb525Add Qwibit Ops context and NanoClaw Testing group
  • 17f7b84Add /add-gmail skill for Gmail integration
  • d000f33Add container output size limiting to prevent memory issues (#18)
  • 33ef0c6Fix message cursor to only advance on successful processing (#17)
  • c45f0efEscape regex metacharacters in ASSISTANT_NAME for trigger pattern (#16)
  • e5b436aFix group metadata sync setting epoch timestamp for new groups (#15)
  • df52232Pre-launch fixes: error handling, cleanup, consistency
  • 48822ffAdd mount security allowlist for external directory access (#14)
  • 5760b75Fix timezone handling and message filtering
  • 066eeb9Make OpenClaw critique specific with actual numbers
  • 016a1a0Add group metadata sync for easier group activation
  • 572338bAdd context_mode option for scheduled tasks
  • f6e7f7aMake main group respond to all messages without trigger prefix
  • 6745a1cApply fixes from closed PRs: sentinel markers, JID lookup, schedule validation
  • 7aa051fFix: only update lastAgentTimestamp on agent success
  • a904c65Fix message loss when processMessage throws
  • 092411dRemove message content from info-level logs
  • a8155e2Fix hardcoded home directory fallback in container runner
  • 6a94aecSecure IPC with per-group namespaces to prevent privilege escalation
  • 49e7875Fix security: only expose auth vars to containers, not full .env
  • c255451Move Quick Start section above Philosophy
  • 1699dfcUpdate README.md
  • 479ca16Add NanoClaw logo and branding assets
  • 17e7b46Refactor: delete dead code, extract utils, rename files for clarity
  • 847032dFix task deletion FK constraint error
  • 2dedd18Fix scheduled tasks and improve task scheduling UX
  • f25e0f9Remove redundant comments throughout codebase
  • 732c624Fix security issues: IPC auth, message logging, container logs
  • 552b26cAdd PreCompact hook for conversation archiving, remove /clear command
  • aa6dcf3Add typing indicator while agent is processing
  • 2026eafClean up README prose and add contribution FAQ
  • e9c5187Rewrite README intro with balanced OpenClaw comparison
  • fb4ce8dUpdate project and agent context files
  • dbf39a9Rewrite documentation with project philosophy and RFS
  • 1d4cf51Support OAuth token authentication as alternative to API key
  • 8ca4c95Fix session persistence and auto-start container system
  • 67e0295Fix container execution and add debug tooling
  • 0ccdaaaMount project root for main channel
  • ef24c45Update setup skill for container architecture
  • 09c0e81Add containerized agent execution with Apple Container
  • fa13b14Add built-in scheduler with group-scoped tasks
  • 423d45cUpdate docs to reflect current architecture
  • 0c08e8aUse date + time format in message timestamps
  • 22bd3d7Store and display sender's WhatsApp name
  • cbe33f4Keep trigger in prompt, simplify message formatting
  • f2afb11Include missed messages when catching up the agent
  • 4ec74e9Simplify runAgent: just pass the prompt
  • 545cbc7Remove unnecessary shutdown handlers
  • 0691601Extract database operations into separate db.ts module
  • 78426c7Extract config and types into separate files, clean up index.ts
  • fe5ae97Improve setup skill: better Gmail explanation, use placeholders
  • 8a385c7Separate WhatsApp auth from daemon into standalone script
  • e1867f8Replace QR code display with macOS notification
  • 295c3e6Fix: exit gracefully when auth needed in daemon mode
  • c17823aInitial commit: NanoClaw - Personal Claude assistant via WhatsApp