Open-source AI agent platform for university students.
Student-PA gives every student their own personal AI agent — accessible via Telegram — that helps with scheduling, academic writing, research, job applications, and more. Each student gets an isolated, containerized Hermes Agent instance with pre-built workflows and secure API-key management.
- Features
- Screenshots & Demo
- Quick Start
- Architecture
- Documentation
- Roadmap
- Contributing
- Security
- License
- Acknowledgments
- Personal AI Agent — Each student gets a dedicated Telegram bot and isolated Docker container.
- 5 Pre-built Services — Ready-to-use academic workflows:
- Inbox & Calendar Manager — Read Gmail, draft replies, extract deadlines, populate Google Calendar.
- Lab Report LaTeX Typesetter — Convert raw notes and CSV data into compiled PDF lab reports.
- Job Application Engine — Scrape job descriptions, draft tailored cover letters, log to Google Sheets.
- Academic Paper Interrogator — Extract core problem, methodology, and results from dense PDFs.
- Lecture & Video Summarizer — Generate structured study guides from YouTube transcripts.
- Telegram Gateway — Chat with your agent anywhere, anytime.
- Google Workspace Integration — Native Gmail, Calendar, Docs, and Sheets support via GWS CLI.
- Multi-tenant by Design — One signup bot provisions isolated agent containers per student.
- Secure API Key Management — Per-student LiteLLM keys with model restrictions and metadata tracking.
- Automatic Bot Creation — Integrates with Telegram BotFather to spin up bots automatically.
- Web Dashboard — TanStack Start-based admin dashboard with Better Auth and Prisma.
- Docker-first — Everything runs in containers with dropped capabilities and non-root users.
Coming soon! We are working on a public demo video and screenshot gallery. See Issue #1 if you'd like to help.
The fastest way to try Student-PA locally with Docker:
# 1. Clone the repository
git clone https://github.com/abenable/student-pa.git
cd student-pa
# 2. Configure environment
cp .env.example .env
# Edit .env and fill in your keys (see docs/SETUP.md for details)
# docker-compose.yml passes this file to both web and worker
# 3. Build and start all services
docker compose up -d --build
# 4. Check that everything is running
docker compose ps- Docker & Docker Compose
- A LiteLLM instance or OpenAI-compatible API endpoint
- A Telegram bot token from @BotFather
- (Optional) Telegram API ID / Hash from my.telegram.org for automatic bot provisioning
For detailed setup instructions (including production deployment, SSL, and cloud hosting), see docs/SETUP.md.
Student-PA is a multi-service platform composed of three main components:
┌─────────────────────────────────────────────────────────────┐
│ Student-PA Platform │
├─────────────┬─────────────┬─────────────────────────────────┤
│ Web │ Worker │ Agent (per student) │
│ Dashboard │ Provisioner│ │
│ (React 19) │ (FastAPI) │ ┌───────────────────────────┐ │
│ TanStack │ Telegram │ │ Hermes Agent Container │ │
│ Prisma DB │ BotFather │ │ - GWS CLI │ │
│ │ Orchestrator│ │ - LaTeX / pdflatex │ │
│ │ │ │ - Pre-built services │ │
│ │ │ │ - Memory & sessions │ │
└─────────────┴─────────────┴──┴───────────────────────────┴──┘
│
LiteLLM Gateway
(OpenAI-compatible proxy)
For a deep dive into how the pieces fit together, see docs/ARCHITECTURE.md.
| Document | Purpose |
|---|---|
| docs/SETUP.md | Complete installation and configuration guide |
| docs/ARCHITECTURE.md | System design, data flow, and security model |
| CONTRIBUTING.md | How to contribute code, report bugs, and propose features |
| CODE_OF_CONDUCT.md | Community standards and expected behavior |
| SECURITY.md | Security policy and vulnerability reporting |
Additional service-level docs:
- Agent Services — The 5 pre-built student workflow templates.
- Web App — TanStack Start web dashboard specifics.
- Public demo instance with video walkthrough
- OAuth2 login support (Google, GitHub) in web dashboard
- Plugin system for custom student services
- Support for additional messaging platforms (WhatsApp, Discord)
- Kubernetes Helm chart for production deployments
- Automated CI/CD for multi-arch Docker images
- Multi-language support (i18n)
See open issues and discussions for feature requests and ideas.
We welcome contributions from students, developers, and educators! Whether it's fixing a typo, adding a new service, or improving documentation, every contribution matters.
- Read our Contributing Guide to get started.
- Check out good first issues.
- Join the conversation in Discussions.
Please note that this project follows a Code of Conduct. By participating, you agree to uphold it.
Security is a priority for Student-PA because we handle student data and API keys.
- Containers run as non-root users with minimal capabilities.
- API keys are never committed to the repository (see
.gitignore). - Each student receives an isolated Docker container and a unique LiteLLM API key.
- Treat
.env, Telethon session files inworker/sessions, and generated agent runtime files underagents/as secrets. Back them up encrypted and rotate leaked Telegram bot tokens, LiteLLM keys, or Telethon sessions carefully.
If you discover a security vulnerability, please do not open a public issue. Instead, follow the instructions in SECURITY.md to report it responsibly.
Student-PA is licensed under the GNU Affero General Public License v3.0 (AGPLv3).
This means that if you run a modified version of this software on a network server, you must make the source code available to the users of that server. See the LICENSE file for full details.
- Built on top of Hermes Agent by Nous Research.
- Google Workspace integration powered by GWS CLI.
- UI built with TanStack, Tailwind CSS, and shadcn/ui.
Made with ❤️ for students everywhere.
Star us on GitHub if you find this useful!