Eclaire
A self-hosted assistant that organizes and works across your private tasks, notes, files, photos, and bookmarks.
What does this agent do, and when should you use it?
Eclaire is a local-first, self-hosted AI assistant for personal tasks, notes, documents, photos, and bookmarks. Its architecture combines a Vite/React 19 frontend, Node.js/Hono REST API, background workers, a data layer, and local model services; the components can run together in one container by default. The assistant chats over content context and can search data, open content, resolve tasks, add comments, and create notes. PostgreSQL or SQLite provide persistence, while the job queue can use a database or Redis; Docling handles document processing. It exposes OpenAI-compatible REST endpoints authenticated with session tokens or API keys, but remains pre-release and is not intended for direct public-internet exposure.
Eclaire ingests uploaded files, images, tasks, plain-text or Markdown notes, and bookmarks. For bookmarks, it fetches pages and creates PDF, readable, and LLM-friendly versions, with dedicated GitHub and Reddit API and metadata handling. Its workers process documents and images for OCR, content understanding, classification, and search-related workflows across listed Office, PDF, web, and image formats. The chat assistant streams responses grounded in that content and can use tools to search data, open content, resolve tasks, add comments, or create notes. It works with llama.cpp, vLLM, mlx-lm/mlx-vlm, LM Studio, Ollama, and other OpenAI-compatible model backends; ./eclaire model list lists models.
- A privacy-conscious individual can keep bank or health documents on local infrastructure and search or summarize them with a local model.
- A read-later user can save web bookmarks and receive readable and PDF archive versions.
- A Mac user can dictate a note with an Apple Watch, then connect that note to existing tasks and documents.
- Someone with a backlog of scans and photos can run OCR, categorize them, and search for information inside them.
- A person managing personal work can create tasks and have the assistant add comments, resolve tasks, or write results to separate documents.
- A user who needs mobile or messaging access can interact through the installable PWA, iOS Shortcuts, Android automation, or Telegram.
What are this agent's strengths and limitations?
- It places tasks, notes, documents, images, and bookmarks in one data space that the assistant can search and use as chat context.
- It supports a unified single-container deployment as well as separate services, with PostgreSQL or SQLite and database-backed or Redis queues.
- It supports several local or OpenAI-compatible model backends, including llama.cpp, MLX, vLLM, LM Studio, and Ollama.
- Bookmark handling produces PDF, readable, and LLM-friendly copies, with specialized GitHub and Reddit handling.
- The project is explicitly pre-release, with expected breaking changes; operators are told to back up data and review release notes before upgrades.
- Operation requires Docker, Docker Compose, and an independently configured local LLM server.
- It is explicitly not hardened for direct public exposure, so remote access needs additional protection such as a VPN, tunnel, or authenticated reverse proxy.
- Some acceleration paths depend on the available hardware and runtime, such as Apple MLX or NVIDIA CUDA.
How do you install or deploy this agent?
Install Docker, Docker Compose, and a local LLM server; the README recommends llama.cpp. Run:mkdir eclaire && cd eclairecurl -fsSL https://raw.githubusercontent.com/eclaire-labs/eclaire/main/setup.sh | sh
The script downloads configuration, generates secrets, and initializes PostgreSQL. Start your model server, run docker compose up -d, then open http://localhost:3000 to create an admin account and configure an AI provider and models; ./eclaire onboard provides a CLI onboarding path. Source development additionally requires Node.js ≥24 with corepack enabled and pnpm.
How do you use this agent?
Start the local model server, then run docker compose up -d. Complete onboarding at http://localhost:3000, add or upload tasks, notes, documents, photos, and bookmarks, and ask the assistant questions over that content. Configure providers, models, and the active selection in the admin UI or CLI; use ./eclaire model list to inspect models. For programmatic access, use the OpenAI-compatible REST endpoints with either session tokens or API keys.