openwhispr

GitHub
2.3k 326 较难 1 次阅读 今天MITAgent音频图像开发框架
AI 解读 由 AI 自动生成,仅供参考

OpenWhispr 是一款注重隐私的跨平台语音转文字应用,旨在将用户的口述内容高效转化为文本,并集成智能 AI 助手以提升生产力。它解决了传统听写工具依赖云端导致的数据隐私顾虑,以及会议记录繁琐、AI 交互不够自然等痛点。

无论是需要快速记录灵感的普通用户、追求数据安全的职场人士,还是希望本地部署大模型的技术爱好者,都能从中受益。其核心亮点在于“隐私优先”架构:支持利用 NVIDIA Parakeet 或 Whisper 模型在本地离线运行,确保语音数据不出设备;同时也兼容主流云端大模型(如 GPT-5、Claude 4.6 等),允许用户自带密钥(BYOK)灵活切换。

功能上,OpenWhispr 不仅提供全局快捷键听写、自动粘贴和媒体暂停等便捷操作,还内置了智能词典自学习机制以优化专业术语识别。独特的"AI 代理模式”允许用户通过自定义唤醒词与玻璃拟态界面的 AI 进行实时流式对话,甚至直接操作笔记。此外,它能自动检测并转录 Zoom、Teams 等平台的会议内容,无缝衔接日程管理,让语音交互真正成为日常工作的得力助手。

使用场景

资深数据科学家林工正在撰写一篇关于多模态模型的技术博客,同时需要整理上午与跨国团队的项目复盘会议记录。

没有 openwhispr 时

  • 隐私与速度难两全:使用云端语音输入担心代码逻辑和未公开数据泄露,而本地离线方案往往识别速度慢、延迟高,打断思考流。
  • 专业术语识别率低:口述"sherpa-onnx"、"RAG 上下文注入”等专有名词时频繁出错,需手动逐字修正,效率极低。
  • 会议记录割裂:会议录音与文字稿分离,回顾时需反复拖拽进度条对照音频查找关键决策点,耗时费力。
  • 工作流中断:语音输入时无法自动暂停背景音乐或播客,且转录内容需手动复制粘贴到编辑器,操作繁琐。

使用 openwhispr 后

  • 私有化高速转录:利用本地 NVIDIA Parakeet 模型实现零延迟、完全离线的语音转文字,敏感技术细节无需上传云端,安心又流畅。
  • 自定义词典自学习:预先导入技术术语库,openwhispr 能精准识别生僻词,并自动记忆林工的口语修正,后续识别准确率持续提升。
  • 智能会议回溯:通过 Google 日历联动自动捕捉 Zoom 会议,生成带时间戳的逐字稿,点击文字即可跳转对应音频片段,复盘效率倍增。
  • 无感沉浸式协作:按下全局快捷键即可随时口述,openwhispr 自动暂停媒体播放并将文字直接“流式”插入光标处,真正实现手不离键盘的连贯创作。

openwhispr 通过本地优先的隐私架构与深度集成的 AI 代理能力,将碎片化的语音交互转化为高效、安全且连贯的生产力流。

运行环境要求

操作系统
  • macOS
  • Windows
  • Linux
GPU
  • 非必需
  • 支持本地运行 NVIDIA Parakeet (基于 sherpa-onnx),未指定具体显卡型号或显存要求
  • 也支持纯云端处理或使用 CPU 运行本地模型
内存

未说明

依赖
notes1. 核心运行环境为 Node.js 22+ 而非 Python。 2. macOS 用户若需使用 Globe 键功能,必须安装 Xcode Command Line Tools。 3. Linux 用户在不同桌面环境(GNOME, KDE, Hyprland)下通过 D-Bus 或特定命令实现全局快捷键。 4. Windows 和 Linux 包含原生 C 二进制文件用于快速粘贴文本,构建时会自动编译或下载。 5. 支持多种本地 AI 模型 (Whisper, LLaMA, Qwen 等) 及云端 API,本地模型需手动下载管理。
python未说明 (项目基于 Node.js,非 Python)
Node.js 22+
npm
React 19
TypeScript
Tailwind CSS v4
sherpa-onnx
llama.cpp
Qdrant
SQLite
openwhispr hero image

快速开始

OpenWhispr

OpenWhispr

许可证 平台 GitHub 发布 下载量 GitHub 星标

一款结合AI智能体、会议转录、笔记记录以及本地/云端语音识别功能的语音转文字听写与效率提升应用。
以隐私为先,跨平台可用。

星标历史

星标历史图

许可证

本项目采用 MIT 许可证授权——详情请参阅 LICENSE 文件。这意味着您可以自由地将此软件用于个人或商业用途,并对其进行修改和分发。

功能特性

