edgeever

tianma-ifAGPL-3.0活跃维护

AI 原生的知识库与笔记工具,可替代印象笔记和 Obsidian,支持即时同步和原生 MCP,能免费部署在 Cloudflare 上,或用 Docker 自托管。

AI-native knowledge base & Evernote/Obsidian alternative. Instant all-platform sync, rich notes (tables, mind maps, diagrams, posters), web clipper & MCP. 100% free on Cloudflare or Docker.

v2.24.0发布于 2026-11-09 10:08 UTC3,189star +40 / 7 天1,651fork同步于 2026-11-10 23:42 UTC

怎么上手

由 README 提炼,执行前请确认
bun install
bun run dev
硬件要求按 README 说明

README 未说明硬件要求;可部署在 Cloudflare Workers 免费额度,或用 Docker 自托管于 VPS、NAS、家用服务器。

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源 AI 原生知识库,替代印象笔记/Obsidian,支持即时多端同步与 MCP

AI 原生的知识库与笔记工具,可替代印象笔记和 Obsidian,支持即时同步和原生 MCP,能免费部署在 Cloudflare 上,或用 Docker 自托管。

核心能力

  • 三栏式树视图、笔记列表与编辑器工作流
  • 笔记同时存 JSON、Markdown、纯文本三种格式
  • 内置 Remote MCP 端点供 AI Agent 接入
  • Web 端上传前静默压缩图片为 WebP
  • 提供 Chrome/Edge/Firefox 剪藏扩展

容易踩的坑

