edgeever README

The project's README from github.com/tianma-if/edgeever. As one markdown file: README.md.

EdgeEver logo EdgeEver

An open-source, AI-native knowledge base & portable Evernote alternative

GitHub Stars GitHub Forks Docker Pulls Product Hunt Featured|HelloGitHub Sponsor on Afdian

简体中文 | 繁體中文 | English | 日本語

💬 Telegram Group  |  🌐 Live Demo  |  📱 Client Downloads

EdgeEver is a modern, open-source notes and knowledge base workspace. 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.

Why EdgeEver

Many long-time Evernote users simply want a reliable, open, and fast personal knowledge base. However, existing mainstream solutions all present tradeoffs:

EdgeEver fills this gap: The entire stack is open source, including sync and self-hosting. It keeps the three-pane layout you know, stays silky-smooth and lightweight even with 10,000+ notes, and ships native AI agents with zero-cost deployment.

💡 Recommended Workflow: Capture inspiration seamlessly across all devices and organize deeply in the classic three-pane view. Powered by native MCP and ACP, external agents can retrieve and organize your notes seamlessly, while the desktop app lets you collaborate deeply with local AI agents on your machine. Publish anywhere with one-click formatting—100% self-hosted at zero cost, building an open and truly owned second brain.

Online Demo

The public demo resets every day at 3:00 AM (China Standard Time) and restores sample notes. Do not store private content there.

Client Downloads

Download EdgeEver for macOS   Download EdgeEver for Windows   Download the EdgeEver Linux x86_64 AppImage Preview   Download EdgeEver for Android from Google Play   Download EdgeEver for iOS from the App Store

The iOS app requires an Apple ID from outside mainland China.

Features

Deployment

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 entirely through GitHub and Cloudflare:
1. Fork https://github.com/tianma-if/edgeever.
2. Create D1 `edgeever` and R2 `edgeever-resources` in Cloudflare.
3. In Workers & Pages, create a Worker named `edgeever` from the Fork's `main` branch.
   Use the repository root, keep Cloudflare's default Workers Builds deploy command,
   and ensure its API token can read and edit D1. Select Save and Deploy.
4. After the Worker is created, add the user's chosen password as the runtime Secret
   `EDGE_EVER_AUTH_PASSWORD` (preferably at least 32 characters).
   The username defaults to `admin`.
   If the user specifies another, set `EDGE_EVER_AUTH_USERNAME` as a Workers Builds
   variable before the next build.
5. Run the build again, verify `/api/health` and `/api/openapi.json`, then log in
   with that administrator username and password.
6. Enable and manually run the GitHub Actions workflow named `Update deployed EdgeEver`
   once so the Fork can automatically receive future stable releases and fixes.

Detailed requirements: AI Agent Cloudflare Deployment.

Option B: Manual Online Deployment

Complete setup in 6 web steps:

  1. Fork the Repository: Click Fork at the top right of GitHub to fork EdgeEver into your personal account.
  2. Create Cloudflare Resources: Create D1 edgeever and R2 edgeever-resources.
  3. Import & Configure the Project: Create a Worker named edgeever from the Fork's main branch in Cloudflare Workers & Pages. Use the repository root and keep Cloudflare's default Workers Builds deploy command, which runs in Cloudflare. Ensure its API token can read and edit D1. The deploy command creates the bindings; do not edit Fork files.
  4. Choose the Administrator Password: Choose an administrator password, preferably at least 32 characters. Once the Worker is created, save it as the runtime Secret EDGE_EVER_AUTH_PASSWORD.
  5. Build & Verify: Save and Deploy creates the Worker and starts a build. If it fails because the administrator Secret is missing, add the runtime Secret from step 4 and retry. The username defaults to admin; to use another, set the EDGE_EVER_AUTH_USERNAME Workers Builds variable before retrying. Once deployed, confirm /api/health returns 200, then log in with the configured username and password.
  6. Enable Automatic Updates: Open the Fork's Actions tab, click I understand my workflows, go ahead and enable them, then manually run Update deployed EdgeEver once so the Fork can automatically receive future stable releases and fixes.

📖 For full step-by-step instructions and configuration details, see the Online Deployment Guide.

💡 Custom Domain & Access: After deployment, you can directly use the default *.workers.dev domain assigned by Cloudflare, or attach your own custom domain in the Worker settings under Settings → Domains & Routes.

💡 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.

Option C: Docker on a VPS or NAS

Use the GitHub-hosted installer and the official GHCR image:

curl -fsSL https://edgeever.org/install.sh | bash

The command pulls the latest image, generates an administrator password, and starts EdgeEver with Docker Compose.

See the Docker deployment guide for manual deployment and configuration.

After installation, updates run automatically each day by default. To update manually, run ~/edgeever/update.sh on the deployment server.


Multi-Account Login

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.

Browser Web Clipper

Install EdgeEver Web Clipper for Google Chrome   Install EdgeEver Web Clipper for Microsoft Edge   Install EdgeEver Web Clipper for Firefox

