Show HN: OpenBrief – 本地优先的视频下载与摘要工具
Show HN: OpenBrief – Local-first video downloader/summarizer

原始链接: https://github.com/tantara/openbrief

OpenBrief 是一款开源且注重隐私的桌面应用程序,基于 Tauri v2 和 pnpm/Turborepo 工作区构建。它专为本地媒体管理而设计,允许用户导入本地文件或视频链接,从而创建可搜索的私人资料库。 主要功能包括: * **转录:** 设备本地语音转文字处理。 * **基于内容的摘要:** 自动生成的带时间戳 Markdown 简报。 * **媒体交互:** 支持对照转录文本进行对话,以及文本转语音播放。 * **可扩展性:** 支持多种 AI 模型(OpenAI、Claude、Gemini 及本地替代方案)。 该项目架构采用了强大的单体仓库(monorepo)结构,包含 React/Vite 渲染器、基于 Rust 的 Tauri 后端,以及用于 UI、API 和数据库管理的共享包。项目采用 GNU Affero 通用公共许可证 (AGPL) v3.0 发布,通过在本地机器运行任务来强调用户隐私。开发流程采用标准的工作区工作流,并利用 Turborepo 实现高效的构建、测试和依赖管理。

抱歉。
相关文章

原文

OpenBrief is a pnpm/Turborepo workspace centered on a Tauri v2 desktop app. It supports importing local media or video URLs, downloading media through bundled tools, transcribing audio, generating grounded summaries, chatting with media context, organizing playlists, and exporting reusable notes.

  • 📥 Import anything — paste a video link or import a local audio/video file.
  • ✍️ Transcribe locally — extract captions or run on-device speech-to-text.
  • 📝 Grounded summaries — generate blog-style markdown briefs with timestamped takeaways.
  • 💬 Chat with media — ask questions against the summary or full transcript.
  • 🔊 Listen back — turn summaries into audio with text-to-speech.
  • 🔒 Open source & private — runs on your machine, free to use.

Build a searchable library from video links or local files, then extract transcripts and keep everything in one place.

Library view

Open any item to read the transcript, generate a grounded summary, and chat with the media context side by side.

Brief and chat view

Model type Supported TODO
Speech to text Whisper, Parakeet, Qwen3-ASR None
Text to speech Supertonic 3, Qwen3-TTS None
Large language model OpenAI GPT, Anthropic Claude, Google Gemini, OpenRouter DeepSeek Local Gemma 4
Video embedding None Frame and clip embeddings for semantic search
client/
  apps/
    tauri/            Main OpenBrief desktop app
      src/            React renderer, feature UI, domain logic, services, hooks, i18n
      src-tauri/      Tauri v2 Rust boundary, commands, helper sidecar, packaging
      scripts/        Helper-sidecar and media-tool preparation scripts
    nextjs/           Web app and download/YouTube routes
    tanstack-start/   TanStack Start app shell
    expo/             React Native app shell
    workers/          Worker entry points
  packages/
    api/              Shared API routing
    auth/             Authentication integration
    db/               Database schema and access
    ui/               Shared UI components
    validators/       Shared validation helpers
  tooling/
    eslint/           Shared ESLint config
    github/           GitHub setup helpers
    prettier/         Shared Prettier config
    tailwind/         Shared Tailwind config
    typescript/       Shared TypeScript config

AGENTS.md             Repository development guidance
DESIGN.md             Product and UI direction
  • Node.js ^22.21.0
  • pnpm 11.0.9
  • Rust and Cargo
  • Tauri v2 platform prerequisites for your OS

Use the package manager declared in client/package.json.

Install dependencies from the workspace root:

If pnpm reports ignored native build scripts on a fresh machine, run pnpm approve-builds, approve the listed native/tooling packages, then rerun pnpm install.

Create local environment values when needed:

Use two terminals from client/ when working on both the web app and desktop app:

The Next.js app runs at http://localhost:3000.

The Tauri dev command builds the helper sidecar, starts the desktop renderer through Vite at http://localhost:1420, compiles the Rust app, and launches the desktop window.

Run the Tauri desktop app:

Run only the renderer during frontend work:

cd client/apps/tauri
pnpm dev

Build frontend assets:

cd client/apps/tauri
pnpm build

Build or refresh bundled helper/media assets:

cd client/apps/tauri
pnpm setup:dev-sidecars
pnpm prepare:media-assets

Useful desktop checks:

cd client/apps/tauri
pnpm test:run
pnpm typecheck
cd src-tauri && cargo check

Run the Next.js app:

Run all workspace dev tasks through Turbo:

Common workspace checks:

cd client
pnpm typecheck
pnpm lint
pnpm build

Database and auth helpers:

cd client
pnpm db:push
pnpm db:studio
pnpm auth:generate

Use pnpm --filter <workspace> <script> or pnpm -F <workspace> <script> for a single app or package.

OpenBrief builds on and takes inspiration from several projects:

OpenBrief is licensed under the GNU Affero General Public License v3.0.

Run the smallest check that proves the change, then widen as needed:

cd client/apps/tauri && pnpm test:run <pattern>
cd client/apps/tauri && pnpm typecheck
cd client/apps/tauri/src-tauri && cargo check
cd client && pnpm --filter @acme/nextjs typecheck
git diff --check

For packaging, run the relevant Tauri build on the target platform before making release claims.

联系我们 contact @ memedata.com