听写与转录

  • 🎤 全局热键:可在任意位置通过自定义热键启动或停止听写(默认为反引号 `)
  • 自动粘贴:转录文本会自动粘贴到光标位置(可切换关闭)
  • 🔒 隐私优先:本地处理确保您的语音数据完全私密
  • NVIDIA Parakeet:通过 sherpa-onnx 实现快速本地转录(多语言支持,涵盖25种语言)
  • 🔧 模型管理:下载并管理本地 Whisper 模型(tiny、base、small、medium、large、turbo)
  • 📖 自定义词典:添加词汇、人名和技术术语以提高转录准确度;具备自动学习功能,能检测您的修正并自动更新词典
  • 🗄️ 转录历史:SQLite 数据库本地存储所有转录内容,支持音频保留与重试
  • 🎵 媒体自动暂停:听写时自动暂停媒体播放(如 Spotify、Apple Music 等),结束后恢复播放

AI 智能体模式

  • 🤖 智能体悬浮窗:玻璃质感聊天悬浮窗,支持实时 AI 流式交互、窗口大小调整及对话历史记录
  • 🎯 自定义智能体名称:为您的 AI 助手命名——只需说“Hey [AgentName]”即可下达指令
  • 🧠 多提供商 AI 支持
    • OpenAI:GPT-5、GPT-4.1、o-series 推理模型
    • Anthropic:Claude Opus 4.6、Claude Sonnet 4.6
    • Google:Gemini 3.1 Pro、Gemini 3 Flash、Gemini 2.5 Flash Lite
    • Groq:使用 Llama 和 Mixtral 模型实现超高速推理
    • 本地:通过 llama.cpp 支持 Qwen、LLaMA、Mistral、Gemma 等模型
  • 🛠️ 智能体工具调用:提供搜索、创建和更新笔记等代理工具——本地模型支持 RAG 上下文注入
  • 🤖 AI 动作:对笔记应用 AI 驱动的操作,支持自定义处理模板

会议转录

  • 📅 Google 日历集成:连接多个 Google 账户,在侧边栏查看即将举行的会议,并接收自动检测提示
  • 🎙️ 实时会议转录:通过 OpenAI Realtime API 实时录制并转录会议内容,支持自动检测会议场景(Zoom、Teams、FaceTime 等)
  • BYOK WebSocket 流式传输:不仅适用于会议转录,标准听写模式也可使用实时 OpenAI Realtime API 流式传输——统一的转录流路径
  • ⌨️ 会议专用热键:独立于常规听写模式,专为会议转录设计的热键
  • 🔍 智能检测:结合进程监控、持续音频检测和日历信息,自动识别会议场景

笔记功能

  • 📝 笔记系统:创建、编辑和整理笔记,支持文件夹管理、音频上传及实时听写
  • 🔎 全文搜索:基于 FTS5 的搜索功能,可通过 Cmd+K 快捷键访问命令面板,实现全笔记内容搜索
  • 🧠 本地语义搜索:始终运行的 Qdrant 向量数据库,配合 MiniLM 嵌入技术,可在离线状态下进行基于语义的笔记搜索
  • ☁️ 云同步:本地优先存储,同时支持云端备份与语义搜索
  • 💬 嵌入式聊天:笔记编辑器中内置聊天面板,支持浮动与侧边栏两种模式
  • 📁 文件夹组织:通过拖放方式将笔记归类到自定义文件夹中
  • 💾 导出笔记为文件:可将笔记以 Markdown 格式导出至本地文件系统,保持与文件夹结构一致

云端与账户

  • ☁️ OpenWhispr 云服务:登录后即可立即开始转录,无需 API 密钥,提供免费版和专业版两种方案
  • 🔐 账户体系:支持 Google OAuth 以及邮箱/密码登录,并需完成邮箱验证
  • 💳 订阅管理:免费版(每周2,000字)、专业版(无限制),提供7天免费试用
  • 🔗 推荐计划:邀请好友可获得免费的专业版使用月数,分享专属推荐卡片即可参与

平台与界面

  • 🌐 跨平台支持:适用于 macOS、Windows 和 Linux
  • 🎨 现代 UI:基于 React 19、TypeScript 和 Tailwind CSS v4 构建
  • 📱 响应式设置:设置对话框可根据窗口宽度调整布局,提供可折叠图标侧边栏和堆叠式布局
  • 🖱️ 可拖动界面:听写面板可在屏幕上任意位置移动,支持自定义起始位置
  • 🌐 Globe 键切换(macOS):可选 Fn/Globe 键监听功能,作为硬件级别的听写触发机制——无需输入监控权限
  • ⌨️ 复合热键:支持多键组合,例如 Cmd+Shift+K
  • 🎙️ Windows 端推挽式通话:原生低级键盘钩子实现真正的推挽式通话,同时支持复合热键
  • 🐧 GNOME Wayland 支持:通过 D-Bus 提供原生全局快捷键,适用于 GNOME Wayland 用户
  • 🐧 KDE Wayland 支持:通过 D-Bus 提供原生全局快捷键,适用于 KDE Plasma on Wayland
  • 🐧 Hyprland Wayland 支持:通过 hyprctl 键位绑定 + D-Bus 提供原生全局快捷键,适用于 Hyprland 用户
  • 🖥️ 多显示器支持:浮动听写图标会跟随光标在不同显示器间移动
  • 🧹 模型清理:一键清除缓存模型,并配备卸载钩子以保持磁盘整洁

系统要求

  • Node.js 22+ 和 npm(从 nodejs.org 下载)
  • macOS 12+Windows 10+Linux
  • 在 macOS 上,若需 Globe 键支持,必须安装 Xcode 命令行工具(运行 xcode-select --install),以便捆绑的 Swift 辅助程序能够正常运行

快速入门

用于个人使用(推荐)

  1. 克隆仓库

    git clone https://github.com/OpenWhispr/openwhispr.git
    cd openwhispr
    
  2. 安装依赖

    npm install
    
  3. 可选:设置 API 密钥(仅在使用云端处理时需要):

    方法 A - 环境文件

    cp .env.example .env
    # 编辑 .env 文件并添加您的 API 密钥:
    # OPENAI_API_KEY=your_openai_key
    # ANTHROPIC_API_KEY=your_anthropic_key
    # GEMINI_API_KEY=your_gemini_key
    # GROQ_API_KEY=your_groq_key
    # MISTRAL_API_KEY=your_mistral_key
    

    方法 B - 应用内配置

    • 运行应用并通过控制面板配置 API 密钥。
    • 密钥会自动保存,并在应用重启后仍然有效。
  4. 构建应用程序

    npm run build
    
  5. 运行应用程序

    npm run dev  # 开发模式,支持热重载
    # 或者
    npm start    # 生产模式
    
  6. 可选:从源代码本地下载 Whisper(仅在需要本地处理时才需执行):

    npm run download:whisper-cpp
    

    此命令会将适用于您当前操作系统的 whisper.cpp 二进制文件下载到 resources/bin/ 目录下。

为个人使用构建(可选)

如果您希望构建一个独立的应用程序供个人使用:

# 不进行代码签名的构建(无需证书)
npm run pack

# 未签名的应用程序将位于:dist/mac-arm64/OpenWhispr.app(macOS)
# 或 dist/win-unpacked/OpenWhispr.exe(Windows)
# 或 dist/linux-unpacked/open-whispr(Linux)

注意:在 macOS 上,首次打开未签名的应用程序时可能会出现安全警告。请右键单击并选择“打开”以绕过该警告。

Windows

原生粘贴二进制文件 (windows-fast-paste)

OpenWhispr 在 Windows 上提供了一个原生 C 语言编写的二进制文件,用于通过 Win32 的 SendInput API 实现文本粘贴功能。这是主要的粘贴机制——nircmd 和 PowerShell 只是在原生二进制失败时作为备用方案。

工作原理如下:

  • 普通应用程序:通过 SendInput 模拟 Ctrl+V,使用虚拟键码组合(VK_CONTROL + V)。
  • 终端模拟器:检测前台窗口的类名,并模拟 Ctrl+Shift+V
  • 终端检测:识别 Windows Terminal、cmd.exe、PowerShell、mintty(Git Bash)、PuTTY、Alacritty、WezTerm、kitty、Hyper、MobaXterm 以及 ConEmu/Cmder 等终端。
  • 仅检测模式:支持 --detect-only 标志,用于报告前台窗口的类名而不发送按键。

编译过程(由构建系统自动完成):

# MSVC
cl /O2 windows-fast-paste.c /Fe:windows-fast-paste.exe user32.lib

# MinGW
gcc -O2 windows-fast-paste.c -o windows-fast-paste.exe -luser32

构建脚本(scripts/build-windows-fast-paste.js)首先尝试从 GitHub 发布页面下载预编译的二进制文件。如果无法获取,则使用 MSVC、MinGW-w64 或 Clang 从源代码编译。若以上两种方式均不可行,则回退到 nircmd 或 PowerShell 的 SendKeys 方法。

ℹ️ CASCADIA_HOSTING_WINDOW_CLASS 覆盖了所有在 Windows Terminal 内运行的 Shell(PowerShell、CMD、WSL 等),因此大多数现代 Windows 终端的使用场景都可通过这一单一的类名条目来覆盖。

Linux(多种软件包格式)

OpenWhispr 现在支持多种 Linux 软件包格式,以实现最大的兼容性:

可用格式

  • .deb - Debian、Ubuntu、Linux Mint、Pop!_OS
  • .rpm - Fedora、Red Hat、CentOS、openSUSE
  • .tar.gz - 通用归档文件(适用于任何发行版)
  • .flatpak - 沙盒化的跨发行版软件包
  • AppImage - 可移植的单文件可执行程序

构建 Linux 软件包

# 构建默认的 Linux 软件包格式(AppImage、deb、rpm、tar.gz)
npm run build:linux

# 软件包位于 dist/ 目录下:
# - OpenWhispr-x.x.x-linux-x64.AppImage
# - OpenWhispr-x.x.x-linux-x64.deb
# - OpenWhispr-x.x.x-linux-x64.rpm
# - OpenWhispr-x.x.x-linux-x64.tar.gz

可选:构建 Flatpak(需要额外设置):

# 安装 Flatpak 构建工具
sudo apt install flatpak flatpak-builder  # Debian/Ubuntu
# 或者
sudo dnf install flatpak flatpak-builder  # Fedora/RHEL

# 添加 Flathub 仓库并安装运行时
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user -y flathub org.freedesktop.Platform//24.08 org.freedesktop.Sdk//24.08

# 将 "flatpak" 添加到 electron-builder.json 中的 linux.target,然后进行构建
npm run build:linux

安装示例

# Debian/Ubuntu
sudo apt install ./dist/OpenWhispr-*-linux-x64.deb

# Fedora/RHEL
sudo dnf install ./dist/OpenWhispr-*-linux-x64.rpm

# 通用 tar.gz 包(无需 root 权限)
tar -xzf dist/OpenWhispr-*-linux-x64.tar.gz
cd OpenWhispr-*/
./openwhispr

# Flatpak
flatpak install --user ./dist/OpenWhispr-*-linux-x64.flatpak

# AppImage(现有方法)
chmod +x dist/OpenWhispr-*.AppImage
./dist/OpenWhispr-*.AppImage

原生粘贴二进制文件 (linux-fast-paste)

OpenWhispr 提供了一个原生 C 语言编写的二进制文件,用于在 Linux 上实现文本粘贴功能,该文件会在构建时自动编译。这是主要的粘贴机制——外部工具如 xdotoolwtype 仅在原生二进制失败时才会被用作备份。

工作原理如下:

  • X11:使用 XTest 扩展直接合成 Ctrl+V(或在终端中合成 Ctrl+Shift+V),除了 X11 之外没有任何其他依赖。
  • Wayland:利用 Linux 的 uinput 子系统创建虚拟键盘并注入按键。如果 uinput 不可用,则会通过 XWayland 回退到 XTest。
  • 终端检测:能够识别 20 多种终端模拟器(kitty、alacritty、gnome-terminal、wezterm、ghostty 等),并在终端中自动使用 Ctrl+Shift+V 而不是 Ctrl+V
  • 窗口目标定位:可以通过 --window 参数指定特定的窗口 ID,以确保按键输入到达正确的应用程序。

编译所需的依赖项:

# Debian/Ubuntu
sudo apt install gcc libx11-dev libxtst-dev

# Fedora/RHEL
sudo dnf install gcc libX11-devel libXtst-devel

# Arch
sudo pacman -S gcc libx11 libxtst

构建脚本(scripts/build-linux-fast-paste.js)会在执行 npm run compile:linux-paste 时运行,并完成以下步骤:

  1. 检测是否可以找到 linux/uinput.h 头文件;
  2. 如果可以,则编译时加入 -DHAVE_UINPUT 标志(启用 Wayland 的 uinput 支持);
  3. 缓存生成的二进制文件,除非源代码或编译选项发生变化,否则不会重新编译;
  4. 如果编译失败,会优雅地回退到系统自带的工具。

如果原生二进制文件不可用,OpenWhispr 会按照以下顺序回退到外部粘贴工具:

自动粘贴的备用依赖项

当原生粘贴二进制文件不可用或失效时,将按以下顺序使用这些工具作为备用方案:

X11(传统 Linux 桌面环境)

# Debian/Ubuntu
sudo apt install xdotool

# Fedora/RHEL
sudo dnf install xdotool

# Arch
sudo pacman -S xdotool

Wayland(现代 Linux 桌面)

推荐:安装 wl-clipboard 以实现 Wayland 应用程序之间可靠的剪贴板共享:

sudo apt install wl-clipboard    # Debian/Ubuntu
sudo dnf install wl-clipboard    # Fedora/RHEL
sudo pacman -S wl-clipboard      # Arch

从以下粘贴工具中选择一个

选项 1:wtype(需要虚拟键盘协议支持)

# Debian/Ubuntu
sudo apt install wtype

# Fedora/RHEL
sudo dnf install wtype

# Arch
sudo pacman -S wtype

选项 2:ydotool(适用于更多窗口管理器,需运行守护进程)

# Debian/Ubuntu
sudo apt install ydotool
sudo systemctl enable --now ydotoold

# Fedora/RHEL
sudo dnf install ydotool
sudo systemctl enable --now ydotoold

# Arch
sudo pacman -S ydotool
sudo systemctl enable --now ydotoold

终端检测(可选——适用于 KDE Wayland 用户):

# 在 KDE Wayland 上,kdotool 可启用自动终端检测,
# 从而使用 Ctrl+Shift+V 而不是 Ctrl+V 进行粘贴。
sudo apt install kdotool  # Debian/Ubuntu
sudo dnf install kdotool  # Fedora/RHEL
sudo pacman -S kdotool    # Arch

ℹ️ 注意:OpenWhispr 会自动按以下顺序尝试粘贴方法:原生 linux-fast-paste 二进制文件(XTest 或 uinput)→ wtypeydotoolxdotool(用于 XWayland 应用程序)。如果所有粘贴方法均无效,文本仍会被复制到剪贴板——您只需手动使用 Ctrl+V 进行粘贴。

⚠️ ydotool 要求ydotoold 守护进程必须运行才能使 ydotool 正常工作。您可以使用 sudo ydotoold & 手动启动,或按照上述说明启用 systemd 服务。

GNOME Wayland 全局快捷键

在 GNOME Wayland 上,由于 Wayland 的安全模型限制,Electron 的标准全局快捷键无法正常工作。OpenWhispr 会自动通过 D-Bus 和 gsettings 使用 GNOME 原生键盘快捷键:

  • 快捷键将注册为 GNOME 自定义快捷键(可在“设置”→“键盘”→“快捷键”中查看)。
  • 默认快捷键为 Alt+R(GNOME Wayland 不支持反引号)。
  • GNOME Wayland 上不支持按住说话模式(仅支持点击说话)。
  • 如果 GNOME 集成失败,则回退到 X11/XWayland 快捷键。
  • 无需额外依赖——使用 dbus-next npm 包。

ℹ️ GNOME Wayland 局限性:GNOME 系统快捷键仅触发一次切换事件(无法检测按键释放),因此按住说话模式无法实现。该应用会在 GNOME Wayland 上自动切换为点击说话模式。

🔒 Flatpak 安全性:Flatpak 软件包包含沙盒机制,并明确授予了麦克风、剪贴板和文件访问权限。完整权限列表请参阅 electron-builder.json

分发版构建

对于需要分发签名构建的维护者:

# 需要代码签名证书和公证设置
npm run build:mac    # macOS(需要 Apple 开发者账号)
npm run build:win    # Windows(需要代码签名证书)
npm run build:linux  # Linux

首次设置

  1. 选择处理方式

    • OpenWhispr 云:登录即可享受即时云端转录服务,提供免费和 Pro 版本。
    • 自备密钥:使用您自己的 OpenAI/Groq/AssemblyAI API 密钥。
    • 本地处理:下载 Whisper 或 Parakeet 模型,实现完全私密的转录。
  2. 授予权限

    • 麦克风访问权限:录制语音所必需。
    • 辅助功能权限:自动粘贴文本所必需(macOS)。
    • 屏幕录制权限(可选,macOS):录制会议音频所必需——如果您希望使用会议功能,将在引导过程中提示您。
  3. 命名您的代理:为您的 AI 助手取一个个性化名称(例如,“助理”、“贾维斯”、“亚历克斯”)。

    • 使交互更加自然和对话化。
    • 有助于区分发出指令与普通听写。
    • 您可以随时在设置中更改名称。
  4. 配置全局快捷键:默认为反引号 (`),但可自定义。

