Releases: garetneda-gif/obsidian-realtime-transcription
v1.4.0 — Multi-language UI (Chinese & English)
New Feature
- Multi-language UI support (i18n): The plugin now supports both Simplified Chinese and English interfaces. A new "Language / 语言" dropdown has been added as the first option in the settings page. All user-facing strings — settings, notices, button labels, status messages, and error messages — are fully translated.
How to switch language
Open plugin settings → select English or 简体中文 from the "Language / 语言" dropdown at the top. The settings page will re-render immediately in the selected language.
Notes
- AI system prompts (for summarization, title generation, and text polishing) remain in Chinese, as they instruct the AI model rather than the user.
- Default language is Chinese (zh) to maintain backward compatibility.
Install
Extract the platform-specific zip and place the realtime-transcription/ folder into .obsidian/plugins/, then restart Obsidian.
v1.3.1 — 修复 AI 摘要失败时无限重试
修复
- 修复 AI 摘要 API 返回错误时无限重试导致通知刷屏:
maybeRunSummary中,API 调用失败后catch块将文本放回summaryBuffer,finally之后的递归检查立即重新触发调用,形成死循环。修复方式为在catch块末尾return,失败后不递归重试,等下次新转录文本追加时再自然触发摘要。
触发场景
摘要 API 端点不可达或返回 500 时,设置页面被大量 "AI 摘要失败: Request failed, status 500" 通知覆盖。
安装
解压对应平台的 zip,将 realtime-transcription/ 文件夹放入 .obsidian/plugins/ 目录,重启 Obsidian。
v1.3.0 - 修复转录卡片重复
修复
- 修复连续说话时转录卡片重复上句内容:将
lastCommittedPartialText(单字符串,只记最后一次 flush)改为committedPartialTexts(数组),跟踪同一 VAD 段内所有已 flush 的 partial 文本。去重时将数组拼接后与 final 文本做前缀重叠匹配,解决多次 flush 后去重失效的问题。
触发场景
连续说话超过 6 秒不停顿(课堂常见),导致 partial flush 多次触发,VAD 最终输出的 final 文本与 lastCommittedPartialText 无法匹配,去重失败,产生重复卡片。
安装
解压对应平台的 zip,将 realtime-transcription/ 文件夹放入 .obsidian/plugins/ 目录,重启 Obsidian。
v1.2.1 — 修复全局状态栏被隐藏
修复 .status-bar 选择器过于宽泛导致 Obsidian 全局状态栏被隐藏的问题。
将选择器限定为 .transcription-view .status-bar。
v1.2.0 GPU 加速支持
新功能
GPU 加速支持
- macOS: 支持 CoreML 加速(利用 Apple Neural Engine / GPU),显著提升推理速度
- Windows: 支持 CUDA 加速(需要 NVIDIA 显卡 + CUDA Toolkit)
使用方法
在插件设置 → 模型设置 → GPU 加速中选择对应选项:
- macOS 用户选择 CoreML
- Windows NVIDIA 用户选择 CUDA
- 无 GPU 或不确定时保持 CPU(默认)
注意事项
- CoreML 加速需要 macOS 12+ 和支持的 Apple Silicon / Intel Mac
- CUDA 加速需要安装 CUDA Toolkit 和兼容的 NVIDIA 驱动
- 如果选择 GPU 加速后出错,请切回 CPU 模式
下载
realtime-transcription-v1.2.0-macOS.zip— macOS 版本realtime-transcription-v1.2.0-Windows.zip— Windows 版本
v1.1.0 · macOS + Windows 统一版
v1.1.0 更新内容
新增
- 一键安装脚本:
setup.command(macOS/Linux)和setup.bat(Windows),自动创建虚拟环境并安装所有依赖 - 双平台构建:
build.sh一键生成 macOS 和 Windows 两个可部署包 - 模型下载修复:下载按钮现在根据「使用 Int8 量化模型」设置正确选择下载
model.onnx或model.int8.onnx
修复
- 修复 macOS 上
pip3 install报externally-managed-environment错误的问题(改用虚拟环境) - 修复关闭 Int8 选项后下载按钮仍然只下载
model.int8.onnx的问题
安装说明
- 下载对应系统的 zip 文件
- 解压后将
realtime-transcription/文件夹复制到 Vault 的.obsidian/plugins/目录 - 进入
backend/目录运行安装脚本:- macOS/Linux:
bash setup.command - Windows:双击
setup.bat
- macOS/Linux:
- 脚本会输出 Python 路径,复制到插件设置中即可
v1.0.3 · Windows 专用版
⚠️ 平台说明
本版本仅适用于 Windows 用户。
macOS / Linux 用户请使用 v1.0.2。
2026-03-04 补丁:修复模型下载按钮
- 修复 Python 3.9 兼容性问题(
str | None语法导致脚本启动即崩溃) - 下载脚本加入 60 秒连接超时,防止网络卡住后永久挂起
- 替换失效的 GitHub 镜像(ghgo.xyz → ghproxy.net / mirror.ghproxy.com)
- 修复下载前不检查脚本是否存在导致的静默失败
- Python 进程改为无缓冲输出,下载进度实时显示
Windows 平台全面适配
本版本解决了插件在 Windows 系统上无法启动后端的问题,并优化了跨平台体验。
修复内容
- 后端启动失败修复:Windows 下
asyncio.add_signal_handler抛出NotImplementedError导致后端崩溃,改用signal.signal()兼容处理 - 进程管理适配:使用
taskkill/wmic替代 Unix-only 的SIGKILL/pgrep,确保 Windows 上能正确管理后端进程 - 路径分隔符修复:插件目录路径从硬编码
/改为path.join(),避免 Windows 路径拼接错误 - Python 默认路径优化:Windows 下自动使用
python(而非python3),减少首次配置成本 - 提示信息本地化:设置页面占位符和错误提示根据平台自动切换(
pipvspip3,路径格式等)
安装方式
方式一(推荐):下载 realtime-transcription.zip,解压后将 realtime-transcription 文件夹整体复制到:
<你的笔记库>\.obsidian\plugins\n```
**方式二**:分别下载 `main.js`、`manifest.json`、`styles.css` 三个文件,手动放入:
<你的笔记库>.obsidian\plugins
ealtime-transcription\n```
然后将仓库中的 backend/ 文件夹也复制到该目录。
v1.0.2 · macOS / Linux 推荐版
⚠️ 平台说明
本版本适用于 macOS 和 Linux 用户(推荐)。
Windows 用户请使用 v1.0.3,其中包含 Windows 专项适配。
2026-03-04 补丁:修复模型下载按钮
- 修复 Python 3.9 兼容性问题(
str | None语法导致脚本启动即崩溃) - 下载脚本加入 60 秒连接超时,防止网络卡住后永久挂起
- 替换失效的 GitHub 镜像(ghgo.xyz → ghproxy.net / mirror.ghproxy.com)
- 修复下载前不检查脚本是否存在导致的静默失败
- Python 进程改为无缓冲输出,下载进度实时显示
修复
- 修复后端进程累积:添加 PID 文件机制,插件重载时自动清理孤儿 server.py 进程,防止多实例累积吃 CPU
- 修复停止录制后 WebSocket 无限重连:
stopRecording()现在会完整清理 WebSocket 连接和后端进程 - 修复顶部控制栏滚动消失:header 和 control-bar 设为 flex-shrink:0 + overflow:hidden 常驻固定
- 智能自动滚动:用 pinnedToBottom 标志替代阈值检测,浏览上方卡片时不自动滚动,点击箭头按钮或手动滚回底部才恢复
安装方式
下载 main.js、manifest.json、styles.css,放入:
<你的笔记库>/.obsidian/plugins/realtime-transcription/
然后将仓库中的 backend/ 文件夹也复制到该目录。
安装后端依赖:
pip3 install -r backend/requirements.txtv1.0.1 · 稳定性修复
v1.0.1 修复更新
Bug 修复
- 英文误判为中文:修复 normalizeLanguage 对纯英文语音的语言标签判断
- 后端启动崩溃:补全 server.py 缺失的 --partial-profile 和 --recognition-mode 参数
- WebSocket 断连体验:重连间隔缩短至 1.5s,增加重连进度提示
- 卡字 bug:修复 flushPendingTranscript 未重置 partial 状态
- 课堂远距离不出字:移除 energy_threshold 静音过滤
- realtimePreview 关闭时零输出:partial 不再被丢弃,改为静默累积并定时提交
- 防文本重复:新增 flush_partial 后端命令,flush 后清空音频缓冲区
- flush 定时器无限延迟:静默模式下定时器不再被后续 partial 重置
- 摘要模式泄漏:修复 commitStreamingTranscript 未移除 .streaming 类导致摘要模式仍显示转录卡片
安装方法
- 下载 realtime-transcription-v1.0.1.zip 并解压
- 将文件夹复制到 <你的Vault>/.obsidian/plugins/ 目录
- pip3 install -r backend/requirements.txt
- 在插件设置中配置模型路径后启用
详见 README
v1.0.0 · 首个正式版本
实时语音转写 v1.0.0
基于 SenseVoice-Small + Silero VAD + sherpa-onnx 的本地实时语音转写 Obsidian 插件。
功能
- 实时语音转写(中/英/日/韩/粤语)
- 边说边显示实时预览(稳态/极速两档)
- 可选自动翻译(调用 OpenAI 兼容 API)
- 可选 AI 文本润色
- 可选自动摘要(按字数阈值触发)
- 导出为 Obsidian 笔记(时间戳/AI/手动命名)
- 历史记录持久化
安装方法
- 下载
realtime-transcription-v1.0.0.zip并解压 - 将文件夹重命名为
realtime-transcription - 复制到
<你的Vault>/.obsidian/plugins/目录 pip3 install -r backend/requirements.txt- 在插件设置中配置模型路径后启用
详见 README
Realtime Transcription v1.0.0
First release. Local, offline Obsidian plugin for real-time speech recognition.
Installation
- Download and extract
realtime-transcription-v1.0.0.zip - Rename folder to
realtime-transcription - Copy to
<your-vault>/.obsidian/plugins/ pip3 install -r backend/requirements.txt- Configure model path in plugin settings and enable
See README for full instructions.