From d635c45f36ad9b198d6b9eb1dc9b1ae0d0013c4e Mon Sep 17 00:00:00 2001 From: tianma-if Date: Sat, 17 Oct 2026 17:41:10 +0800 Subject: [PATCH] docs: reorganize readme sections and fold manual cloudflare deployment --- README.ja.md | 131 +++++++++++++++++++++++-------------------- README.md | 129 ++++++++++++++++++++++++------------------- README.pl-PL.md | 123 +++++++++++++++++++++++------------------ README.zh-CN.md | 140 +++++++++++++++++++++++++--------------------- README.zh-TW.md | 144 +++++++++++++++++++++++++++--------------------- 5 files changed, 369 insertions(+), 298 deletions(-) diff --git a/README.ja.md b/README.ja.md index db82ad39..407e58c8 100644 --- a/README.ja.md +++ b/README.ja.md @@ -19,7 +19,7 @@

Telegram Telegram グループ  |  🌐 オンラインデモ  |  - 📱 ダウンロード  |  + 📱 クライアントと拡張機能  |  主な機能と活用シーン

@@ -50,7 +50,9 @@ EdgeEver は、オープンソースのノートと知識ベースの作業領 公開デモは毎日 3:00(中国標準時)にリセットされ、サンプルノートが戻ります。非公開の内容は置かないでください。 -## クライアントのダウンロード +## 全プラットフォームクライアントと拡張機能 + +### クライアントのダウンロード

macOS 向け EdgeEver をダウンロード   @@ -62,6 +64,19 @@ EdgeEver は、オープンソースのノートと知識ベースの作業領 > iOS アプリは、中国本土以外の Apple ID が必要です。 +### ブラウザ Web Clipper + +

+ Google Chrome 向け EdgeEver Web Clipper を入れる   + Microsoft Edge 向け EdgeEver Web Clipper を入れる   + Firefox 向け EdgeEver Web Clipper を入れる +

