tianma-if/edgeeverPublic

Serverless, 100% free, and open-source Evernote alternative on Cloudflare with native MCP | 无需服务器、0费用、原生支持 AI Agent 的开源自托管『印象笔记』

AI summary: Serverless, open-source Evernote alternative utilizing Cloudflare's free tier for zero-maintenance note-taking.

Stars
791
+32 today
Forks
375
Watchers
5
Open issues
13
Open PRs
4
Contributors
~5
Commits
984
Branches
1

TypeScriptAGPL-3.0Created Jun 26, 2026Last push 1d agoLatest release v1.6.53+116 stars this week+116 this month

Star history

since Jul 5, 2026
0200400600Jul 2026Jul 2026Jul 2026Aug 2026
791 stars as of Aug 6, 2026, tracked back to Jul 5, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-03: 0 commits2025-08-04: 0 commits2025-08-05: 0 commits2025-08-06: 0 commits2025-08-07: 0 commits2025-08-08: 0 commits2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 22 commits2026-06-27: 20 commits2026-06-28: 43 commits2026-06-29: 17 commits2026-06-30: 39 commits2026-07-01: 20 commits2026-07-02: 5 commits2026-07-03: 32 commits2026-07-04: 35 commits2026-07-05: 37 commits2026-07-06: 27 commits2026-07-07: 13 commits2026-07-08: 31 commits2026-07-09: 91 commits2026-07-10: 12 commits2026-07-11: 12 commits2026-07-12: 14 commits2026-07-13: 4 commits2026-07-14: 27 commits2026-07-15: 23 commits2026-07-16: 8 commits2026-07-17: 11 commits2026-07-18: 25 commits2026-07-19: 53 commits2026-07-20: 26 commits2026-07-21: 28 commits2026-07-22: 13 commits2026-07-23: 37 commits2026-07-24: 27 commits2026-07-25: 39 commits2026-07-26: 46 commits2026-07-27: 43 commits2026-07-28: 44 commits2026-07-29: 48 commits2026-07-30: 6 commits2026-07-31: 0 commits2026-08-01: 0 commits
978 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Rising fast

    +116 stars this week

  • Very active

    978 commits in 52 weeks

  • Continuous integration

    Automated checks passing

What edgeever does

EdgeEver is a personal knowledge management workspace designed as a self-hosted replacement for Evernote. It uniquely operates entirely on a serverless architecture, specifically targeting Cloudflare's free quotas to eliminate server and VPS costs. The application replicates the familiar three-pane layout of legacy note-taking apps while integrating modern AI agent capabilities. By eschewing Docker and SSL configurations, it offers a truly zero-maintenance deployment for personal users. Data remains entirely under the user's control in an open architecture.

EdgeEver is aimed at Evernote refugees, knowledge workers, and self-hosting enthusiasts. It is perfect for users who demand full ownership of their data but want to avoid the administrative overhead of traditional server deployments.

  • Pure Serverless Architecture: Runs entirely on edge functions, removing the need for dedicated servers or containers.
  • Three-Pane Layout: Revives the classic, efficient organizational interface popularized by early Evernote versions.
  • Zero Cost Deployment: Specifically engineered to operate within Cloudflare's generous free tier limits.
  • AI Agent Integration: Includes built-in smart productivity features to assist with organizing and querying knowledge.
  • No Database Maintenance: Abstracts away database management, requiring no manual provisioning or tuning.

Where teams use it

Personal Knowledge Base

Individuals migrating away from paid Evernote subscriptions who want a familiar interface without recurring costs.

Zero-Maintenance Hosting

Users who want self-hosted privacy but lack the time or expertise to manage VPS security, Docker, and certificates.

AI-Assisted Note Taking

Knowledge workers leveraging integrated AI to summarize, search, or expand on their personal notes.

Permanent Archival

Creating an enduring, open-data archive of information that isn't locked into a proprietary commercial ecosystem.

Getting started: Check the README for Cloudflare deployment instructions.

README

main branch

EdgeEver

简体中文 | English

EdgeEver: A serverless, 100% free, open-source, and AI-native 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 uses a pure Serverless architecture. No server purchase or VPS rental is required, and there is no need to configure Docker or SSL certificates. By running within Cloudflare's free quotas, personal use is 100% free with zero maintenance.

⭐ 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:

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

Online Demo

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

