An Electron + Vue 3 desktop personal knowledge assistant that combines an AI agent, RAG knowledge retrieval, rich-text notes, and a calendar. All data is stored locally with privacy as a priority.
- Integrated office suite with AI Docs, AI Sheets, AI Slides, and AI PDF
- Rich document editing: headings, lists, links, tables, images, and formulas
- Friday sidebar for AI writing, polishing, translation, and one-click slide generation
- Create new files or open local
.docx/.xlsx/.csv/.pptx/.pdffiles - Recent files with filtering by type (documents / sheets / slides / PDF)
- Built with DeepAgent SDK and LangChain
- 12+ built-in tools: knowledge-base search, note and schedule management, file operations, shell execution, Python REPL, HTTP requests, web scraping, JSON processing, calculator, and more
- Human-in-the-Loop (HITL) support for approval before sensitive operations
- SKILL system that loads Markdown skill descriptions from the
SKILL/directory - Subagents and cross-session memory powered by SQLite and InMemoryStore
- Personal, local, and agent knowledge bases
- Full RAG pipeline: document loading -> parent-child chunking -> embedding -> vector search
- Unified Zvec vector storage, separated by
kb_type - File watching, scheduled incremental indexing, and manual updates
- PDF, Word, Excel, Markdown, HTML, EPUB, and plain-text support
- TipTap rich-text editor
- Syntax-highlighted code blocks, tables, task lists, images, links, and more
- AI Fill-in-the-Middle (FIM) completion
- Version history and diff comparison
- Built-in shape libraries: general shapes, lines, mind maps, flowcharts, ER diagrams, UML diagrams, system architecture, sequence diagrams, timelines, and data-flow diagrams
- One-click templates for mind maps and flowcharts, with canvas categories, search, and import
- Customizable styles (fill, text, stroke width, font); connectors with orthogonal, polyline, and curved routing
- Shape animations: pulse, breathe, bounce, and flow
- Export to PNG / SVG / JSON, plus read-only share links
- Custom-built calendar with month / week / year / list views
- Lunar calendar support
- Create and update schedules with natural language through Friday
- Light, dark, and system themes
- Simplified Chinese and English localization
- Automatic data backups
- Multi-tab interface
- Node.js >= 20 (22 recommended)
- npm >= 10
- macOS, Windows, or Linux
npm install --legacy-peer-deps# Frontend only
npm run dev
# Electron + frontend (starts Electron automatically)
npm run electron:dev# Build an installer for the current platform
npm run electron:build
# Build for arm64
npm run electron:build:arm64Build artifacts are written to release/.
Configure Python under Settings -> General -> Python Environment:
- Use Auto Detect to find an installed interpreter, or select its executable manually.
- Missing dependencies can be installed automatically by the AI assistant from
python/requirements.txtusing pip/pip3.
Download the installer for your platform from Releases:
| Platform | Artifact |
|---|---|
| macOS (Apple Silicon) | *-mac-arm64.dmg |
| Windows | *-win-x64-setup.exe |
| Linux | *-linux-*.AppImage |
| Layer | Technology |
|---|---|
| Desktop framework | Electron 42 |
| Frontend framework | Vue 3 + Vite 6 |
| State management | Pinia |
| Routing | Vue Router |
| Internationalization | Vue I18n |
| Rich-text editor | TipTap |
| Calendar | Custom Vue calendar component |
| AI agent | DeepAgents + LangChain |
| Vector database | Zvec |
| Local database | SQLite (sql.js) |
| Python runtime | Bundled portable Python for the Agent python_repl tool |
happy-friday-lite/
├── main.js # Electron main-process entry
├── preload.cjs # Preload script
├── src/ # Vue frontend source
│ ├── components/ # Shared components (chat / layout)
│ ├── views/ # Page views
│ │ ├── friday/ # Friday assistant
│ │ ├── office/ # Office suite (Docs / Sheets / Slides / PDF)
│ │ ├── knowledge/ # Knowledge base
│ │ ├── note/ # Notes
│ │ ├── drawing/ # Drawing
│ │ ├── schedule/ # Schedule
│ │ ├── history/ # Version history
│ │ └── settings/ # Settings
│ ├── store/ # Pinia state modules
│ ├── i18n/ # Localization resources
│ └── router/ # Router configuration
├── src-electron/ # Electron backend
│ ├── agent/ # Agent core (tools / skills / subagents / permissions / memory)
│ ├── rag/ # RAG pipeline (loading / chunking / embedding / retrieval)
│ ├── db.js # SQLite database
│ ├── llm.js # LLM adapter
│ └── python-env.js # Python runtime environment
├── python/ # Python runtime download scripts
├── scripts/ # Build helper scripts
└── .github/workflows/ # CI build workflows
On first use, go to Settings -> Model Configuration and enter an API Base URL (for example, https://api.openai.com/v1), API key, and model name.
Any OpenAI-compatible provider is supported, including OpenAI, DeepSeek, Qwen, Zhipu AI, Kimi, and Doubao.
Issues and pull requests are welcome. Please ensure the project builds successfully, changes follow the existing code style, and documentation is updated with new features.
This project is released under the PolyForm Noncommercial License 1.0.0.
- ✅ Allowed: personal use, learning and research, modifying the code, and distributing the source code
- ❌ Prohibited: commercial use in any form
⚠️ Required: retain the original author's attribution and copyright notice when using or distributing the project
Read LICENSE for details.
For questions or suggestions, open an Issue or email chenjie.plus@qq.com.












