PROJECT INFO
ACTIVITY TREND
Commits per week (8 wk)
LINKS
GitHub RepositoryWebsiteDocsAbout This Project
A personal AI technology brand and documentation platform showcasing AI-powered tools and research projects. Serves as the central hub for technical writing, project documentation, API references, and development guides. Built with modern web technologies and deployed as a static site for fast, reliable access to all project resources.
README
应AI (Ying AI)
AI-Powered Business Assistant
Email · CRM · Knowledge Base · Intelligent Insights — All in One Desktop App
A full-stack Electron desktop application that unifies email management, CRM synchronization, document knowledge base, and AI-powered analytics into a single workspace. Built with Next.js 16, React 19, and PGlite embedded database for zero-infrastructure deployment.
一款全栈 Electron 桌面应用,将邮件管理、CRM 同步、文档知识库和 AI 分析整合到一个工作空间中。使用 PGlite 嵌入式数据库,无需任何基础设施即可部署运行。
Features
📬 Email Sync
- macOS Mail.app — AppleScript 直连,无需密码
- Outlook 365 API — Microsoft 云端邮件同步
- 文件夹分组选择器,支持同步模式控制
- SSE 实时进度流,每文件夹最多同步 1,000 封邮件
🤖 AI Chat (RAG)
- 混合搜索:BM25 关键词 + 语义向量检索
- RRF (Reciprocal Rank Fusion) 排序算法
- 流式响应 + 来源引用
- LanceDB 向量存储 + 豆包 Embedding
📊 AI Briefing
- 智能每日工作摘要生成
- 从邮件、会议、CRM 数据中提取关键洞察
- 不活跃联系人 & 过期商机提醒
- 一键保存与导出
🏢 CRM Integration
- Beacon CRM 数据同步与筛选
- 双向关联:知识库 ↔ CRM 实体
- 会议记录上传 & 联系人自动关联
📚 Knowledge Base
- 文件夹组织 + 标签管理
- 版本历史 & 文档对比
- AI 驱动的文档问答
- 文档自动嵌入 & 分块
📦 PO / Invoice Management
- Excel PO 文件上传解析
- PDF 发票自动提取(发票号、金额、日期、税额)
- 月度金额自动回写至 PO 列表
- 发票预览、导出、批量管理
🔍 Dashboard & Search
- 实时统计卡片(邮件、会议、商机、联系人、知识库)
- 同步状态监控
- 跨数据源全局搜索
- 联系人关系图谱可视化
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 16, React 19 |
| Desktop | Electron 41, electron-builder |
| Database | PGlite (embedded PostgreSQL) |
| Vector Store | LanceDB (2048-dim) |
| Styling | TailwindCSS 4 |
| State | Zustand |
| AI / Embedding | Doubao API (ByteDance) |
| Icons | Lucide React |
| File Parsing | ExcelJS, pdf-parse, mammoth |
| mailparser, AppleScript | |
| Animation | Framer Motion, GSAP, Three.js |
| Testing | Vitest |
Getting Started
Prerequisites
- Node.js 18+
- pnpm 10+
- Doubao API Key (for AI features)
Install
pnpm install
Development
# Web mode (http://localhost:3103)
pnpm dev
# Electron desktop mode
pnpm electron:dev
Build
# Web build
pnpm build && pnpm start
# Desktop app (macOS .dmg / Windows .exe)
pnpm electron:build
Configuration
Create .env.local in the project root:
DOUBAO_API_KEY=your_api_key
DOUBAO_BASE_URL=https://ark.cn-beijing.volces.com/api/v3
DOUBAO_MODEL_MINI=doubao-seed-2.0-mini
Additional settings (API keys, sync sources, folder selection) can be configured via the in-app Settings page.
Project Structure
src/
├── app/ # Next.js App Router
│ ├── api/ # 50+ API routes
│ │ ├── ai/ # Briefing, summarization
│ │ ├── chat/ # Chat sessions & messages
│ │ ├── contacts/ # Contact CRUD
│ │ ├── crm/ # CRM opportunities
│ │ ├── emails/ # Email queries
│ │ ├── embed/ # Document embedding
│ │ ├── invoices/ # Invoice parsing
│ │ ├── kb/ # Knowledge base & RAG
│ │ ├── po-files/ # PO file management
│ │ ├── po-list/ # PO list items
│ │ ├── search/ # Global search
│ │ ├── stats/ # Dashboard statistics
│ │ └── sync/ # Email, CRM, meeting sync
│ ├── browse/ # CRM & meeting browser
│ ├── chat/ # AI chat interface
│ ├── contacts/ # Contact management
│ ├── graph/ # Relationship graph
│ ├── kb/ # Knowledge base UI
│ ├── po/ # PO / Invoice management
│ ├── search/ # Global search
│ ├── settings/ # App configuration
│ └── welcome/ # Onboarding with animations
├── components/ # React components
│ ├── chat/ # Chat input, messages, sources
│ ├── contacts/ # Contact list, profile, timeline
│ ├── dashboard/ # Stat cards, recent contacts
│ ├── effects/ # Visual effects (Grid, Split, Wave)
│ ├── layout/ # Header, sidebar, AppShell
│ ├── po/ # PO & invoice tables
│ └── sync/ # Sync controls
├── lib/ # Core libraries
│ ├── db.ts # PGlite initialization & backup
│ ├── db-schema.ts # Database schema
│ ├── db-migrations.ts # Schema migrations
│ ├── rag/ # RAG pipeline
│ │ ├── embeddings.ts # Doubao embedding
│ │ ├── vector-store.ts # LanceDB store
│ │ ├── hybrid-search.ts# BM25 + semantic search
│ │ └── pipeline.ts # RAG orchestration
│ ├── sync/ # Sync engines
│ │ ├── applescript.ts # macOS Mail reader
│ │ ├── outlook-api.ts # Outlook API client
│ │ ├── beacon-syncer.ts# Beacon CRM sync
│ │ └── mail-syncer.ts # Email storage
│ └── stores/ # Zustand stores
└── types/ # TypeScript definitions
electron/
├── main.ts # Electron main process
└── preload.ts # IPC bridge
Data Storage
| Location | Purpose |
|---|---|
.data/pglite/ | Embedded PostgreSQL database |
.data/pglite-backup/ | Auto-backup on startup |
public/uploads/ | Uploaded documents & PDFs |
All data stored locally — no external database required.
Releases
| Version | Highlights |
|---|---|
| v1.0.0 | AI Briefing, Outlook sync, Welcome page |
| v0.8.0 | Knowledge Base overhaul, full-folder email sync |
| v0.5.0 | Electron desktop app, macOS/Windows builds |
| v0.3.0 | AI Chat with RAG, hybrid search, streaming |
| v0.2.0 | Dashboard, Contacts, Email/CRM/Meeting sync |
| v0.1.0 | PO/Invoice management system |
License
Private project. All rights reserved.
STATS
ACTIVITY
RELEASE
Mar 23