跳到正文
AI NEWS JOURNAL
Hacker News Show HNAI NEWS / JOURNAL

Show HN:Notebook AI——适用于 Mac 的本地优先会议记录

文章网址:https://github.com/sridharchaildn/notebook-ai 评论网址:https://news.ycombinator.com/item?id=50446588 积分:1 # 评论:0

尚无对应语言译文,当前显示原文。

基于桌面优先的AI笔记工具,采用本地优先的Electron用户体验、Next.js Web应用以及FastAPI/LangChain后端。 采用MIT许可证。第三方程序列于NOTICE文件中。 您可以打开桌面应用,在本机上无需账户即可记笔记。仅当需要Google Drive同步或Web账户保险箱时才需登录。 架构 Notebook AI是一个单体仓库: apps/desktop:Electron + React + Vite 桌面记录器/编辑器 apps/web:Next.js 登陆页、注册/登录、引导及Web设置 services/local-sidecar:本地FastAPI笔记/转录API services/cloud-api:托管的FastAPI认证/提供商/设置API packages/contracts:共享的TypeScript API契约 packages/theme:共享的设计令牌(浅色/深色) packages/ui:共享的React基础组件 flowchart TB subgraph machine["您的设备"] Desktop["桌面应用 Electron · React · Vite"] Web["Web应用 Next.js"] Sidecar["本地辅助服务 FastAPI · LangChain"] Notes[("Markdown笔记 存储在磁盘上")] Desktop -->|"localhost"| Sidecar Sidecar --> Notes Desktop -->|"在浏览器中打开登录界面"| Web end subgraph network["网络"] Cloud["云API FastAPI"] Supabase["Supabase"] Providers["提供商API OpenAI · OpenRouter · …"] Cloud --> Supabase end Web -->|"登录 · 引导 · BYOK"| Cloud Desktop -->|"桌面认证交换 · Drive OAuth流程"| Cloud Sidecar -->|"流式转换 · 转录"| Providers 为什么需要本地辅助服务? 这里的“sidecar”是指您在桌面应用旁边运行的一个小型本地HTTP服务(而非第二个云端)。它的存在是为了让日常操作保持本地优先且低延迟: 笔记:通过辅助服务创建、列出和保存Markdown内容,使数据始终存储在您的文件系统中,UI无需为每次编辑依赖远程服务。 AI与转录:流式处理 转换和音频往返会发送到本地主机上的 sidecar,它使用 sidecar .env 文件中的密钥或该设备上桌面应用本地保存的密钥与提供商 API 进行通信。 云 API 是一个独立的配套组件:用于 Supabase 身份验证校验、会话刷新/登出、Web/移动端提供商保险库存储、存储偏好设置、桌面身份验证交接以及 Drive 集成元数据。它不会存储您的笔记 Markdown 内容,也不会介入防抖笔记持久化的路径中。桌面笔记、本地提供商密钥、转录和 AI 功能无需登录即可使用。Google Drive 镜像和 Web 保险库则需要账户。 凭据范围被有意拆分: 桌面 BYOK 通过 services/local-sidecar 存储在设备本地,不会同步到账户保险库。 Web 和未来的移动端客户端仅将 BYOK 存储在云 API 的加密账户保险库中。 托管 AI 路由可以在服务端使用保险库凭据,但原始提供商密钥不会返回到浏览器或移动端客户端。 UX 亮点 快速的本地优先笔记编辑,带有防抖持久化 流式 AI 操作面板(总结、重写、提取行动项) 统一的 Web + 桌面视觉系统,共享令牌/组件 深色和浅色主题,并持久化偏好设置 开始使用 请按照“开始使用”指南安装依赖项,无需账户即可运行桌面应用,还可选择启动云 API。 公开的 Mac 下载将位于您绑定的域名上。当域名准备就绪时,请将 NEXT_PUBLIC_DESKTOP_DOWNLOAD_URL 设置为该 URL。在此之前,“Download for Mac”会打开 GitHub 的最新版本。 设置指南 开始使用 Supabase、Google 登录及 Google Drive 设置 macOS 桌面版发布 环境 复制占位文件并留空密钥: services/local-sidecar/.env.example services/cloud-api/.env.example apps/desktop/.env.example apps/web/.env.example 请勿提交 .env 文件。音频转码在已安装 ffmpeg 时会使用 PATH 中的 ffmpeg。发布版本不包含 ffmpeg。 版本控制与发布 VERSION 是整个仓库的权威来源。 在更新 VERSION 后,请运行 npm run version:sync。 使用 npm run release:notes -- --version 生成发布说明。 使用 npm run release:sidecar:mac 构建 macOS sidecar 包。 使用 npm run release:desktop:mac 构建 macOS 桌面 DMG。 有关分支命名和发布节奏,请参阅 docs/releases/PROCESS.md。 API 表面 本地 sidecar: POST /notes GET /notes PUT /notes/{id} PATCH /notes/{id}/move DELETE /notes/{id} GET /folders POST /folders PATCH /folders/{id} DELETE /folders/{id} GET /storage/local-root PUT /storage/local-root GET /storage/preference PUT /storage/preference GET /sync/status POST /sync/run POST /ai/transform/stream (SSE) GET /providers/status POST /providers/byok GET /providers/models DELETE /providers/{provider} 云 API: POST /auth/session/refresh POST /auth/logout GET /settings/storage PUT /settings/storage POST /providers/openai/oauth/start GET /providers/openai/oauth/callback POST /integrations/google-drive/oauth/start GET /integrations/google-drive/oauth/callback GET /integrations/google-drive/status POST /integrations/google-drive/access-token POST /providers/byok (web/mobile 加密账户保险库) GET /providers/status GET /providers/credential (仅限服务器端使用) DELETE /providers/{provider}

资料来源

阅读原文 ↗

相关主题

← 继续阅读全部动态