Astra
A single-user personal assistant agent over Telegram — LangGraph state-machine workflows powered by Gemini 2.5 Pro, with persistent memory and strict access control.
- Python
- LangGraph
- Gemini 2.5 Pro
- FastAPI
- Telegram
- SQLite
- OAuth 2.0
Astra is a personal “secretary” agent you talk to over Telegram. It’s built with LangGraph and powered by Google Gemini 2.5 Pro, designed as a stateful single-user assistant that remembers conversation history for natural, multi-step interactions.
What it does
- Conversational Telegram interface — natural-language requests in, formatted answers out.
- Google Calendar integration — authenticates via OAuth 2.0 and reads upcoming events from your primary calendar to summarize your schedule.
- Stateful conversations — conversation context persists in a local SQLite store, so follow-up questions just work.
Security and control
The interesting part is the control surface. Astra uses LangGraph’s state-machine model to keep multi-step tool workflows predictable rather than letting the LLM free-run:
- State-machine workflows — strict, explicit transitions for secure, predictable tool use, with state persistence and job control for long-running tasks.
- Single-authorized-user access control — the agent is hard-coded to respond only to one authorized Telegram chat ID; messages from anyone else are ignored.
- Local secrets — API keys and OAuth tokens live in a local, git-ignored env file, never committed.
Stack
Python with LangGraph for the agent graph, Gemini 2.5 Pro as the reasoning model (swappable for any agentic LLM), FastAPI serving the Telegram webhook, and SQLite for conversation memory. Licensed MIT.