[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-Laxcorp-Research--project-raven":3,"similar-Laxcorp-Research--project-raven":109},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":8,"readme_en":9,"readme_zh":10,"quickstart_zh":11,"use_case_zh":12,"hero_image_url":13,"owner_login":14,"owner_name":15,"owner_avatar_url":16,"owner_bio":17,"owner_company":18,"owner_location":18,"owner_email":18,"owner_twitter":18,"owner_website":19,"owner_url":20,"languages":21,"stars":62,"forks":63,"last_commit_at":64,"license":65,"difficulty_score":66,"env_os":67,"env_gpu":68,"env_ram":68,"env_deps":69,"category_tags":82,"github_topics":87,"view_count":103,"oss_zip_url":18,"oss_zip_packed_at":18,"status":104,"created_at":105,"updated_at":106,"faqs":107,"releases":108},8563,"Laxcorp-Research\u002Fproject-raven","project-raven","Open-source AI meeting copilot - real-time transcription, echo cancellation, and AI assistance. Captures system audio + mic, cancels echo via WebRTC AEC3, transcribes with Deepgram, and gives you Claude\u002FOpenAI help during meetings. Runs locally on macOS and Windows.","Project Raven 是一款开源的本地化 AI 会议助手，旨在为用户提供实时的会议转录、回声消除及智能辅助服务。它主要解决了在线会议中常见的痛点：传统录音工具难以区分扬声器声音与麦克风输入，导致转录混乱，且用户往往缺乏即时的上下文智能支持。\n\nRaven 能够同时捕获系统音频和麦克风声音，利用与 Chrome 浏览器同源的 WebRTC AEC3 引擎进行专业级回声消除，确保即使不戴耳机，对方的发言也不会干扰你的语音录入。随后，它通过 Deepgram 将双方对话实时转化为文字，并允许用户随时调用 Claude 或 OpenAI 模型，基于当前会议内容获得精准的建议、总结或问答反馈。\n\n这款工具特别适合需要频繁参加线上会议的职场人士、远程协作团队以及希望提升会议效率的研究人员。其独特的技术亮点在于“隐身模式”，悬浮窗口在屏幕共享时对他人不可见，保护隐私；同时坚持“本地优先”架构，所有数据与 API 密钥均存储于本地，保障信息安全。无论是 macOS 还是 Windows 用户，都能轻松部署这一强大的会议搭档，让每一次沟通都更有成效。","\u003Cp align=\"center\">\n  \u003Cimg src=\"logo\u002Fraven_full.svg\" alt=\"Project Raven\" height=\"80\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>Open-source, AI-powered meeting copilot with real-time transcription and echo cancellation.\u003C\u002Fstrong>\n\u003C\u002Fp>\n\nRaven captures system audio and microphone during meetings, cancels echo so speaker audio doesn't bleed into your mic, transcribes both sides of the conversation in real-time via Deepgram, and gives you AI assistance (Claude or OpenAI) with context-aware responses - all running locally on your desktop.\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fuseraven.ai\">\u003Cstrong>Download Raven\u003C\u002Fstrong>\u003C\u002Fa> &nbsp;|&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fdocs.useraven.ai\">\u003Cstrong>Documentation\u003C\u002Fstrong>\u003C\u002Fa> &nbsp;|&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FLaxcorp-Research\u002Fproject-raven\u002Fissues\">\u003Cstrong>Issues\u003C\u002Fstrong>\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## Screenshots\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n**Dashboard — Session History**\n![Dashboard](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_6fd2d1c31c1e.png)\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n**Settings — API Keys**\n![API Keys](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_c04ce541377c.png)\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\n\n**Stealth Mode OFF — Overlay visible to screen share**\n![Detectable](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_27dc2408496d.png)\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n**Stealth Mode ON — Overlay invisible to screen share**\n![Undetectable](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_41ff8cfe3b8b.png)\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\n\n**Settings — Model Selection**\n![Model Selection](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_104f01668241.png)\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n**Onboarding — Overlay Tour**\n![Overlay Tour](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_7922a3a9022a.png)\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cdetails>\n\u003Csummary>Full onboarding flow (6 steps)\u003C\u002Fsummary>\n\n| Step 1: Welcome | Step 2: API Keys | Step 3: Permissions |\n|---|---|---|\n| ![Welcome](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_3c53c575ee29.png) | ![API Keys](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_1378d4e59667.png) | ![Permissions](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_ed7da8f5f40c.png) |\n\n| Step 4: Overlay Tour | Step 5: Shortcuts | Step 6: Ready to Go |\n|---|---|---|\n| ![Overlay Tour](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_7922a3a9022a.png) | ![Shortcuts](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_d7cdbe1d3663.png) | ![Ready](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_8b41371707b7.png) |\n\n\u003C\u002Fdetails>\n\n---\n\n## Features\n\n- **Dual-stream audio capture** — System audio + microphone, captured natively on macOS (ScreenCaptureKit) and Windows (WASAPI)\n- **Echo cancellation** — GStreamer pipeline using the WebRTC AEC3 engine (the same echo canceller used in Chrome)\n- **Real-time transcription** — Deepgram Nova-3 over WebSocket with separate connections for mic and system audio\n- **AI assistance** — Anthropic Claude or OpenAI, user-configurable via a provider pattern\n- **Stealth overlay** — Invisible to Zoom, Meet, Teams, and Discord screen sharing\n- **Local-first** — Your API keys and data stay on your machine (SQLite via better-sqlite3)\n- **RAG** — Upload local documents, embedded with `@xenova\u002Ftransformers`, and reference them in AI context\n- **Sessions** — Auto-saved with full transcript, AI responses, and summaries\n- **Modes** — Customizable AI behavior profiles with system prompts and quick actions\n- **Profile picture editor** — Crop, zoom, and pan before saving your avatar\n- **Pro features** — Optional auth, billing, and sync for a paid tier (connects to a separate backend)\n\n## Architecture\n\n![Architecture](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_ae36123b3eae.png)\n\n## How It Works\n\n1. User starts a recording session\n2. A native binary captures system audio and microphone simultaneously\n   - **macOS:** Swift process using ScreenCaptureKit (system) + CoreAudio (mic)\n   - **Windows:** Rust\u002FNAPI-RS module using WASAPI loopback + capture\n3. Both streams are fed into a GStreamer echo-cancellation pipeline (`webrtcechoprobe` \u002F `webrtcdsp`) so the remote speaker's voice doesn't contaminate the mic signal\n4. The clean mic audio and system audio are sent over two parallel WebSocket connections to Deepgram Nova-3 for transcription\n5. Transcripts appear in real-time in the overlay window\n6. The user can ask AI (Claude or OpenAI) for help, with full conversation context\n\n## Project Structure\n\n```\nsrc\u002F\n├── main\u002F                  # Electron main process\n│   ├── audioManager.ts    #   Audio capture orchestration\n│   ├── transcriptionService.ts  #   Deepgram WebSocket connections\n│   ├── aiService.ts       #   AI provider abstraction (Claude \u002F OpenAI)\n│   ├── sessionManager.ts  #   Session persistence & history\n│   ├── store.ts           #   SQLite database (better-sqlite3)\n│   └── index.ts           #   App lifecycle, IPC handlers, windows\n├── renderer\u002F              # React UI (Vite + Tailwind)\n│   └── src\u002F\n│       ├── components\u002F    #   Dashboard, overlay, settings, onboarding\n│       └── ...\n├── preload\u002F               # Electron preload scripts (context bridge)\n└── native\u002F\n    ├── swift\u002F             # macOS audio capture (ScreenCaptureKit + CoreAudio)\n    │   └── AudioCapture\u002F\n    ├── windows\u002F           # Windows audio capture (WASAPI, Rust\u002FNAPI-RS)\n    └── aec\u002F               # GStreamer AEC C++ addon (WebRTC AEC3)\n```\n\n## Platform Support\n\n| Platform | System Audio | Microphone | Echo Cancellation | Status |\n|----------|-------------|------------|-------------------|--------|\n| **macOS 12+** | ScreenCaptureKit | CoreAudio | GStreamer AEC3 | Primary, fully tested |\n| **Windows 10\u002F11** | WASAPI Loopback | WASAPI Capture | GStreamer AEC3 | Supported |\n| Linux | — | — | — | Not yet supported |\n\n## Getting Started\n\nThis section is a complete, linear walkthrough — from a fresh machine to a running app. Pick your platform, follow every numbered step in order, and verify each one before moving on.\n\n> **API keys** (entered in-app on first launch — nothing to configure beforehand):\n>\n> - [Deepgram](https:\u002F\u002Fconsole.deepgram.com) — real-time transcription (free tier available)\n> - [Anthropic](https:\u002F\u002Fconsole.anthropic.com) or [OpenAI](https:\u002F\u002Fplatform.openai.com) — AI assistance\n>\n> This guide covers the open-source app. For the premium\u002Fpro mode setup, see [`docs\u002FREPO_STRUCTURE.md`](docs\u002FREPO_STRUCTURE.md).\n\n---\n\n### macOS Setup\n\n> Tested on macOS 12 (Monterey) through macOS 15 (Sequoia), Intel and Apple Silicon.\n\n**Step 1 — Install Xcode Command Line Tools**\n\n```bash\nxcode-select --install\n```\n\nA system dialog will appear — click **Install** and wait for it to finish (~2 min).\n\nVerify:\n```bash\nxcode-select -p\n# Expected: \u002FLibrary\u002FDeveloper\u002FCommandLineTools  (or an Xcode.app path)\n```\n\n> **If you see** `xcode-select: error: command line tools are already installed` — you're good, move on.\n\n---\n\n**Step 2 — Install Node.js 22**\n\nInstall via [nvm](https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm) (recommended). Skip the `curl` line if you already have nvm.\n\n```bash\ncurl -o- https:\u002F\u002Fraw.githubusercontent.com\u002Fnvm-sh\u002Fnvm\u002Fv0.40.1\u002Finstall.sh | bash\n```\n\n**Close and reopen your terminal**, then:\n\n```bash\nnvm install 22\nnvm use 22\n```\n\nVerify:\n```bash\nnode -v\n# Expected: v22.x.x (any 22+ version)\n```\n\n> **If `nvm: command not found`:** Close your terminal and open a new one — nvm's install script adds itself to your shell profile, but only new shells pick it up.\n\n---\n\n**Step 3 — Install GStreamer**\n\n```bash\nbrew install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad\n```\n\n> Don't have Homebrew? Install it first from [brew.sh](https:\u002F\u002Fbrew.sh).\n\nVerify:\n```bash\npkg-config --modversion gstreamer-1.0\n# Expected: 1.24.x (or similar)\n```\n\n> **If `Package gstreamer-1.0 was not found`:** Homebrew's `pkg-config` path isn't set. Add the correct line to your `~\u002F.zshrc` and restart your terminal:\n> ```bash\n> # Apple Silicon (M1\u002FM2\u002FM3\u002FM4):\n> echo 'export PKG_CONFIG_PATH=\"\u002Fopt\u002Fhomebrew\u002Flib\u002Fpkgconfig:$PKG_CONFIG_PATH\"' >> ~\u002F.zshrc\n>\n> # Intel Mac:\n> echo 'export PKG_CONFIG_PATH=\"\u002Fusr\u002Flocal\u002Flib\u002Fpkgconfig:$PKG_CONFIG_PATH\"' >> ~\u002F.zshrc\n> ```\n\n---\n\n**Step 4 — Clone the repo and install dependencies**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FLaxcorp-Research\u002Fproject-raven.git\ncd project-raven\nnpm install\n```\n\n`npm install` takes a few minutes. It automatically rebuilds `better-sqlite3` for Electron via the `postinstall` script — you'll see `@electron\u002Frebuild` output near the end.\n\nVerify:\n```bash\nls node_modules\u002F.package-lock.json && echo \"OK\"\n# Expected: OK\n```\n\n> **If `npm install` fails with `node-gyp` errors:** Make sure Xcode Command Line Tools installed successfully in Step 1. Run `xcode-select -p` to confirm.\n\n---\n\n**Step 5 — Build the GStreamer echo-cancellation addon**\n\n```bash\ncd src\u002Fnative\u002Faec\nnpm install\n.\u002Fbuild-deps.sh\nnpx cmake-js compile\ncd ..\u002F..\u002F..\n```\n\nWhat this does:\n1. Installs the addon's build tools (`cmake-js`, `node-addon-api`)\n2. Verifies all GStreamer libraries and builds the WebRTC DSP plugin from source (Homebrew doesn't ship it)\n3. Compiles the C++ echo-cancellation native module\n\nVerify:\n```bash\nls src\u002Fnative\u002Faec\u002Fbuild\u002FRelease\u002Fraven-aec.node && echo \"OK\"\n# Expected: OK\n```\n\n> **If `build-deps.sh` fails with \"gstreamer-1.0 not found\":** Revisit Step 3 and make sure `pkg-config --modversion gstreamer-1.0` works.\n>\n> **If `cmake-js compile` fails with \"cmake not found\":** cmake is bundled with cmake-js. Run `npx cmake-js --version` — if that fails, delete `node_modules` inside `src\u002Fnative\u002Faec\u002F` and re-run `npm install`.\n\n---\n\n**Step 6 — Build the Swift audio capture binary**\n\n```bash\ncd src\u002Fnative\u002Fswift\u002FAudioCapture\nswift build -c release\ncd ..\u002F..\u002F..\u002F..\n```\n\nVerify:\n```bash\nls src\u002Fnative\u002Fswift\u002FAudioCapture\u002F.build\u002Frelease\u002Faudiocapture && echo \"OK\"\n# Expected: OK\n```\n\n> **If `swift build` fails with unresolved imports:** Your Swift toolchain may be too old (5.9+ required). Check with `swift --version`. Update Xcode Command Line Tools:\n> ```bash\n> sudo rm -rf \u002FLibrary\u002FDeveloper\u002FCommandLineTools && xcode-select --install\n> ```\n\n---\n\n**Step 7 — Run the app**\n\n```bash\nnpm run dev\n```\n\nThe Electron app opens. On first launch you'll be prompted to enter your API keys in the settings.\n\n> **If the app starts but audio capture doesn't work:** macOS requires explicit permissions. Go to **System Settings → Privacy & Security** and grant both **Microphone** and **Screen Recording** access to the app (or to your terminal emulator during development).\n\n---\n\n### Windows Setup\n\n> Tested on Windows 10 (21H2+) and Windows 11. All commands are for **PowerShell**. Open a **new terminal** after each installer to pick up PATH changes.\n\n**Step 1 — Install Visual Studio Build Tools**\n\nDownload and run the [Visual Studio Build Tools installer](https:\u002F\u002Fvisualstudio.microsoft.com\u002Fvisual-cpp-build-tools\u002F).\n\nIn the installer, check the **\"Desktop development with C++\"** workload and click Install. Make sure these optional components are selected (they should be by default):\n- MSVC Build Tools for x64\u002Fx86 (Latest)\n- Windows 10\u002F11 SDK\n- C++ CMake tools for Windows\n\nVerify:\n```powershell\n& \"${env:ProgramFiles(x86)}\\Microsoft Visual Studio\\Installer\\vswhere.exe\" -products * -requires Microsoft.VisualStudio.Workload.VCTools -property displayName\n# Expected: Visual Studio Build Tools 2022\n```\n\n> **If you have full Visual Studio** (not just Build Tools) with the C++ workload, that works too.\n\n---\n\n**Step 2 — Install Node.js (LTS)**\n\nOption A — [nvm-windows](https:\u002F\u002Fgithub.com\u002Fcoreybutler\u002Fnvm-windows\u002Freleases) (recommended):\n\nDownload and run the latest `nvm-setup.exe`, then open a **new** terminal:\n\n```\nnvm install 22\nnvm use 22\n```\n\nOption B — Download the LTS 22.x MSI installer directly from [nodejs.org](https:\u002F\u002Fnodejs.org\u002F).\n\nVerify (in a **new** terminal):\n```\nnode -v\n# Expected: v22.x.x\n```\n\n> **Why Node 22 specifically?** The project requires `node >= 22.12.0` (see `package.json` engines). Using `nvm install lts` may install a newer major version that hasn't been tested.\n\n---\n\n**Step 3 — Install Python**\n\nPython is required by `node-gyp` to compile native Node.js modules (`better-sqlite3`, `bufferutil`, etc.).\n\nOption A — [winget](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fpackage-manager\u002Fwinget\u002F):\n```\nwinget install Python.Python.3.12 --source winget\n```\n\nOption B — Download from [python.org](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F). Make sure \"Add to PATH\" is checked during installation.\n\nVerify (in a **new** terminal):\n```\npython --version\n# Expected: Python 3.x.x\n```\n\n---\n\n**Step 4 — Install the Rust toolchain**\n\nDownload and run [rustup-init.exe](https:\u002F\u002Frustup.rs\u002F). Accept the defaults (installs `stable-msvc`).\n\nVerify (in a **new** terminal):\n```\nrustc --version\n# Expected: rustc 1.xx.x (...)\nrustup default stable-msvc\n```\n\n---\n\n**Step 5 — Install GStreamer (MSVC)**\n\nDownload the **MSVC x86_64** installer from [gstreamer.freedesktop.org\u002Fdownload](https:\u002F\u002Fgstreamer.freedesktop.org\u002Fdownload\u002F) — click **Windows** → **MSVC x86_64 (VS 2022, Release CRT)**.\n\n> For GStreamer 1.28+, there is a single combined installer (runtime + development). For older versions, download both the Runtime and Development MSI files.\n\nRun with default settings. The installer typically installs to `C:\\gstreamer\\` or `C:\\Program Files\\gstreamer\\`.\n\nAfter installation, verify the environment variable is set (open a **new** terminal):\n```powershell\necho $env:GSTREAMER_1_0_ROOT_MSVC_X86_64\n# Expected: C:\\gstreamer\\1.0\\msvc_x86_64\\ (or C:\\Program Files\\gstreamer\\1.0\\msvc_x86_64\\)\n```\n\nAlso make sure GStreamer's `bin` directory is on your PATH:\n```powershell\n$gstRoot = $env:GSTREAMER_1_0_ROOT_MSVC_X86_64\nif ($gstRoot) { echo \"GStreamer root: $gstRoot\" } else { echo \"NOT SET - see below\" }\n```\n\n> **If the variable is empty:** The installer didn't set it. Find where GStreamer was installed and set it manually:\n> ```powershell\n> # Adjust the path below to match your installation\n> [Environment]::SetEnvironmentVariable(\"GSTREAMER_1_0_ROOT_MSVC_X86_64\", \"C:\\Program Files\\gstreamer\\1.0\\msvc_x86_64\\\", \"User\")\n> ```\n> Then **restart your terminal**.\n>\n> **If GStreamer installed to `C:\\Program Files\\gstreamer\\` instead of `C:\\gstreamer\\`:** That's fine — just make sure the environment variable points to the correct path (e.g. `C:\\Program Files\\gstreamer\\1.0\\msvc_x86_64\\`).\n\n---\n\n**Step 6 — Install CMake**\n\nCMake is required to compile the GStreamer echo-cancellation addon.\n\n```\nwinget install Kitware.CMake --source winget\n```\n\nOr download from [cmake.org\u002Fdownload](https:\u002F\u002Fcmake.org\u002Fdownload\u002F). Make sure \"Add to PATH\" is checked.\n\nVerify (in a **new** terminal):\n```\ncmake --version\n# Expected: cmake version 3.x.x\n```\n\n---\n\n**Step 7 — Clone the repo and install dependencies**\n\n```\ngit clone https:\u002F\u002Fgithub.com\u002FLaxcorp-Research\u002Fproject-raven.git\ncd project-raven\nnpm install\n```\n\n`npm install` takes a few minutes. It automatically rebuilds `better-sqlite3` for Electron via the `postinstall` script.\n\nVerify:\n```powershell\nTest-Path node_modules\\.package-lock.json\n# Expected: True\n```\n\n> **If `npm install` fails with `Could not find any Python installation`:** Revisit Step 3 — Python must be installed and on PATH.\n>\n> **If `npm install` fails with `Could not find any Visual Studio installation`:** `node-gyp` can't auto-detect your Build Tools. Try these fixes in order:\n> ```powershell\n> # Fix 1: Set the version hint for node-gyp\n> npm config set msvs_version 2022\n> Remove-Item -Recurse -Force node_modules\n> npm install\n> ```\n> If `npm config set msvs_version` gives an error on newer npm versions, use the environment variable instead:\n> ```powershell\n> # Fix 2: Environment variable (works on all npm versions)\n> $env:GYP_MSVS_VERSION = \"2022\"\n> Remove-Item -Recurse -Force node_modules\n> npm install\n> ```\n\n---\n\n**Step 8 — Build the GStreamer echo-cancellation addon**\n\nFirst, check the Electron version used by the project:\n```\nnode -e \"console.log(require('.\u002Fnode_modules\u002Felectron\u002Fpackage.json').version)\"\n# Note the version (e.g. 40.4.1)\n```\n\nThen build the addon targeting that version:\n```\ncd src\\native\\aec\nnpm install\nnpx cmake-js compile --runtime electron --runtime-version \u003CELECTRON_VERSION>\ncd ..\\..\\..\n```\n\nReplace `\u003CELECTRON_VERSION>` with the version from the previous command (e.g. `40.4.1`).\n\n> **Important:** The `--runtime electron --runtime-version` flags are required. Without them, the addon is built for Node.js instead of Electron, and it **will crash** when loaded. If you upgrade Electron later, you must rebuild this addon with the new version.\n>\n> **Note:** The `build-deps.sh` script is macOS-only. On Windows, the GStreamer MSVC installer already includes all required plugins (including WebRTC DSP).\n\nVerify:\n```powershell\nTest-Path src\\native\\aec\\build\\Release\\raven-aec.node\n# Expected: True\n```\n\n> **If cmake-js fails with \"CMake is not installed\":** Revisit Step 6.\n>\n> **If cmake-js fails with \"GStreamer not found\":** The `GSTREAMER_1_0_ROOT_MSVC_X86_64` environment variable is not set. Revisit Step 5.\n>\n> **If the build succeeds but linking fails with \"unresolved external symbol `g_object_set` \u002F `g_type_check_instance_cast`\":** GLib\u002FGObject libraries are missing from the link step. This should be handled automatically by the CMakeLists.txt — if you see this error, file a bug.\n\n---\n\n**Step 9 — Build the Windows audio capture module**\n\n```\ncd src\\native\\windows\nnpm install\nnpx napi build --platform --release\ncd ..\\..\\..\n```\n\nVerify:\n```powershell\nTest-Path src\\native\\windows\\raven-windows-audio.win32-x64-msvc.node\n# Expected: True\n```\n\n> **If the build fails with linker errors:** Make sure Rust is using the MSVC target: `rustup default stable-msvc`.\n>\n> **If it fails with \"Windows SDK not found\":** Open **Visual Studio Installer → Modify → Individual components** and install the latest \"Windows 10 SDK\" or \"Windows 11 SDK\".\n\n---\n\n**Step 10 — Run the app**\n\n```\nnpm run dev\n```\n\nThe Electron app opens. On first launch you'll see a 6-step onboarding flow — enter your API keys (Deepgram for transcription, Claude or OpenAI for AI assistance).\n\n> **If the app starts but audio capture doesn't work:** Check **Settings → Sound** and make sure the correct playback and recording devices are set as default. WASAPI captures from the default devices.\n\n---\n\n### Setup Troubleshooting Quick Reference\n\n| Symptom | Likely Cause | Fix |\n|---------|-------------|-----|\n| `Could not find any Python installation` | Python not installed | Install Python 3.x and add to PATH (Windows Step 3) |\n| `Could not find any Visual Studio installation to use` | `node-gyp` can't auto-detect Build Tools | Set `$env:GYP_MSVS_VERSION = \"2022\"`, delete `node_modules`, re-run `npm install` |\n| `npm install` fails with `node-gyp` errors | Missing C\u002FC++ build tools | **macOS:** `xcode-select --install` **Windows:** VS Build Tools \"Desktop development with C++\" workload |\n| `NODE_MODULE_VERSION mismatch` at runtime | Native module built for wrong Electron version | `npx @electron\u002Frebuild -f -w better-sqlite3` from the project root |\n| `build-deps.sh`: \"gstreamer-1.0 not found\" | GStreamer not installed or `pkg-config` can't find it | **macOS:** Install via Homebrew and check `PKG_CONFIG_PATH` (see macOS Step 3) |\n| cmake-js: \"CMake is not installed\" | CMake not on PATH | Install CMake (Windows Step 6) |\n| cmake-js: \"GStreamer not found\" on Windows | `GSTREAMER_1_0_ROOT_MSVC_X86_64` not set | Set the env var manually and restart terminal (see Windows Step 5) |\n| AEC addon crashes Electron on startup | Built for Node.js instead of Electron | Rebuild with `--runtime electron --runtime-version \u003Cyour-electron-version>` (Windows Step 8) |\n| `swift build` fails | Swift toolchain too old (need 5.9+) | `sudo rm -rf \u002FLibrary\u002FDeveloper\u002FCommandLineTools && xcode-select --install` |\n| `napi build` linker errors on Windows | Wrong Rust target or missing Windows SDK | `rustup default stable-msvc` and ensure VS Build Tools C++ workload is installed |\n| App starts, no audio on macOS | Missing system permissions | **System Settings → Privacy & Security**: grant **Microphone** and **Screen Recording** |\n| App starts, no audio on Windows | Wrong default audio device | **Settings → Sound**: set correct default playback\u002Frecording devices |\n\n## Keyboard Shortcuts\n\n| Action | Shortcut |\n|--------|----------|\n| Toggle Overlay | `Cmd + \\` |\n| Start\u002FStop Recording | `Cmd + R` |\n| Get AI Suggestion | `Cmd + Enter` |\n| Clear Conversation | `Cmd + Shift + R` |\n| Move Overlay | `Cmd + Arrow Keys` |\n| Scroll Overlay | `Cmd + Shift + Up\u002FDown` |\n\n> On Windows, replace `Cmd` with `Ctrl`.\n\n## Testing\n\n```bash\nnpm test              # Unit + integration tests\nnpm run test:coverage # With coverage report\nnpm run test:e2e      # End-to-end (requires npm run build first)\nnpm run test:all      # Everything\n```\n\n## Troubleshooting\n\n**`better-sqlite3` native module error:**\n\nThe `postinstall` script handles this automatically. If you still see `NODE_MODULE_VERSION` mismatch errors:\n\n```bash\nnpx @electron\u002Frebuild -f -w better-sqlite3\n```\n\n**Reset all data (fresh start):**\n\n```bash\n# macOS\nrm -rf ~\u002FLibrary\u002FApplication\\ Support\u002Fproject-raven\u002F\n\n# Windows\nrmdir \u002Fs \u002Fq \"%APPDATA%\\project-raven\"\n```\n\n## Contributing\n\nIssues and pull requests are welcome. This project is in active development.\n\n1. Fork the repo\n2. Create your feature branch (`git checkout -b feature\u002Fmy-feature`)\n3. Commit your changes (`git commit -m 'Add my feature'`)\n4. Push to the branch (`git push origin feature\u002Fmy-feature`)\n5. Open a pull request\n\n## License\n\n[MIT](LICENSE)\n","\u003Cp align=\"center\">\n  \u003Cimg src=\"logo\u002Fraven_full.svg\" alt=\"Project Raven\" height=\"80\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>开源、基于 AI 的会议助手，支持实时转录与回声消除。\u003C\u002Fstrong>\n\u003C\u002Fp>\n\nRaven 在会议中同时捕获系统音频和麦克风输入，通过回声消除技术防止扬声器声音串入麦克风，并借助 Deepgram 实现实时双端对话转录。此外，它还能根据上下文为您提供由 Claude 或 OpenAI 提供的 AI 辅助回复——所有这些功能均在您的本地桌面设备上运行。\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fuseraven.ai\">\u003Cstrong>下载 Raven\u003C\u002Fstrong>\u003C\u002Fa> &nbsp;|&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fdocs.useraven.ai\">\u003Cstrong>文档\u003C\u002Fstrong>\u003C\u002Fa> &nbsp;|&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FLaxcorp-Research\u002Fproject-raven\u002Fissues\">\u003Cstrong>问题反馈\u003C\u002Fstrong>\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## 截图\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\n\n**仪表盘 — 会话历史**\n![Dashboard](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_6fd2d1c31c1e.png)\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n\n**设置 — API 密钥**\n![API Keys](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_c04ce541377c.png)\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\n\n**隐身模式关闭 — 屏幕共享可见叠加层**\n![Detectable](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_27dc2408496d.png)\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n**隐身模式开启 — 屏幕共享不可见叠加层**\n![Undetectable](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_41ff8cfe3b8b.png)\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\n\n**设置 — 模型选择**\n![Model Selection](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_104f01668241.png)\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n**引导流程 — 叠加层导览**\n![Overlay Tour](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_7922a3a9022a.png)\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Cdetails>\n\u003Csummary>完整的引导流程（6 步）\u003C\u002Fsummary>\n\n| 第 1 步：欢迎 | 第 2 步：API 密钥 | 第 3 步：权限 |\n|---|---|---|\n| ![Welcome](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_3c53c575ee29.png) | ![API Keys](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_1378d4e59667.png) | ![Permissions](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_ed7da8f5f40c.png) |\n\n| 第 4 步：叠加层导览 | 第 5 步：快捷键 | 第 6 步：准备就绪 |\n|---|---|---|\n| ![Overlay Tour](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_7922a3a9022a.png) | ![Shortcuts](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_d7cdbe1d3663.png) | ![Ready](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_8b41371707b7.png) |\n\n\u003C\u002Fdetails>\n\n---\n\n## 功能\n\n- **双流音频采集** — 系统音频 + 麦克风，分别在 macOS（ScreenCaptureKit）和 Windows（WASAPI）上原生实现\n- **回声消除** — 使用 WebRTC AEC3 引擎的 GStreamer 管道（与 Chrome 中使用的回声消除器相同）\n- **实时转录** — 通过 WebSocket 连接 Deepgram Nova-3，为麦克风和系统音频分别建立独立通道\n- **AI 辅助** — Anthropic Claude 或 OpenAI，可通过提供者模式由用户自定义\n- **隐身叠加层** — 对 Zoom、Meet、Teams 和 Discord 的屏幕共享完全透明\n- **本地优先** — 您的 API 密钥和数据仅存储在本地机器上（使用 better-sqlite3 的 SQLite 数据库）\n- **RAG** — 上传本地文档，利用 `@xenova\u002Ftransformers` 进行嵌入，并在 AI 上下文中引用\n- **会话管理** — 自动保存完整转录、AI 回答及摘要\n- **模式** — 可自定义 AI 行为配置文件，包含系统提示词和快速操作\n- **头像编辑器** — 裁剪、缩放和移动后保存您的头像\n- **专业版功能** — 可选身份验证、计费和同步服务，适用于付费层级（连接到独立后端）\n\n## 架构\n\n![Architecture](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_readme_ae36123b3eae.png)\n\n## 工作原理\n\n1. 用户启动录音会话\n2. 原生二进制程序同时捕获系统音频和麦克风信号\n   - **macOS：** Swift 进程使用 ScreenCaptureKit（系统音频）+ CoreAudio（麦克风）\n   - **Windows：** Rust\u002FNAPI-RS 模块使用 WASAPI 循环和捕获功能\n3. 两条音频流被送入 GStreamer 回声消除管道（`webrtcechoprobe` \u002F `webrtcdsp`），以避免远端发言者的语音污染麦克风信号\n4. 清晰的麦克风音频和系统音频分别通过两条并行的 WebSocket 连接发送至 Deepgram Nova-3 进行转录\n5. 转录内容实时显示在叠加窗口中\n6. 用户可向 AI（Claude 或 OpenAI）请求帮助，并获得基于完整对话上下文的回复\n\n## 项目结构\n\n```\nsrc\u002F\n├── main\u002F                  # Electron 主进程\n│   ├── audioManager.ts    #   音频采集协调\n│   ├── transcriptionService.ts  #   Deepgram WebSocket 连接\n│   ├── aiService.ts       #   AI 提供者抽象（Claude \u002F OpenAI）\n│   ├── sessionManager.ts  #   会话持久化与历史记录\n│   ├── store.ts           #   SQLite 数据库（better-sqlite3）\n│   └── index.ts           #   应用生命周期、IPC 处理程序、窗口管理\n├── renderer\u002F              # React UI（Vite + Tailwind）\n│   └── src\u002F\n│       ├── components\u002F    #   仪表盘、叠加层、设置、引导界面\n│       └── ...\n├── preload\u002F               # Electron 预加载脚本（上下文桥）\n└── native\u002F\n    ├── swift\u002F             # macOS 音频采集（ScreenCaptureKit + CoreAudio）\n    │   └── AudioCapture\u002F\n    ├── windows\u002F           # Windows 音频采集（WASAPI，Rust\u002FNAPI-RS）\n    └── aec\u002F               # GStreamer AEC C++ 插件（WebRTC AEC3）\n```\n\n## 平台支持\n\n| 平台 | 系统音频 | 麦克风 | 回声消除 | 状态 |\n|----------|-------------|------------|-------------------|--------|\n| **macOS 12+** | ScreenCaptureKit | CoreAudio | GStreamer AEC3 | 主要平台，已全面测试 |\n| **Windows 10\u002F11** | WASAPI Loopback | WASAPI Capture | GStreamer AEC3 | 支持 |\n| Linux | — | — | — | 尚未支持 |\n\n## 入门指南\n\n本节提供从零开始到应用运行的完整线性教程。请选择您的平台，按顺序执行每个编号步骤，并在继续下一步之前逐一验证。\n\n> **API 密钥**（首次启动时在应用内输入，无需提前配置）：\n>\n> - [Deepgram](https:\u002F\u002Fconsole.deepgram.com) — 实时转录（提供免费套餐）\n> - [Anthropic](https:\u002F\u002Fconsole.anthropic.com) 或 [OpenAI](https:\u002F\u002Fplatform.openai.com) — AI 辅助\n>\n> 本指南介绍的是开源版本的应用程序。如需了解高级\u002F专业模式的设置，请参阅 [`docs\u002FREPO_STRUCTURE.md`](docs\u002FREPO_STRUCTURE.md)。\n\n---\n\n### macOS 设置\n\n> 已在 macOS 12（Monterey）至 macOS 15（Sequoia）上测试，涵盖 Intel 和 Apple Silicon 架构。\n\n**第 1 步 — 安装 Xcode 命令行工具**\n\n```bash\nxcode-select --install\n```\n\n系统将弹出一个对话框，点击 **安装** 并等待完成（约 2 分钟）。\n\n验证：\n```bash\nxcode-select -p\n# 预期输出：\u002FLibrary\u002FDeveloper\u002FCommandLineTools  （或 Xcode.app 路径）\n```\n\n> **若出现提示** `xcode-select: error: command line tools are already installed` — 表示您已完成此步骤，可继续。\n\n---\n\n**第 2 步 — 安装 Node.js 22**\n\n建议通过 [nvm](https:\u002F\u002Fgithub.com\u002Fnvm-sh\u002Fnvm) 安装。如果您已经拥有 nvm，则可跳过 `curl` 命令。\n\n```bash\ncurl -o- https:\u002F\u002Fraw.githubusercontent.com\u002Fnvm-sh\u002Fnvm\u002Fv0.40.1\u002Finstall.sh | bash\n```\n\n**关闭并重新打开终端**，然后执行：\n\n```bash\nnvm install 22\nnvm use 22\n```\n\n验证：\n```bash\nnode -v\n\n# 预期：v22.x.x（任意 22+ 版本）\n```\n\n> **如果出现 `nvm: command not found` 错误：** 请关闭终端并重新打开一个新终端——nvm 的安装脚本会将其自身添加到你的 shell 配置文件中，但只有新的 shell 才能加载它。\n\n---\n\n**步骤 3 — 安装 GStreamer**\n\n```bash\nbrew install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad\n```\n\n> 如果你还没有 Homebrew，请先从 [brew.sh](https:\u002F\u002Fbrew.sh) 安装。\n\n验证：\n```bash\npkg-config --modversion gstreamer-1.0\n# 预期：1.24.x（或类似版本）\n```\n\n> **如果出现 `Package gstreamer-1.0 was not found` 错误：** 这是因为 Homebrew 的 `pkg-config` 路径未正确设置。请将以下行添加到你的 `~\u002F.zshrc` 文件，并重启终端：\n> ```bash\n> # Apple Silicon（M1\u002FM2\u002FM3\u002FM4）：\n> echo 'export PKG_CONFIG_PATH=\"\u002Fopt\u002Fhomebrew\u002Flib\u002Fpkgconfig:$PKG_CONFIG_PATH\"' >> ~\u002F.zshrc\n>\n> # Intel Mac：\n> echo 'export PKG_CONFIG_PATH=\"\u002Fusr\u002Flocal\u002Flib\u002Fpkgconfig:$PKG_CONFIG_PATH\"' >> ~\u002F.zshrc\n> ```\n\n---\n\n**步骤 4 — 克隆仓库并安装依赖**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FLaxcorp-Research\u002Fproject-raven.git\ncd project-raven\nnpm install\n```\n\n`npm install` 需要几分钟时间。它会通过 `postinstall` 脚本自动为 Electron 重新构建 `better-sqlite3`——在最后你会看到 `@electron\u002Frebuild` 的输出。\n\n验证：\n```bash\nls node_modules\u002F.package-lock.json && echo \"OK\"\n# 预期：OK\n```\n\n> **如果 `npm install` 因 `node-gyp` 错误而失败：** 请确保在步骤 1 中已成功安装 Xcode 命令行工具。运行 `xcode-select -p` 来确认。\n\n---\n\n**步骤 5 — 构建 GStreamer 回声消除插件**\n\n```bash\ncd src\u002Fnative\u002Faec\nnpm install\n.\u002Fbuild-deps.sh\nnpx cmake-js compile\ncd ..\u002F..\u002F..\n```\n\n具体操作：\n1. 安装插件的构建工具（`cmake-js`、`node-addon-api`）\n2. 验证所有 GStreamer 库，并从源代码编译 WebRTC DSP 插件（Homebrew 不提供该插件）\n3. 编译 C++ 回声消除原生模块\n\n验证：\n```bash\nls src\u002Fnative\u002Faec\u002Fbuild\u002FRelease\u002Fraven-aec.node && echo \"OK\"\n# 预期：OK\n```\n\n> **如果 `build-deps.sh` 因“gstreamer-1.0 未找到”而失败：** 请返回步骤 3，确保 `pkg-config --modversion gstreamer-1.0` 可以正常工作。\n>\n> **如果 `cmake-js compile` 因“cmake 未找到”而失败：** `cmake` 已经捆绑在 `cmake-js` 中。运行 `npx cmake-js --version`——如果仍然失败，请删除 `src\u002Fnative\u002Faec\u002F` 目录下的 `node_modules`，然后重新运行 `npm install`。\n\n---\n\n**步骤 6 — 构建 Swift 音频捕获二进制文件**\n\n```bash\ncd src\u002Fnative\u002Fswift\u002FAudioCapture\nswift build -c release\ncd ..\u002F..\u002F..\u002F..\n```\n\n验证：\n```bash\nls src\u002Fnative\u002Fswift\u002FAudioCapture\u002F.build\u002Frelease\u002Faudiocapture && echo \"OK\"\n# 预期：OK\n```\n\n> **如果 `swift build` 因未解析的导入而失败：** 你的 Swift 工具链可能太旧了（需要 5.9 或更高版本）。请使用 `swift --version` 检查版本。同时更新 Xcode 命令行工具：\n> ```bash\n> sudo rm -rf \u002FLibrary\u002FDeveloper\u002FCommandLineTools && xcode-select --install\n> ```\n\n---\n\n**步骤 7 — 运行应用**\n\n```bash\nnpm run dev\n```\n\nElectron 应用程序将会打开。首次启动时，系统会提示你在设置中输入 API 密钥。\n\n> **如果应用程序启动但音频捕获无法工作：** macOS 需要显式权限。前往 **系统设置 → 隐私与安全性**，授予应用程序（或开发期间的终端模拟器）**麦克风**和**屏幕录制**访问权限。\n\n---\n\n### Windows 系统设置\n\n> 经过 Windows 10（21H2+）和 Windows 11 测试。所有命令均适用于 **PowerShell**。每次安装完成后，请打开一个 **新终端**以使 PATH 变量生效。\n\n**步骤 1 — 安装 Visual Studio Build Tools**\n\n下载并运行 [Visual Studio Build Tools 安装程序](https:\u002F\u002Fvisualstudio.microsoft.com\u002Fvisual-cpp-build-tools\u002F)。\n\n在安装程序中，勾选 **“使用 C++ 的桌面开发”** 工作负载，然后点击安装。确保选择以下可选组件（默认应已选中）：\n- MSVC 构建工具（适用于 x64\u002Fx86，最新版本）\n- Windows 10\u002F11 SDK\n- Windows 专用的 C++ CMake 工具\n\n验证：\n```powershell\n& \"${env:ProgramFiles(x86)}\\Microsoft Visual Studio\\Installer\\vswhere.exe\" -products * -requires Microsoft.VisualStudio.Workload.VCTools -property displayName\n# 预期：Visual Studio Build Tools 2022\n```\n\n> **如果你已经拥有完整的 Visual Studio**（而不仅仅是 Build Tools），并且安装了 C++ 工作负载，也可以使用。\n\n---\n\n**步骤 2 — 安装 Node.js（LTS）**\n\n选项 A — 使用 [nvm-windows](https:\u002F\u002Fgithub.com\u002Fcoreybutler\u002Fnvm-windows\u002Freleases)（推荐）：\n\n下载并运行最新的 `nvm-setup.exe` 文件，然后打开一个 **新**终端：\n\n```\nnvm install 22\nnvm use 22\n```\n\n选项 B — 直接从 [nodejs.org](https:\u002F\u002Fnodejs.org\u002F) 下载 LTS 22.x 的 MSI 安装程序。\n\n验证（在 **新**终端中）：\n```\nnode -v\n# 预期：v22.x.x\n```\n\n> **为什么特别选择 Node 22？** 该项目要求 `node >= 22.12.0`（参见 `package.json` 中的 engines 字段）。如果使用 `nvm install lts`，可能会安装尚未经过测试的新大版本。\n\n---\n\n**步骤 3 — 安装 Python**\n\nPython 是 `node-gyp` 编译原生 Node.js 模块（`better-sqlite3`、`bufferutil` 等）所必需的。\n\n选项 A — 使用 [winget](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fpackage-manager\u002Fwinget\u002F)：\n```\nwinget install Python.Python.3.12 --source winget\n```\n\n选项 B — 从 [python.org](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F) 下载。安装时请确保勾选“将 Python 添加到 PATH”。\n\n验证（在 **新**终端中）：\n```\npython --version\n# 预期：Python 3.x.x\n```\n\n---\n\n**步骤 4 — 安装 Rust 工具链**\n\n下载并运行 [rustup-init.exe](https:\u002F\u002Frustup.rs\u002F)。接受默认设置（安装 `stable-msvc`）。\n\n验证（在 **新**终端中）：\n```\nrustc --version\n# 预期：rustc 1.xx.x (...)\nrustup default stable-msvc\n```\n\n---\n\n**步骤 5 — 安装 GStreamer（MSVC）**\n\n从 [gstreamer.freedesktop.org\u002Fdownload](https:\u002F\u002Fgstreamer.freedesktop.org\u002Fdownload\u002F) 下载 **MSVC x86_64** 安装程序——点击 **Windows** → **MSVC x86_64（VS 2022，Release CRT）**。\n\n> 对于 GStreamer 1.28+，有一个合并的安装包（运行时 + 开发环境）。对于较旧的版本，则需要分别下载运行时和开发环境的 MSI 文件。\n\n按照默认设置运行安装程序。通常安装路径为 `C:\\gstreamer\\` 或 `C:\\Program Files\\gstreamer\\`。\n\n安装完成后，在 **新**终端中验证环境变量是否已设置：\n```powershell\necho $env:GSTREAMER_1_0_ROOT_MSVC_X86_64\n\n# 预期：C:\\gstreamer\\1.0\\msvc_x86_64\\（或 C:\\Program Files\\gstreamer\\1.0\\msvc_x86_64\\）\n```\n\n同时，请确保 GStreamer 的 `bin` 目录已添加到你的 PATH 环境变量中：\n```powershell\n$gstRoot = $env:GSTREAMER_1_0_ROOT_MSVC_X86_64\nif ($gstRoot) { echo \"GStreamer 根目录：$gstRoot\" } else { echo \"未设置 - 请参阅下方\" }\n```\n\n> **如果该变量为空：** 安装程序未设置它。请找到 GStreamer 的安装位置并手动设置：\n> ```powershell\n> # 请根据您的安装路径调整以下路径\n> [Environment]::SetEnvironmentVariable(\"GSTREAMER_1_0_ROOT_MSVC_X86_64\", \"C:\\Program Files\\gstreamer\\1.0\\msvc_x86_64\\\", \"User\")\n> ```\n> 然后 **重启终端**。\n\n> **如果 GStreamer 安装到了 `C:\\Program Files\\gstreamer\\` 而不是 `C:\\gstreamer\\`：** 这没有问题 — 只需确保环境变量指向正确的路径（例如 `C:\\Program Files\\gstreamer\\1.0\\msvc_x86_64\\`）。\n\n---\n\n**步骤 6 — 安装 CMake**\n\n编译 GStreamer 回声消除插件需要 CMake。\n\n```\nwinget install Kitware.CMake --source winget\n```\n\n或者从 [cmake.org\u002Fdownload](https:\u002F\u002Fcmake.org\u002Fdownload\u002F) 下载。请确保勾选“添加到 PATH”。\n\n在 **新终端** 中验证：\n```\ncmake --version\n# 预期：cmake version 3.x.x\n```\n\n---\n\n**步骤 7 — 克隆仓库并安装依赖**\n\n```\ngit clone https:\u002F\u002Fgithub.com\u002FLaxcorp-Research\u002Fproject-raven.git\ncd project-raven\nnpm install\n```\n\n`npm install` 需要几分钟时间。它会通过 `postinstall` 脚本自动为 Electron 重新构建 `better-sqlite3`。\n\n验证：\n```powershell\nTest-Path node_modules\\.package-lock.json\n# 预期：True\n```\n\n> **如果 `npm install` 报错“无法找到任何 Python 安装”：** 请返回步骤 3 — 必须安装 Python 并将其添加到 PATH。\n\n> **如果 `npm install` 报错“无法找到任何 Visual Studio 安装”：** `node-gyp` 无法自动检测你的 Build Tools。请按顺序尝试以下修复方法：\n> ```powershell\n> # 修复 1：为 node-gyp 设置版本提示\n> npm config set msvs_version 2022\n> Remove-Item -Recurse -Force node_modules\n> npm install\n> ```\n> 如果较新的 npm 版本对 `npm config set msvs_version` 报错，可以改用环境变量：\n> ```powershell\n> # 修复 2：环境变量（适用于所有 npm 版本）\n> $env:GYP_MSVS_VERSION = \"2022\"\n> Remove-Item -Recurse -Force node_modules\n> npm install\n> ```\n\n---\n\n**步骤 8 — 构建 GStreamer 回声消除插件**\n\n首先，检查项目使用的 Electron 版本：\n```\nnode -e \"console.log(require('.\u002Fnode_modules\u002Felectron\u002Fpackage.json').version)\"\n# 记下版本号（例如 40.4.1）\n```\n\n然后针对该版本构建插件：\n```\ncd src\\native\\aec\nnpm install\nnpx cmake-js compile --runtime electron --runtime-version \u003CELECTRON_VERSION>\ncd ..\\..\\..\n```\n\n将 `\u003CELECTRON_VERSION>` 替换为上一条命令中的版本号（例如 `40.4.1`）。\n\n> **重要提示：** `--runtime electron --runtime-version` 标志是必需的。如果没有这些标志，插件将被编译为 Node.js 版本而非 Electron 版本，并且在加载时会 **崩溃**。如果你后续升级了 Electron，必须使用新版本重新构建此插件。\n\n> **注意：** `build-deps.sh` 脚本仅适用于 macOS。在 Windows 上，GStreamer MSVC 安装程序已经包含了所有必要的插件（包括 WebRTC DSP）。\n\n验证：\n```powershell\nTest-Path src\\native\\aec\\build\\Release\\raven-aec.node\n# 预期：True\n```\n\n> **如果 cmake-js 报错“未安装 CMake”：** 请返回步骤 6。\n\n> **如果 cmake-js 报错“未找到 GStreamer”：** `GSTREAMER_1_0_ROOT_MSVC_X86_64` 环境变量未设置。请返回步骤 5。\n\n> **如果构建成功但链接失败，出现“未解析的外部符号 `g_object_set` \u002F `g_type_check_instance_cast`”错误：** 链接步骤中缺少 GLib\u002FGObject 库。这应由 CMakeLists.txt 自动处理 — 如果遇到此错误，请提交 bug 报告。\n\n---\n\n**步骤 9 — 构建 Windows 音频捕获模块**\n\n```\ncd src\\native\\windows\nnpm install\nnpx napi build --platform --release\ncd ..\\..\\..\n```\n\n验证：\n```powershell\nTest-Path src\\native\\windows\\raven-windows-audio.win32-x64-msvc.node\n# 预期：True\n```\n\n> **如果构建因链接器错误而失败：** 确保 Rust 使用 MSVC 目标：`rustup default stable-msvc`。\n\n> **如果因“未找到 Windows SDK”而失败：** 打开 **Visual Studio Installer → 修改 → 个别组件**，并安装最新的“Windows 10 SDK”或“Windows 11 SDK”。\n\n---\n\n**步骤 10 — 运行应用**\n\n```\nnpm run dev\n```\n\nElectron 应用将打开。首次启动时，你将看到一个包含 6 个步骤的引导流程 — 请输入你的 API 密钥（Deepgram 用于转录，Claude 或 OpenAI 用于 AI 辅助）。\n\n> **如果应用启动但音频捕获不起作用：** 检查 **设置 → 声音**，确保已将正确的播放和录音设备设置为默认设备。WASAPI 会从默认设备捕获音频。\n\n---\n\n### 设置故障排除快速参考\n\n| 症状 | 可能原因 | 解决方法 |\n|---------|-------------|-----|\n| `无法找到任何 Python 安装` | 未安装 Python | 安装 Python 3.x 并将其添加到 PATH（Windows 步骤 3） |\n| `无法找到可用的 Visual Studio 安装` | `node-gyp` 无法自动检测 Build Tools | 设置 `$env:GYP_MSVS_VERSION = \"2022\"`，删除 `node_modules`，重新运行 `npm install` |\n| `npm install` 因 `node-gyp` 错误而失败 | 缺少 C\u002FC++ 构建工具 | **macOS：** `xcode-select --install` **Windows：** 安装 VS Build Tools “桌面开发 with C++”工作负载 |\n| 运行时出现 `NODE_MODULE_VERSION 不匹配` | 原生模块为错误的 Electron 版本构建 | 在项目根目录运行 `npx @electron\u002Frebuild -f -w better-sqlite3` |\n| `build-deps.sh`：“未找到 gstreamer-1.0” | GStreamer 未安装或 `pkg-config` 无法找到它 | **macOS：** 通过 Homebrew 安装并检查 `PKG_CONFIG_PATH`（参见 macOS 步骤 3） |\n| cmake-js：“未安装 CMake” | CMake 未在 PATH 中 | 安装 CMake（Windows 步骤 6） |\n| cmake-js：“未找到 GStreamer”（Windows） | `GSTREAMER_1_0_ROOT_MSVC_X86_64` 未设置 | 手动设置环境变量并重启终端（参见 Windows 步骤 5） |\n| AEC 插件在 Electron 启动时崩溃 | 为 Node.js 而非 Electron 构建 | 使用 `--runtime electron --runtime-version \u003Cyour-electron-version>` 重新构建（Windows 步骤 8） |\n| `swift build` 失败 | Swift 工具链版本过低（需 5.9+） | `sudo rm -rf \u002FLibrary\u002FDeveloper\u002FCommandLineTools && xcode-select --install` |\n| Windows 上 `napi build` 出现链接器错误 | Rust 目标错误或缺少 Windows SDK | `rustup default stable-msvc`，并确保已安装 VS Build Tools C++ 工作负载 |\n| 应用启动但 macOS 上无音频 | 缺少系统权限 | **系统设置 → 隐私与安全性**：授予 **麦克风** 和 **屏幕录制** 权限 |\n| 应用启动但 Windows 上无音频 | 默认音频设备设置错误 | **设置 → 声音**：设置正确的默认播放\u002F录音设备 |\n\n## 键盘快捷键\n\n| 操作           | 快捷键         |\n|----------------|----------------|\n| 切换叠加层     | `Cmd + \\`       |\n| 开始\u002F停止录制  | `Cmd + R`      |\n| 获取 AI 建议   | `Cmd + Enter`  |\n| 清除对话       | `Cmd + Shift + R` |\n| 移动叠加层     | `Cmd + 方向键` |\n| 滚动叠加层     | `Cmd + Shift + 上\u002F下` |\n\n> 在 Windows 系统上，请将 `Cmd` 替换为 `Ctrl`。\n\n## 测试\n\n```bash\nnpm test              # 单元测试 + 集成测试\nnpm run test:coverage # 包含覆盖率报告\nnpm run test:e2e      # 端到端测试（需先运行 npm run build）\nnpm run test:all      # 运行所有测试\n```\n\n## 故障排除\n\n**`better-sqlite3` 原生模块错误：**\n\n`postinstall` 脚本会自动处理此问题。如果仍然出现 `NODE_MODULE_VERSION` 不匹配的错误：\n\n```bash\nnpx @electron\u002Frebuild -f -w better-sqlite3\n```\n\n**重置所有数据（全新启动）：**\n\n```bash\n# macOS\nrm -rf ~\u002FLibrary\u002FApplication\\ Support\u002Fproject-raven\u002F\n\n# Windows\nrmdir \u002Fs \u002Fq \"%APPDATA%\\project-raven\"\n```\n\n## 参与贡献\n\n欢迎提交问题和拉取请求。该项目目前处于积极开发中。\n\n1. 克隆仓库并创建分支\n2. 创建你的功能分支 (`git checkout -b feature\u002Fmy-feature`)\n3. 提交更改 (`git commit -m '添加我的功能'`)\n4. 推送到分支 (`git push origin feature\u002Fmy-feature`)\n5. 打开拉取请求\n\n## 许可证\n\n[MIT](LICENSE)","# Project Raven 快速上手指南\n\nProject Raven 是一款开源的 AI 会议助手，支持实时转录、回声消除和本地运行的 AI 辅助功能。它能在 macOS 和 Windows 上捕获系统音频与麦克风音频，并通过 Deepgram 进行实时转录，结合 Claude 或 OpenAI 提供上下文感知的智能回复。\n\n## 环境准备\n\n### 系统要求\n- **macOS**: 12 (Monterey) 至 15 (Sequoia)，支持 Intel 和 Apple Silicon (M1\u002FM2\u002FM3\u002FM4)\n- **Windows**: 10 (21H2+) 或 11\n- **Linux**: 暂不支持\n\n### 前置依赖\n在开始之前，请确保准备好以下 API Key（首次启动应用时输入即可）：\n- **Deepgram**: 用于实时转录（提供免费额度）\n- **Anthropic (Claude)** 或 **OpenAI**: 用于 AI 智能辅助\n\n---\n\n## 安装步骤\n\n### 🍎 macOS 安装流程\n\n**1. 安装 Xcode 命令行工具**\n```bash\nxcode-select --install\n```\n*验证:* `xcode-select -p` 应返回路径。\n\n**2. 安装 Node.js 22**\n推荐使用 nvm 管理版本：\n```bash\ncurl -o- https:\u002F\u002Fraw.githubusercontent.com\u002Fnvm-sh\u002Fnvm\u002Fv0.40.1\u002Finstall.sh | bash\n```\n*关闭并重新打开终端后执行：*\n```bash\nnvm install 22\nnvm use 22\n```\n*验证:* `node -v` 应显示 `v22.x.x`。\n\n**3. 安装 GStreamer**\n```bash\nbrew install gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad\n```\n*注意:* 若使用 Apple Silicon，可能需要配置 `PKG_CONFIG_PATH`：\n```bash\necho 'export PKG_CONFIG_PATH=\"\u002Fopt\u002Fhomebrew\u002Flib\u002Fpkgconfig:$PKG_CONFIG_PATH\"' >> ~\u002F.zshrc\nsource ~\u002F.zshrc\n```\n\n**4. 克隆项目并安装依赖**\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FLaxcorp-Research\u002Fproject-raven.git\ncd project-raven\nnpm install\n```\n\n**5. 构建回声消除 (AEC) 原生模块**\n```bash\ncd src\u002Fnative\u002Faec\nnpm install\n.\u002Fbuild-deps.sh\nnpx cmake-js compile\ncd ..\u002F..\u002F..\n```\n\n**6. 构建 Swift 音频捕获二进制文件**\n```bash\ncd src\u002Fnative\u002Fswift\u002FAudioCapture\nswift build -c release\ncd ..\u002F..\u002F..\u002F..\n```\n\n**7. 启动应用**\n```bash\nnpm run dev\n```\n*重要:* 首次运行时，需在 **系统设置 -> 隐私与安全性** 中授予应用 **麦克风** 和 **屏幕录制** 权限。\n\n---\n\n### 🪟 Windows 安装流程\n\n*所有命令请在 **PowerShell** 中运行，每步安装后建议重启终端以刷新环境变量。*\n\n**1. 安装 Visual Studio Build Tools**\n下载并运行 [Visual Studio Build Tools](https:\u002F\u002Fvisualstudio.microsoft.com\u002Fvisual-cpp-build-tools\u002F) 安装程序。\n- 勾选 **\"使用 C++ 的桌面开发\"** 工作负载。\n- 确保包含：MSVC 生成工具、Windows 10\u002F11 SDK、C++ CMake 工具。\n\n**2. 安装 Node.js 22**\n推荐使用 [nvm-windows](https:\u002F\u002Fgithub.com\u002Fcoreybutler\u002Fnvm-windows\u002Freleases)：\n下载 `nvm-setup.exe` 安装后，在新终端执行：\n```powershell\nnvm install 22\nnvm use 22\n```\n*验证:* `node -v` 应显示 `v22.x.x`。\n\n**3. 安装 Python**\nNode 原生模块编译需要 Python 3.x。\n```powershell\nwinget install Python.Python.3.12 --source winget\n```\n*注意:* 安装时务必勾选 \"Add to PATH\"。\n\n**4. 安装 Rust 工具链**\n下载并运行 [rustup-init.exe](https:\u002F\u002Frustup.rs\u002F)，保持默认设置安装。\n*验证:* `rustc --version` 应输出版本号。\n\n**5. 克隆项目并安装依赖**\n```powershell\ngit clone https:\u002F\u002Fgithub.com\u002FLaxcorp-Research\u002Fproject-raven.git\ncd project-raven\nnpm install\n```\n\n**6. 构建回声消除 (AEC) 原生模块**\n```powershell\ncd src\u002Fnative\u002Faec\nnpm install\n# Windows 下通常不需要运行 build-deps.sh，直接编译\nnpx cmake-js compile\ncd ..\u002F..\u002F..\n```\n\n**7. 启动应用**\n```powershell\nnpm run dev\n```\n\n---\n\n## 基本使用\n\n1.  **配置密钥**：应用启动后，进入设置页面，依次填入 Deepgram、Anthropic (或 OpenAI) 的 API Key。\n2.  **开始会议**：点击主界面的 \"Start Session\" 按钮。Raven 将自动捕获系统声音（对方发言）和麦克风声音（你的发言）。\n3.  **实时交互**：\n    *   屏幕上将显示半透明悬浮窗，实时展示双方对话转录文本。\n    *   在悬浮窗中输入问题，AI 将基于当前会议上下文提供即时回答或建议。\n4.  **隐身模式**：在设置中开启 \"Stealth Mode\"，悬浮窗在进行屏幕共享（如 Zoom、Teams）时将对他不可见，仅你自己可见。\n5.  **查看历史**：会议结束后，数据自动保存至本地数据库。可在 Dashboard 中查看完整的转录记录、AI 回复及会议摘要。","某远程开发团队正在进行一场高并发的系统架构评审会，技术负责人需要一边听取多方意见，一边实时查阅本地技术文档以回答复杂问题。\n\n### 没有 project-raven 时\n- **回声干扰严重**：当团队成员共享屏幕播放演示视频时，负责人的麦克风会收录扬声器声音产生回声，导致远程参会者听不清讲话，不得不频繁要求静音重述。\n- **记录与思考冲突**：负责人需手动记录会议要点和待办事项，分散了倾听和深度思考的精力，容易遗漏关键的技术决策细节。\n- **上下文检索中断**：面对关于旧版接口规范的提问，必须暂停会议去翻阅本地 PDF 文档或搜索聊天记录，打断了流畅的讨论节奏。\n- **隐私与合规担忧**：使用云端录音工具时，担心敏感的系统架构数据泄露，且无法确保音频数据完全保留在本地设备中。\n\n### 使用 project-raven 后\n- **纯净双路音频**：project-raven 利用 WebRTC AEC3 引擎实时消除系统音频回声，确保负责人在播放演示的同时，麦克风只收录清晰的人声，沟通零障碍。\n- **智能实时副驾**：Deepgram 实时转录双方对话并显示在“隐形”浮窗中（屏幕共享不可见），AI 助手自动总结争议点并生成待办列表，让负责人专注决策。\n- **本地文档即时问答**：通过 RAG 功能加载本地技术文档，负责人可直接询问 AI“旧版支付接口的超时策略是什么”，系统基于本地上下文秒级给出精准答案。\n- **数据本地闭环**：所有音频流、转录文本及 AI 交互记录均通过 SQLite 存储在本地，无需上传云端，彻底消除核心架构数据外泄的顾虑。\n\nproject-raven 将原本混乱的会议流程转化为高效、私密且上下文感知的智能协作体验，让开发者真正专注于技术本身而非工具摩擦。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLaxcorp-Research_project-raven_6fd2d1c3.png","Laxcorp-Research","Laxcorp Research","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FLaxcorp-Research_d941f0f9.png","",null,"https:\u002F\u002Flaxcorpresearch.com","https:\u002F\u002Fgithub.com\u002FLaxcorp-Research",[22,26,30,34,38,42,46,50,54,58],{"name":23,"color":24,"percentage":25},"TypeScript","#3178c6",70.4,{"name":27,"color":28,"percentage":29},"C++","#f34b7d",10.7,{"name":31,"color":32,"percentage":33},"Makefile","#427819",8.7,{"name":35,"color":36,"percentage":37},"C","#555555",2.7,{"name":39,"color":40,"percentage":41},"CMake","#DA3434",2.2,{"name":43,"color":44,"percentage":45},"Swift","#F05138",1.5,{"name":47,"color":48,"percentage":49},"Shell","#89e051",1.4,{"name":51,"color":52,"percentage":53},"Rust","#dea584",1.1,{"name":55,"color":56,"percentage":57},"Batchfile","#C1F12E",0.7,{"name":59,"color":60,"percentage":61},"CSS","#663399",0.4,269,352,"2026-04-17T08:40:26","MIT",4,"macOS, Windows","未说明",{"notes":70,"python":71,"dependencies":72},"Linux 平台暂不支持。macOS 需授予麦克风和屏幕录制权限；Windows 需安装 C++ 构建工具和 Rust。项目采用本地优先架构，音频回声消除依赖 GStreamer 和 WebRTC AEC3 引擎，需分别编译 Swift (macOS) 和 Rust\u002FNAPI-RS (Windows) 原生二进制文件。AI 功能需配置 Deepgram、Anthropic 或 OpenAI 的 API 密钥。","3.12 (Windows 编译原生模块必需)",[73,74,75,76,77,78,79,80,81],"Node.js >= 22.12.0","Electron","GStreamer 1.24+ (含 gst-plugins-base\u002Fgood\u002Fbad)","Xcode Command Line Tools (macOS)","Visual Studio Build Tools with C++ (Windows)","Rust toolchain (Windows)","Swift 5.9+ (macOS)","better-sqlite3","@xenova\u002Ftransformers",[83,84,85,86],"图像","开发框架","音频","Agent",[88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],"ai","anthropic","deepgram","echo-cancellation","electron","gstreamer","macos","meeting","openai","real-time","speech-to-text","transcription","typescript","webrtc","windows",2,"ready","2026-03-27T02:49:30.150509","2026-04-18T00:45:28.140545",[],[],[110,120,128,137,147,155],{"id":111,"name":112,"github_repo":113,"description_zh":114,"stars":115,"difficulty_score":116,"last_commit_at":117,"category_tags":118,"status":104},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[86,84,83,119],"数据工具",{"id":121,"name":122,"github_repo":123,"description_zh":124,"stars":125,"difficulty_score":116,"last_commit_at":126,"category_tags":127,"status":104},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[84,83,86],{"id":129,"name":130,"github_repo":131,"description_zh":132,"stars":133,"difficulty_score":103,"last_commit_at":134,"category_tags":135,"status":104},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",159267,"2026-04-17T11:29:14",[84,86,136],"语言模型",{"id":138,"name":139,"github_repo":140,"description_zh":141,"stars":142,"difficulty_score":143,"last_commit_at":144,"category_tags":145,"status":104},8272,"opencode","anomalyco\u002Fopencode","OpenCode 是一款开源的 AI 编程助手（Coding Agent），旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件，而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码，还是排查难以定位的 Bug，OpenCode 都能通过自然语言交互高效完成，显著减少开发者在重复性劳动和上下文切换上的时间消耗。\n\n这款工具专为软件开发者、工程师及技术研究人员设计，特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构，这意味着用户可以审查代码逻辑、自定义行为策略，甚至私有化部署以保障数据安全，彻底打破了传统闭源 AI 助手的“黑盒”限制。\n\n在技术体验上，OpenCode 提供了灵活的终端界面（Terminal UI）和正在测试中的桌面应用程序，支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具，安装便捷，并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客，还是渴望提升产出的独立开发者，OpenCode 都提供了一个透明、可信",144296,1,"2026-04-16T14:50:03",[86,146],"插件",{"id":148,"name":149,"github_repo":150,"description_zh":151,"stars":152,"difficulty_score":103,"last_commit_at":153,"category_tags":154,"status":104},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[84,83,86],{"id":156,"name":157,"github_repo":158,"description_zh":159,"stars":160,"difficulty_score":103,"last_commit_at":161,"category_tags":162,"status":104},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[146,86,83,84]]