+ +- **スマートな本文抽出**:Web ページの本文を自動抽出し、クリーンな Markdown に変換。元記事の URL とクリップ日時を保持します。 +- **選択テキストと画像のクリップ**:テキストを選択するか画像を右クリックして、ページ全体を保存することなく直接ノートとして保存できます。 +- **SNS とコミュニティへの深層対応**:X (Twitter)、小紅書、知乎、Reddit、GitHub、YouTube、Bilibili など 15 以上の主要プラットフォームの構造化保存にワンクリックで対応。 +- **セルフホストへのプライベート直接通信**:クリップした内容は個人の EdgeEver インスタンスに直接送信され、第三者の中継サーバーを経由しません。 + ## 主な機能と活用シーン @@ -105,7 +120,7 @@ Cloudflare のオンライン導入は、次のいずれかです。 ```text GitHub と Cloudflare のオンライン操作だけで EdgeEver を導入してください: -1. Fork https://github.com/tianma-if/edgeever. +1. Fork https://github.com/tianma-if/edgeever。 2. Cloudflare で D1 `edgeever` と R2 `edgeever-resources` を作成します。 3. Workers & Pages で Fork の `main` ブランチから `edgeever` という名前の Worker を作成します。 リポジトリのルートを使い、Cloudflare Workers Builds の既定のデプロイコマンドを維持します。 @@ -124,13 +139,16 @@ GitHub と Cloudflare のオンライン操作だけで EdgeEver を導入して ### 方法 B: 手動のオンライン導入 +
+📖 クリックして展開:Web で行う 6 ステップの手動導入手順 + ウェブ上の 6 手順で完了します。 1. **リポジトリを Fork**:GitHub 右上の **Fork** で、EdgeEver を自分のアカウントへ Fork します。 2. **Cloudflare リソースを作成**:D1 `edgeever` と R2 `edgeever-resources` を作ります。 3. **プロジェクトを取り込み、設定**:Cloudflare **Workers & Pages** で Fork の `main` ブランチから `edgeever` という名前の Worker を作成します。リポジトリのルートと、Cloudflare 上で実行される Workers Builds の既定のデプロイコマンドを使い、API トークンの D1 読み取り・編集権限を確認します。binding はデプロイコマンドが作るため、Fork 内のファイルは編集しないでください。 4. **管理者パスワードを準備**:管理者ログイン用パスワードを用意します。32 文字以上を推奨します。Worker 作成後、実行時 Secret `EDGE_EVER_AUTH_PASSWORD` に保存します。 -5. **ビルドと確認**:Save and Deploy で Worker が作成され、ビルドが始まります。管理者 Secret がないため失敗した場合は、手順 4 の実行時 Secret を追加して再試行します。管理者ユーザー名の既定値は `admin` です。別の名前を使う場合は、再試行前に Workers Builds 変数 `EDGE_EVER_AUTH_USERNAME` を設定します。導入後に `/api/health` が `200` を返すことを確認し、設定した管理者ユーザー名とパスワードでログインします。 +5. **ビルドと確認**:Save and Deploy で Worker が作成され、ビルドが始まります。初回のビルドは Worker インスタンスを初期化するためのものであり、管理者 Secret 未設定によるエラーは想定内の動作です。手順 4 の実行時 Secret `EDGE_EVER_AUTH_PASSWORD` を追加した後に再試行ボタンを押せばビルドが通過します。管理者ユーザー名の既定値は `admin` です。別の名前を使う場合は、再試行前に Workers Builds 変数 `EDGE_EVER_AUTH_USERNAME` を設定します。導入後に `/api/health` が `200` を返すことを確認し、設定した管理者ユーザー名とパスワードでログインします。 6. **自動更新を有効化**:Fork の **Actions** タブで **I understand my workflows, go ahead and enable them** を押し、**Update deployed EdgeEver** を一度手動実行して、今後の安定版と修正を自動で受け取れるようにします。 > 📖 手順と設定の詳細は [Online Deployment Guide](docs/deploy-cloudflare-button.md) を見てください。 @@ -139,8 +157,12 @@ GitHub と Cloudflare のオンライン操作だけで EdgeEver を導入して > 💡 **Cloudflare R2 の有効化**:Cloudflare R2 にはノート用途で足りる [無料保存枠](https://developers.cloudflare.com/r2/pricing/#free-tier) がありますが、先に R2 のサブスクリプションを有効にし、支払い方法を登録する必要があります。Cloudflare は [公式に](https://developers.cloudflare.com/billing/get-started/update-billing-info/#supported-payment-methods) UnionPay、Visa、Mastercard などのカードと、PayPal、Apple Pay、Google Pay などを受け付けます。 +
+ ### 方法 C: VPS または NAS で Docker +Docker は Cloudflare と同じフロントエンド、API、サービス、認証、MCP、migration です。コンテナは SQLite と、ローカルファイルまたは S3 互換の添付保存を使い、`amd64` と `arm64` に対応します。 [Deploy EdgeEver with Docker](docs/deploy-docker.md) と [Self-hosting and Docker architecture](docs/self-hosting-architecture.md) を見てください。 + GitHub ホストのインストーラと公式 GHCR イメージを使います。 ```sh @@ -155,41 +177,44 @@ curl -fsSL https://edgeever.org/install.sh | bash --- -## 複数アカウントとストレージ使用量 +## データ移行と高度な活用 + +### 移行 + +他のプラットフォームから EdgeEver へ移す場合は、次の短いガイドを見てください。 + +- **Evernote からの移行**: [docs/evernote-migration-guide.md](docs/evernote-migration-guide.md) +- **flomo からの移行**: [docs/flomo-migration-guide.md](docs/flomo-migration-guide.md) +- **Memos からの移行**: [docs/memos-migration-guide.md](docs/memos-migration-guide.md) +- **Notion からの移行**: [docs/notion-migration-guide.md](docs/notion-migration-guide.md) + +### MCP + +**プロフィール** -> **API / MCP** で API トークンを作成し、ワンクリックで Remote MCP 設定をコピーすることで、Claude Code、Cursor、Antigravity、OpenClaw などの AI Agent がアカウント権限の範囲内で知識ベースを安全に管理できます。テキストノート、図のノート(マインドマップ、フローチャート、アーキテクチャ図)、多次元テーブルノート、ネイティブポスターノートの完全な CRUD に対応し、Agent はノートブック階層、タグ、添付ファイル、履歴バージョン、ノートテンプレート、AI 指示の管理も行えます。 + +> 💡 **着想:** +> AI を知識の整理役と創作の相棒にしてください。構想をインタラクティブなマインドマップ、フローチャート、アーキテクチャ図、多次元テーブルへ瞬時に落とし込み、Agent に私有の文脈を渡せます。EdgeEver のリッチテキストと美しい体裁と組み合わせることで、AI が手伝った内容は、整った、いつでも配布できる高品質な知識資産になります。 + +### 複数アカウントとストレージ使用量 導入後、1 インスタンスで複数アカウントのログインができます。 インスタンス管理者は **プロフィール** -> **ユーザーアカウント** でメンバーの作成、無効化、パスワードリセットができます。メンバーごとにノートブック、ノート、添付、ゴミ箱、インポート / エクスポート、MCP トークンが分離されます。また、直感的なストレージ使用量ダッシュボードにより、インスタンス全体および各アカウントの添付ファイル容量をリアルタイムで把握できます。 -## ブラウザ Web Clipper +### 高度なオブジェクトストレージとサードパーティ画像ホスティング -

- Google Chrome 向け EdgeEver Web Clipper を入れる   - Microsoft Edge 向け EdgeEver Web Clipper を入れる   - Firefox 向け EdgeEver Web Clipper を入れる -

+- **OSS オブジェクトストレージ**:インスタンスのオーナーは **設定 → 詳細 → OSS オブジェクトストレージ** で S3 互換ストレージを設定できます。切り替えは既存添付を移さず、影響しません。 +- **デスクトップ版 PicGo 連携**:デスクトップ版ではローカルの PicGo クライアントと連携可能で、ノート内の画像を GitHub、SM.MS、又拍雲、七牛雲や自前ホストへ直接アップロードでき、セルフホスト環境のストレージと帯域消費を節約できます。 -- **スマートな本文抽出**:Web ページの本文を自動抽出し、クリーンな Markdown に変換。元記事の URL とクリップ日時を保持します。 -- **選択テキストと画像のクリップ**:テキストを選択するか画像を右クリックして、ページ全体を保存することなく直接ノートとして保存できます。 -- **SNS とコミュニティへの深層対応**:X (Twitter)、小紅書、知乎、Reddit、GitHub、YouTube、Bilibili など 15 以上の主要プラットフォームの構造化保存にワンクリックで対応。 -- **セルフホストへのプライベート直接通信**:クリップした内容は個人の EdgeEver インスタンスに直接送信され、第三者の中継サーバーを経由しません。 - -## コミュニティとフィードバック - -- 不具合、機能要望、導入の問題: [GitHub Issues](https://github.com/tianma-if/edgeever/issues) -- コード貢献: [Contribution Guide](CONTRIBUTING.md) を読んでください。Fork を EdgeEver の導入にも使う場合、その `main` は導入専用にしてください。同期、開発、Pull Request は公式 `upstream/main` から切った別ブランチで行い、導入用 `main` では開発も Sync fork もしないでください。 - -### Telegram コミュニティ - -EdgeEver コミュニティへようこそ。Vibe Coding や AI を探求する仲間が集まり、最先端の AI 生産性と個人ナレッジベースのベストプラクティスを共有しています。 - -👉 [EdgeEver の Telegram グループに参加](https://t.me/+wwUx1BYLrIdiZjY1) - -## プラグインとテーマ +### プラグインとテーマ Web とデスクトップは機能プラグインとカスタムテーマに対応し、公式マーケット、GitHub、Manifest URL から手軽に導入でき、作業領域を通じて同期されます。開発者は `@edgeever/plugin-api` で拡張できます。詳細は [plugin development guide](docs/plugin-development.md) と [marketplace submission policy](docs/plugin-marketplace-policy.md) を参照してください。 -## 技術スタック +--- + +## 開発者ガイドとアーキテクチャ + +### 技術スタック - Bun workspace の monorepo。Web、API、公式サイト、共有型パッケージ。 - フロントエンド: Vite、React、React Router、TanStack Query、Tailwind CSS、shadcn/ui、Radix UI。 @@ -201,7 +226,7 @@ Web とデスクトップは機能プラグインとカスタムテーマに対 - バックエンド: Hono / Zod の業務アプリ 1 式。REST API と Remote MCP。Cloudflare は Workers / D1 / R2、Docker は Bun / SQLite / ローカルファイルまたは S3。 - 公式サイト: `apps/site` の Astro 静的サイト。Cloudflare Pages に出せます。 -## クイックスタート +### クイックスタート ```sh bun install @@ -210,7 +235,7 @@ bun run dev ローカル開発は自動ログインします。新しいデータベースの初期アカウントは `owner` / `edgeever-local-dev` です。ログイン画面を試すときはログアウトしてください。 -## リポジトリ構成 +### リポジトリ構成 ```text apps/web Vite + React フロントエンド、PWA、オフライン下書き、同期キュー @@ -231,7 +256,7 @@ docs アーキテクチャ、移行、導入の文書 wrangler.toml Cloudflare Workers、Assets、D1、R2 の設定 ``` -## 内容の形式 +### 内容の形式 EdgeEver はノート本文を 3 つの形で持ちます。 @@ -243,41 +268,29 @@ content_text 検索、要約、索引 **プロフィール** -> **インポートとエクスポート** から EdgeEver ZIP を書き出し、または取り込めます。`notes/` は Markdown として読め、持ち出せます。構造化データは EdgeEver インスタンス間の完全復元に使います。取り込みは関係ない対象データを残し、同じ EdgeEver ID の記録は上書きします。 -## MCP - -**プロフィール** -> **API / MCP** で API トークンを作成し、ワンクリックで Remote MCP 設定をコピーすることで、Claude Code、Cursor、Antigravity、OpenClaw などの AI Agent がアカウント権限の範囲内で知識ベースを安全に管理できます。テキストノート、図のノート(マインドマップ、フローチャート、アーキテクチャ図)、多次元テーブルノート、ネイティブポスターノートの完全な CRUD に対応し、Agent はノートブック階層、タグ、添付ファイル、履歴バージョン、ノートテンプレート、AI 指示の管理も行えます。 - -> 💡 **着想:** -> AI を知識の整理役と創作の相棒にしてください。構想をインタラクティブなマインドマップ、フローチャート、アーキテクチャ図、多次元テーブルへ瞬時に落とし込み、Agent に私有の文脈を渡せます。EdgeEver のリッチテキストと美しい体裁と組み合わせることで、AI が手伝った内容は、整った、いつでも配布できる高品質な知識資産になります。 - -## 画像圧縮 +### 画像圧縮 画像圧縮は Web クライアントがアップロード前に行い、**ノート内画像を圧縮** の設定で制御します。オンのとき、PNG、JPEG、WebP、AVIF は得があれば WebP にし、長辺を `2560px` までにします。小さくならなければ原ファイルを残します。 Worker 側の画像処理は避け、計算と画像処理枠を抑えます。REST API と MCP のアップロードは、クライアントが渡した内容を追加圧縮せず保存します。 -## 高度なオブジェクトストレージとサードパーティ画像ホスティング - -- **OSS オブジェクトストレージ**:インスタンスのオーナーは **設定 → 詳細 → OSS オブジェクトストレージ** で S3 互換ストレージを設定できます。切り替えは既存添付を移さず、影響しません。 -- **デスクトップ版 PicGo 連携**:デスクトップ版ではローカルの PicGo クライアントと連携可能で、ノート内の画像を GitHub、SM.MS、又拍雲、七牛雲や自前ホストへ直接アップロードでき、セルフホスト環境のストレージと帯域消費を節約できます。 - -## 移行 - -他のプラットフォームから EdgeEver へ移す場合は、次の短いガイドを見てください。 - -- **Evernote からの移行**: [docs/evernote-migration-guide.md](docs/evernote-migration-guide.md) -- **flomo からの移行**: [docs/flomo-migration-guide.md](docs/flomo-migration-guide.md) -- **Memos からの移行**: [docs/memos-migration-guide.md](docs/memos-migration-guide.md) -- **Notion からの移行**: [docs/notion-migration-guide.md](docs/notion-migration-guide.md) - -## Docker 導入 - -Docker は Cloudflare と同じフロントエンド、API、サービス、認証、MCP、migration です。コンテナは SQLite と、ローカルファイルまたは S3 互換の添付保存を使い、`amd64` と `arm64` に対応します。 [Deploy EdgeEver with Docker](docs/deploy-docker.md) と [Self-hosting and Docker architecture](docs/self-hosting-architecture.md) を見てください。 - -## 同期のタイミング +### 同期のタイミング Web、PWA、デスクトップは、編集が 30 秒止まったあとでノートをアップロードし、表示中は 5 分ごとに遠隔の変更を見ます。フォーカスと手動更新はすぐです。`DEFERRED_MEMO_SYNC_DELAY_MS` と `BACKGROUND_WORKSPACE_REFRESH_INTERVAL_MS` は [`apps/web/src/lib/workspace-refresh.ts`](apps/web/src/lib/workspace-refresh.ts) で変えられます。 +--- + +## コミュニティとフィードバック + +- 不具合、機能要望、導入の問題: [GitHub Issues](https://github.com/tianma-if/edgeever/issues) +- コード貢献: [Contribution Guide](CONTRIBUTING.md) を読んでください。Fork を EdgeEver の導入にも使う場合、その `main` は導入専用にしてください。同期、開発、Pull Request は公式 `upstream/main` から切った別ブランチで行い、導入用 `main` では開発も Sync fork もしないでください。 + +### Telegram コミュニティ + +EdgeEver コミュニティへようこそ。Vibe Coding や AI を探求する仲間が集まり、最先端の AI 生産性と個人ナレッジベースのベストプラクティスを共有しています。 + +👉 [EdgeEver の Telegram グループに参加](https://t.me/+wwUx1BYLrIdiZjY1) + ## スポンサーと支援 EdgeEver は無料のオープンソースプロジェクトです。クロスプラットフォームクライアント(macOS、Windows、Linux、iOS、Android)の継続的な開発、実機テスト、コード署名、複数ランタイムのエコシステム維持には、継続的な時間とリソースの投入が必要です。 diff --git a/README.md b/README.md index 51353282..01f9da64 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@

Telegram Telegram Group  |  🌐 Live Demo  |  - 📱 Client Downloads  |  + 📱 Clients & Extension  |  Key Features & Workflows

@@ -50,7 +50,9 @@ Many users of **note-taking apps and personal knowledge bases** simply want a ** 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 +## All-Platform Clients & Browser Extension + +### Client Downloads

Download EdgeEver for macOS   @@ -62,6 +64,19 @@ The public demo resets every day at 3:00 AM (China Standard Time) and restores s > The iOS app requires an Apple ID from outside mainland China. +### Browser Web Clipper Extension + +

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

+ +- **Smart Article Extraction**: Automatically extracts article content and converts it into clean Markdown, preserving the source URL and clipping timestamp. +- **Selection & Context Menu Clipping**: Save selected text or right-clicked images directly as notes without capturing the entire page. +- **Deep Social & Community Clipping**: Native structured clipping for 15+ major platforms including X (Twitter), Xiaohongshu, Zhihu, Reddit, GitHub, YouTube, and Bilibili. +- **Private Self-Hosted Direct Connection**: Sends clipped content directly to your personal EdgeEver instance without third-party relays. + ## Key Features & Workflows @@ -125,13 +140,16 @@ Deploy EdgeEver entirely through GitHub and Cloudflare: ### Option B: Manual Online Deployment +
+📖 Click to expand: 6-Step Web Manual Deployment Guide + 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. +5. **Build & Verify**: Save and Deploy creates the Worker and starts a build. The initial build primarily initializes the Worker instance; if it fails due to missing administrator Secret, this is expected behavior. Simply add the runtime Secret `EDGE_EVER_AUTH_PASSWORD` from Step 4 and click retry. The username defaults to `admin`; to use another, set `EDGE_EVER_AUTH_USERNAME` as a 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](docs/deploy-cloudflare-button.md). @@ -140,8 +158,12 @@ Complete setup in 6 web steps: > 💡 **Cloudflare R2 Activation**: Although Cloudflare R2 offers a generous [free storage allowance](https://developers.cloudflare.com/r2/pricing/#free-tier) that note-taking workloads remain completely within, you must first activate an R2 subscription and add a payment method. Cloudflare [officially supports](https://developers.cloudflare.com/billing/get-started/update-billing-info/#supported-payment-methods) 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](docs/deploy-docker.md) and [Self-hosting and Docker architecture](docs/self-hosting-architecture.md). + Use the GitHub-hosted installer and the official GHCR image: ```sh @@ -156,41 +178,44 @@ After installation, updates run automatically each day by default. To update man --- -## Multi-Account Login & Storage Usage +## Migration & Advanced Setup + +### Migration + +If you want to migrate notes from other platforms to EdgeEver, please refer to the following simple migration guides: + +- **Evernote Migration**: Please refer to [docs/evernote-migration-guide.md](docs/evernote-migration-guide.md) +- **flomo Migration**: Please refer to [docs/flomo-migration-guide.md](docs/flomo-migration-guide.md) +- **Memos Migration**: Please refer to [docs/memos-migration-guide.md](docs/memos-migration-guide.md) +- **Notion Migration**: Please refer to [docs/notion-migration-guide.md](docs/notion-migration-guide.md) + +### MCP + +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. + +> 💡 **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 Usage 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. -## Browser Web Clipper +### Advanced Object Storage & Third-Party Image Hosting -

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

+- **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 optionally integrates with a local PicGo client service, uploading inserted images directly to GitHub, SM.MS, Upyun, Qiniu, or custom image hosts to minimize self-hosted storage and bandwidth consumption. -- **Smart Article Extraction**: Automatically extracts article content and converts it into clean Markdown, preserving the source URL and clipping timestamp. -- **Selection & Context Menu Clipping**: Save selected text or right-clicked images directly as notes without capturing the entire page. -- **Deep Social & Community Clipping**: Native structured clipping for 15+ major platforms including X (Twitter), Xiaohongshu, Zhihu, Reddit, GitHub, YouTube, and Bilibili. -- **Private Self-Hosted Direct Connection**: Sends clipped content directly to your personal EdgeEver instance without third-party relays. - -## Community and Feedback - -- Bugs, feature requests, and deployment issues: [GitHub Issues](https://github.com/tianma-if/edgeever/issues) -- Code contributions: read the [Contribution Guide](CONTRIBUTING.md). If your Fork is also used to deploy EdgeEver, keep its `main` branch deployment-only. Create a separate branch from the official `upstream/main` for synchronization, development, and pull requests; do not develop on or Sync fork the deployment `main`. - -### 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](https://t.me/+wwUx1BYLrIdiZjY1) - -## Plugins and Themes +### 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](docs/plugin-development.md) and [marketplace submission policy](docs/plugin-marketplace-policy.md). -## Tech Stack +--- + +## Developer Guide & Architecture + +### 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. @@ -202,7 +227,7 @@ Web and desktop apps support functional plugins and custom themes, installable f - 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. -## Quick Start +### Quick Start ```sh bun install @@ -211,7 +236,7 @@ bun run dev Local development signs in automatically; fresh databases use `owner` / `edgeever-local-dev`. Log out to test the login screen. -## Project Structure +### Project Structure ```text apps/web Vite + React frontend, PWA, offline drafts, and sync queue @@ -232,7 +257,7 @@ docs Architecture, migration, and deployment docs wrangler.toml Cloudflare Workers, Assets, D1, R2 configuration ``` -## Content Formats +### Content Formats EdgeEver stores note content in three forms: @@ -244,41 +269,29 @@ 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** -> **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. - -> 💡 **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. - -## Image Compression +### 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 & 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 optionally integrates with a local PicGo client service, uploading inserted images directly to GitHub, SM.MS, Upyun, Qiniu, or custom image hosts to minimize self-hosted storage and bandwidth consumption. - -## Migration - -If you want to migrate notes from other platforms to EdgeEver, please refer to the following simple migration guides: - -- **Evernote Migration**: Please refer to [docs/evernote-migration-guide.md](docs/evernote-migration-guide.md) -- **flomo Migration**: Please refer to [docs/flomo-migration-guide.md](docs/flomo-migration-guide.md) -- **Memos Migration**: Please refer to [docs/memos-migration-guide.md](docs/memos-migration-guide.md) -- **Notion Migration**: Please refer to [docs/notion-migration-guide.md](docs/notion-migration-guide.md) - -## 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](docs/deploy-docker.md) and [Self-hosting and Docker architecture](docs/self-hosting-architecture.md). - -## Sync Timing +### 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`](apps/web/src/lib/workspace-refresh.ts). +--- + +## Community and Feedback + +- Bugs, feature requests, and deployment issues: [GitHub Issues](https://github.com/tianma-if/edgeever/issues) +- Code contributions: read the [Contribution Guide](CONTRIBUTING.md). If your Fork is also used to deploy EdgeEver, keep its `main` branch deployment-only. Create a separate branch from the official `upstream/main` for synchronization, development, and pull requests; do not develop on or Sync fork the deployment `main`. + +### 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](https://t.me/+wwUx1BYLrIdiZjY1) + ## 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. diff --git a/README.pl-PL.md b/README.pl-PL.md index 3517eb8c..4e8ea2f4 100644 --- a/README.pl-PL.md +++ b/README.pl-PL.md @@ -19,7 +19,7 @@

Telegram Grupa na Telegramie  |  🌐 Demo na żywo  |  - 📱 Pobierz aplikacje  |  + 📱 Aplikacje i rozszerzenia  |  Najważniejsze funkcje i zastosowania

@@ -48,7 +48,9 @@ Wielu użytkowników **aplikacji do notatek i osobistych baz wiedzy** szuka po p Publiczne demo resetuje się codziennie o 3:00 czasu chińskiego (UTC+8) i przywraca przykładowe notatki. Nie zapisuj w nim prywatnych danych. -## Pobierz aplikacje +## Aplikacje i rozszerzenia + +### Pobierz aplikacje

Pobierz EdgeEver na macOS   @@ -60,6 +62,19 @@ Publiczne demo resetuje się codziennie o 3:00 czasu chińskiego (UTC+8) i przyw > Aplikacja na iOS wymaga Apple ID spoza Chin kontynentalnych. +### Rozszerzenie Web Clipper + +

+ Zainstaluj EdgeEver Web Clipper w Chrome   + Zainstaluj EdgeEver Web Clipper w Edge   + Zainstaluj EdgeEver Web Clipper w Firefoxie +

+ +- **Wydobywanie treści artykułów**: Rozszerzenie pobiera tekst i przekształca go w przejrzysty Markdown, zachowując adres źródłowy oraz czas zapisania. +- **Zapisywanie zaznaczenia i obrazów z menu kontekstowego**: Dodawaj zaznaczony tekst lub obraz wskazany prawym przyciskiem myszy bez przechwytywania całej strony. +- **Głęboka integracja z platformami społecznościowymi i forami**: Dedykowane, ustrukturyzowane zapisywanie treści z ponad 15 wiodących platform, w tym X (Twittera), Xiaohongshu, Zhihu, Reddita, GitHuba, YouTube i Bilibili. +- **Bezpośrednie prywatne połączenie**: Rozszerzenie wysyła materiały do Twojej instancji EdgeEver bez pośrednictwa zewnętrznych usług. + ## Najważniejsze funkcje i zastosowania @@ -123,13 +138,16 @@ Wdróż EdgeEver przez GitHub i Cloudflare: ### Opcja B: Ręczne wdrożenie online +
+📖 Rozwiń: 6 kroków konfiguracji ręcznej w przeglądarce + Konfiguracja obejmuje sześć kroków w interfejsie przeglądarkowym: 1. **Utwórz Fork repozytorium**: Kliknij **Fork** w prawym górnym rogu strony GitHub, aby utworzyć kopię EdgeEver na swoim koncie. 2. **Utwórz zasoby Cloudflare**: Utwórz bazę D1 `edgeever` i zasobnik R2 `edgeever-resources`. 3. **Zaimportuj i skonfiguruj projekt**: W Cloudflare **Workers & Pages** utwórz Worker `edgeever` z gałęzi `main` swojego Forka. Użyj katalogu głównego repozytorium i zachowaj domyślne polecenie wdrożenia Workers Builds. Token API musi mieć prawo do odczytu i modyfikacji D1. Polecenie wdrożenia utworzy powiązania zasobów; nie edytuj plików Forka. 4. **Wybierz hasło administratora**: Ustaw hasło, najlepiej o długości co najmniej 32 znaków. Po utworzeniu Workera zapisz je jako sekret środowiska uruchomieniowego `EDGE_EVER_AUTH_PASSWORD`. -5. **Zbuduj i sprawdź aplikację**: **Save and Deploy** tworzy Workera i uruchamia build. Jeśli zakończy się błędem z powodu braku sekretu administratora, dodaj sekret z kroku 4 i ponów próbę. Domyślna nazwa użytkownika to `admin`; aby ją zmienić, ustaw zmienną Workers Builds `EDGE_EVER_AUTH_USERNAME` przed ponownym buildem. Po wdrożeniu sprawdź, czy `/api/health` zwraca `200`, i zaloguj się. +5. **Zbuduj i sprawdź aplikację**: Kliknij **Save and Deploy**, aby utworzyć Workera i uruchomić build (niepowodzenie pierwszego buildu z powodu braku sekretu administratora jest zjawiskiem normalnym; dodaj sekret z kroku 4 i ponów próbę). Domyślna nazwa użytkownika to `admin`; aby ją zmienić, ustaw zmienną Workers Builds `EDGE_EVER_AUTH_USERNAME` przed ponownym buildem. Po wdrożeniu sprawdź, czy `/api/health` zwraca `200`, i zaloguj się. 6. **Włącz automatyczne aktualizacje**: W zakładce **Actions** Forka kliknij **I understand my workflows, go ahead and enable them**, a następnie ręcznie uruchom raz workflow **Update deployed EdgeEver**. > Pełne instrukcje i konfigurację znajdziesz w [przewodniku wdrożenia online](docs/deploy-cloudflare-button.md). @@ -138,8 +156,12 @@ Konfiguracja obejmuje sześć kroków w interfejsie przeglądarkowym: > 💡 **Aktywacja Cloudflare R2**: Choć [darmowy limit przestrzeni R2](https://developers.cloudflare.com/r2/pricing/#free-tier) wystarcza na typowe notatki, najpierw trzeba aktywować subskrypcję R2 i dodać metodę płatności. Cloudflare [obsługuje](https://developers.cloudflare.com/billing/get-started/update-billing-info/#supported-payment-methods) karty UnionPay, Visa i Mastercard oraz PayPal, Apple Pay i Google Pay. +
+ ### Opcja C: Docker na VPS lub NAS +Wariant Docker używa tego samego interfejsu, tras API, usług, uwierzytelniania, implementacji MCP i migracji co Cloudflare. Kontener korzysta z SQLite oraz plików lokalnych lub magazynu zgodnego z S3 i obsługuje architektury `amd64` oraz `arm64`. Zobacz [wdrożenie EdgeEver przez Dockera](docs/deploy-docker.md) oraz [architekturę własnego hostingu](docs/self-hosting-architecture.md). + Użyj instalatora hostowanego w GitHubie i oficjalnego obrazu GHCR: ```sh @@ -154,39 +176,44 @@ Po instalacji aktualizacje domyślnie uruchamiają się codziennie. Aby zaktuali --- -## Logowanie wielu użytkowników i zużycie miejsca +## Migracja danych i konfiguracja zaawansowana -Jedna instancja obsługuje wiele kont. Administrator może tworzyć i wyłączać konta oraz resetować ich hasła w **Profil → Członkowie**. Każdy użytkownik otrzymuje odizolowaną przestrzeń z notatnikami, notatkami, załącznikami, Koszem, importem i eksportem oraz tokenami MCP. Przejrzysty panel zużycia miejsca pozwala na bieżąco monitorować przestrzeń zajmowaną przez załączniki w całej instancji i na poszczególnych kontach. +### Migracja -## Rozszerzenie Web Clipper +Jeśli chcesz przenieść notatki z innej aplikacji do EdgeEver, skorzystaj z poniższych przewodników (obecnie po angielsku): -

- Zainstaluj EdgeEver Web Clipper w Chrome   - Zainstaluj EdgeEver Web Clipper w Edge   - Zainstaluj EdgeEver Web Clipper w Firefoxie -

+- **Evernote**: [docs/evernote-migration-guide.md](docs/evernote-migration-guide.md) +- **flomo**: [docs/flomo-migration-guide.md](docs/flomo-migration-guide.md) +- **Memos**: [docs/memos-migration-guide.md](docs/memos-migration-guide.md) +- **Notion**: [docs/notion-migration-guide.md](docs/notion-migration-guide.md) -- **Wydobywanie treści artykułów**: Rozszerzenie pobiera tekst i przekształca go w przejrzysty Markdown, zachowując adres źródłowy oraz czas zapisania. -- **Zapisywanie zaznaczenia i obrazów z menu kontekstowego**: Dodawaj zaznaczony tekst lub obraz wskazany prawym przyciskiem myszy bez przechwytywania całej strony. -- **Głęboka integracja z platformami społecznościowymi i forami**: Dedykowane, ustrukturyzowane zapisywanie treści z ponad 15 wiodących platform, w tym X (Twittera), Xiaohongshu, Zhihu, Reddita, GitHuba, YouTube i Bilibili. -- **Bezpośrednie prywatne połączenie**: Rozszerzenie wysyła materiały do Twojej instancji EdgeEver bez pośrednictwa zewnętrznych usług. +### MCP -## Społeczność i opinie +Utwórz token API w **Profil → API / MCP** i skopiuj konfigurację Remote MCP jednym kliknięciem. Agenci AI, tacy jak Claude Code, Cursor, Antigravity i OpenClaw, będą mogli bezpiecznie zarządzać Twoją bazą wiedzy w zakresie uprawnień konta. EdgeEver obsługuje pełne tworzenie, odczyt, edycję i usuwanie notatek tekstowych, diagramów (map myśli, schematów blokowych i diagramów architektury), tabel strukturalnych oraz natywnych notatek plakatowych. Agenci mogą też zarządzać strukturą notatników, tagami, załącznikami, historią wersji, szablonami i instrukcjami AI. -- Błędy, propozycje funkcji i problemy z wdrożeniem zgłaszaj przez [GitHub Issues](https://github.com/tianma-if/edgeever/issues). -- Przed wniesieniem zmian przeczytaj [poradnik współtworzenia](CONTRIBUTING.md). Jeśli Twój Fork służy również do wdrożenia EdgeEver, pozostaw jego gałąź `main` wyłącznie do wdrożeń. Do synchronizacji, prac rozwojowych i pull requestów utwórz osobną gałąź od oficjalnego `upstream/main`; nie rozwijaj aplikacji ani nie używaj opcji Sync fork na wdrożeniowej gałęzi `main`. +> 💡 **Inspiracja:** +> Użyj AI jako pomocnika w porządkowaniu wiedzy: zamieniaj pomysły w interaktywne mapy myśli, diagramy i tabele, dostarczając agentom własny kontekst. Edytor tekstu sformatowanego i typografia EdgeEver pomagają dopracować wynik do postaci gotowej do publikacji. -### Społeczność na Telegramie +### Logowanie wielu użytkowników i zużycie miejsca -Zapraszamy do społeczności EdgeEver, skupiającej twórców i pasjonatów vibe codingu oraz AI. Rozmawiajmy o nowoczesnej produktywności opartej na AI i sprawdzonych praktykach budowania osobistej bazy wiedzy. +Jedna instancja obsługuje wiele kont. -👉 [Dołącz do grupy na Telegramie](https://t.me/+wwUx1BYLrIdiZjY1) +Administrator może tworzyć i wyłączać konta oraz resetować ich hasła w **Profil → Członkowie**. Każdy użytkownik otrzymuje odizolowaną przestrzeń z notatnikami, notatkami, załącznikami, Koszem, importem i eksportem oraz tokenami MCP. Przejrzysty panel zużycia miejsca pozwala na bieżąco monitorować przestrzeń zajmowaną przez załączniki w całej instancji i na poszczególnych kontach. -## Wtyczki i motywy +### Zaawansowane przechowywanie plików i zewnętrzny hosting obrazów + +- **Magazyn obiektów OSS**: Właściciel instancji może skonfigurować magazyn zgodny z S3 w **Profil → Zaawansowane → Magazyn obiektów OSS**. Zmiana magazynu nie przenosi istniejących załączników ani ich nie modyfikuje. +- **Integracja z PicGo na komputerze**: Aplikacja desktopowa opcjonalnie współpracuje z lokalną usługą PicGo, przesyłając wstawiane obrazy bezpośrednio do GitHuba, SM.MS, Upyun, Qiniu lub własnego hostingu, co ogranicza zużycie miejsca i transferu we własnym środowisku. + +### Wtyczki i motywy Aplikacje Web i desktopowa obsługują wtyczki oraz własne motywy, instalowane z oficjalnego marketplace, GitHuba lub adresu manifestu i synchronizowane między urządzeniami. Programiści mogą rozszerzać aplikację przez `@edgeever/plugin-api`; zobacz [przewodnik tworzenia wtyczek](docs/plugin-development.md) i [zasady publikowania w marketplace](docs/plugin-marketplace-policy.md). -## Stos technologiczny +--- + +## Przewodnik dla deweloperów i architektura + +### Stos technologiczny - Monorepo oparte na Bun z aplikacją Web, API, oficjalną stroną i pakietem współdzielonych typów. - Interfejs: Vite, React, React Router, TanStack Query, Tailwind CSS, shadcn/ui i Radix UI. @@ -198,7 +225,7 @@ Aplikacje Web i desktopowa obsługują wtyczki oraz własne motywy, instalowane - Backend: jedna aplikacja biznesowa Hono/Zod z REST API i Remote MCP. Cloudflare używa Workers/D1/R2, a Docker używa Bun/SQLite oraz plików lokalnych lub S3. - Oficjalna strona: statyczna witryna Astro w `apps/site`, wdrażana niezależnie na Cloudflare Pages. -## Szybki start +### Szybki start ```sh bun install @@ -207,7 +234,7 @@ bun run dev W lokalnym środowisku deweloperskim logowanie następuje automatycznie. Nowa baza używa danych `owner` / `edgeever-local-dev`. Wyloguj się, aby sprawdzić ekran logowania. -## Struktura projektu +### Struktura projektu ```text apps/web Interfejs Vite + React, PWA, wersje robocze offline i kolejka synchronizacji @@ -220,7 +247,7 @@ apps/site Oficjalna strona Astro, wdrażana niezależnie packages/client Współdzielony klient API dla aplikacji Web i mobilnej packages/shared Współdzielone typy, schematy Zod, konwersja TipTap / Markdown crates/desktop-sidecar - Proces pomocniczy Rust dla lokalnego SQLite, pracy offline, kopii i plików + Proces pomocniczy Rust dla lokalnego SQLite, pracy offline, kopii i plików scripts Wrapper Wrangler, haszowanie haseł, CLI, most MCP stdio, import Evernote ENEX migrations Wspólne migracje D1/SQLite dopisywane bez zmiany wcześniejszych plików docs Dokumentacja architektury, migracji i wdrażania @@ -228,7 +255,7 @@ docs Dokumentacja architektury, migracji i wdrażania wrangler.toml Konfiguracja Cloudflare Workers, Assets, D1 i R2 ``` -## Formaty treści +### Formaty treści Treść notatki jest przechowywana w trzech postaciach: @@ -240,41 +267,29 @@ content_text Tekst do wyszukiwania, podsumowań i indeksowania W **Profil → Import i eksport** można wyeksportować lub zaimportować archiwum ZIP EdgeEver. Katalog `notes/` zawiera czytelne pliki Markdown, a dane strukturalne pozwalają całkowicie odtworzyć instancję. Import zachowuje niezwiązane dane w instancji docelowej i nadpisuje rekordy o tych samych identyfikatorach EdgeEver. -## MCP - -Utwórz token API w **Profil → API / MCP** i skopiuj konfigurację Remote MCP jednym kliknięciem. Agenci AI, tacy jak Claude Code, Cursor, Antigravity i OpenClaw, będą mogli bezpiecznie zarządzać Twoją bazą wiedzy w zakresie uprawnień konta. EdgeEver obsługuje pełne tworzenie, odczyt, edycję i usuwanie notatek tekstowych, diagramów (map myśli, schematów blokowych i diagramów architektury), tabel strukturalnych oraz natywnych notatek plakatowych. Agenci mogą też zarządzać strukturą notatników, tagami, załącznikami, historią wersji, szablonami i instrukcjami AI. - -> 💡 **Inspiracja:** -> Użyj AI jako pomocnika w porządkowaniu wiedzy: zamieniaj pomysły w interaktywne mapy myśli, diagramy i tabele, dostarczając agentom własny kontekst. Edytor tekstu sformatowanego i typografia EdgeEver pomagają dopracować wynik do postaci gotowej do publikacji. - -## Kompresja obrazów +### Kompresja obrazów Obrazy są kompresowane przed przesłaniem w aplikacji Web; steruje tym ustawienie **Kompresuj obrazy w notatkach**. Po włączeniu pliki PNG, JPEG, WebP i AVIF są konwertowane na WebP, jeśli zmniejsza to ich rozmiar. Najdłuższy bok jest ograniczony do `2560px`. Gdy kompresja nie daje oszczędności, aplikacja zachowuje oryginał. EdgeEver nie przetwarza obrazów po stronie Workera, co ogranicza zużycie zasobów obliczeniowych i limitów przetwarzania. Przesyłanie przez REST API i MCP przechowuje plik otrzymany od klienta bez dodatkowej kompresji na serwerze. -## Zaawansowane przechowywanie plików i zewnętrzny hosting obrazów - -- **Magazyn obiektów OSS**: Właściciel instancji może skonfigurować magazyn zgodny z S3 w **Profil → Zaawansowane → Magazyn obiektów OSS**. Zmiana magazynu nie przenosi istniejących załączników ani ich nie modyfikuje. -- **Integracja z PicGo na komputerze**: Aplikacja desktopowa opcjonalnie współpracuje z lokalną usługą PicGo, przesyłając wstawiane obrazy bezpośrednio do GitHuba, SM.MS, Upyun, Qiniu lub własnego hostingu, co ogranicza zużycie miejsca i transferu we własnym środowisku. - -## Migracja - -Jeśli chcesz przenieść notatki z innej aplikacji do EdgeEver, skorzystaj z poniższych przewodników (obecnie po angielsku): - -- **Evernote**: [docs/evernote-migration-guide.md](docs/evernote-migration-guide.md) -- **flomo**: [docs/flomo-migration-guide.md](docs/flomo-migration-guide.md) -- **Memos**: [docs/memos-migration-guide.md](docs/memos-migration-guide.md) -- **Notion**: [docs/notion-migration-guide.md](docs/notion-migration-guide.md) - -## Wdrożenie przez Dockera - -Wariant Docker używa tego samego interfejsu, tras API, usług, uwierzytelniania, implementacji MCP i migracji co Cloudflare. Kontener korzysta z SQLite oraz plików lokalnych lub magazynu zgodnego z S3 i obsługuje architektury `amd64` oraz `arm64`. Zobacz [wdrożenie EdgeEver przez Dockera](docs/deploy-docker.md) oraz [architekturę własnego hostingu](docs/self-hosting-architecture.md). - -## Czas synchronizacji +### Czas synchronizacji Aplikacje Web, PWA i desktopowa przesyłają zmiany notatek po 30 sekundach bezczynności i sprawdzają zmiany zdalne co 5 minut, gdy są widoczne. Ponowne przejście do aplikacji i ręczne odświeżenie działają od razu. Parametry `DEFERRED_MEMO_SYNC_DELAY_MS` i `BACKGROUND_WORKSPACE_REFRESH_INTERVAL_MS` znajdują się w [`apps/web/src/lib/workspace-refresh.ts`](apps/web/src/lib/workspace-refresh.ts). +--- + +## Społeczność i opinie + +- Błędy, propozycje funkcji i problemy z wdrożeniem zgłaszaj przez [GitHub Issues](https://github.com/tianma-if/edgeever/issues). +- Przed wniesieniem zmian przeczytaj [poradnik współtworzenia](CONTRIBUTING.md). Jeśli Twój Fork służy również do wdrożenia EdgeEver, pozostaw jego gałąź `main` wyłącznie do wdrożeń. Do synchronizacji, prac rozwojowych i pull requestów utwórz osobną gałąź od oficjalnego `upstream/main`; nie rozwijaj aplikacji ani nie używaj opcji Sync fork na wdrożeniowej gałęzi `main`. + +### Społeczność na Telegramie + +Zapraszamy do społeczności EdgeEver, skupiającej twórców i pasjonatów vibe codingu oraz AI. Rozmawiajmy o nowoczesnej produktywności opartej na AI i sprawdzonych praktykach budowania osobistej bazy wiedzy. + +👉 [Dołącz do grupy na Telegramie](https://t.me/+wwUx1BYLrIdiZjY1) + ## Wsparcie projektu EdgeEver jest darmowym projektem o otwartym kodzie. Rozwijanie aplikacji na różne platformy, testy na urządzeniach, podpisywanie kodu i utrzymywanie kilku środowisk uruchomieniowych wymagają czasu i środków. diff --git a/README.zh-CN.md b/README.zh-CN.md index 94a298dd..e7d0b3fe 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -19,7 +19,7 @@

WeChat 微信交流群  |  🌐 在线演示  |  - 📱 客户端下载  |  + 📱 客户端与插件下载  |  核心特性与场景

@@ -50,7 +50,9 @@ EdgeEver 是一款现代化的开源笔记与个人知识库工作区。它保 公开演示环境会在每天凌晨 3:00(北京时间)自动重置并恢复示例笔记,请不要保存私密内容。 -## 客户端下载 +## 全平台客户端与浏览器插件 + +### 客户端下载

下载 macOS 客户端   @@ -62,6 +64,19 @@ EdgeEver 是一款现代化的开源笔记与个人知识库工作区。它保 > iOS 客户端需要使用非中国大陆区 Apple ID 下载。 +### 浏览器网页裁剪插件 + +

+ 为 Google Chrome 安装 EdgeEver 网页裁剪插件   + 为 Microsoft Edge 安装 EdgeEver 网页裁剪插件   + 为 Firefox 安装 EdgeEver 网页裁剪插件 +

+ +- **智能正文提取**:自动提取网页文章正文并转为纯净 Markdown,自动保留来源网址与剪藏时间。 +- **划选与右键剪藏**:选中局部文字或右键任意图片直接存为独立笔记,无需抓取整页冗余内容。 +- **社媒与社区深度剪藏**:深度适配 X (Twitter)、小红书、知乎、Reddit、GitHub、Bilibili、YouTube 等十余个主流社媒、技术社区与音视频平台,一键结构化入库。 +- **自托管隐私直连**:剪藏内容直传个人自托管实例,不经过任何第三方服务器中转。 + ## 核心特性与场景 @@ -123,13 +138,16 @@ Cloudflare 在线部署可以选择以下两种方式之一: ### 方案二:手动在线部署 +
+📖 展开查看:网页端 6 步手动部署流程 + 仅需在网页端完成 6 步配置: 1. **Fork 仓库**:在 GitHub 点击右上角 **Fork**,将项目 Fork 到您的个人账户下。 2. **创建 Cloudflare 资源**:创建 D1 `edgeever` 与 R2 `edgeever-resources`。 3. **导入并配置项目**:在 Cloudflare **Workers & Pages** 中从 Fork 的 `main` 分支创建名为 `edgeever` 的 Worker。使用仓库根目录,保留由 Cloudflare 在线执行的 Workers Builds 默认部署命令,并确认其 API Token 具备 D1 读取和编辑权限。binding 由部署命令生成,不要修改 Fork 中的文件。 4. **准备管理员密码**:准备管理员登录密码,建议至少 32 个字符。Worker 创建后,将它保存为运行时 Secret `EDGE_EVER_AUTH_PASSWORD`。 -5. **首次构建与验证**:保存并部署会创建 Worker 并启动构建。如因缺少管理员 Secret 而失败,添加第 4 步的运行时 Secret 后重试。管理员用户名默认为 `admin`;如需使用其他用户名,请在重试构建前设置 Workers Builds 构建变量 `EDGE_EVER_AUTH_USERNAME`。部署完成后访问 `/api/health`,确认返回 `200`,再用配置的管理员用户名和密码登录。 +5. **首次构建与验证**:保存并部署会创建 Worker 并启动构建。首次构建主要用于初始化 Worker 实例,若因尚未配置管理员 Secret 而报错属于预期行为,只需在第 4 步添加运行时 Secret `EDGE_EVER_AUTH_PASSWORD` 后点击重试构建即可通过。管理员用户名默认为 `admin`;如需使用其他用户名,请在重试构建前设置 Workers Builds 构建变量 `EDGE_EVER_AUTH_USERNAME`。部署完成后访问 `/api/health`,确认返回 `200`,再用配置的管理员用户名和密码登录。 6. **启用自动更新**:进入 Fork 的 **Actions** 标签页,点击 **I understand my workflows, go ahead and enable them**,然后手动运行一次 **Update deployed EdgeEver**,确保后续能够自动获得正式版本的功能更新与修复。 > 📖 包含具体参数与构建命令的详细步骤,请查看 [在线部署完整文档](docs/deploy-cloudflare-button.zh-CN.md)。 @@ -138,8 +156,12 @@ Cloudflare 在线部署可以选择以下两种方式之一: > 💡 **Cloudflare R2 开通**:虽然 Cloudflare R2 存储提供了足够慷慨、在笔记场景中完全不会超量的[免费存储额度](https://developers.cloudflare.com/r2/pricing/#free-tier),但需先开通 R2 subscription 并绑定付款方式。Cloudflare [官方支持](https://developers.cloudflare.com/billing/get-started/update-billing-info/#supported-payment-methods) 银联(UnionPay)、Visa、Mastercard 等银行卡,以及 PayPal、Apple Pay、Google Pay 等付款方式。 +
+ ### 方案三:在 VPS 或 NAS 上使用 Docker +Docker 与 Cloudflare 共用同一套前端、API 路由、业务服务、鉴权、MCP 实现和 migration。容器使用 SQLite,并支持本地文件或 S3 兼容附件存储,提供 `amd64` 与 `arm64` 镜像。详见[使用 Docker 部署 EdgeEver](docs/deploy-docker.zh-CN.md)和[自托管与 Docker 架构](docs/self-hosting-architecture.zh-CN.md)。 + 使用 GitHub 托管的安装脚本和官方 GHCR 镜像: ```sh @@ -154,47 +176,44 @@ curl -fsSL https://edgeever.org/install.sh | bash --- -## 多账号登录与存储用量 +## 数据迁移与进阶使用 + +### 导入与迁移 (Migration) + +如果你想从其他笔记软件迁移到 EdgeEver,请参考以下极简迁移指引: + +- **印象笔记(Evernote)的迁入**:请参考 [docs/evernote-migration-guide.md](docs/evernote-migration-guide.md) +- **flomo 笔记的迁入**:请参考 [docs/flomo-migration-guide.md](docs/flomo-migration-guide.md) +- **Memos 笔记的迁入**:请参考 [docs/memos-migration-guide.md](docs/memos-migration-guide.md) +- **Notion 笔记的迁入**:请参考 [docs/notion-migration-guide.md](docs/notion-migration-guide.md) + +### MCP + +在 **个人中心** -> **API / MCP** 中创建 API Token 并一键复制 Remote MCP 配置,即可让 Claude Code、Cursor、Antigravity、OpenClaw 等 AI Agent 在账号授权范围内安全管理你的知识库。系统支持文本笔记、图表笔记(思维导图、流程图与架构图)、多维表格笔记与原生海报笔记的完整增删改查,Agent 还可管理笔记本目录、标签、附件、历史版本、笔记模板与 AI 指令。 + +> 💡 **场景启发:** +> 让 AI 真正成为你的知识管家与创作外脑——不仅能将方案秒级生成为可交互的思维导图、流程图、架构图与多维表格,还能为 AI Agent 提供私有知识上下文。依托 EdgeEver 强大的富文本编辑与精美排版能力,AI 协同沉淀的不再是冰冷文本,而是结构工整、排版优雅、随时可一键分发的高品质知识资产。 + +### 多账号登录与存储用量 部署完成后,单个实例支持多账号登录。 实例管理员可以在 **个人中心** -> **账号管理** 中创建、停用成员账号或重置密码。每个成员拥有完全隔离的个人空间,包括笔记本、笔记、附件、回收站、导入导出和 MCP Token 等。系统同时提供直观的存储用量面板,可实时掌握实例整体与各账号的附件存储占用明细。 -## 浏览器网页裁剪插件 +### 高级对象存储与第三方图床 -

- 为 Google Chrome 安装 EdgeEver 网页裁剪插件   - 为 Microsoft Edge 安装 EdgeEver 网页裁剪插件   - 为 Firefox 安装 EdgeEver 网页裁剪插件 -

+- **OSS 对象存储**:实例 Owner 可在**设置 → 高级设置 → OSS 对象存储**中配置兼容 S3 API 的对象存储。切换存储不会迁移或影响已有附件。 +- **桌面端 PicGo 图床**:桌面端支持可选接入本机 PicGo 客户端服务,在笔记中插入图片时可直接上传至 GitHub、SM.MS、又拍云、七牛云或自建图床,进一步减少自托管实例的存储开销与流量占用。 -- **智能正文提取**:自动提取网页文章正文并转为纯净 Markdown,自动保留来源网址与剪藏时间。 -- **划选与右键剪藏**:选中局部文字或右键任意图片直接存为独立笔记,无需抓取整页冗余内容。 -- **社媒与社区深度剪藏**:深度适配 X (Twitter)、小红书、知乎、Reddit、GitHub、Bilibili、YouTube 等十余个主流社媒、技术社区与音视频平台,一键结构化入库。 -- **自托管隐私直连**:剪藏内容直传个人自托管实例,不经过任何第三方服务器中转。 - -## 社区与反馈 - -- Bug、功能建议和部署问题请优先提交 [GitHub Issues](https://github.com/tianma-if/edgeever/issues),方便后续用户检索和复用解决方案。 -- 贡献代码前请阅读[贡献代码须知](CONTRIBUTING.zh-CN.md)。如果您的 Fork 同时用于部署 EdgeEver,请将 `main` 分支仅用于部署;从官方 `upstream/main` 新建独立分支,在该分支中同步上游、开发并提交 Pull Request,不要在部署用的 `main` 上开发或执行 Sync fork。 - -
- -

微信交流群

- -欢迎加入 EdgeEver AI 交流群,这里聚集了大量 Vibe Coding 与 AI 玩家。一起交流前沿 AI 生产力与个人知识库的最佳实践。 - -> 扫描下方二维码或添加微信 `m1245207870`(备注“EdgeEver 进群”),群主将手动邀请入群。 - -

- 微信联系人二维码 -

- -## 插件与主题 +### 插件与主题 Web 与桌面端支持功能插件与个性化主题,可从官方市场、GitHub 或 Manifest 地址一键安装,并随工作区跨端同步。开发者可使用 `@edgeever/plugin-api` 扩展能力,详见[插件开发文档](docs/plugin-development.zh-CN.md)与[官方插件市场上架政策](docs/plugin-marketplace-policy.zh-CN.md)。 -## 技术栈 +--- + +## 开发者指南与架构 + +### 技术栈 - Bun workspace monorepo,包含 Web、API、官网与共享类型包。 - 前端:Vite、React、React Router、TanStack Query,UI 基于 Tailwind CSS、shadcn/ui、Radix UI。 @@ -206,7 +225,7 @@ Web 与桌面端支持功能插件与个性化主题,可从官方市场、GitH - 后端:一套基于 Hono/Zod 的业务应用,提供 REST API 与 Remote MCP;Cloudflare 使用 Workers/D1/R2,Docker 使用 Bun/SQLite/本地文件或 S3。 - 官网:Astro 静态站点,位于 `apps/site`,可独立构建并部署到 Cloudflare Pages。 -## 快速开始 +### 快速开始 ```sh bun install @@ -215,7 +234,7 @@ bun run dev 本地开发默认自动登录,首次账号为 `owner` / `edgeever-local-dev`;测试登录页可主动退出登录。 -## 目录结构 +### 目录结构 ```text apps/web Vite + React 前端、PWA、离线草稿与同步队列 @@ -236,7 +255,7 @@ docs 架构、迁移与部署文档 wrangler.toml Cloudflare Workers、Assets、D1、R2 配置 ``` -## 内容格式 +### 内容格式 EdgeEver 同时保存三种内容形态: @@ -248,40 +267,35 @@ content_text 搜索、摘要和索引使用 请打开 **我的** -> **导入与导出**,导出或导入 EdgeEver ZIP。压缩包中的 `notes/` 目录可直接作为 Markdown 阅读和迁移,结构化数据则用于在 EdgeEver 实例之间完整恢复;导入时目标实例中的无关数据会保留,相同 EdgeEver ID 的内容会被覆盖。 -## MCP - -在 **个人中心** -> **API / MCP** 中创建 API Token 并一键复制 Remote MCP 配置,即可让 Claude Code、Cursor、Antigravity、OpenClaw 等 AI Agent 在账号授权范围内安全管理你的知识库。系统支持文本笔记、图表笔记(思维导图、流程图与架构图)、多维表格笔记与原生海报笔记的完整增删改查,Agent 还可管理笔记本目录、标签、附件、历史版本、笔记模板与 AI 指令。 - -> 💡 **场景启发:** -> 让 AI 真正成为你的知识管家与创作外脑——不仅能将方案秒级生成为可交互的思维导图、流程图、架构图与多维表格,还能为 AI Agent 提供私有知识上下文。依托 EdgeEver 强大的富文本编辑与精美排版能力,AI 协同沉淀的不再是冰冷文本,而是结构工整、排版优雅、随时可一键分发的高品质知识资产。 - -## 图片压缩规则 +### 图片压缩规则 图片压缩仅在 Web 端上传前执行,由设置页的“压缩笔记内图片”开关控制。启用后,浏览器会把 PNG、JPEG、WebP、AVIF 尝试压缩为 WebP,并将最长边限制在 `2560px` 以内;如果压缩结果不比原图小,则保留原图。 Cloudflare Worker 侧执行图片处理会消耗计算/图片处理额度,因此 EdgeEver 将图片压缩放在 Web 客户端完成;REST API 或 MCP 上传入口会按客户端提供的文件内容直接入库,不再由服务端自动压缩。 -## 高级对象存储与第三方图床 - -- **OSS 对象存储**:实例 Owner 可在**设置 → 高级设置 → OSS 对象存储**中配置兼容 S3 API 的对象存储。切换存储不会迁移或影响已有附件。 -- **桌面端 PicGo 图床**:桌面端支持可选接入本机 PicGo 客户端服务,在笔记中插入图片时可直接上传至 GitHub、SM.MS、又拍云、七牛云或自建图床,进一步减少自托管实例的存储开销与流量占用。 - -## 导入与迁移 (Migration) - -如果你想从其他笔记软件迁移到 EdgeEver,请参考以下极简迁移指引: - -- **印象笔记(Evernote)的迁入**:请参考 [docs/evernote-migration-guide.md](docs/evernote-migration-guide.md) -- **Memos 笔记的迁入**:请参考 [docs/memos-migration-guide.md](docs/memos-migration-guide.md) -- **Notion 笔记的迁入**:请参考 [docs/notion-migration-guide.md](docs/notion-migration-guide.md) - -## Docker 部署 - -Docker 与 Cloudflare 共用同一套前端、API 路由、业务服务、鉴权、MCP 实现和 migration。容器使用 SQLite,并支持本地文件或 S3 兼容附件存储,提供 `amd64` 与 `arm64` 镜像。详见[使用 Docker 部署 EdgeEver](docs/deploy-docker.zh-CN.md)和[自托管与 Docker 架构](docs/self-hosting-architecture.zh-CN.md)。 - -## 同步时序 +### 同步时序 Web、PWA 与桌面端会在停止编辑 30 秒后上传笔记,并在页面可见时每 5 分钟检查云端变更;窗口聚焦与手动刷新仍会立即拉取。可在 [`apps/web/src/lib/workspace-refresh.ts`](apps/web/src/lib/workspace-refresh.ts) 中调整 `DEFERRED_MEMO_SYNC_DELAY_MS` 和 `BACKGROUND_WORKSPACE_REFRESH_INTERVAL_MS`。 +--- + +## 社区与反馈 + +- Bug、功能建议和部署问题请优先提交 [GitHub Issues](https://github.com/tianma-if/edgeever/issues),方便后续用户检索和复用解决方案。 +- 贡献代码前请阅读[贡献代码须知](CONTRIBUTING.zh-CN.md)。如果您的 Fork 同时用于部署 EdgeEver,请将 `main` 分支仅用于部署;从官方 `upstream/main` 新建独立分支,在该分支中同步上游、开发并提交 Pull Request,不要在部署用的 `main` 上开发或执行 Sync fork。 + +
+ +

微信交流群

+ +欢迎加入 EdgeEver AI 交流群,这里聚集了大量 Vibe Coding 与 AI 玩家。一起交流前沿 AI 生产力与个人知识库的最佳实践。 + +> 扫描下方二维码或添加微信 `m1245207870`(备注“EdgeEver 进群”),群主将手动邀请入群。 + +

+ 微信联系人二维码 +

+ ## 赞助与支持 EdgeEver 是免费开源项目。保持跨平台客户端(macOS、Windows、Linux、iOS、Android)的持续演进、真机测试、证书签名以及多运行时生态建设,都需要长期的精力与资源投入。 diff --git a/README.zh-TW.md b/README.zh-TW.md index d6fbc79a..e18d9496 100644 --- a/README.zh-TW.md +++ b/README.zh-TW.md @@ -19,7 +19,7 @@

WeChat 微信交流群  |  🌐 線上展示  |  - 📱 用戶端下載  |  + 📱 用戶端與外掛下載  |  核心特性與場景

@@ -50,7 +50,9 @@ EdgeEver 是一款現代化的開源筆記與個人知識庫工作區。它延 公開展示環境會在每天凌晨 3:00(北京時間)自動重設並還原範例筆記,請不要儲存私密內容。 -## 用戶端下載 +## 全平台用戶端與瀏覽器外掛 + +### 用戶端下載

下載 macOS 用戶端   @@ -62,6 +64,19 @@ EdgeEver 是一款現代化的開源筆記與個人知識庫工作區。它延 > iOS 用戶端需要使用非中國大陸區 Apple ID 下載。 +### 瀏覽器網頁擷取外掛 + +

+ 為 Google Chrome 安裝 EdgeEver 網頁擷取外掛   + 為 Microsoft Edge 安裝 EdgeEver 網頁擷取外掛   + 為 Firefox 安裝 EdgeEver 網頁擷取外掛 +

+ +- **智慧內文擷取**:自動擷取網頁文章正文並轉為純淨 Markdown,完整保留來源網址與擷取時間。 +- **選取與右鍵擷取**:反白選取文字或右鍵任意圖片直接儲存為獨立筆記,無需抓取整頁多餘內容。 +- **社群與社群深度擷取**:深度適配 X (Twitter)、小紅書、知乎、Reddit、GitHub、Bilibili、YouTube 等十餘個主流社群、技術社群與影音平台,一鍵結構化入庫。 +- **自託管隱私直連**:擷取內容直傳個人自託管執行個體,不經過任何第三方伺服器轉發。 + ## 核心特性與場景 @@ -123,13 +138,16 @@ Cloudflare 線上部署可以選擇以下兩種方式之一: ### 方案二:手動線上部署 +
+📖 展開查看:網頁端 6 步手動部署流程 + 只需在網頁端完成 6 步設定: 1. **Fork 儲存庫**:在 GitHub 點選右上角 **Fork**,將專案 Fork 到您的個人帳戶下。 2. **建立 Cloudflare 資源**:建立 D1 `edgeever` 與 R2 `edgeever-resources`。 3. **匯入並設定專案**:在 Cloudflare **Workers & Pages** 中從 Fork 的 `main` 分支建立名為 `edgeever` 的 Worker。使用儲存庫根目錄,保留由 Cloudflare 線上執行的 Workers Builds 預設部署指令,並確認其 API Token 具備 D1 讀取及編輯權限。binding 由部署指令產生,不要修改 Fork 中的檔案。 4. **準備管理員密碼**:準備管理員登入密碼,建議至少 32 個字元。Worker 建立後,將它儲存為執行時 Secret `EDGE_EVER_AUTH_PASSWORD`。 -5. **首次建置與驗證**:儲存並部署會建立 Worker 並啟動建置。如因缺少管理員 Secret 而失敗,新增步驟 4 的執行時 Secret 後重試。管理員使用者名稱預設為 `admin`;如需使用其他名稱,請在重試建置前設定 Workers Builds 建置變數 `EDGE_EVER_AUTH_USERNAME`。部署完成後造訪 `/api/health`,確認回傳 `200`,再用設定的管理員使用者名稱和密碼登入。 +5. **首次建置與驗證**:儲存並部署會建立 Worker 並啟動建置。首次建置主要用於初始化實例,若因尚未配置管理員 Secret 而報錯屬於預期行為,只需在第 4 步新增執行時 Secret `EDGE_EVER_AUTH_PASSWORD` 後點擊重試建置即可通過。管理員使用者名稱預設為 `admin`;如需使用其他名稱,請在重試建置前設定 Workers Builds 建置變數 `EDGE_EVER_AUTH_USERNAME`。部署完成後造訪 `/api/health`,確認回傳 `200`,再用設定的管理員使用者名稱和密碼登入。 6. **啟用自動更新**:進入 Fork 的 **Actions** 分頁,點選 **I understand my workflows, go ahead and enable them**,然後手動執行一次 **Update deployed EdgeEver**,確保後續能夠自動獲得正式版本的功能更新與修復。 > 📖 包含具體參數與建置指令的詳細步驟,請查看 [線上部署完整文件](docs/deploy-cloudflare-button.zh-CN.md)。 @@ -138,8 +156,12 @@ Cloudflare 線上部署可以選擇以下兩種方式之一: > 💡 **Cloudflare R2 開通**:雖然 Cloudflare R2 儲存提供了足夠寬裕、在筆記場景中完全不會超量的[免費儲存額度](https://developers.cloudflare.com/r2/pricing/#free-tier),但需先開通 R2 subscription 並綁定付款方式。Cloudflare [官方支援](https://developers.cloudflare.com/billing/get-started/update-billing-info/#supported-payment-methods) 銀聯(UnionPay)、Visa、Mastercard 等金融卡與信用卡,以及 PayPal、Apple Pay、Google Pay 等付款方式。 +
+ ### 方案三:在 VPS 或 NAS 上使用 Docker +Docker 與 Cloudflare 共用同一套前端、API 路由、業務服務、鑑權、MCP 實作和 migration。容器使用 SQLite,並支援本機檔案或 S3 相容附件儲存,提供 `amd64` 與 `arm64` 映像。詳見[使用 Docker 部署 EdgeEver](docs/deploy-docker.zh-CN.md)和[自行託管與 Docker 架構](docs/self-hosting-architecture.zh-CN.md)。 + 使用 GitHub 託管的安裝指令碼和官方 GHCR 映像: ```sh @@ -150,53 +172,52 @@ curl -fsSL https://edgeever.org/install.sh | bash 安裝後預設每日自動更新。如需手動更新,請在部署伺服器上執行 `~/edgeever/update.sh`。 +> 💡 **網路提示**:官方映像檔託管於 GitHub(GHCR)。若在部分網路環境下遇到拉取緩慢或逾時,請在部署前自行設定可用的網路代理或可信的映像檔加速服務。 + --- -## 多帳號登入與儲存用量 +## 資料遷移與進階使用 + +### 匯入與遷移 (Migration) + +若你想從其他筆記軟體遷移到 EdgeEver,請參考以下精簡遷移指引: + +- **Evernote(印象筆記)的遷入**:請參考 [docs/evernote-migration-guide.md](docs/evernote-migration-guide.md) +- **flomo 筆記的遷入**:請參考 [docs/flomo-migration-guide.md](docs/flomo-migration-guide.md) +- **Memos 筆記的遷入**:請參考 [docs/memos-migration-guide.md](docs/memos-migration-guide.md) +- **Notion 筆記的遷入**:請參考 [docs/notion-migration-guide.md](docs/notion-migration-guide.md) + +### MCP + +在 **個人中心** -> **API / MCP** 中建立 API Token 並一鍵複製 Remote MCP 設定,即可讓 Claude Code、Cursor、Antigravity、OpenClaw 等 AI Agent 在帳號授權範圍內安全管理你的知識庫。系統支援文字筆記、圖表筆記(心智圖、流程圖與架構圖)、多維表格筆記與原生海報筆記的完整增刪改查,Agent 還可管理筆記本目錄、標籤、附件、歷史版本、筆記範本與 AI 指令。 + +> 💡 **情境啟發:** +> 讓 AI 真正成為你的知識管家與創作外腦——不僅能將方案秒級產生為可互動的心智圖、流程圖、架構圖與多維表格,還能為 AI Agent 提供私有脈絡。憑藉 EdgeEver 強大的富文字編輯與精美排版能力,AI 協同沉澱的不再是冰冷文字,而是結構工整、排版優雅、隨時可一鍵分發的高品質知識資產。 + +### 多帳號登入與儲存用量 部署完成後,單一實例支援多帳號登入。 實例管理員可以在 **個人中心** -> **帳號管理** 中建立、停用成員帳號或重設密碼。每個成員擁有完全隔離的個人空間,包括筆記本、筆記、附件、回收筒、匯入匯出和 MCP Token 等。系統同時提供直觀的儲存用量面板,可即時掌握實例整體與各帳號的附件儲存占用明細。 -## 瀏覽器網頁擷取擴充功能 +### 進階物件儲存與第三方圖床 -

- 為 Google Chrome 安裝 EdgeEver 網頁擷取擴充功能   - 為 Microsoft Edge 安裝 EdgeEver 網頁擷取擴充功能   - 為 Firefox 安裝 EdgeEver 網頁擷取擴充功能 -

+- **OSS 物件儲存**:實例 Owner 可在**設定 → 進階設定 → OSS 物件儲存**中設定相容 S3 API 的物件儲存。切換儲存不會遷移或影響既有附件。 +- **桌面端 PicGo 圖床**:桌面端支援可選接入本機 PicGo 用戶端服務,在筆記中插入圖片時可直接上傳至 GitHub、SM.MS、又拍雲、七牛雲或自建圖床,進一步減少自託管實例的儲存開銷與頻寬占用。 -- **智慧內文擷取**:自動擷取網頁文章正文並轉為純淨 Markdown,完整保留來源網址與擷取時間。 -- **選取與右鍵擷取**:反白選取文字或右鍵任意圖片直接儲存為獨立筆記,無需抓取整頁多餘內容。 -- **社群與社群深度擷取**:深度適配 X (Twitter)、小紅書、知乎、Reddit、GitHub、Bilibili、YouTube 等十餘個主流社群、技術社群與影音平台,一鍵結構化入庫。 -- **自託管隱私直連**:擷取內容直傳個人自託管執行個體,不經過任何第三方伺服器轉發。 - -## 社群與回饋 - -- Bug、功能建議和部署問題請優先提交 [GitHub Issues](https://github.com/tianma-if/edgeever/issues),方便後續使用者檢索和重用解決方案。 -- 貢獻程式碼前請閱讀[貢獻程式碼須知](CONTRIBUTING.zh-CN.md)。如果您的 Fork 同時用於部署 EdgeEver,請將 `main` 分支僅用於部署;從官方 `upstream/main` 新建獨立分支,在該分支中同步上游、開發並提交 Pull Request,不要在部署用的 `main` 上開發或執行 Sync fork。 - -
- -

微信交流群

- -歡迎加入 EdgeEver AI 交流群,這裡聚集了大量 Vibe Coding 與 AI 玩家。一起交流前沿 AI 生產力與個人知識庫的最佳實踐。 - -> 掃描下方 QR Code 或加入微信 `m1245207870`(備註「EdgeEver 進群」),群主將手動邀請入群。 - -

- 微信聯絡人 QR Code -

- -## 外掛與主題 +### 外掛與主題 Web 與桌面版支援功能外掛與個人化主題,可從官方市集、GitHub 或 Manifest 網址一鍵安裝,並隨工作區跨端同步。開發者可使用 `@edgeever/plugin-api` 擴充功能,詳情參閱[外掛開發文件](docs/plugin-development.zh-CN.md)與[官方外掛市集上架政策](docs/plugin-marketplace-policy.zh-CN.md)。 -## 技術棧 +--- + +## 開發者指南與架構 + +### 技術棧 - Bun workspace monorepo,包含 Web、API、官網與共享型別套件。 - 前端:Vite、React、React Router、TanStack Query,UI 基於 Tailwind CSS、shadcn/ui、Radix UI。 -- 編輯器:TipTap / ProseMirror,支援 Markdown;PWA 使用 vite-plugin-pwa、Workbox、Dexie。 +- 编辑器:TipTap / ProseMirror,支援 Markdown;PWA 使用 vite-plugin-pwa、Workbox、Dexie。 - Android App:`apps/mobile` 中的 Expo + React Native,採用 SQLite 本機儲存與增量同步。 - iOS App:`apps/ios` 中的原生 SwiftUI(iOS 17+),內建 TipTap EditorBundle、GRDB 本機鏡像/outbox,介面與 Android 殼層對齊。 - 原生桌面版:Electron + Rust sidecar,兼顧跨平台一致體驗與高效能本機資料服務;基於 SQLite 支援離線編輯、連網後增量同步與本機備份。 @@ -204,7 +225,7 @@ Web 與桌面版支援功能外掛與個人化主題,可從官方市集、GitH - 後端:一套基於 Hono/Zod 的業務應用,提供 REST API 與 Remote MCP;Cloudflare 使用 Workers/D1/R2,Docker 使用 Bun/SQLite/本機檔案或 S3。 - 官網:Astro 靜態網站,位於 `apps/site`,可獨立建置並部署到 Cloudflare Pages。 -## 快速開始 +### 快速開始 ```sh bun install @@ -213,7 +234,7 @@ bun run dev 本機開發預設自動登入,首次帳號為 `owner` / `edgeever-local-dev`;測試登入頁可主動登出。 -## 目錄結構 +### 目錄結構 ```text apps/web Vite + React 前端、PWA、離線草稿與同步佇列 @@ -234,7 +255,7 @@ docs 架構、遷移與部署文件 wrangler.toml Cloudflare Workers、Assets、D1、R2 設定 ``` -## 內容格式 +### 內容格式 EdgeEver 同時保存三種內容形態: @@ -246,40 +267,35 @@ content_text 搜尋、摘要和索引使用 請開啟 **我的** -> **匯入與匯出**,匯出或匯入 EdgeEver ZIP。壓縮檔中的 `notes/` 目錄可直接作為 Markdown 閱讀和遷移,結構化資料則用於在 EdgeEver 實例之間完整還原;匯入時目標實例中的無關資料會保留,相同 EdgeEver ID 的內容會被覆蓋。 -## MCP - -在 **個人中心** -> **API / MCP** 中建立 API Token 並一鍵複製 Remote MCP 設定,即可讓 Claude Code、Cursor、Antigravity、OpenClaw 等 AI Agent 在帳號授權範圍內安全管理你的知識庫。系統支援文字筆記、圖表筆記(心智圖、流程圖與架構圖)、多維表格筆記與原生海報筆記的完整增刪改查,Agent 還可管理筆記本目錄、標籤、附件、歷史版本、筆記範本與 AI 指令。 - -> 💡 **情境啟發:** -> 讓 AI 真正成為你的知識管家與創作外腦——不僅能將方案秒級產生為可互動的心智圖、流程圖、架構圖與多維表格,還能為 AI Agent 提供私有脈絡。憑藉 EdgeEver 強大的富文字編輯與精美排版能力,AI 協同沉澱的不再是冰冷文字,而是結構工整、排版優雅、隨時可一鍵分發的高品質知識資產。 - -## 圖片壓縮規則 +### 圖片壓縮規則 圖片壓縮僅在 Web 端上傳前執行,由設定頁的「壓縮筆記內圖片」開關控制。啟用後,瀏覽器會把 PNG、JPEG、WebP、AVIF 嘗試壓縮為 WebP,並將最長邊限制在 `2560px` 以內;如果壓縮結果不比原圖小,則保留原圖。 Cloudflare Worker 側執行圖片處理會消耗運算/圖片處理額度,因此 EdgeEver 將圖片壓縮放在 Web 用戶端完成;REST API 或 MCP 上傳入口會依用戶端提供的檔案內容直接入庫,不再由伺服端自動壓縮。 -## 進階物件儲存與第三方圖床 - -- **OSS 物件儲存**:實例 Owner 可在**設定 → 進階設定 → OSS 物件儲存**中設定相容 S3 API 的物件儲存。切換儲存不會遷移或影響既有附件。 -- **桌面端 PicGo 圖床**:桌面端支援可選接入本機 PicGo 用戶端服務,在筆記中插入圖片時可直接上傳至 GitHub、SM.MS、又拍雲、七牛雲或自建圖床,進一步減少自託管實例的儲存開銷與頻寬占用。 - -## 匯入與遷移 (Migration) - -若你想從其他筆記軟體遷移到 EdgeEver,請參考以下精簡遷移指引: - -- **Evernote(印象筆記)的遷入**:請參考 [docs/evernote-migration-guide.md](docs/evernote-migration-guide.md) -- **Memos 筆記的遷入**:請參考 [docs/memos-migration-guide.md](docs/memos-migration-guide.md) -- **Notion 筆記的遷入**:請參考 [docs/notion-migration-guide.md](docs/notion-migration-guide.md) - -## Docker 部署 - -Docker 與 Cloudflare 共用同一套前端、API 路由、業務服務、鑑權、MCP 實作和 migration。容器使用 SQLite,並支援本機檔案或 S3 相容附件儲存,提供 `amd64` 與 `arm64` 映像。詳見[使用 Docker 部署 EdgeEver](docs/deploy-docker.zh-CN.md)和[自行託管與 Docker 架構](docs/self-hosting-architecture.zh-CN.md)。 - -## 同步時序 +### 同步時序 Web、PWA 與桌面版會在停止編輯 30 秒後上傳筆記,並在頁面可見時每 5 分鐘檢查雲端變更;視窗聚焦與手動重新整理仍會立即拉取。可在 [`apps/web/src/lib/workspace-refresh.ts`](apps/web/src/lib/workspace-refresh.ts) 中調整 `DEFERRED_MEMO_SYNC_DELAY_MS` 和 `BACKGROUND_WORKSPACE_REFRESH_INTERVAL_MS`。 +--- + +## 社群與回饋 + +- Bug、功能建議和部署問題請優先提交 [GitHub Issues](https://github.com/tianma-if/edgeever/issues),方便後續使用者檢索和重用解決方案。 +- 貢獻程式碼前請閱讀[貢獻程式碼須知](CONTRIBUTING.zh-CN.md)。如果您的 Fork 同時用於部署 EdgeEver,請將 `main` 分支僅用於部署;從官方 `upstream/main` 新建獨立分支,在該分支中同步上游、開發並提交 Pull Request,不要在部署用的 `main` 上開發或執行 Sync fork。 + +
+ +

微信交流群

+ +歡迎加入 EdgeEver AI 交流群,這裡聚集了大量 Vibe Coding 與 AI 玩家。一起交流前沿 AI 生產力與個人知識庫的最佳實踐。 + +> 掃描下方 QR Code 或加入微信 `m1245207870`(備註「EdgeEver 進群」),群主將手動邀請入群。 + +

+ 微信聯絡人 QR Code +

+ ## 贊助與支持 EdgeEver 是免費開源專案。保持跨平台用戶端(macOS、Windows、Linux、iOS、Android)的持續演進、真機測試、憑證簽章以及多執行時期生態建設,都需要長期的精力與資源投入。