An intelligent companion that unifies chat, notes, study, and academic workflows — a Manus product born from real daily life.
Sidonie is named after my wife and inspired by our little one, Dua. Their everyday friction with AI — the small frustrations and unmet needs — is what led to this product. I believe technology should start with the people closest to us: if it works for them, it can work for everyone. So Sidonie is a local-first, React-based interface that brings structured planning, file analysis, learning modules, and notes into one place — no backend required, just you and your API keys.
Homepage — Chat entry, model selection
Paper Radar — Discover & analyze arXiv, daily briefing
Help Child — AI teaching assistant, curriculum
Sidonie is an open-source front-end application that brings together:
- Unified chat with multi-session support, file uploads (PDF, Word, CSV, images), and streaming responses.
- Structured reasoning via
<plan>and<thought>in model output for complex or multi-step tasks. - Notes with tags and themes, persisted locally.
- Study module: curriculum (stages/topics), concept/quiz/visual cards, XP and badges, school notes, and review scheduling.
- Academic module for browsing and managing paper-like entries.
The stack is React 19 + TypeScript + Vite, with Tailwind CSS for UI. The AI layer talks to Google Gemini by default and can be extended with DeepSeek, Kimi, Qwen via API keys. No backend required for basic use — run locally and point to your API keys.
- Front-end: Single-page app (React 19, TypeScript, Vite). Views: Chat, Notes, Study, Academic.
- AI integration:
services/geminiService— streaming chat, image generation, token estimation, optional Google Search grounding. Third-party models use the same service interface with configurable base URLs and keys. - State & persistence: React state for sessions, messages, notes, and study data;
localStoragefor notes and preferences. - Content: Markdown (react-markdown, remark-gfm), Mermaid diagrams, syntax highlighting. File parsing: PDF/Word/CSV and images via Gemini multimodal API.
- Model configuration: Centralized in
constants.ts(model list, system instructions, study/academic prompts). User profile and custom instructions are merged into the system prompt.
Chat & reasoning
- Multi-session chat with streaming; plan/thought extraction and display.
- Attachments: PDF, Word, CSV, images; analysis and inline display.
- Optional Google Search grounding for answers.
- Artifact generation: single self-contained HTML (e.g. games, tools) with Tailwind.
Notes
- Create, edit, delete notes; tags and theme colors.
- Local persistence; optional AI-assisted analysis from chat.
Study
- Custom curricula: stages and topics (bilingual).
- Learning cards: concept, quiz (JSON), interactive HTML visual.
- XP, levels, badges; school notes with optional AI interpretation and practice.
- Review scheduling (e.g. SM-2 style) for topics.
Academic
- Paper-style list: title, summary, authors, links; structure ready for real API integration.
Multi-model & i18n
- Models: Gemini 3 Flash/Pro, Flash Lite; DeepSeek V3/R1, Kimi, Qwen Plus/Max (with API keys).
- English and Chinese UI and content.
- Node.js (LTS recommended)
git clone https://github.com/melonlee/Sidonie.git
cd Sidonie
npm installSet your Gemini API key so the app can call the API. The build injects GEMINI_API_KEY into the app.
-
Option A: Create
.envor.env.localin project root:GEMINI_API_KEY=your_gemini_api_key -
Option B: Export before run:
export GEMINI_API_KEY="your_gemini_api_key"
Optional: set DeepSeek/Kimi/Qwen keys in Settings if you use third-party models.
npm run devOpen the dev URL (e.g. http://localhost:5173).
npm run build
npm run preview # optional: preview production buildContributions are welcome:
- Open an Issue for bugs or feature suggestions.
- Fork the repo, create a branch, and open a Pull Request.
See LICENSE in this repository.


