Happy Friday Lite
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.
✨ Key Features
📑 Office
- 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)
🤖 Friday AI Assistant
- 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
📚 Knowledge Base
- 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
📝 Notes
- 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
✏️ Drawing
- 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
📅 Schedule
- Custom-built calendar with month / week / year / list views
- Lunar calendar support
- Create and update schedules with natural language through Friday
🎨 More
- Light, dark, and system themes
- Simplified Chinese and English localization
- Automatic data backups
- Multi-tab interface
🖼️ Screenshots
Friday AI Assistant
!Friday chat and code execution
Office
!Office home with AI Docs, Sheets, Slides, and PDF entries
!AI Docs editor with Friday sidebar
!AI Slides editor with Friday sidebar
!AI Sheets editor with Friday sidebar
Knowledge Base
Notes
Drawing
Schedule
Automated Tasks
DeepSeek Harness
Settings
!Settings and feature overview
🚀 Quick Start
Requirements
- Node.js >= 20 (22 recommended)
- npm >= 10
- macOS, Windows, or Linux
Install Dependencies
npm install --legacy-peer-deps
Run in Development
# Frontend only
npm run dev
Electron + frontend (starts Electron automatically)
npm run electron:dev
Build a Release Package
# Build an installer for the current platform
npm run electron:build
Build for arm64
npm run electron:build:arm64
Build artifacts are written to release/.
Configure Python under Settings -> General -> Python Environment:
1. Use Auto Detect to find an installed interpreter, or select its executable manually.
2. Missing dependencies can be installed automatically by the AI assistant from python/requirements.txt using pip/pip3.
📦 Download
Download the installer for your platform from Releases:
| Platform | Artifact |
| --- | --- |
| macOS (Apple Silicon) | *-mac-arm64.dmg |
| Windows | *-win-x64-setup.exe |
| Linux | -linux-.AppImage |
🛠️ Tech Stack
| 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 |
📂 Project Structure
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
🔧 Configure an AI Model
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.
🤝 Contributing
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.
📄 License
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
🙏 Acknowledgments
📧 Contact
For questions or suggestions, open an Issue or email [email protected].