简体中文 | English
EdgeEver: An open-source, AI-native, and portable self-hosted Evernote alternative.
EdgeEver is a modern, open-source notes workspace built for effortless knowledge management. It revives the beloved Evernote-style three-pane layout while offering an open data architecture and seamless AI Agent integration for complete ownership and smart productivity.
💡 Serverless & 100% Free Forever EdgeEver can run within Cloudflare's free quotas with no server purchase or VPS maintenance. Users who prefer a VPS, NAS, or home server can deploy the same application with Docker.
⭐ If EdgeEver is useful to you, consider giving it a Star. Your support helps more people discover the project.
Many long-time Evernote users simply want a reliable, open, and fast personal knowledge base. However, existing mainstream solutions all present tradeoffs:
- Evernote: It has grown increasingly bloated with commercial ads and unnecessary features, degrading performance. Data export is cumbersome, free tiers are heavily restricted, and AI/MCP features require costly subscriptions.
- Obsidian: Exceptionally powerful and open, yet feels a bit heavy for quick, friction-free captures on the go. Official sync is subscription-based, while third-party sync setups demand significant effort.
- Memos & Stream Notes: Clean and simple, but their social-timeline layouts differ fundamentally from the structured productivity of a classic three-pane workflow.
EdgeEver fills this gap: It preserves the refined three-pane layout you know and love, while unlocking complete data ownership, native AI capabilities, and zero-cost self-hosted deployment.
💡 Recommended Workflow: Use EdgeEver as your central inbox to quickly capture ideas and notes on any device. When it's time to curate and publish, leverage MCP to let your AI assistant distill, tag, and sync them into Obsidian, Notion, or Feishu Bitable, or copy beautifully styled posts directly into Substack, Medium, or newsletters with a single click.
The public demo resets every day at 3:00 AM (China Standard Time) and restores sample notes. Do not store private content there.
- Deploy Your Way: Run the same application on Cloudflare's free serverless platform or with Docker on a VPS, NAS, or home server.
- Open Data, No Vendor Lock-in: Built on standard SQLite with complete REST API, MCP, and CLI access. Your knowledge is stored transparently and accessible anytime without being locked to a single app.
- Lossless ZIP Backup & Portability: Export your complete library as a clean archive containing Markdown, Front Matter, nested folders, relative attachment links, and version histories for instant restoration anywhere.
- Native AI Agent Synergy: Deep integration with Model Context Protocol (MCP) allows AI tools like Claude Code, Codex, and Antigravity to read, organize, and summarize your notes, or sync seamlessly with Notion and Feishu Bitable.
- Bring Your Own AI Models: Connect OpenAI, Anthropic, or Gemini-compatible services and third-party API relays to empower your editor with smart note summarization, key point extraction, proofreading, translation, and text continuation on full notes or selected text.
- Plugin Extensibility: Install client plugins and themes from the Plugin Marketplace to extend note actions, editor commands, custom panels, and more.
- Unlimited Multi-Device Sync: No commercial device caps or paywalls. Enjoy seamless synchronization across PC, tablet, and mobile via web, PWA, or browser.
- Classic Three-Pane Layout & Focus Mode: Clean navigation featuring notebook trees, note lists, and an expansive editor, with a desktop focus mode to eliminate distractions.
- Unlimited Nested Notebooks: Organize your knowledge with arbitrary folder depth.
- One-Click Rich Copy for Newsletters & Blogs: Designed for creators to convert notes into beautifully formatted rich text with inline CSS, ready to paste directly into Substack, Medium, WordPress, or newsletter editors without extra tools.
- Seamless Dual-View Editor: Switch effortlessly between intuitive rich text editing and Markdown source code on desktop.
- Convenient Single-Note Export: Export the current note directly as Markdown, HTML, or PDF for standalone storage, sharing, or publishing.
- Native Mermaid Diagram Rendering: Render clear flowcharts, sequence diagrams, and mind maps directly in notes, preserving clean, editable source code across Markdown and rich text views.
- Revision History: Inspect and restore previous iterations of your notes with built-in version tracking.
- Public Note Sharing: Share a note publicly and stop sharing it at any time.
- WeChat Article Clipping on Mobile: Share a WeChat Official Account article to EdgeEver on your phone to extract its content and save it as an editable note.
- Smart Local Image Compression: Client-side WebP compression reduces file sizes by 50%-90% before uploading, saving storage and speeding up page loads without extra server costs.
- Universal File Attachments: Attach and preview PDFs, Office documents, zip files, audio, and video directly within notes.
- Batch Operations & Flexible Sorting: Easily merge or relocate multiple notes, with drag-and-drop notebook reordering.
- Offline Drafts & Queueing: Draft and edit uninterrupted while offline; changes automatically sync once reconnected.
- Multi-Tenant Account Isolation: Host multiple user accounts on a single instance with strictly partitioned spaces and clean admin account management.
- Everywhere You Need It: Available on the Web, Android, macOS, and iOS, with Windows coming soon; the Web Clipper supports Chrome, Edge, and Firefox.
Cloudflare is the recommended zero-server deployment. Docker is available for users who prefer a VPS, NAS, or home server.
For Cloudflare, choose either of the following online deployment options:
Copy the prompt below directly into an AI Agent (such as Codex, Claude, Cursor, workbuddy, Antigravity, OpenClaw, Hermes Agent, etc.). During execution, if access to GitHub or Cloudflare is required, review the requested permissions and follow the prompts to authorize access.
Deploy EdgeEver online:
1. Fork https://github.com/tianma-if/edgeever.
2. Import the Fork into Cloudflare Workers & Pages.
3. Create D1 `edgeever` and R2 `edgeever-resources`, set the
`EDGE_EVER_AUTH_PASSWORD` Worker Secret, and configure the production `main` build.
4. Start the first build and verify `/api/health`, `/api/openapi.json`, and login.
5. Enable and manually run the GitHub Actions workflow named `Update deployed EdgeEver`
once so the Fork can automatically receive the latest EdgeEver features and fixes.
Detailed requirements: AI Agent Cloudflare Deployment.
Complete setup in 5 simple web steps:
- Fork the Repository: Click Fork at the top right of GitHub to fork EdgeEver into your personal account.
- Enable Actions: Open the Fork's Actions tab and click I understand my workflows, go ahead and enable them so the GitHub Actions workflow named Update deployed EdgeEver can run automatically, keeping you up to date with the latest EdgeEver features and fixes.
- Import into Cloudflare: Log into the Cloudflare Dashboard, navigate to Workers & Pages, and choose to import your Fork repository.
- Create Resources & Credentials: Create D1
edgeeverand R2edgeever-resources, then set the Worker SecretEDGE_EVER_AUTH_PASSWORDas your admin password. The deploy command creates the bindings; do not edit Fork files. - Build & Verify: Start the first build with default settings. Once complete, visit
/api/healthto verify a200response before logging in.
📖 For full step-by-step instructions and configuration details, see the Online Deployment Guide.
💡 Cloudflare R2 Activation: Although Cloudflare R2 offers a generous free storage allowance that note-taking workloads remain completely within, you must first activate an R2 subscription and add a payment method. Cloudflare officially supports UnionPay, Visa, Mastercard, and other cards, as well as PayPal, Apple Pay, Google Pay, and other payment methods.
For a VPS or NAS outside mainland China, use the GitHub-hosted installer and GHCR image:
curl -fsSL https://edgeever.org/install.sh | bashFor a VPS or NAS located in mainland China, use the Tencent COS installer and Tencent TCR image for faster, more reliable downloads:
curl -fsSL https://edgeever-installer-1256854452.cos.ap-guangzhou.myqcloud.com/install.sh | bash -s -- --mirror tcrBoth commands pull the latest image, generate an administrator password, start EdgeEver with Docker Compose, and schedule daily automatic updates.
See the Docker deployment guide for manual deployment and configuration.
Once deployed, a single instance supports multi-account login.
The instance administrator can create, disable, or reset member accounts in Profile -> User accounts. Each member gets a fully isolated personal workspace, including notebooks, notes, attachments, Trash, import/export, and MCP tokens.
The Web Clipper is officially published for Chrome, Microsoft Edge, and Firefox. Install it from the store for your browser (Microsoft Edge users can install the Chrome Web Store version directly):
Developers can also use the extension development guide to build and load the extension from source.
Native clients offer a smoother, more reliable experience with deeper system integration, local storage, and offline editing. Changes sync incrementally when connectivity returns, making them ideal for frequent use and unreliable network conditions.
The Android app is now available on Google Play, with signed APKs also available from GitHub Releases. The iOS app is available on the App Store; use a non-mainland China Apple ID to download it.
The macOS app is available from GitHub Releases. The Windows version will be released once the code-signing certificate issue is resolved.
On platforms without a native client, EdgeEver can be installed as a PWA using Chrome or Edge.
- Bugs, feature requests, and deployment issues: GitHub Issues
- Code contributions: read the Contribution Guide. If your Fork is also used to deploy EdgeEver, keep its
mainbranch deployment-only. Create a separate branch from the officialupstream/mainfor synchronization, development, and pull requests; do not develop on or Sync fork the deploymentmain.
Welcome to the EdgeEver AI community group, home to many Vibe Coding builders and AI enthusiasts. Join us to discuss the EdgeEver experience, real-world AI Agent applications, cost-effective or free AI resources, and automation workflows.
The group QR code is valid for 7 days. If it has expired, add WeChat
m1245207870and include “EdgeEver group” in your request.
- Bun workspace monorepo with Web, API, official site, and shared type package.
- Official site: Astro static site in
apps/site, deployable to Cloudflare Pages. - Frontend: Vite, React, React Router, TanStack Query, Tailwind CSS, shadcn/ui, and Radix UI.
- Editor: TipTap / ProseMirror with Markdown support; PWA uses vite-plugin-pwa, Workbox, and Dexie.
- Android app: Expo + React Native in
apps/mobile, with SQLite local storage and incremental sync. - iOS app: Native SwiftUI in
apps/ios(iOS 17+), with a packaged TipTap EditorBundle, GRDB local mirror/outbox, and Android-aligned shell chrome. - Native desktop app: Electron + Rust sidecar combines a consistent cross-platform experience with high-performance local data services; SQLite enables offline editing, incremental sync when back online, and local backups.
- Web clipper: Manifest V3, Mozilla Readability, and Turndown for Chrome, Microsoft Edge, and Firefox.
- Backend: one Hono/Zod business application with REST API, OpenAPI, and Remote MCP; Cloudflare uses Workers/D1/R2, while Docker uses Bun/SQLite/local files or S3.
bun install
bun run devapps/web Vite + React frontend, PWA, offline drafts, and sync queue
apps/extension Chrome/Edge/Firefox Manifest V3 web clipper
apps/api Cloudflare Worker + Hono API, OpenAPI, MCP endpoint
apps/mobile Expo + React Native Android app
apps/ios Native SwiftUI iOS app (TipTap EditorBundle, GRDB)
apps/desktop Electron desktop shell, preload bridge, and native packaging
apps/site Astro official website, deployable independently
packages/client Shared API client for web and mobile apps
packages/shared Shared types, Zod schemas, TipTap / Markdown conversion
crates/desktop-sidecar
Rust sidecar for local SQLite, offline data, backups, and resources
scripts Wrangler wrapper, password hash, CLI, MCP stdio bridge, Evernote ENEX import
migrations Shared append-only D1/SQLite database migrations
docs OpenAPI schema, architecture, migration, and deployment docs
.github/workflows CI for web, mobile, iOS, desktop packaging, deployment, and releases
wrangler.toml Cloudflare Workers, Assets, D1, R2 configuration
EdgeEver stores note content in three forms:
content_json TipTap/ProseMirror document, the editor source of truth
content_markdown API, Agent, import, and export format
content_text Search, summary, and indexing text
Open Profile -> Import and export to export or import an EdgeEver ZIP. Its notes/ directory is directly readable and portable as Markdown, while its structured data supports complete recovery between EdgeEver instances. Import preserves unrelated target data and overwrites records with matching EdgeEver IDs.
OpenAPI schema:
https://your-domain/api/openapi.json
Repository file: docs/openapi.json.
Create an API token in Profile -> MCP settings and give it to your AI Agent. The Agent can then securely read, organize, and import notes, manage note templates and AI instructions, and connect your notes with tools such as Notion databases and Feishu Bitable—all within your account permissions.
Let your ideas run free: ask an AI Agent to organize fleeting thoughts, build a personal knowledge graph, create a profile from your notes, or tag them automatically.
Image compression happens in the Web client before upload and is controlled by the Compress note images setting. When enabled, PNG, JPEG, WebP, and AVIF files are converted to WebP when beneficial, with the longest edge limited to 2560px. If compression does not reduce size, the original file is kept.
EdgeEver avoids Worker-side image processing to reduce compute and image-processing quota usage. REST API and MCP upload paths store the file content provided by the client without additional server-side compression.
The instance owner can configure S3-compatible object storage under Settings → Advanced → OSS object storage. Changing storage does not migrate or affect existing attachments. Cloudflare deployments must also configure an EDGE_EVER_STORAGE_ENCRYPTION_KEY Worker Secret of at least 32 characters.
If you want to migrate notes from other platforms to EdgeEver, please refer to the following simple migration guides:
- Evernote Migration: Please refer to docs/evernote-migration-guide.md
- flomo Migration: Please refer to docs/flomo-migration-guide.md
- Memos Migration: Please refer to docs/memos-migration-guide.md
- Notion Migration: Please refer to docs/notion-migration-guide.md
Docker runs the same frontend, API routes, services, authentication, MCP implementation, and migrations as Cloudflare. The container uses SQLite with local files or S3-compatible attachment storage and supports amd64 and arm64. See Deploy EdgeEver with Docker and Self-hosting and Docker architecture.
- The "Minimal Emerald" theme typography layout is inspired by obsidian-minimal.
- The "Outline Emerald" theme typography layout is inspired by Outline.
- The "Classic Blue & White" theme is inspired by the early StackEdit/Bootstrap Markdown typography style, with Chinese typography details informed by Marxico.
EdgeEver is an independent open-source note-taking application developed and maintained by individuals and the community. It is not affiliated with, authorized, sponsored, or endorsed by Evernote Corporation or its affiliates.
