how it works
- 1 · a message
A friend posts in the group. Claudia replies only if the message names her, tags her or ends with a question mark. In a private chat she answers everything.
- 2 · her memory
The bot reads the wiki: the sender’s page, pages for anyone named, and topics that match the message.
- 3 · the reply
That memory and the last 30 messages go to Claude, which writes a short, casual reply. Singlish where it fits.
- 4 · looking it up
If the wiki has nothing on a factual question, a smaller Claude model searches the web and files a summary as a new topic page.
- 5 · writing back
She adds a page for each new person in the group, notes from commands, and a log of every third reply.
- 6 · commands
Friends steer her memory with /save, /who, /note, /recall, /research, /remind, /forget and /correct.
the tools, and what each one did
- the chat
- Telegram, through the Telegraf library
- the replies
- Claude Sonnet 4.6
- the research
- Claude Haiku 4.5 with web search
- the memory
- an Obsidian vault of plain Markdown files
- the bot
- Node.js on my MacBook, about 1,000 lines over two files
- the launcher
- two macOS scripts that check the vault and permissions before starting
not finished yet
- sealed box
Run the bot in a container on the laptop, limited to one wiki folder and to people I approve. Right now it runs straight on the Mac.
- always on
She only answers while the laptop is awake and the bot is running.
- forgetting
/forget only flags a page. I still clean it up by hand.