Features

  • Zero Server, Zero Ops, Truly Free: Powered by Cloudflare Serverless. No cloud servers to rent or maintain. Free tiers easily accommodate up to 150k notes and 50k images with blazing-fast global edge delivery.
  • 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.
  • 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.
  • 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.
  • 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: Chrome/Edge Web Clipper published on Chrome Web Store; installable as a PWA; native Android app available on Google Play, with APKs also downloadable from GitHub Releases; iOS app currently under App Store review; native desktop builds use Electron and a Rust sidecar.

Deployment

EdgeEver uses a pure Serverless architecture that runs entirely within Cloudflare's free tiers. No VPS or server rental is required, and there is no need to configure Docker or SSL certificates.

You can deploy online using either of the following two options:

Option A: Deploy with an AI Agent (Recommended)

Copy this prompt into an AI Agent configured with GitHub and Cloudflare MCP servers, plugins, or other integrations (such as Codex, Claude, Cursor, Antigravity, OpenClaw, Hermes Agent, etc.):

Deploy EdgeEver online:
1. Fork https://github.com/tianma-if/edgeever.
2. Import the Fork into Cloudflare Workers & Pages.
3. Configure D1, R2, `EDGE_EVER_AUTH_USERNAME` (prefilled as `admin`, customizable), the `EDGE_EVER_AUTH_PASSWORD` Worker Secret, and the production `main` build.
4. Start the first build and verify `/api/health`, `/api/openapi.json`, and login.
5. Enable and run `Update deployed EdgeEver` once.

Detailed requirements: AI Agent Cloudflare Deployment.

Option B: Manual Online Deployment

Complete setup in 4 simple web steps:

  1. Fork the Repository: Click Fork at the top right of GitHub to fork EdgeEver into your personal account.
  2. Import into Cloudflare: Log into the Cloudflare Dashboard, navigate to Workers & Pages, and choose to import your Fork repository.
  3. Bind Resources & Credentials: Bind the D1 database (DB), R2 bucket (RESOURCES), set EDGE_EVER_AUTH_USERNAME (default admin, customizable), and set the Worker Secret EDGE_EVER_AUTH_PASSWORD as your admin password.
  4. Build & Verify: Start the first build with default settings. Once complete, visit /api/health to verify a 200 response before logging in.

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

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.

PWA Installation

EdgeEver can be installed as a PWA on desktop or mobile home screens. On desktop, open the site in Chrome or Edge and use the install icon in the address bar. On Android, open it in Chrome, use the three-dot menu, and choose Add to Home screen or Install. Avoid installing from embedded browsers such as WeChat.

Common pitfall: When installing the PWA on mobile, Chrome or Edge is recommended. Other mobile browsers may encounter compatibility issues or unexpected errors during installation.

Chrome/Edge Web Clipper

The Chrome/Edge web clipper is officially published. You can install it directly from the link below (Microsoft Edge users can also install directly from the Chrome Web Store):

Native Clients

The Android app is now available on Google Play, with signed APKs also available from GitHub Releases. The iOS app has been submitted and is currently under App Store review.

The native desktop app is built with Electron and a Rust sidecar. GitHub Releases provide separate signed and notarized DMGs for Apple Silicon (arm64) and Intel (x64) Macs. Development and unsigned installer instructions are available in apps/desktop/README.md; signed release artifacts are produced by the desktop CI workflow.

Tech Stack

  • 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.
  • Mobile app: Expo + React Native, with SQLite local storage and incremental sync.
  • Web clipper: Manifest V3, Mozilla Readability, and Turndown for Chrome and Microsoft Edge.
  • Backend: Cloudflare Workers, Hono, Zod, D1, and R2, with REST API, OpenAPI, and Remote MCP.

Quick Start

Install dependencies:

bun install

Apply local D1 migrations:

bun run db:migrate:local

Start the default development environment. It applies pending local migrations and initializes local D1/R2 stores once with the repository's fixed demo seed. Existing local changes are preserved on later restarts, and no remote instance is contacted.

bun run dev

To intentionally develop against a configured remote instance, select it explicitly:

EDGE_EVER_INSTANCE=<name> bun run dev:remote

Checks:

bun run typecheck
bun run build

Project Structure

apps/web          Vite + React frontend, PWA, offline drafts, and sync queue
apps/extension    Chrome/Edge Manifest V3 web clipper
apps/api          Cloudflare Worker + Hono API, OpenAPI, MCP endpoint
apps/mobile       Expo + React Native mobile app
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        D1 database migrations
docs              OpenAPI schema, architecture, migration, and deployment docs
.github/workflows CI for web, mobile, 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.

API

OpenAPI schema:

https://your-domain/api/openapi.json

Repository file: docs/openapi.json.

MCP

