Skip to content

abenable/student-pa

Student Personal Assistant (Student-PA)

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.

License: AGPL v3 Docker Python Node PRs Welcome


Table of Contents


Features

For Students

  • Personal AI Agent — Each student gets a dedicated Telegram bot and isolated Docker container.
  • 5 Pre-built Services — Ready-to-use academic workflows:
    1. Inbox & Calendar Manager — Read Gmail, draft replies, extract deadlines, populate Google Calendar.
    2. Lab Report LaTeX Typesetter — Convert raw notes and CSV data into compiled PDF lab reports.
    3. Job Application Engine — Scrape job descriptions, draft tailored cover letters, log to Google Sheets.
    4. Academic Paper Interrogator — Extract core problem, methodology, and results from dense PDFs.
    5. 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.

For Admins / Deployers

  • 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.

Screenshots & Demo

Coming soon! We are working on a public demo video and screenshot gallery. See Issue #1 if you'd like to help.


Quick Start

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

Prerequisites

  • 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.


Architecture

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.


Documentation

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.

Roadmap

  • 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.


Contributing

We welcome contributions from students, developers, and educators! Whether it's fixing a typo, adding a new service, or improving documentation, every contribution matters.

Please note that this project follows a Code of Conduct. By participating, you agree to uphold it.


Security

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 in worker/sessions, and generated agent runtime files under agents/ 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.


License

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.


Acknowledgments


Made with ❤️ for students everywhere.
Star us on GitHub if you find this useful!

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors