
Elroy: An AI assistant that remembers and sets goals¶
Elroy is an AI assistant that runs in your terminal, with memory and powerful goal tracking. It remembers everything you tell it, can learn from your documents, and helps you stay organized.
Features¶
- Memory: Elroy automatically recalls relevant information from past conversations
- Goal Tracking System: Create, update, and track personal and professional goals
- Codebase Understanding: Ingest your repositories to give Elroy context about your projects
- Simple Scripting: Automate tasks with minimal configuration overhead
- CLI Tool Interface: Quickly review memories or jot notes for Elroy to remember
- MCP Server: Surface conversation memories to other tools via Model Context Protocol
The fastest way to get started is using the install script:
Or install manually with UV:
# Install UV first
curl -LsSf https://astral.sh/uv/install.sh | sh
# Then install Elroy
uv pip install elroy
For detailed installation instructions including Docker and source installation options, see our Installation Guide.
Elroy from your terminal¶
Elroy runs in your terminal helps you with goals while maintaining memory of your interactions. As you chat with Elroy, it automatically:
- Creates memories of important information
- Recalls relevant context when needed
- Tracks goals you set together
- Consolidates redundant information to keep context clean
Quickstart¶
Run the install script:
Ensure your env has ANTHROPIC_API_KEY
, OPENAI_API_KEY
or whatever model provider token you wish to use is set.
# Start the chat interface
elroy
# Run with a specific model
elroy --chat-model "gemini/gemini-2.0-flash"
# To see more detailed CLI options
elroy --help
Slash Commands¶
Elroy's CLI supports slash commands for quick actions. Some examples (run /help
to see the full list):
# Create a memory
/create_memory This is important information I want to save
# Create a goal
/create_goal Learn how to use Elroy effectively
# Process a single message and exit
elroy message "Say hello world"
# Force use of a specific tool
elroy message "Create a goal" --tool create_goal
Scripting with Elroy¶
Elroy can be used in scripts and automated workflows:
from elroy import Elroy
ai = Elroy()
# Create a memory
ai.remember("Important project context")
# Process a message with memory augmentation
response = ai.message("What should I do next on the project?")
print(response)
Supported Models¶
Elroy works with:
- OpenAI: GPT-4o, GPT-4o-mini, o1, o1-mini
- Anthropic: Claude 3.5 Sonnet, Claude 3 Opus
- Google: Gemini
- Any OpenAI-compatible API
Under the hood, Elroy uses LiteLLM to interface with model providers.
Community¶
Come say hello!
License¶
Distributed under the Apache 2.0 license. See LICENSE for more information.