Create an API token in Profile -> MCP settings, then copy either the token or full MCP configuration into your AI Agent so it can install the MCP server and read or organize notes with permission.

With MCP, EdgeEver can also connect to tools such as Notion databases and Feishu Bitable, turning scattered ideas, information, and materials from everyday notes into structured data that is easier to organize, search, and manage.

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.

Migration

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

Community and Feedback

Docker Deployment Roadmap

🐳 Docker-based self-hosting for VPS, NAS, and home servers is planned but is not yet a supported release. An experimental Bun runtime is already available for adapter development, with SQLite + local files or S3-compatible storage; PostgreSQL remains reserved at the contract level. See Self-hosting and Docker architecture.

Acknowledgements

  • The visual design of the editor themes is inspired by gzh-design-skill.
  • The "Minimal Emerald" theme typography layout is inspired by obsidian-minimal.
  • The "Outline Emerald" theme typography layout is inspired by Outline.

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.

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 6

Releases and announcements

125 total
  1. v1.6.53v1.6.53Jul 29, 20269 downloads

    ## Key Changes - Embed the toolbar brand icon in the application bundle to prevent broken-image placeholders during deployments and desktop file loading. - Use audited native Release assets for desktop and Android update checks so unchanged clients are not offered irrelevant updates. - Refine Web and PWA chunk splitting so large optional diagram code stays out of the initial load and offline precache. - Separate GitHub Releases from mobile store delivery and strengthen the automated build, audit, submission, and installation workflow. Related Issue: #131 ## Verification - `bun run typecheck` - `bun run typecheck:mobile` - `bun run build:web` - Native release planning and asset audit tests. - Version bump: `patch`. - Desktop release plan: rebuild, sign, notarize, and verify a new macOS arm64 DMG. - Android release plan: rebuild and verify a signed arm64 APK. ## 🇨🇳 中文说明 / Chinese Changelog ## 主要更新 - 将工具栏品牌图标内嵌到应用包中,避免部署切换及桌面文件加载时出现破图占位。 - 桌面端与 Android 更新检查改为依据已审计的原生 Release 资产,避免未变化的客户端收到无关更新提示。 - 优化 Web 与 PWA 分包,避免大型可选图表代码进入首屏加载和离线预缓存。 - 分离 GitHub Release 与移动商店交付,并强化自动构建、资产审计、商店提交和发布后安装流程。 关联 Issue:#131 ## 验证 - `bun run typecheck` - `bun run typecheck:mobile` - `bun run

  2. v1.6.52v1.6.52Jul 29, 20267 downloads

    ## Key Changes - Run required local release validations in parallel and skip redundant push-triggered native builds. - Add resumable one-command releases and stop waiting for background Demo deployment after native audits pass. Related Issue: #128 ## Verification - `bun run typecheck` - `bun run typecheck:mobile` - `bun run build:web` - Native release planning and asset audit tests. - Desktop release plan: reuse the verified assets from v1.6.51 with their original filenames and checksums. - Android release plan: reuse the verified APK from v1.6.51 with its original filename and checksum. ## 🇨🇳 中文说明 / Chinese Changelog ## 主要更新 - 并行执行必要的本地发布验证,并跳过由推送重复触发的原生端构建。 - 新增可续跑的一键发布流程,并在原生资产审计通过后不再等待后台 Demo 部署。 关联 Issue:#128 ## 验证 - `bun run typecheck` - `bun run typecheck:mobile` - `bun run build:web` - 原生 Release 规划与资产审计测试。 - 桌面端 Release 计划:复用 v1.6.51 已验证资产,并保留原始文件名与校验和。 - Android Release 计划:复用 v1.6.51 已验证 APK,并保留原始文件名与校验和。

  3. v1.6.51v1.6.51Jul 29, 202610 downloads

    ## Key Changes - The macOS desktop app now opens its main window before performing mounted-installer cleanup, removing the several-second blank delay after the first installation launch. - Native client version metadata is prepared for the v1.6.51 desktop and mobile builds. Related Issue: #127 ## Verification - Passed `bun run typecheck`. - Passed `bun run typecheck:mobile`. - Passed `bun run build:web`. - Passed 58 desktop regression tests and the Rust sidecar integration suite. - Passed 8 native Release planning and asset audit tests. ## 🇨🇳 中文说明 / Chinese Changelog ## 主要更新 - macOS 桌面端现在会先显示主窗口,再执行安装盘清理,消除首次安装启动后数秒看不到界面的延迟。 - 已准备 v1.6.51 桌面端和移动端原生构建的版本信息。 关联 Issue:#127 ## 验证 - 已通过 `bun run typecheck`。 - 已通过 `bun run typecheck:mobile`。 - 已通过 `bun run build:web`。 - 已通过 58 项桌面回归测试和 Rust sidecar 集成测试。 - 已通过 8 项原生 Release 规划与资产审计测试。

  4. v1.6.50v1.6.50Jul 29, 20268 downloads

    ## Key Changes - Added complete dark-mode palettes for the Minimal Emerald and Outline Emerald editor themes, including readable tables, code blocks, and themed content blocks. - Improved dark-mode contrast for selected view controls and memo separators without making the interface visually harsh. - Fixed native desktop session retention and hidden-window restoration, and limited WebDAV backup controls to the supported desktop runtime. Related Issue: #125 ## Verification - `bun run typecheck` - `bun run typecheck:mobile` - `bun run build:web` - 8 native release planning and asset audit tests passed. - Desktop release plan: rebuild, sign, notarize, and verify a new macOS arm64 DMG. - Android release plan: reuse the verified v1.6.49 arm64 APK with its original filename and checksum. ## 🇨🇳 中文说明 / Chinese Changelog ## 主要更新 - 为 Minimal Emerald 与 Outline Emerald 两款内置编辑器主题补齐完整夜间模式,包括表格、代码块和主题内容块的可读性适配。 - 优化夜间模式下视图切换选中态与笔记分隔线的对比度,在保持界面柔和的同时提升辨识度。 - 修复原生桌面端登录会话保留与隐藏窗口恢复问题,并将 WebDAV 备份入口限制在受支持的桌面运行环境。 关联 Issue:#125 ## 验证 - `bun run typecheck` - `bun run typecheck:mobile` - `bun run build:web` - 8 项原生 Release 规划与资产审计测试通过。 - 桌面端 Release 计划:重新构建、签名、公证并验证新的 macOS arm64 DMG。 - Android

  5. v1.6.49v1.6.49Jul 29, 20262 downloads

    ## Key Changes - Reduced accidental notebook actions by replacing the three hover buttons with one anchored actions menu. - Fixed the Web and native desktop notebook actions menu so it stays attached to the notebook row instead of drifting to the top-left. - Kept new child notebook, rename, delete, and context-menu access available. Related Issue: #10 ## Verification - bun run typecheck - bun run typecheck:mobile - bun run build:web - Desktop and Android release planning: reuse previously verified native assets. ## 🇨🇳 中文说明 / Chinese Changelog ## 主要更新 - 将笔记本行上的三个悬停操作按钮合并为一个固定定位的操作菜单,减少误触。 - 修复 Web 端和原生桌面端操作菜单漂移到左上角的问题,使菜单始终贴合笔记本行显示。 - 新建子笔记本、重命名、删除及右键菜单入口均继续保留。 关联 Issue:#10 ## 验证 - bun run typecheck - bun run typecheck:mobile - bun run build:web - 桌面端和 Android Release 计划:复用此前已验证的原生资产。

