Local first AI assistant for macOS with offline intelligence, computer control, memory, and other permission based actions.
Robin is an experimental desktop AI assistant focused on local AI, conversation memory, customizable personality, and permission-based computer actions.
The goal is to build an assistant that helps you get things done while keeping control over your data and the actions it can perform.
Status: Experimental and under active development. Setup instructions and features may change as Robin evolves.
- Local AI: Connect to a language model running locally through Ollama.
- Conversation memory: Store conversation history locally.
- Custom personality: Configure Robin's behavior and preferences.
- Permission-based actions: Use a permission system to control desktop actions.
- Activity auditing: Keep a record of relevant actions for transparency and debugging.
- Desktop interface: Interact with Robin through a Python and PySide6 desktop application.
Capabilities depend on the current implementation and local configuration. This repository does not include model weights.
- macOS (primary target)
- Python 3.10 or later
- Ollama
- A locally downloaded model supported by your Ollama installation
Download Ollama from ollama.com and install it.
Download a model supported by your setup. For example:
ollama pull qwen3:4bCheck that the model is available:
ollama listYou can use another compatible model if preferred.
git clone https://github.com/sharmao07/Robin.git
cd Robinpython3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txtpython -m robin.desktopMake sure Ollama is running and a local model is available if Robin cannot connect to the model provider.
Install the development dependencies:
pip install -r requirements-dev.txtRun the test suite:
python -m unittest discover tests/Check Python files for syntax errors:
python -m compileall -q robin testsPlease run the tests in your own environment before submitting changes, and report any failures rather than assuming they are unrelated.
Robin is designed around local execution and user control, but local AI is not automatically risk-free.
- Treat model-generated instructions and tool requests as untrusted.
- Review permission requests before approving actions.
- Never commit passwords, API keys, personal conversations, or private logs.
- Be cautious when allowing an AI assistant to control applications or access files.
- Report security vulnerabilities privately to the maintainers.
See SECURITY.md for the project's security policy.
Robin is being developed toward a more capable personal AI assistant, with an emphasis on:
- Better long-term project and conversation continuity
- More reliable local inference
- Safer desktop automation and permissions
- A polished desktop experience
- Easier installation and distribution
These are development goals, not a claim that every capability is currently implemented or released.
Contributions, bug reports, and suggestions are welcome.
Before submitting a pull request:
- Explain what you changed and why.
- Run the relevant tests.
- Include steps to reproduce fixes where applicable.
- Keep credentials and private information out of commits.
See CONTRIBUTING.md for more information.
Robin is licensed under the MIT License. Third-party dependencies and models may have separate licence terms.