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)

Searching Database…

这是什么?EdgeEver 是一个开源、AI 原生的知识库和笔记应用,定位为可迁移的 Evernote 替代品,拥有经典的三栏布局和原生的 AI/MCP 智能体集成。
这是桌面应用、网页应用,还是两者都是?两者都是:它是一个可自托管的 Web/服务器应用,提供 Web、Android、macOS、Windows、Linux 和 iOS 原生客户端,还有浏览器 Web Clipper 扩展。
怎么部署 EdgeEver?可以在 Cloudflare 上免费部署(fork 仓库、创建 D1 数据库和 R2 存储桶、把项目作为 Worker 导入、设置管理员密码 secret,然后部署),也可以在 VPS/NAS 上用 Docker 运行,使用官方 GHCR 镜像和随附的安装脚本。
运行它需要 Cloudflare 账号或 VPS 吗?你需要一个免费的 Cloudflare 账号(用于 D1 和 R2 的无服务器部署),或者在 VPS、NAS 或家庭服务器上装 Docker;自托管不需要其他任何账号。
Cloudflare 免费部署有什么要注意的?即使用量保持在免费额度内,你也必须开通 R2 订阅并绑定付款方式;另外 iOS 应用要求使用在中国大陆以外注册的 Apple ID。
我的数据由我自己掌控吗?是的,笔记以标准 SQLite 存储,提供完整的 REST API、MCP 和 CLI 访问;Web Clipper 把剪藏内容直接发送到你自己的自托管实例,不经过第三方中转。
EdgeEver 怎么连接 Claude Code 这类 AI 智能体?它内置原生的 Model Context Protocol(MCP)支持,外部智能体可以读取、整理和总结笔记;桌面应用还通过 Agent Client Protocol(ACP)连接本地智能体(Codex、Antigravity、Claude Code、WorkBuddy)进行协作写作。
可以备份或导出我的笔记吗?可以,你可以把整个笔记库导出为无损 ZIP 归档,包含 Markdown、Front Matter、嵌套文件夹、附件和版本历史;也可以把单条笔记导出为 Markdown、HTML 或 PDF。
一个部署能装下多少数据?Cloudflare 免费额度部署大约能容纳 15 万条短笔记和 5 万张图片;Docker 部署则可按需扩展存储,支持数百万条笔记。
可以在笔记里画图表吗?可以,EdgeEver 支持原生 Mermaid 渲染,还有一个由结构化 IR 支撑的可视化图表编辑器,内置助手和外部 AI 智能体都能根据提示词生成并完善流程图和思维导图。
Creator
tianma-if
Size
161.1 MB
Stars
2.3K
Age
3mo
Commits · 90 Days