GAIA Personal AI Assistant

repository·master·Indexed 42 days ago

https://github.com/theexperiencecompany/gaia

An open-source personal AI assistant designed to automate daily workflows by connecting to productivity tools like Gmail, Calendar, and Slack. Available as a managed cloud service or self-hosted via Docker, GAIA includes a Discord bot integration, a comprehensive evaluation harness for agent benchmarking, and a provider-agnostic transactional email service.

Tokens
341.1K
Snippets
541
Records
1.6K
Agent score
55%

What's inside GAIA

  1. Overview of @gaia/wake-word

    master

    @gaia/wake-word is a cross-platform, on-device wake-word detection system for "Hey GAIA". It is designed to run locally in browsers (web), Electron (desktop), and React Native (mobile) using a shared TypeScript core and a single ONNX model artifact (~5 MB).

    Key Features:

    • Local & Private: Audio never leaves the device.
    • High Performance: 1–3 ms processing time per 80 ms frame on modern CPUs.
    • Robustness: Uses Silero VAD (Voice Activity Detection) as a pre-gate, consecutive-hit debouncing, and post-detection cooldown to minimize false positives.
  2. Overview of GAIA capabilities

    master

    GAIA is a proactive personal AI assistant designed to manage your digital life across email, calendar, tasks, and over 60 connected applications. Unlike traditional assistants that require manual dashboard management, GAIA operates via natural language interaction and proactive automation.

    Key Capabilities:

    • Natural Language Interaction: Manage schedules, emails, and tasks by talking to it like a person.
    • Proactive Assistance: GAIA monitors background activity to draft email replies, block focus time on calendars, and convert commitments into tasks automatically.
    • Workflows: Users can create automations by describing them in plain language (e.g., "Every morning at 8, send me my schedule").
    • Cross-Platform Access: Available via WhatsApp, Slack, Discord, Telegram, and a dedicated desktop app.
  3. Overview of the GAIA Design System

    master

    The GAIA Design System is a dark-first, flat, single-accent visual language designed for a proactive personal AI assistant. The interface is intended to feel like a 'power tool'—calm, confident, and dense without being cluttered.

    Core Principles:

    • Dark-first: The primary experience uses primary-bg #111111. Light mode is supported via CSS variables but is secondary.
    • Flat depth: Depth is achieved through layered backgrounds (e.g., neutral-800 over neutral-900) rather than using borders or outlines.
    • Single accent: A single saturated cyan (#00bbff) is used for primary actions, user chat bubbles, selection highlights, and links. All other UI elements use neutral zinc.
    • Borderless cards: Data cards use background-only separation; do not use borders, rings, or outlines in the card tree.
    • Subtle motion: Animations should be functional (entrance, exit, state change) rather than decorative.
  4. Overview of GAIA's architecture and components

    master

    GAIA is a full-stack Nx monorepo designed for self-hosting, contributing, and building custom integrations. The repository contains several distinct technology stacks:

    • Web: A Next.js application built with React and TypeScript.
    • API: A FastAPI backend utilizing LangGraph agents (Python).
    • Desktop: An Electron application that wraps the web build.
    • Mobile: A React Native application built with Expo.
    • Bots: Four TypeScript-based bots for Discord, Slack, Telegram, and WhatsApp that share common logic.
    • Voice agent: A Python-based worker for voice processing.
    • Docs: Documentation hosted via Mintlify.
  5. Overview of OpenClaw

    master
    OpenClaw is a free, open-source (MIT licensed) autonomous AI agent framework designed to run locally on your own hardware. It is a self-hosted Node.js service that connects various AI models (such as Claude, GPT, Gemini, DeepSeek, or local models) to messaging platforms and real-world tools. Unlike managed SaaS products, OpenClaw is intended to be installed and run by the user, providing 24/7 task execution through a persistent heartbeat scheduler.
  6. Overview of the GAIA Web App

    master

    The GAIA web application, accessible at heygaia.io, serves as the central management hub for the GAIA ecosystem. While bots (Discord, Slack, etc.) and the desktop app are used for day-to-day conversations, the web app is required for high-level configuration and management tasks that cannot be performed via chat.

    Core Web Features:

    • Chat: Main interface for conversations featuring streaming responses, file uploads, and rich tool cards.
    • Management Tools: View and manage Todos, calendar events, and reminders tracked by GAIA.
    • Workflows: The environment to build, run, and monitor automations.
    • Integrations: Centralized hub to connect 60+ apps including Gmail, Calendar, GitHub, and Notion.
    • Settings: Manage notification preferences, connected platforms, usage, and subscriptions.

    Key Use Cases for Web:

    • Connecting new integrations.
    • Building and configuring workflows.
    • Managing your account and subscription details.
  7. Overview of Poke AI Assistant

    master
    Poke (by The Interaction Company) is an AI personal assistant designed to operate entirely within messaging platforms like iMessage, SMS, and Telegram. It requires no app download or account setup beyond a phone number. The assistant proactively monitors connected services (like Gmail, Outlook, and Google Calendar) to provide nudges and execute automations known as "recipes."
  8. What is GAIA?

    master

    GAIA is a personal AI assistant designed to act as an operating layer between users and their digital lives. Unlike traditional chatbots or automation tools (like Zapier), GAIA is designed to work in the background, observing digital workflows and handling the 'invisible maintenance work'—such as organizing inboxes, managing calendars, and tracking follow-ups—without requiring constant manual configuration or babysitting.

    Key Distinctions:

    • Not a Chatbot: It is not primarily a tool for asking questions, but a system for managing outcomes.
    • Not an Automation Tool: You do not configure and maintain it; it manages the chaos around you.
    • Goal: To reduce cognitive load and protect focus by turning digital noise into actionable context.
  9. Available GAIA Integrations

    master

    GAIA supports over 60 integrations across several categories, allowing it to read, write, and take actions on your behalf. Once connected, GAIA can perform tasks like drafting emails, creating tasks, scheduling meetings, and filing issues directly within these apps.

    Supported Categories:

    • Communication: Gmail, Slack, Microsoft Teams, Google Meet (e.g., draft replies, summarize threads, manage meetings).
    • Productivity & Tasks: Google Calendar, Google Tasks, Google Docs & Sheets, Notion, Todoist, Asana, Trello, ClickUp, Google Maps (e.g., manage schedules, tasks, and documents).
    • Developer Tools: GitHub, Linear (e.g., create issues, review PRs, track project progress).
    • Social & Business: Twitter, LinkedIn, Reddit, Instagram, HubSpot, Airtable (e.g., read/post content, manage contacts and records).

    To view the complete list of 60+ available integrations, navigate to Settings → Integrations within the GAIA app.

  10. Use @gaia/bot-harness (gaia-sim) for bot testing

    master

    The @gaia/bot-harness (also known as gaia-sim) is a specialized BaseBotAdapter used to drive the real GAIA bot pipeline by emulating a specific platform (Discord, Slack, Telegram, or WhatsApp) without requiring a real connection to those services. It records a JSONL transcript of the interaction.

    Key Features:

    • High Fidelity: It uses the real PLATFORM_LIMITS, STREAMING_DEFAULTS, and markdown converters from @gaia/shared.
    • Backend Authentication: It authenticates to the backend as the emulated platform using the X-Bot-Platform: X header via the GaiaClient.
    • Transcript Recording: Every interaction is captured in a JSONL format for debugging or assertion.

    Requirements:

    • A running GAIA API (either a real LLM or the dev --sim scripted stub).
    • The same .env configuration used by real bots, including:
      • GAIA_API_URL
      • GAIA_BOT_API_KEY
      • GAIA_FRONTEND_URL
      • BOT_LOG_HASH_SECRET
    • (Optional) RABBITMQ_URL if you need to record proactive outbound-delivery events via the real outbound consumer.
    nx run bot-harness:sim -- send --emulate telegram --user dev@gaia.local --out t.jsonl "remind me tomorrow"
  11. Use GAIA for Executive Productivity and Time Management

    master

    GAIA acts as an intelligent layer for executives to manage complex schedules, communications, and strategic priorities. It is designed to reduce operational overhead by automating low-value activities, allowing executives to focus on high-level leadership and strategic work.

    Key areas of assistance include:

    • Calendar Optimization: Intelligent scheduling, protecting focus time, and coordinating multi-person meetings.
    • Communication Triage: Filtering emails, drafting replies in your voice, and routing tasks to team members.
    • Strategic Focus: Tracking progress on initiatives and ensuring strategic work is prioritized over operational noise.
    • Meeting Lifecycle: Automating briefings before meetings and capturing action items/follow-ups after meetings.
    • Relationship Management: Tracking stakeholder connections and suggesting timely check-ins.
    • Information Synthesis: Summarizing news, reports, and documents into executive briefings.
    • Logistics & Delegation: Managing travel coordination and tracking delegated commitments.
  12. Understand the GAIA monorepo structure

    master

    GAIA is a full-stack monorepo managed with Nx. It organizes all applications, services, and shared libraries in a single repository to enable unified tooling and coordinated releases.

    Key Directories

    • apps/: Contains all deployable applications (API, Web, Desktop, Mobile, Bots, and Voice Agent).
    • libs/: Contains shared code.
      • libs/shared/py: Python package (gaia-shared) for common utilities, logging, and Pydantic models.
      • libs/shared/ts: TypeScript package (@gaia/shared) for web, desktop, and bot logic.
    • infra/: Contains Docker configuration for local development and production.
    • docs/: Project documentation.