Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/brettkinny/dotty-stackchan/claude-mdgit clone --depth 1 https://github.com/BrettKinny/dotty-stackchanWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/brettkinny/dotty-stackchan/claude-md)<a href="https://agentmods.dev/instructions/brettkinny/dotty-stackchan/claude-md"><img src="https://agentmods.dev/badge/instructions/brettkinny/dotty-stackchan/claude-md.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.04618 | $0.04618 |
| Opus 5 | $0.02309 | $0.02309 |
| Sonnet 5 | $0.00924 | $0.00924 |
| Haiku 4.5 | $0.00462 | $0.00462 |
Grade A, and why
dotty-stackchan CLAUDE.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **Test the dashboard service**: `curl http://<XIAOZHI_HOST>:8081/health` How it starts
The opening of the file, as written. The whole thing — 216 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Dotty
AI transparency (binding on agents)
This is a human-focused project, made by humans, for humans, that is openly
AI-assisted. If you are an AI agent working here, the project's AI policy
(AI_TRANSPARENCY.md) is binding on you, not just
descriptive. The core rule: anything you author is acknowledged as such. In
practice:
- Keep the
Co-Authored-By:trailer naming your model on every commit you help write (the global commit/PR conventions already require this — honour them, never strip them). - Note AI assistance in PR bodies you draft, and mark substantial AI-drafted docs as such.
- Never present agent work as unaided human work, and never remove existing
attribution. Leave the human-accountability chain intact: you propose, a human
reviews and is accountable for what lands. Don't merge to
mainunattended.
What This Is
Your self-hosted StackChan robot assistant. A fully self-hosted voice stack for the M5Stack StackChan desktop robot. The default persona is "Dotty" (customizable via make setup). Voice I/O routes through a self-hosted xiaozhi-esp32-server; the brain is a pi coding agent running in the dotty-pi container. No cloud AI services — fully self-hosted except for the LLM call (replaceable with local Ollama).
Architecture
The voice path runs through a single LLM provider — PiVoiceLLM, selected via selected_module.LLM in data/.config.yaml. One alternate provider ships as a fallback (OpenAICompat). (The former Tier1Slim two-tier provider was removed in the 2026-05-29 alignment pass — its tool escalation depended on the retired ZeroClaw bridge.)
StackChan hardware → configured persona
│ ESP32-S3, xiaozhi firmware (built from m5stack/StackChan source)
│ WiFi / WebSocket (Xiaozhi protocol)
▼
xiaozhi-esp32-server (Docker)
├─ ASR: FunASR SenseVoiceSmall / WhisperLocal (local)
├─ TTS: LocalPiper; EdgeTTS / StreamingEdgeTTS alternates
└─ LLM: PiVoiceLLM
│ PiClient → `docker exec -i dotty-pi pi --mode rpc …` (JSONL over stdio)
▼
dotty-pi container — the pi coding agent (the brain)
├─ outer loop: qwen3.5:4b on llama-swap
└─ dotty-pi-ext extension → 7 voice tools:
memory_lookup · remember · recall_person · remember_person · think_hard (→ qwen3.6:27b-think) · take_photo · play_song
only TTS-bound text streams back to xiaozhi-server
Perception + ambient behaviour: firmware `event` frames → xiaozhi relay → dotty-behaviour (FastAPI, :8090)
Admin dashboard: bridge.py (FastAPI, :8081, served at /ui)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 216 lines · 4,618 tokens per session scan A aa418d3b2093
dotty-stackchan CLAUDE.md is an instructions file published in the GitHub repository BrettKinny/dotty-stackchan (105 stars, last pushed 1mo ago), licensed MIT. It adds 4,618 tokens to every session, about $0.0231 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
libre-webui AGENTS.md
Instructions for libre-webui/libre-webui, covering agents.md, project overview, project structure, setup and development and testing and validation.
vibepulse AGENTS.md
Instructions for niclasvestlund-YT/vibepulse, covering vibepulse — firmware för hyllskärmen, status (2026-08-28, v1.0.0), arbetsregler, releaser och utåtriktad dokumentation and amoled visual work.
vibepulse CLAUDE.md
Instructions for niclasvestlund-YT/vibepulse, covering over-the-air updates, amoled visual work, logs, errors, and learning from mistakes, hardware-aware work and releases and the readme.
James-RAG-Evol CLAUDE.md
Instructions for Hashevolution/James-RAG-Evol, covering james — session briefing for claude code, what james is, where we are right now, critical rules for this session and where to look next.
tapcard-mcp AGENTS.md
AGENTS.md instructions for ai-cooperation/tapcard-mcp, covering agents.md — tapcard mcp 部署引導(跨 cli), 前置, 步驟, 1. 說明與同意(確認 1) and 2. 組裝.
metrillm AGENTS.md
Instructions for MetriLLM/metrillm, covering agents.md — metrillm cli (metrillm/metrillm), project overview, project structure, commands and coding conventions.