A local-first Telegram bot for personal memory, files, events, reminders, automations, and lightweight message relay.
It uses Pi SDK for assistant behavior, stores long-term state in local repository files, and treats Telegram as the chat interface rather than the source of truth.
- remember and retrieve personal facts
- organize Telegram-uploaded files for local processing
- create reminders, events, recurring routines, and automations
- send immediate or scheduled messages to authorized users and known groups
- manage user access levels through the bot
cp config.toml.example config.toml
just install
# configure Telegram and Pi model credentials, then:
just servePi model credentials can be configured in agent/.pi/auth.json, agent/.pi/models.json, or supported environment variables.
For local assistant debugging:
just agentFill in at least:
telegram.bot_tokentelegram.admin_user_idbot.default_timezone
Common options:
telegram.waiting_message: initial waiting text; empty disables ittelegram.input_merge_window_seconds: short merge window for follow-up text/filestelegram.menu_page_size: Telegram inline menu page sizebot.language: fixed UI locale,zh-CNorenbot.persona_style: assistant persona hintmaintenance.enabled: enable idle maintenance
- Users who should receive direct bot messages must start a private chat with the bot once.
- For group usage, disable the bot's Group Privacy in BotFather.
allowed: basic chat and low-risk actions in the current linked contexttrusted: memory, files, events, automations, and persistent workflowsadmin: trusted plus role management and temporary authorization grants
- “Remember my passport number.”
- “What is my home address?”
- “Remind me tomorrow at 9am to submit the application.”
- “Send this to @someone: dinner is ready.”
- “Send this to the family group.”
- “Set @someone to trusted.”
/help/new/model— admin only
npm run check
npm test
npm run test:liveEngineering guidance lives in AGENTS.md; bot assistant workspace details live in docs/agent-architecture.md.