本地开发会自动登录,新数据库默认账号为 owner / edgeever-local-dev;Cloudflare 与 Docker 两套后端存储不同(D1/R2 对比 SQLite/本地文件或 S3),迁移前需确认;公开 demo 每天凌晨 3 点重置,不要存私密内容。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.24.0
  1. v2.24.0最新正式版2026-11-09 · 2026-11-09 10:08 UTC

    主要更新

    • 在 iOS 或 Android 的分享菜单中导入微信聊天记录压缩包,将对话和附件保存为笔记。
    • 编辑代码块时,如果没有选中文字,按 Cmd+C(macOS)或 Ctrl+C(其他平台)即可复制当前行。
    • Web、桌面端和 Android 检测 AI 模型时,如果供应商未提供令牌上限,可从 models.dev 公共目录查找参考值。感谢 @yulei666 的 #809。
    • 桌面端的 ImgBed 图床可以按名称指定上传渠道。连接测试会直接验证该渠道,上传失败后是否改用其他渠道重试也可以设置。感谢 @yulei666 的 #823。

    关联 Issue:#825, #822

    Key Changes

    • Import exported WeChat chat archives directly from the iOS or Android share menu to save the conversation and its attachments as a note.
    • In an editable code block, press Cmd+C on macOS or Ctrl+C on other platforms to copy the current line when no text is selected.
    • On Web, desktop, and Android, model detection can look up reference token limits in the public models.dev catalog when the provider reports none. Thanks to @yulei666 in #809.
    • Desktop ImgBed uploads can target a channel by name. The connection test checks that channel directly, and you can choose whether failed uploads retry on another channel. Thanks to @yulei666 in #823.

    Related Issue: #825, #822

  2. v2.23.02026-11-07 · 2026-11-07 13:38 UTC
    查看更新说明

    主要更新

    • MCP 的 get_memo 和返回完整正文的 list_memos 现在默认只提供 Markdown 正文。依赖 contentJson 或 contentText 的集成可传入 format="all",继续获取原有字段。
    • MCP 关键词搜索命中笔记正文时,会附带最多 200 字的匹配片段。
    • 公开分享页的初始 HTML 现在将笔记标题和正文的语言标记为未知,并正确标注页面自带的英文文案。感谢 @dkoryto 的 #816。

    关联 Issue:#819, #814, #818

    Key Changes

    • MCP now returns only Markdown for prose note bodies by default in get_memo and full-content list_memos. If your integration uses contentJson or contentText, pass format="all" to keep the previous fields.
    • MCP keyword search includes a snippet of up to 200 characters around a body match when available.
    • The initial HTML for publicly shared notes leaves the note language unspecified and labels the built-in English text correctly. Thanks to @dkoryto in #816.

    Related Issue: #819, #814, #818

  3. v2.22.02026-11-06 · 2026-11-06 11:59 UTC
    查看更新说明

    主要更新

    • AI 长文可分段生成并自动续接截断的结果。Web 和桌面可在侧栏查看、恢复和应用最近的草稿。
    • 受支持的客户端新增繁体中文、西班牙语、德语、法语和俄语。
    • 双行紧凑列表可显示更多笔记,重新打开应用时会保留主动选择的「全部笔记」。
    • 修复桌面端 MCP 端点与发现响应,并新增 MCP 客户端接入指南。
    • 修复 Windows 上 Antigravity ACP 辅助进程无法启动的问题。
    • 修复 Mermaid 标签裁切和跨子图连线布局问题。
    • 更新随应用分发的 npm 和相关依赖,修复安全漏洞。
    • 优化设置中的备份状态和导入选项,并更新笔记迁移指南。
    • 项目网站新增五种语言,笔记迁移指南更容易找到。

    关联 Issue:#812, #798, #802

    Key Changes

    • Generate long AI edits in parts and resume cut-off text. On web and desktop, review, restore, and apply the latest sidebar draft.
    • Use EdgeEver in Traditional Chinese, Spanish, German, French, or Russian on supported clients.
    • See more notes in the two-line compact list and keep an explicit All notes selection when reopening the app.
    • Fix desktop MCP endpoint and discovery responses, and add setup guides for connecting MCP clients.
    • Fix Antigravity ACP helper startup on Windows.
    • Fix clipped Mermaid labels and edge routing across subgraphs.
    • Update bundled npm and dependencies to address security vulnerabilities.
    • Clarify backup status and import options in settings, with updated note migration guides.
    • Add five languages to the project website and make the note migration guide easier to find.

    Related Issue: #812, #798, #802

    贡献者 / Contributors:@dkoryto @yulei666

  4. v2.21.02026-11-05 · 2026-11-05 08:06 UTC
    查看更新说明

    主要更新

    • 桌面端可将外部应用中保存的修改回存到原附件,需要先升级服务端。感谢 @LuoQianhong(#789)。
    • AI 根据探测到的模型限制自动调整输出预算,并在回复截断时提示。升级服务端后可使用自动预算。感谢 @yulei666(#791)。
    • 更新了第三方笔记导入窗口,可拖放文件导入印象笔记、Obsidian 和 Joplin 导出内容。
    • 修复 Mermaid 工具栏遮住图表,以及部分缩放比例下文字被裁切的问题。
    • 桌面端退出登录时会移除已保存的登录凭据。
    • 可在独立弹窗中修改密码,并优化了登录、双重验证、自定义 CSS 和连接状态的显示。
    • Demo 欢迎笔记中的架构图改为横向布局。

    关联 Issue:#796, #771, #790

    Key Changes

    • On desktop, save changes made in external apps back to the original attachment. This requires an updated server. Thanks @LuoQianhong (#789).
    • AI automatically adjusts the output budget using detected model limits and warns when a response is cut short. Update your server to enable automatic budgets. Thanks @yulei666 (#791).
    • Drag and drop files into the redesigned third-party note import dialog for Evernote, Obsidian, and Joplin.
    • Fixed Mermaid toolbars overlapping diagrams and labels being clipped at some zoom levels.
    • Signing out of the desktop app now removes saved login credentials.
    • Change your password in a dedicated dialog. The sign-in, two-factor authentication, custom CSS, and connection status screens have clearer styling.
    • The demo welcome note now shows the architecture diagram horizontally.

    Related Issue: #796, #771, #790

  5. v2.20.02026-11-04 · 2026-11-04 12:36 UTC
    查看更新说明

    主要更新

    • Web、桌面、Android 和 iOS 支持自愿开启验证器二次验证,提供一次性恢复码。启用时请妥善保存恢复码。(#671;@yulei666,#779)
    • 可按模型分别设置正文生成、标签建议和内置 AI 侧栏的输出上限。(#652;@yulei666,#780)
    • 分享笔记和公开笔记本站点新增可折叠大纲,方便跳转到各章节。(@sivdead,#785)
    • 改善 Web、桌面和 Android 的 Mermaid 图表渲染,修复跨子图连线等问题,并更新示例图表。
    • 点击空白笔记下方时保留编辑焦点,并简化三级标题的编号样式。
    • 修复笔记含有无效字符时的图片导出问题,并隔离桌面备份预览。
    • 自托管实例升级前请备份数据库,并应用截至 0091 的迁移。

    关联 Issue:#788, #775, #784

    Key Changes

    • Add optional authenticator-app two-factor authentication and one-time recovery codes on Web, desktop, Android, and iOS. Save the recovery codes when enabling this feature. (#671; @yulei666, #779)
    • Set per-model output limits for text generation, tag suggestions, and the built-in AI sidebar. (#652; @yulei666, #780)
    • Navigate shared notes and public notebooks with a collapsible outline. (@sivdead, #785)
    • Improve Mermaid rendering on Web, desktop, and Android, including links between subgraphs, and update the example diagrams.
    • Keep the editor focused when clicking below an empty note and simplify numbered level-three headings.
    • Fix note image exports that contain invalid characters and isolate the desktop backup preview.
    • Self-hosted instances: back up your database before upgrading and apply migrations through 0091.

    Related Issue: #788, #775, #784

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    EdgeEver is a modern, open-source notes and knowledge base workspace. It preserves the classic, high-efficiency three-pane productivity workflow (Tree View · Note List · Editor) 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 users of note-taking apps and personal knowledge bases simply want a reliable, open, and fast personal knowledge base. However, existing mainstream solutions all present tradeoffs:

    • Evernote: Offers the smoothest, most seamless multi-device cloud sync experience. Yet as it evolved into a full-featured commercial suite, ads and add-ons multiplied while system overhead climbed. Meanwhile, free-tier quotas tightened, premium AI subscriptions grew expensive, and it remains difficult to integrate into modern self-hosted and private AI workflows.
    • Obsidian: Open files, closed-source core. Official Sync is paid and third-party sync is tedious; relying entirely on flat local file scanning causes noticeable cold-start and search lag once notes reach thousands or heavy plugins are loaded; storing images and attachments alongside notes quickly bloats vaults, making mobile sync sluggish and leaving orphaned files behind; and it is overly heavy for lightweight, capture-anywhere use.
    • Joplin: A veteran open-source three-pane note app, yet its UI design and editing experience feel stuck more than a decade in the past, lacking modern polish and fluidity. Fast official sync (Joplin Cloud) requires a paid subscription; free sync via WebDAV or cloud drives relies on file-by-file polling that becomes sluggish on mobile as notes and attachments grow, while self-hosting Joplin Server requires maintaining your own server with no zero-cost serverless option. It also lacks a full browser-based web workspace and native AI Agent capabilities (MCP/ACP).
    • Memos & Stream Notes: Clean and simple, but their social-timeline layouts differ fundamentally from the structured productivity of a classic three-pane workflow.
    • SiYuan & Block-based PKMs: Powerful with self-hosting support, but their granular "block-level" architecture imposes noticeable cognitive overhead for quick daily capture and continuous prose writing. Furthermore, they lack a true zero-cost serverless deployment tier, and multi-device sync relies on paid official subscriptions or paying extra to unlock S3/WebDAV sync features with your own storage.

    EdgeEver fills this gap: The entire stack is open source, delivering truly seamless, low-latency, instant multi-device cloud sync with full self-hosting freedom. 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.

    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.

    All-Platform Clients & Browser Extension

    Client Downloads

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

    Browser Web Clipper Extension

    • Extract clean Markdown from web articles or clip selected text and images directly to your self-hosted instance.
    • Deep structured clipping for 20+ platforms: social (X, Xiaohongshu, WeChat, Jike, Douban, Threads, Bluesky), dev & reading communities (Zhihu, Reddit, GitHub, V2EX, Hacker News, Medium, Substack), and media/podcasts (Bilibili, YouTube, Xiaoyuzhou).

    Feature Matrix & Capabilities

    An all-in-one workspace connecting inspiration capture, deep creation, and knowledge compounding (👉 Explore 19 step-by-step showcases with screenshots):

    ModuleCore FeaturesAdvanced Features
    Writing & Editing• Classic 3-pane layout with resizable panel width• Seamless toggle between rich-text WYSIWYG & raw Markdown• Syntax highlighting, math formulas, task lists & Focus Mode• Second-level auto-save, instant multi-device sync & revision history• Native Poster Notes: Canvas-based structured visual card layouts, double-click to edit• WeChat Official Account Formatter: One-click copy with inline CSS to newsletters/blogs• Poster Image Export: Curated themes, Monogram avatars; export to MD, HTML, or PDF
    Organization & Search• Infinite-depth notebooks & folder tree navigation• Tagging system, drag-and-drop sorting, batch note merging/moving• Millisecond-level full-text search with historical filtering• Standalone Knowledge Base Publishing: One-click publish entire notebooks as static documentation sites with tree navigation & password protection• Multi-user spaces & physical tenant data isolation
    Capture & Media• Universal attachment uploads (PDF, Office, audio/video, archives)• Browser extension precision clipping for web text & images• Mobile system share sheet to save photos & articles• Deep Multi-Platform Structured Clipping: Deeply adapted for Xiaohongshu, X (Twitter), Zhihu, Reddit, GitHub, YouTube, Bilibili, and 20+ sources• WeChat Chat History Archiving: One-click full transcript import on macOS with timestamps, quotes, emojis, and media• Client-Side Image Compression: Automatic 50%–90% silent size reduction; chunked streaming safely supports up to 1 GiB files
    Data & Visuals• Native table editing & Markdown table rendering• Native Mermaid diagrams (flowcharts, sequence diagrams, architecture)• AI Multi-Dimensional Tables: Prompt-to-database with automatic field typing (tags, dates, selects)• Public Online Collection Forms: One-click shareable forms without login, syncing responses into tables in real time• AI Diagram & Infographic Generation: In-place creation of timelines, comparison charts, quadrant matrices & mind maps
    AI & Ecosystem• Companion sidebar AI assistant for summaries, proofreading & translations• BYOK (Bring Your Own Key): compatible with OpenAI, Claude, Gemini & custom endpoints• Native Agent Protocols (MCP & ACP): Built-in MCP for external agent read/write; ACP in desktop app to drive local agents such as Codex, Claude Code and CodeBuddy directly• AI RSS Daily Digest: Automated feed aggregation, AI noise filtering, and structured digest generation• Extensible Plugin Development API
    Multi-Device Sync & Foundation• Seamless, low-latency sync across desktop, mobile, and web with zero device limits• Official client support across Web, macOS, Windows, Linux, iOS, and Android• Offline-first with auto-sync queue: write smoothly offline, automatically resume and sync when reconnected• Standard SQLite database, lossless ZIP backup & Markdown export/import• Zero Server Cost for Life: 100% runnable on Cloudflare Free tier (~150k short notes & ~50k images)• Flexible Docker Self-Hosting: One-click deployment for VPS, NAS, or home server with millions of notes & instant sync• Server-side brute-force protection and tenant security

    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:

    Option A: Deploy with an AI Agent (Recommended)

    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, select "Start with Hello World!" and create a Worker named `edgeever`.
    4. Add the user's chosen password as the runtime Secret `EDGE_EVER_AUTH_PASSWORD`
       under Settings → Variables and Secrets, and deploy the Secret (preferably at least
       32 characters). The username defaults to `admin`.
    5. Only after the Secret is deployed, open this Worker's Settings → Builds → Connect
       and connect the Fork's `main` branch.
    6. In this Worker's Settings → Builds → API token, select or create the Cloudflare API token used for deployment, with D1 read/edit permission for the target account.
    7. In the Fork's GitHub repository, open Actions → Update deployed EdgeEver, enable the workflow if prompted, and select Run workflow on `main`. After confirming in Cloudflare that the corresponding build succeeded and deployment completed, verify `/api/health` and `/api/openapi.json`, then log in with the administrator
       username and password.
       This workflow will automatically sync future stable releases and fixes.
    

    Detailed requirements: AI Agent Cloudflare Deployment.

    Option B: Manual Online Deployment

    Complete the following 7 web steps strictly in order:

    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. Create the Worker: In Cloudflare Workers & Pages, select Create application → Start with Hello World!, name the Worker edgeever, and deploy it. This creates a placeholder; EdgeEver is deployed in Step 7.
    4. Set the Administrator Password: Under the Worker’s Settings → Variables and Secrets, add EDGE_EVER_AUTH_PASSWORD as type Secret and click Deploy. Its value is your chosen login password, preferably at least 32 characters. Complete this before connecting the Fork.
    5. Connect the Fork: In the existing Worker’s Settings → Builds → Connect, select the Fork and production branch main.
    6. Configure Deployment Permissions: In this Worker's Settings → Builds → API token, select or create the Cloudflare API token used for deployment, with D1 read/edit permission for the target account.
    7. Build & Verify: In the Fork's GitHub repository, open Actions → Update deployed EdgeEver, enable the workflow if prompted, and select Run workflow on main. After confirming in Cloudflare that the corresponding build succeeded and deployment completed, confirm /api/health returns 200 and verify login. This workflow will automatically sync 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

    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.

    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.


    Advanced Configuration & Management

    Data Backup, Export & Migration

    Whether for routine data backups, seamless cross-instance migration, or switching from existing note platforms, EdgeEver provides reliable, complete data mobility:

    • EdgeEver Native Backup & Restore: In the app, go to Profile -> Import and export to export or import an EdgeEver ZIP archive at any time. The extracted notes/ directory keeps clean plaintext Markdown files and attachments for local archival or direct reading, while internal structured metadata enables lossless full restoration across different EdgeEver instances. Importing preserves existing unrelated data on the target instance and automatically overwrites records with matching IDs.
    • Smooth Migration from Third-Party Apps: Whether importing via the native one-click GUI (supporting complete notes, hierarchies, and attachments from Evernote, Obsidian, and Joplin) or migrating from Notion, flomo, Memos, and other platforms via AI Agent & MCP, EdgeEver provides seamless, verified data mobility. See the Third-Party Notes Migration Guide.

    AI & MCP Protocol Integration

    Create an API token in Profile -> API / MCP and copy the Remote MCP configuration in one click to let AI Agents such as Claude Code, Cursor, Antigravity, and OpenClaw securely manage your knowledge base within account permissions. EdgeEver supports full CRUD for text notes, visual diagram notes (mind maps, flowcharts, and architecture diagrams), structured table notes, and native poster notes. Agents can also manage notebook hierarchies, tags, attachments, revision history, note templates, and AI instructions.

    For client setup, token access levels, troubleshooting and suggested rules for agents, see Using EdgeEver with MCP clients.

    💡 Inspiration: Make AI your true knowledge orchestrator and creative co-pilot—instantly turn concepts into interactive mind maps, flowcharts, architecture diagrams, and structured tables, 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.

    Multi-Account Login & Storage Management

    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. An intuitive storage usage dashboard provides real-time visibility into attachment storage consumed across the whole instance as well as per account.

    Storage Extension & Third-Party Image Hosting

    • OSS 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.
    • Desktop PicGo integration: The desktop app can hand inserted images to a PicGo or PicList server on this computer or on another machine you trust, such as a NAS. That server uploads them to GitHub, SM.MS, Upyun, Qiniu, or a custom image host. The address only needs to end with /upload, so a PicList behind a reverse proxy works too.
    • Desktop CloudFlare ImgBed: The desktop app can also upload inserted images straight to your self-hosted CloudFlare ImgBed with an API token. The upload folder accepts PicList-style placeholders such as {Y}/{m}/{d} and {memoId}.

    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.


    Developer Guide & Contributing

    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.

    Architecture & Tech Stack

    Tech Stack
    • Bun workspace monorepo with Web, API, official site, and shared type package.
    • 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 and Remote MCP; Cloudflare uses Workers/D1/R2, while Docker uses Bun/SQLite/local files or S3.
    • Official site: Astro static site in apps/site, deployable to Cloudflare Pages.
    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
    
    Data Storage Model

    EdgeEver persists note content simultaneously across three formats to balance editing performance, open portability, and full-text search speed:

    content_json      TipTap/ProseMirror document, the editor source of truth
    content_markdown  API, Agent, export, and external ecosystem interoperability
    content_text      Full-text search, summary generation, and indexing
    

    Core Mechanisms & Design Decisions

    • Client-Side Silent Compression: To avoid consuming compute quota on serverless runtimes like Cloudflare Workers, image compression occurs in the Web client before upload (converting PNG/JPEG/WebP/AVIF to WebP when beneficial, max edge 2560px; original retained if compression does not reduce size). REST API and MCP endpoints store client-supplied binaries directly without additional server-side transcoding.
    • Offline-First & Sync Timing: Web, PWA, and desktop clients automatically upload memo edits after 30 seconds of typing inactivity, and poll for remote changes every 5 minutes while visible; window refocus and manual refresh remain immediate. Configurable via DEFERRED_MEMO_SYNC_DELAY_MS and BACKGROUND_WORKSPACE_REFRESH_INTERVAL_MS in apps/web/src/lib/workspace-refresh.ts.

    Contributing Code

    Community contributions are warmly welcome! Please keep the following guidelines in mind:

    • Please review the Contribution Guide before submitting code.
    • Deployment Isolation: If your GitHub Fork is also used to deploy EdgeEver, keep its main branch clean and deployment-only. Create a dedicated branch from official upstream/main for features/fixes and pull requests; do not develop on or run Sync fork directly on the deployment main.

    Community and Feedback

    • Issues & Suggestions: For bugs, feature requests, and deployment questions, please submit to GitHub Issues to help the community build searchable solutions.

    Telegram Community

    Welcome to the EdgeEver community, bringing together developers and creators exploring vibe coding and AI. Join us to discuss cutting-edge AI productivity and best practices for personal knowledge bases.

    👉 Join the EdgeEver Telegram group

    Friendly Links

    • LINUX DO — A community for sharing technology and open-source projects.

    Sponsor & Support

    EdgeEver is a free and open-source project. Sustaining cross-platform client development, continuous device testing, code signing, and multi-runtime ecosystem maintenance requires ongoing dedication and resources.

    Acknowledgements

    • EdgeEver's note-taking product design was also informed by the publicly available product experiences of mature note-taking tools such as Evernote and Notion. The related features were independently designed and implemented by EdgeEver.
    • The product design of mind-map and visual-diagram notes was informed by the publicly available product experiences of XMind and ProcessOn. These features were independently designed and implemented by EdgeEver.
    • EdgeEver's poster design workspace draws inspiration from Qiaomu Design by 向阳乔木 (joeseesun), and adapts its templates and typography engine under the MIT license.
    • The visual themes and typography of EdgeEver's image-sharing cards were inspired by Firefly Card (流光卡片). Thank you for the design inspiration.
    • EdgeEver's one-click WeChat publishing and featured article typography draw inspiration from gzh-design-skill by isjiamu. Thank you for the layout and design inspiration.

    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.

    Contributors