使用方法

基本听写

  1. 启动应用——屏幕上会出现一个小巧可拖动的面板。
  2. 按下快捷键(默认:反引号 `)——开始听写(面板显示录音动画)。
  3. 再次按下快捷键——停止听写并开始转录(面板显示处理动画)。
  4. 文本出现——转录后的文本会自动粘贴到光标位置。
  5. 拖动面板——单击并拖动可将听写面板移动到屏幕上的任意位置。

控制面板

  • 访问方式:右键单击托盘图标(macOS)或通过系统菜单。
  • 配置:选择本地处理或云端处理。
  • 历史记录:查看、复制和删除过去的转录内容——支持音频播放及失败转录的重试。
  • 笔记:创建、编辑和整理笔记,支持文件夹、AI 动作和全文搜索。
  • 集成:连接 Google 日历账户,实现会议检测与转录。
  • 模型:下载并管理本地的 Whisper 和 Parakeet 模型。
  • 存储清理:移除缓存中的已下载模型以释放空间。
  • 设置:配置 API 密钥、自定义快捷键、管理权限以及设置代理模式。
  • Cmd+K 搜索:可在应用内的任何位置快速搜索笔记和转录内容。

卸载与缓存清理

  • 应用内操作:使用“设置→常规→本地模型存储→移除已下载模型”来清除 ~/.cache/openwhispr/(或 Windows 上的 %USERPROFILE%\.cache\openwhispr\)中的 Whisper 和 Parakeet 缓存模型。
  • 音频文件:保留的音频文件存储在应用数据目录中,会在 30 天后自动清理。如有需要,可通过设置手动清理。
  • Windows 卸载:NSIS 卸载程序会自动删除缓存目录。
  • Linux 软件包deb/rpm 的卸载后脚本也会移除缓存模型。
  • macOS:如果您手动卸载,可根据需要删除 ~/Library/Caches~/.cache/openwhispr/

代理命名与 AI 处理

在设置阶段为您的代理命名后,您可以使用多种 AI 提供商与其互动:

🎯 代理指令(用于 AI 辅助):

  • “嘿[代理名],把这个说得更专业点”
  • “嘿[代理名],把它格式化成列表”
  • “嘿[代理名],写一封感谢邮件”
  • “嘿[代理名],把这个转换成要点”

🤖 AI 提供商选项

  • OpenAI:GPT-5、GPT-4.1、o 系列推理模型。
  • Anthropic:Claude Opus 4.6、Sonnet 4.6、Haiku 4.5。
  • Google:Gemini 3.1 Pro、Gemini 3 Flash、Gemini 2.5 Flash Lite。
  • Groq:超快速 Llama 和 Mixtral 推理。
  • 本地:Qwen、LLaMA、Mistral、Gemma 模型,通过 llama.cpp 提供。

📝 普通听写(用于常规文本):

  • “这只是我想转录的普通文本”
  • “会议记录:约翰提到了季度报告”
  • “亲爱的莎拉,感谢你的帮助”

AI 会自动检测您是在下达指令还是进行普通听写,并在最终输出中移除代理名称引用。

自定义词典

提升特定单词、姓名或技术术语的转录准确度:

  1. 访问设置:打开控制面板 → 设置 → 自定义词典
  2. 添加词汇:输入经常被误识别的单词、姓名或短语
  3. 工作原理:这些词汇会作为上下文提示提供给语音识别模型

建议添加的词汇示例

  • 不常见的姓名(如“Sergey”、“Xanthe”)
  • 技术术语(如“Kubernetes”、“OAuth”)
  • 品牌名称(如“OpenWhispr”、“whisper.cpp”)
  • 领域特定术语(如“摊销”、“聚合酶”)

代理模式

代理模式会打开一个可调整大小的玻璃拟物风格聊天浮层,用于交互式AI对话:

  1. 启用:前往设置 → 代理模式,并将其开启
  2. 设置快捷键:分配一个专用快捷键以打开代理浮层
  3. 聊天:按下快捷键打开浮层,口述你的消息,并接收流式AI回复
  4. 自定义:设置自定义系统提示,选择你喜欢的AI提供商和模型
  5. 历史记录:所有对话都会被保存,并可随时继续

会议转录

通过Google Calendar集成自动检测并转录会议内容:

  1. 连接日历:前往集成 → Google Calendar并登录
  2. 授予屏幕录制权限(macOS):需要此权限才能捕获会议音频
  3. 自动检测:当会议开始时(Zoom、Teams、FaceTime),会出现通知询问是否要录制
  4. 实时转录:会议音频将通过OpenAI Realtime API进行实时转录
  5. 回顾:会议转录内容会被保存为笔记,供日后查看和AI增强

处理选项

  • OpenWhispr云
    • 使用Google或邮箱登录——无需API密钥
    • 免费计划:每周2,000字,新账户可享受7天Pro试用期
    • Pro计划:无限转录量
  • 自带密钥(BYOK)
    • 使用你自己的来自OpenAI、Groq、Mistral、AssemblyAI的API密钥,或自定义端点
    • 完全掌控提供商和模型的选择
  • 本地处理
    • 通过控制面板安装Whisper或NVIDIA Parakeet
    • 下载模型:tiny(最快)、base(推荐)、small、medium、large(最佳质量)
    • 完全隐私——音频绝不会离开你的设备

项目结构

open-whispr/
├── main.js              # Electron主进程及IPC处理器
├── preload.js           # Electron预加载脚本及API桥接
├── setup.js             # 首次设置脚本
├── package.json         # 依赖项和脚本
├── env.example          # 环境变量模板
├── CHANGELOG.md         # 项目变更日志
├── src/
│   ├── App.jsx          # 主听写界面
│   ├── main.jsx         # React入口文件
│   ├── index.html       # Vite HTML模板
│   ├── index.css        # Tailwind CSS v4配置
│   ├── vite.config.js   # Vite配置
│   ├── components/
│   │   ├── ControlPanel.tsx     # 设置与历史记录UI
│   │   ├── OnboardingFlow.tsx   # 首次设置向导
│   │   ├── SettingsPage.tsx     # 设置界面
│   │   ├── AgentOverlay.tsx     # 代理模式聊天浮层
│   │   ├── CommandSearch.tsx    # Cmd+K命令面板
│   │   ├── IntegrationsView.tsx # Google Calendar及其他集成
│   │   ├── UpcomingMeetings.tsx # 侧边栏会议列表
│   │   ├── agent/               # 代理模式组件
│   │   │   ├── AgentChat.tsx
│   │   │   ├── AgentInput.tsx
│   │   │   ├── AgentMessage.tsx
│   │   │   └── AgentTitleBar.tsx
│   │   ├── notes/               # 笔记系统组件
│   │   │   ├── NoteEditor.tsx
│   │   │   ├── ActionPicker.tsx
│   │   │   ├── ActionManagerDialog.tsx
│   │   │   └……
│   │   ├── settings/            # 设置子组件
│   │   │   └── AgentModeSettings.tsx
│   │   ├── ui/                  # shadcn/ui组件
│   │   └── lib/
│   │       └── utils.ts         # 工具函数
│   ├── config/
│   │   └── prompts.ts           # 中央化AI提示定义
│   ├── services/
│   │   └── ReasoningService.ts  # 多提供商流式AI处理
│   ├── hooks/
│   │   ├── useMeetingTranscription.ts  # 会议音频捕获
│   │   ├── useUpcomingEvents.ts        # 日历事件获取
│   │   ├── useScreenRecordingPermission.ts  # macOS权限
│   │   └……
│   ├── helpers/
│   │   ├── googleCalendarManager.js    # 日历同步及事件管理
│   │   ├── googleCalendarOAuth.js      # OAuth 2.0 PKCE流程
│   │   ├── meetingDetectionEngine.js   # 智能会议检测
│   │   ├── audioStorage.js             # 音频文件存储
│   │   ├── mediaPlayer.js             # 跨平台媒体控制
│   │   └……
│   ├── utils/
│   │   └── agentName.ts         # 代理名称管理工具
│   └── components.json          # shadcn/ui配置
├── resources/
│   └── bin/                     # 原生二进制文件(whisper-cpp、sherpa-onnx等)
└── assets/                      # 应用图标及资源

技术栈

  • 前端:React 19、TypeScript、Tailwind CSS v4
  • 构建工具:Vite搭配优化后的Tailwind插件
  • 桌面应用:Electron 39,支持上下文隔离
  • UI组件:shadcn/ui结合Radix原生组件
  • 数据库:better-sqlite3配合FTS5用于本地存储(转录、笔记、代理、日历)
  • 语音转文字:本地使用OpenAI Whisper(whisper.cpp)+ NVIDIA Parakeet(sherpa-onnx),云端则使用OpenAI API
  • 实时转录:通过WebSocket的OpenAI Realtime API实现会议转录
  • AI处理:多提供商流式处理(OpenAI、Anthropic、Gemini、Groq、本地llama.cpp)
  • 日历集成:Google Calendar API配合OAuth 2.0 PKCE
  • 图标:Lucide React用于统一图标设计

开发

脚本

  • npm run dev - 启动开发模式,支持热重载
  • npm run start - 启动生产构建
  • npm run setup - 首次设置(创建 .env 文件)
  • npm run build:renderer - 仅构建 React 应用
  • npm run download:whisper-cpp - 下载适用于当前平台的 whisper.cpp
  • npm run download:whisper-cpp:all - 下载适用于所有平台的 whisper.cpp
  • npm run download:llama-server - 下载用于本地 LLM 推理的 llama.cpp 服务器
  • npm run download:llama-server:all - 下载适用于所有平台的 llama.cpp 服务器
  • npm run download:sherpa-onnx - 下载用于 Parakeet 本地转录的 sherpa-onnx
  • npm run download:sherpa-onnx:all - 下载适用于所有平台的 sherpa-onnx
  • npm run compile:native - 编译原生辅助工具(macOS 上的 Globe 键盘监听器和媒体遥控器,Windows 上的键盘监听器和快速粘贴功能,Linux 上的快速粘贴功能,以及用于自动学习的文本监控工具)
  • npm run build - 完整构建并签名(需要证书)
  • npm run build:mac - macOS 构建并签名
  • npm run build:win - Windows 构建并签名
  • npm run build:linux - Linux 构建
  • npm run pack - 不带签名的构建(供个人使用)
  • npm run dist - 构建并打包,同时签名
  • npm run lint - 运行 ESLint 检查
  • npm run format - 使用 Prettier 格式化代码
  • npm run clean - 清理构建产物
  • npm run preview - 预览生产构建

架构

该应用由两个主要窗口组成:

  1. 主窗口:用于听写控制的极简叠加层
  2. 控制面板:完整的设置与历史记录界面

两者使用相同的 React 代码库,但会根据 URL 参数渲染不同的组件。

关键组件

  • main.js:Electron 主进程、IPC 处理程序及数据库操作
  • preload.js:主进程与渲染进程之间的安全桥接
  • App.jsx:包含录音控制的主要听写界面
  • ControlPanel.tsx:用于设置、历史记录、笔记、集成及模型管理
  • AgentOverlay.tsx:代理模式下的聊天叠加层,支持流式 AI 回答
  • CommandSearch.tsx:Cmd+K 命令面板,用于搜索笔记和转录内容
  • IntegrationsView.tsx:Google 日历连接及会议设置
  • src/helpers/whisper.js:whisper.cpp 集成,用于本地处理
  • src/helpers/googleCalendarManager.js:日历同步与事件管理
  • src/helpers/meetingDetectionEngine.js:智能会议检测引擎
  • src/helpers/audioStorage.js:音频文件的存储与管理
  • src/helpers/mediaPlayer.js:跨平台的媒体暂停/恢复功能
  • src/services/ReasoningService.ts:多提供商的 AI 处理服务,支持流式处理
  • better-sqlite3:用于存储转录、笔记、代理数据及日历信息的本地数据库

Tailwind CSS v4 设置

该项目使用最新的 Tailwind CSS v4,配置包括:

  • 基于 @theme 指令的 CSS 优先配置
  • Vite 插件以优化性能
  • 自定义设计令牌,实现一致的主题风格
  • 支持深色模式,通过 @variant 实现

构建

构建过程会为您的平台生成一个单独的可执行文件:

# 开发构建
npm run pack

# 生产构建
npm run dist           # 当前平台
npm run build:mac      # macOS DMG + ZIP
npm run build:win      # Windows NSIS + 便携版
npm run build:linux    # AppImage + DEB

注意:build/pack/dist 脚本会自动下载适用于当前平台的 whisper.cpp、llama-server 和 sherpa-onnx。若需从同一台主机打包多个平台版本,请先运行 :all 变体脚本(npm run download:whisper-cpp:allnpm run download:llama-server:allnpm run download:sherpa-onnx:all)。

配置

环境变量

在项目根目录下创建 .env 文件(或使用 npm run setup):

# OpenAI API 配置(可选,仅在使用云端处理时需要)
OPENAI_API_KEY=your_openai_api_key_here

# 可选:自定义 Whisper 模型
WHISPER_MODEL=whisper-1

# 可选:设置语言以提高转录准确度
LANGUAGE=

# 可选:Anthropic API 配置
ANTHROPIC_API_KEY=your_anthropic_api_key_here

# 可选:Google Gemini API 配置
GEMINI_API_KEY=your_gemini_api_key_here

# 可选:Groq API 配置(超高速推理)
GROQ_API_KEY=your_groq_api_key_here

# 可选:Mistral API 配置(Voxtral 转录)
MISTRAL_API_KEY=your_mistral_api_key_here

# 可选:调试模式
DEBUG=false

本地 Whisper 设置

对于本地处理,OpenWhispr 使用 OpenAI 的 Whisper 模型,通过高性能 C++ 实现 whisper.cpp:

  1. 内置二进制文件:whisper.cpp 已随应用打包,适用于所有平台
  2. GGML 模型:首次使用时会下载优化后的 GGML 模型,并存储到 ~/.cache/openwhispr/whisper-models/
  3. 无依赖:无需 Python 或其他运行时环境

系统回退:若内置二进制文件无法正常工作,可通过包管理器安装:

从源码安装:在本地运行(而非打包构建)时,需使用 npm run download:whisper-cpp 下载二进制文件,确保 resources/bin/ 目录下有适用于您平台的可执行文件。

要求

  • 充足的磁盘空间以存储模型(75MB 至 3GB,视模型大小而定)

从基于 Python 的版本升级:如果您之前使用的是基于 Python 的 Whisper,则需要重新下载 GGML 格式的模型。您可以安全地删除旧的 Python 环境(~/.openwhispr/python/)以及 PyTorch 模型(~/.cache/whisper/),以释放磁盘空间。

本地 Parakeet 设置(替代方案)

OpenWhispr 还支持通过 sherpa-onnx 使用 NVIDIA Parakeet 模型——这是 Whisper 的快速替代方案:

  1. 内置二进制文件:sherpa-onnx 已随应用打包,适用于所有平台
  2. INT8 量化模型:高效 CPU 推理
  3. 模型存储位置~/.cache/openwhispr/parakeet-models/

可用模型

  • parakeet-tdt-0.6b-v3:多语言支持(25 种语言),约 680MB

何时选择 Parakeet 或 Whisper

  • Parakeet:最适合对速度要求较高的场景或硬件配置较低的情况
  • Whisper:更适合对质量要求较高的场景,或需要特定模型尺寸时

自定义选项

  • 快捷键:可在控制面板中更改,默认为反引号 `,且完全可自定义
  • 面板位置:可将听写面板拖动至屏幕上的任意位置
  • 处理方式:在控制面板中选择本地或云端处理
  • Whisper 模型:在控制面板中根据需求选择质量或速度
  • UI 主题:可通过编辑 src/index.css 中的 CSS 变量进行调整
  • 窗口大小:可在 main.js 中调整窗口尺寸
  • 数据库:转录内容存储在用户数据目录中

贡献

我们欢迎各位贡献!请按照以下步骤操作:

  1. Fork 仓库
  2. 创建特性分支(git checkout -b feature/amazing-feature
  3. 提交更改(git commit -m '添加精彩功能'
  4. 推送到分支(git push origin feature/amazing-feature
  5. 打开 Pull Request

开发指南

  • 提交代码前运行 npm run lint
  • 遵循现有代码风格
  • 根据需要更新文档
  • 提交前在目标平台上进行测试

安全性

OpenWhispr 在设计时充分考虑了隐私与安全性:

  • 本地处理选项:确保您的语音数据完全私密
  • 无数据分析:我们不会收集任何使用数据或遥测信息
  • 开源:所有代码均可供审查
  • 安全存储:API 密钥会安全地存储在您系统的钥匙串/凭据管理器中
  • 最小权限:仅请求必要的权限(麦克风、辅助功能、会议录制)
  • OAuth 2.0 PKCE:Google 日历使用安全的 PKCE 流程——不存储客户端密钥
  • 本地优先笔记:笔记本地存储在 SQLite 中;云同步为可选功能

故障排除

常见问题

  1. 麦克风权限:请在系统偏好设置/设置中授予相关权限
  2. 辅助功能权限(macOS):自动粘贴文本需要此权限
    • 打开系统设置 → 隐私与安全性 → 辅助功能
    • 添加 OpenWhispr 并启用复选框
    • 如有需要,可在控制面板中使用“修复权限问题”功能
  3. API 密钥错误(仅限云端处理):请确保您的 OpenAI API 密钥有效且账户余额充足
    • 可通过控制面板或 .env 文件设置密钥
    • 检查日志以确认“OpenAI API 密钥存在:是/否”
  4. 本地 Whisper 问题
    • whisper.cpp 已随应用打包
    • 若打包的二进制文件无法运行,请通过 brew install whisper-cpp 进行安装(macOS)
    • 请检查磁盘空间是否足以存放模型
  5. 全局热键冲突:可在控制面板中更改热键——任意按键均可使用
    • GNOME Wayland:热键通过 gsettings 注册;请检查设置 → 键盘 → 快捷键是否存在冲突
  6. 文本无法粘贴
    • macOS:请检查辅助功能权限(系统设置 → 隐私与安全性 → 辅助功能)
    • Linux X11:请安装 xdotool
    • Linux Wayland:请安装 wtypeydotool 来模拟粘贴操作(确保 ydotoold 守护进程正在运行)
    • 所有平台:文本始终会被复制到剪贴板——请手动使用 Ctrl+V(macOS 为 Cmd+V)进行粘贴
  7. 面板位置:若面板显示在屏幕外,请重启应用以重置位置
  8. 会议检测未生效
    • macOS:请在系统设置 → 隐私与安全性 → 屏幕录制中授予屏幕录制权限
    • 确保已在集成中连接 Google 日历
    • 检查设置中是否已启用会议检测功能
  9. 代理模式问题
    • 确保已在设置 → 代理模式中启用该功能
    • 验证您是否拥有所选 AI 提供商的有效 API 密钥
    • 检查代理模式热键是否与其他快捷键冲突

获取帮助

  • 请查看 Issues 页面
  • 查看控制台日志以获取调试信息
  • 对于本地处理:请确保 whisper.cpp 可用且模型已下载
  • 对于云端处理:请验证您的 OpenAI API 密钥及账单状态
  • 检查控制面板中的系统状态和诊断信息

性能提示

  • 本地处理:建议使用 “base” 模型,以获得速度与准确性的最佳平衡
  • 云端处理:通常速度更快,但需要互联网连接
  • 模型选择:tiny(最快)→ base(推荐)→ small → medium → large(最佳质量)
  • 权限:请确保所有必要权限均已授予,以保证流畅运行

常见问题解答

问:OpenWhispr 真的是免费的吗? 答:是的!OpenWhispr 是开源且免费使用的。免费计划包含每周 2,000 字的云端转录服务,而本地处理则完全免费且无限制。付费计划低至每月 8 美元。

问:我应该使用哪种处理方式? 答:如果您注重隐私且需要离线使用,请选择本地处理;若您追求速度与便利,则可以选择云端处理。

问:我可以将它用于商业用途吗? 答:可以!MIT 许可证允许商业使用。

问:如何更改热键? 答:右键点击托盘图标打开控制面板,进入设置即可。您可以将任意按键设为热键。

问:我的数据安全吗? 答:使用本地处理时,您的音频绝不会离开设备。而使用云端处理时,音频会发送到 OpenAI 的服务器(请参阅其隐私政策)。

问:支持哪些语言? 答:OpenWhispr 支持 58 种语言,包括英语、西班牙语、法语、德语、中文、日语等。您可以在 .env 文件中设置首选语言,或使用自动检测功能。

问:什么是代理模式? 答:代理模式会打开一个聊天浮层,您可以通过语音与 AI 进行交互式对话。它支持来自所有提供商(OpenAI、Anthropic、Gemini、Groq、本地模型)的流式响应,并保存对话历史。

问:会议转录是如何工作的? 答:在集成中连接您的 Google 日历。当会议开始时(Zoom、Teams、FaceTime),OpenWhispr 会检测到并提供录音选项。音频将通过 OpenAI Realtime API 实时转录。在 macOS 上,需要屏幕录制权限才能捕获会议音频。

问:我的笔记存储在哪里? 答:笔记本地存储在 SQLite 中,支持可选的云同步。它们具备全文搜索(FTS5)、文件夹组织以及 AI 驱动的增强功能。

问:OpenWhispr 在 macOS 上是否需要输入监控权限? 答:不需要。自 v1.6.0 起,OpenWhispr 使用 NSEvent 监视器代替 CGEvent 拦截,从而不再需要输入监控权限。仅需麦克风和辅助功能权限(加上会议功能所需的屏幕录制权限)。

项目状态

OpenWhispr 目前处于积极维护状态,已准备好投入生产使用。当前版本:1.6.7

  • ✅ 核心听写功能,支持本地与云端处理
  • ✅ 跨平台支持(macOS、Windows、Linux)
  • ✅ OpenWhispr 云服务,配备账户系统、使用情况追踪及 Stripe 支付功能
  • ✅ 多家 AI 提供商支持(OpenAI、Anthropic、Gemini、Groq、Mistral、本地模型)
  • ✅ 代理模式,支持流式聊天浮层及对话历史记录
  • ✅ Google 日历集成,支持自动会议检测
  • ✅ 通过 OpenAI Realtime API 实现会议实时转录
  • ✅ 笔记系统,支持 FTS5 搜索、云同步、文件夹管理及 AI 动作
  • ✅ 音频保留功能,支持失败转录的回放与重试
  • ✅ Cmd+K 命令搜索,可跨笔记与转录内容查找
  • ✅ 听写过程中自动暂停媒体播放
  • ✅ 自定义词典,支持自动学习纠正功能
  • ✅ 通过 sherpa-onnx 支持 NVIDIA Parakeet
  • ✅ 复合热键及 Windows 按住说话功能
  • ✅ GNOME Wayland 和 Hyprland 原生全局快捷键
  • ✅ 推荐计划,支持分享邀请卡
  • ✅ 专用会议模式热键
  • ✅ CodeQL 静态分析及 Dependabot 依赖项更新

致谢

  • OpenAI Whisper - 为本地和云端转录提供支持的语音识别模型
  • whisper.cpp - 高性能的 Whisper C++ 实现,用于本地处理
  • NVIDIA Parakeet - 适用于高效本地转录的快速 ASR 模型
  • sherpa-onnx - 用于 Parakeet 模型推理的跨平台 ONNX 运行时
  • Electron - 跨平台桌面应用框架
  • React - UI 组件库
  • shadcn/ui - 基于 Radix 原语构建的精美 UI 组件
  • Hugging Face - 我们本地语音识别和语言模型的模型托管平台
  • llama.cpp - 用于 AI 驱动文本处理的本地 LLM 推理

版本历史

v1.6.72026/04/03
v1.6.62026/03/23
v1.6.52026/03/17
v1.6.42026/03/16
v1.6.32026/03/14
v1.6.22026/03/11
v1.6.12026/03/09
v1.6.02026/03/07
v1.5.52026/03/02
v1.5.42026/02/26
windows-text-monitor-v1.0.02026/02/26
v1.5.32026/02/25
v1.5.22026/02/24
v1.5.12026/02/24
v1.5.02026/02/23
v1.4.112026/02/13
windows-fast-paste-v1.0.02026/02/13
v1.4.102026/02/13
v1.4.92026/02/13
v1.4.82026/02/12

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|昨天
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|昨天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

142.7k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.9k|★★☆☆☆|今天
开发框架图像Agent

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|今天
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|今天
语言模型图像Agent