Community and Feedback

Telegram Community

Welcome to the EdgeEver community. Join us to discuss the EdgeEver experience, real-world AI Agent applications, cost-effective or free AI resources, and automation workflows.

👉 Join the EdgeEver Telegram group

Plugins and Themes

Web and desktop apps support functional plugins and custom themes, installable from the official marketplace, GitHub, or a Manifest URL, with seamless sync across your workspace. Developers can extend capabilities using @edgeever/plugin-api; see the plugin development guide and marketplace submission policy.

Tech Stack

Quick Start

bun install
bun run dev

Local development signs in automatically; fresh databases use owner / edgeever-local-dev. Log out to test the login screen.

Project Structure

apps/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, 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              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

Content Formats

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.

MCP

Create an API token in Profile -> MCP settings and give it to your AI Agent. The Agent can then securely manage your knowledge base within your account permissions. It supports both text notes and diagram notes (including mind maps, flowcharts, and architecture diagrams) with full CRUD capabilities. The Agent can create a structured table note from a field plan, edit its fields, and read, add, update, or delete its records. The Agent can also manage note templates and AI instructions.

💡 Inspiration: Make AI your true knowledge orchestrator and creative co-pilot—instantly turn concepts into interactive mind maps and architecture diagrams, while supplying private context to your AI Agents. Paired with EdgeEver’s powerful rich-text editing and elegant typography, AI-assisted content becomes beautifully structured, polished, and publication-ready knowledge assets.

Image Compression

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.

Advanced Object Storage

The instance owner can configure S3-compatible object storage under Settings → Advanced → OSS object storage. Changing storage does not migrate or affect existing attachments.

Migration

If you want to migrate notes from other platforms to EdgeEver, please refer to the following simple migration guides:

Docker Deployment

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.

Sync Timing

Web, PWA, and desktop upload memo edits after 30 seconds of inactivity and check for remote changes every 5 minutes while visible; focus and manual refresh remain immediate. Adjust DEFERRED_MEMO_SYNC_DELAY_MS and BACKGROUND_WORKSPACE_REFRESH_INTERVAL_MS in apps/web/src/lib/workspace-refresh.ts.

Acknowledgements

Trademark and Brand Use

The EdgeEver name, logo, and other brand identifiers distinguish the official project. Forks and modified versions may state that they are based on EdgeEver, but must not imply official status or mislead users. The open-source license does not grant trademark rights; other uses require prior written permission from the project maintainers.

Disclaimer

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.

EdgeEver is self-hosted software. Except for official demo instances, project maintainers do not host, control, or review user content. Content stored or displayed by an instance is the responsibility of its users or operators and does not represent the maintainers' views.

edgeever (tianma-if/edgeever)

chrome-extension
Searching Database…

What is this?EdgeEver is an open-source, AI-native knowledge base and notes app built as a portable Evernote alternative, with a classic three-pane layout and native AI/MCP agent integration.
Is this a desktop app, a web app, or both?Both: it's a self-hostable web/server application with native clients for Web, Android, macOS, Windows, Linux, and iOS, plus a browser Web Clipper extension.
How do I deploy EdgeEver?Deploy for free on Cloudflare (fork the repo, create a D1 database and R2 bucket, import the project as a Worker, set an admin password secret, then deploy) or run it with Docker on a VPS/NAS using the official GHCR image and the provided installer script.
Do I need a Cloudflare account or a VPS to run it?You need either a free Cloudflare account (for the serverless deployment with D1 and R2) or Docker on a VPS, NAS, or home server; no other accounts are required to self-host.
Any catches with the free Cloudflare deployment?You must activate an R2 subscription and add a payment method even though usage stays within the free tier, and the iOS app requires an Apple ID registered outside mainland China.
Does my data stay under my control?Yes, notes are stored in standard SQLite with full REST API, MCP, and CLI access, and the Web Clipper sends clipped content directly to your own self-hosted instance without third-party relays.
How does EdgeEver connect to AI agents like Claude Code?It ships native Model Context Protocol (MCP) support so external agents can read, organize, and summarize notes, and the desktop app connects to local agents (Codex, Antigravity, Claude Code, WorkBuddy) via the Agent Client Protocol (ACP) for collaborative writing.
Can I back up or export my notes?Yes, you can export the full library as a lossless ZIP archive with Markdown, Front Matter, nested folders, attachments, and version history, or export a single note as Markdown, HTML, or PDF.
How much data can one deployment hold?A Cloudflare free-tier deployment can hold roughly 150,000 short notes and 50,000 images, while a Docker deployment scales storage on demand to support millions of notes.
Can I draw diagrams inside my notes?Yes, EdgeEver has native Mermaid rendering plus a visual diagram editor backed by a structured IR, so both the built-in assistant and external AI agents can generate and refine flowcharts and mind maps from a prompt.
Creator
tianma-if
Size
157.9 MB
Stars
2.3K
Age
3mo
Commits · 90 Days