Atom is a powerful and flexible open-source AI assistant designed to streamline your workflow, intelligently manage your schedule, automate research, and organize your information. Take control of your productivity with an assistant that you can host yourself, ensuring privacy and customization.
- Empower Your Productivity: Let Atom handle the tedious tasks of scheduling, note-taking, and information gathering so you can focus on what matters most.
- Open Source & Transparent: Built with transparency in mind, Atom's open-source nature means you have full visibility into its operations. No black boxes.
- Self-Hosted for Privacy & Control: Host Atom on your own infrastructure for maximum privacy and control over your data and how the assistant operates.
- Highly Customizable: Adapt Atom to your specific needs. Its modular design and open codebase allow for extensive customization and integration possibilities.
- Intelligent Automation: Leverage AI for smart scheduling that considers your preferences, automated event templating, and efficient research capabilities.
- Seamless Integrations: Connect Atom with your favorite tools like Google Calendar, Notion, Slack, Zoom, and more to create a unified productivity hub.
- Why Choose Atom?
- Example Use Cases
- Documentation
- Features
- Core Agent Capabilities & Commands
- Configuration (Environment Variables)
- Diagram
- Deployment Options
- Support the Project
- Contributing
Tired of juggling multiple apps and struggling to stay organized? Atom is here to help you reclaim your focus and boost your productivity. Here are a few ways Atom can simplify your work and personal life:
- Effortless Meeting Coordination: "Find a time next week for a 30-minute meeting with Sarah and John, prioritizing Wednesday afternoon." Atom will check everyone's availability (integrating with their calendars if permitted) and propose optimal times.
- Smart Task Management: "Remind me to draft the project proposal by end of day tomorrow and block out 2 hours for it in the morning." Atom can create reminders and automatically schedule focused work time.
- Automated Information Gathering: "Research the latest trends in AI-powered personal assistants and summarize the key findings in a Notion document." Atom's research agents can browse, collect, and synthesize information, delivering it directly to your knowledge base.
- Voice-Powered Note-Taking: While commuting, you can say: "Atom, take an audio note: Idea for marketing campaign - focus on social media engagement and influencer collaborations." Atom will transcribe the audio and save it to Notion.
- Proactive Schedule Optimization: With Autopilot, Atom can learn your work patterns and preferences. "My mornings are for deep work. Keep them as free of meetings as possible." Atom will then intelligently schedule new events accordingly.
- Quickly Access Information: "What was the outcome of the Project Phoenix meeting last month?" Atom can search your linked Notion notes and relevant event details to provide you with the context you need.
- Stay on Top of Your Day: "What's on my agenda for today?" or "Do I have any free time this afternoon for a quick call?"
Atom provides several resources to help you get started and make the most of its features:
- Local Deployment (Docker Compose): For detailed instructions on setting up and running Atom locally using Docker Compose, please see the Local Docker Deployment Guide.
- AWS Cloud Deployment: To deploy Atom to your own AWS account for a scalable solution, refer to the AWS Cloud Deployment Guide.
- Technical Documentation: Additional technical details, API guides, and development logs can be found in the atomic-docker/docs/ directory.
- Configuration Details: For a comprehensive list of environment variables, consult the
.env.example
file in theatomic-docker/project/
directory and the setup sections within the deployment guides mentioned above.
Atom comes packed with a variety of features designed to enhance your productivity. These include:
- Smart Scheduling & Time Management: AI-powered tools to manage your calendar effectively.
- Integrated Note-Taking & Research: Seamlessly create notes and conduct research with AI assistance.
For a detailed list and explanation of all features, please see our Features Document.
The Atom Agent understands a variety of commands to interact with your integrated services. Commands are typically issued in a chat interface with the agent.
Atom provides a rich set of commands to manage your productivity. You can interact with Atom to:
- Manage your calendar: List, create, and modify events across Google Calendar and Microsoft Teams.
- Handle CRM tasks: Create and retrieve contacts in HubSpot.
- Communicate via Slack: Send messages and list channels.
- Manage video meetings: List and get details for Zoom and Google Meet events.
- Process payments: Interact with Stripe to list payments.
- Handle accounting: Work with QuickBooks Online to manage invoices.
- Take notes and conduct research: Create notes in Notion, initiate multi-agent research projects, and process research queues.
- And much more, including general commands like
help
.
For a more detailed list of commands and their specific syntax, please refer to the agent's help
command or explore the agent's capabilities through interaction.
The Atom Agent uses environment variables for its configuration and to connect to various third-party services.
Atom requires various environment variables to be set for full functionality, including API keys for OpenAI, Notion, Deepgram, and credentials for integrated services like Google Calendar, HubSpot, Slack, Zoom, Microsoft Teams, Stripe, and QuickBooks Online. You will also need to configure settings for LanceDB storage and web search APIs.
For a comprehensive list of all environment variables and their setup, please refer to the .env.example
file in the atomic-docker/project/
directory and the detailed setup instructions in the deployment guides for Local Docker Compose and AWS Cloud Deployment.
sequenceDiagram
actor Alice
participant A as Atom
actor Bob
actor John
participant H as handshake.Atomlife.app
participant P as AI Scheduler
participant G as Google Calendar
Alice->>A: Create a new meeting assist with John & Bob as attendees
A->>John: Sends handshake link for a possible meeting
A->>Bob: Sends another handshake link to another attendee
John->>H: Selects time preferences (not availability like a booking link)
Bob->>H: Also selects time preferences
H->>P: Submits & starts AI planner after minimum threshold met
P->>G: finds an optimal slot & creates the new event
This project offers multiple ways to deploy and run the Atom application stack.
For local development, testing, and self-hosting on a single machine, the project can be run using Docker Compose. This method utilizes the services defined in the atomic-docker/
directory.
- Setup and Instructions: See the detailed guide in atomic-docker/README.md.
For a scalable and robust cloud environment, you can deploy the entire application stack to your own AWS account. This deployment is managed by the AWS Cloud Development Kit (CDK) and provisions all necessary infrastructure, including managed services for databases, messaging, and search where appropriate.
-
Features: Deploys core application services, Optaplanner, a new
python-agent
service (for notes and research), and utilizes AWS S3, Amazon EFS (for LanceDB vector stores), and Amazon MSK Serverless. Amazon OpenSearch Service is no longer used. -
Detailed Guide: For prerequisites, setup instructions, deployment steps, and management, please refer to the comprehensive AWS Deployment Guide.
- I'm spending 100% of my work time on this project
- Star this repository, so I can start an Open Collective to support this project
- In process of setting up Github Sponsors
- Follow me on Twitter: https://twitter.com/rish1_2
- Used Atom? write a review or let me know!
- Fork this repository and clone the fork to your machine
- Create a branch (
git checkout -b my-new-feature
) - Implement a new feature or fix a bug and add some tests or proof of fix
- Commit your changes (
git commit -am 'Added a new feature'
) - Push the branch to your fork on GitHub (
git push origin my-new-feature
) - Create new Pull Request from your fork