Commits per week

last 52 weeks
2230Week of 2025-08-03: 0 commitsWeek of 2025-08-10: 0 commitsWeek of 2025-08-17: 0 commitsWeek of 2025-08-24: 0 commitsWeek of 2025-08-31: 0 commitsWeek of 2025-09-07: 0 commitsWeek of 2025-09-14: 0 commitsWeek of 2025-09-21: 0 commitsWeek of 2025-09-28: 0 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 42 commitsWeek of 2026-06-28: 191 commitsWeek of 2026-07-05: 223 commitsWeek of 2026-07-12: 112 commitsWeek of 2026-07-19: 223 commitsWeek of 2026-07-26: 187 commitsAug 3, 2025Jul 26, 2026
978 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 21 commitsSun 1:00 — 21 commitsSun 2:00 — 5 commitsSun 3:00 — 3 commitsSun 4:00 — 3 commitsSun 5:00 — 4 commitsSun 6:00 — 3 commitsSun 7:00 — 4 commitsSun 8:00 — 8 commitsSun 9:00 — 12 commitsSun 10:00 — 5 commitsSun 11:00 — 8 commitsSun 12:00 — 8 commitsSun 13:00 — 14 commitsSun 14:00 — 10 commitsSun 15:00 — 4 commitsSun 16:00 — 3 commitsSun 17:00 — 9 commitsSun 18:00 — 12 commitsSun 19:00 — 10 commitsSun 20:00 — 2 commitsSun 21:00 — 15 commitsSun 22:00 — 7 commitsSun 23:00 — 3 commitsMon 0:00 — 6 commitsMon 1:00 — 5 commitsMon 2:00 — 12 commitsMon 3:00 — 4 commitsMon 4:00 — 2 commitsMon 5:00 — 2 commitsMon 6:00 — 3 commitsMon 7:00 — 0 commitsMon 8:00 — 1 commitsMon 9:00 — 4 commitsMon 10:00 — 9 commitsMon 11:00 — 1 commitsMon 12:00 — 2 commitsMon 13:00 — 5 commitsMon 14:00 — 7 commitsMon 15:00 — 1 commitsMon 16:00 — 0 commitsMon 17:00 — 12 commitsMon 18:00 — 12 commitsMon 19:00 — 9 commitsMon 20:00 — 1 commitsMon 21:00 — 4 commitsMon 22:00 — 9 commitsMon 23:00 — 6 commitsTue 0:00 — 9 commitsTue 1:00 — 8 commitsTue 2:00 — 3 commitsTue 3:00 — 2 commitsTue 4:00 — 1 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 0 commitsTue 10:00 — 2 commitsTue 11:00 — 8 commitsTue 12:00 — 11 commitsTue 13:00 — 18 commitsTue 14:00 — 5 commitsTue 15:00 — 18 commitsTue 16:00 — 5 commitsTue 17:00 — 13 commitsTue 18:00 — 8 commitsTue 19:00 — 7 commitsTue 20:00 — 9 commitsTue 21:00 — 6 commitsTue 22:00 — 5 commitsTue 23:00 — 13 commitsWed 0:00 — 10 commitsWed 1:00 — 12 commitsWed 2:00 — 14 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 4 commitsWed 10:00 — 17 commitsWed 11:00 — 10 commitsWed 12:00 — 9 commitsWed 13:00 — 7 commitsWed 14:00 — 2 commitsWed 15:00 — 6 commitsWed 16:00 — 6 commitsWed 17:00 — 3 commitsWed 18:00 — 7 commitsWed 19:00 — 6 commitsWed 20:00 — 6 commitsWed 21:00 — 3 commitsWed 22:00 — 8 commitsWed 23:00 — 5 commitsThu 0:00 — 14 commitsThu 1:00 — 7 commitsThu 2:00 — 2 commitsThu 3:00 — 26 commitsThu 4:00 — 29 commitsThu 5:00 — 28 commitsThu 6:00 — 7 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 4 commitsThu 11:00 — 2 commitsThu 12:00 — 0 commitsThu 13:00 — 0 commitsThu 14:00 — 6 commitsThu 15:00 — 0 commitsThu 16:00 — 0 commitsThu 17:00 — 3 commitsThu 18:00 — 2 commitsThu 19:00 — 1 commitsThu 20:00 — 2 commitsThu 21:00 — 10 commitsThu 22:00 — 4 commitsThu 23:00 — 0 commitsFri 0:00 — 5 commitsFri 1:00 — 6 commitsFri 2:00 — 0 commitsFri 3:00 — 1 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 3 commitsFri 11:00 — 15 commitsFri 12:00 — 2 commitsFri 13:00 — 0 commitsFri 14:00 — 1 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 14 commitsFri 18:00 — 9 commitsFri 19:00 — 13 commitsFri 20:00 — 13 commitsFri 21:00 — 11 commitsFri 22:00 — 6 commitsFri 23:00 — 6 commitsSat 0:00 — 14 commitsSat 1:00 — 14 commitsSat 2:00 — 7 commitsSat 3:00 — 5 commitsSat 4:00 — 0 commitsSat 5:00 — 1 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 1 commitsSat 11:00 — 5 commitsSat 12:00 — 15 commitsSat 13:00 — 9 commitsSat 14:00 — 4 commitsSat 15:00 — 6 commitsSat 16:00 — 4 commitsSat 17:00 — 2 commitsSat 18:00 — 9 commitsSat 19:00 — 10 commitsSat 20:00 — 9 commitsSat 21:00 — 3 commitsSat 22:00 — 4 commitsSat 23:00 — 9 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits770 (82%)
Community commits174 (18%)

944 commits in total over the last year.

DateListRankStars gained
Jul 10, 2026daily#24+2
  • freeCodeCamp/freeCodeCamp

    freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.

    453.6K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    385.5K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • openclaw/openclaw

    Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

    384.4K stars · TypeScript

  • awesome-selfhosted/awesome-selfhosted

    A list of Free Software network services and web applications which can be hosted on your own servers

    311.2K stars