Eclaire
A self-hosted assistant that organizes and works across your private tasks, notes, files, photos, and bookmarks.
- Source repo
- eclaire-labs/eclaire
- Stars
- ★ 922
- Last updated
- 4mo ago
- License
- MIT
- Primary language
- TypeScript
- FA score
- 47/100 · Major gaps
At a glance
- Works with
- Universal · cross-platformOpenAI API
- You'll need
- Typical use
- A privacy-conscious individual can keep bank or health documents on local infrastructure and search or summarize them with a local model.
- Main limitation
- The project is explicitly pre-release, with expected breaking changes; operators are told to back up data and review release notes before upgrades.
- Source review
- 47/100 · Major gaps
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.
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 eclaire
curl -fsSL https://raw.githubusercontent.com/eclaire-labs/eclaire/main/setup.sh | shThe 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.
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 does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|
| Eclaire This agent | 47 · Major gaps | ★ 922 | 4mo ago | TypeScript | OpenAI API |
| GAIA — Personal AI Assistant | 73 · Some gaps | ★ 298 | 4d ago | Python | — |
| SiYuan | 52 · Major gaps | ★ 46k | today | TypeScript | — |
| Conduit | 73 · Some gaps | ★ 2.2k | 1d ago | Dart | OpenAI API |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows the project emphasizes privacy and local-first, but lacks detailed permission model or user confirmation mechanisms. README mentions 'Private by default' but does not specify least privilege principles. User confirmation: setup wizard and CLI exist, but AI operations requiring user confirmation are not explicit. Data flow transparency: architecture docs exist, but data flow details are not provided. Sensitive data handling: mentions processing bank/health info, but specific protections are not detailed. Dependency security: pnpm overrides and CI exist, but no dependency audit results. External effects: Telegram integration and GitHub/Reddit APIs exist, but permission controls are not described. Rollback: database transaction tests exist, but no application-level rollback. Source attribution: open-source license and contribution guide exist, but publisher is unverified.
Self-consistency: README and code structure are consistent, tests cover database operations. Dependency availability: Docker and local model dependencies exist, but no availability guarantees. Failure messages: error handling in tests, but no user-friendly error messages.
Audience and scenarios: README lists multiple use cases, suitable for personal and sensitive data. Capability boundaries: describes feature scope, but AI permission boundaries are not explicit. Trigger precision: CLI and API exist, but trigger conditions are not detailed. Environment fit: supports multiple OS and deployment methods, but detailed configuration guides are missing.
Information architecture: clear directory structure and docs. Install notes: Docker and source installation steps provided. Naming stability: version numbers and CHANGELOG exist, but naming conventions not stated. Examples and FAQ: example use cases exist, but no FAQ. Known limitations: README mentions pre-release status and security warning. License: MIT license clear. Versioning and changelog: CHANGELOG and version scripts exist. Maintenance responsibility: contribution guide and security policy exist, but maintainers not identified.
Output usability: API and CLI exist, but output format examples not provided. Marginal value: unified data management and AI features, but no comparison with other tools. Cost-benefit: self-hosting can save costs, but no performance data.
Claim traceability: feature claims in README lack implementation details. Cross-source corroboration: tests and CI exist, but no independent verification. Fact-inference separation: README descriptions are mostly assertions, not distinguishing facts from inferences.
- Project is pre-release, APIs and configuration may change frequently; backup data before upgrading.
- Security warning explicitly advises against direct public internet exposure; additional security layers needed.
- Publisher identity is unverified; assess supply chain risks carefully.
FAQ
Does Eclaire require a hosted model?
Can I expose it directly to the public internet?
What must I do after first startup?
./eclaire onboard.