[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-HaujetZhao--CapsWriter-Offline":3,"tool-HaujetZhao--CapsWriter-Offline":65},[4,17,27,35,48,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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 真正成长为懂上",151314,2,"2026-04-11T23:32:58",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,"2026-04-10T11:13:16",[26,43,44,45,14,46,15,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":54,"last_commit_at":55,"category_tags":56,"status":16},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[15,43,46],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":54,"last_commit_at":63,"category_tags":64,"status":16},6590,"gpt4all","nomic-ai\u002Fgpt4all","GPT4All 是一款让普通电脑也能轻松运行大型语言模型（LLM）的开源工具。它的核心目标是打破算力壁垒，让用户无需依赖昂贵的显卡（GPU）或云端 API，即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。\n\n对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说，GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点，让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者，还是单纯想体验私有化 AI 聊天的普通用户，都能从中受益。\n\n技术上，GPT4All 基于高效的 `llama.cpp` 后端，支持多种主流模型架构（包括最新的 DeepSeek R1 蒸馏模型），并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端，支持 Windows、macOS 和 Linux 等多平台一键安装，还为开发者提供了便捷的 Python 库，可轻松集成到 LangChain 等生态中。通过简单的下载和配置，用户即可立即开始探索本地大模型的无限可能。",77307,"2026-04-11T06:52:37",[15,13],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":79,"owner_url":80,"languages":81,"stars":90,"forks":91,"last_commit_at":92,"license":79,"difficulty_score":10,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":107,"github_topics":79,"view_count":10,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":108,"updated_at":109,"faqs":110,"releases":141},6785,"HaujetZhao\u002FCapsWriter-Offline","CapsWriter-Offline","一个好用的 PC 端的语音输入工具，支持热词、LLM处理。按下CapsLock或鼠标侧键X2，说话，松开自动上屏。","CapsWriter-Offline 是一款专为 Windows 打造的完全离线语音输入工具，旨在提供如臂使指的高效听写体验。用户只需按住 CapsLock 键或鼠标侧键说话，松开后文字即可自动上屏，彻底摆脱网络依赖与隐私泄露担忧。\n\n它主要解决了传统语音输入法延迟高、需联网、专业术语识别不准以及无法灵活定制等痛点。无论是日常办公记录、会议速记，还是音视频文件转写，CapsWriter-Offline 都能凭借极低的延迟（最低可达 100ms）和高准确率轻松应对。\n\n这款工具非常适合对数据隐私敏感的普通用户、需要频繁处理专业术语的职场人士，以及希望在本地部署高效工作流的开发者。其独特亮点在于集成了先进的离线模型（如 Qwen3-ASR、FunASR-Nano），支持 GPU 加速推理；内置智能数字转换（ITN）与多级热词匹配机制，能精准识别生僻词；更创新地融合了 LLM 大模型角色系统，可本地或通过 API 实现内容润色、翻译及代码辅助，让语音输入不仅快，而且更懂你。无需安装，解压即用，是追求极致效率与隐私安全的理想选择。","# CapsWriter-Offline (v2.5)\r\n\r\n![demo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHaujetZhao_CapsWriter-Offline_readme_d40215c009fa.png)\r\n\r\n> **按住 CapsLock 说话，松开就上屏。就这么简单。**\r\n\r\n**CapsWriter-Offline** 是一个专为 Windows 打造的**完全离线**语音输入工具。\r\n\r\n\r\n## 🚀 更新说明：\r\n\r\nv2.5-alpha 新增：\r\n- **初步引入 [Qwen3-ASR-1.7B](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FQwen3-ASR-GGUF) 模型支持，140ms 极速推理，准确率夯爆**\r\n  - Qwen3-ASR-1.7B 只是初步引入，只支持语音输入，没有时间戳，无法转录文件\r\n  - Decoder Vulkan 加速默认打开，需占 1.6GB 显存\r\n  - 显卡空闲时，会降低显存频率，冷启动转录延迟升至 300ms \r\n  - 若用管理员权限运行 `nvidia-smi -lmc 9000` 锁定显存不降频，实测 RTX5050 转录延迟可降至 100ms\r\n\r\nv2.4新增：\r\n- **改进 [Fun-ASR-Nano-GGUF](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FFun-ASR-GGUF) 模型，使 Encoder 支持通过 DML 用显卡（独显、集显均可）加速推理，Encoder 和 CTC 默认改为 FP16 精度，以便更好利用显卡算力**，短音频延迟最低可降至 200ms 以内。\r\n  - 若用管理员权限运行 `nvidia-smi -lmc 9000` 锁定显存不降频，实测 RTX5050 转录延迟可降至 100ms\r\n- 服务端 Fun-ASR-Nano 使用单独的热词文件 hot-server.txt ，只具备建议替换性，而客户端的热词具有强制替换性，二者不再混用\r\n- 可以在句子的开头或结尾说「逗号、句号、回车」，自动转换为对应标点符号，支持说连续多个回车。\r\n- Fun-ASR-Nano 加入采样温度，避免极端情况下的因贪婪采样导致的无限复读\r\n- 服务端字母拼写合并处理\r\n\r\nv2.3新增：\r\n- **引入 [Fun-ASR-Nano-GGUF](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FFun-ASR-GGUF) 模型支持，推理更轻快**\r\n- 重构了大文件转录逻辑，采用异步流式处理\r\n- 优化中英混排空格\r\n- 增强了服务端对异常断连的清理逻辑\r\n\r\nv2.2 新增：\r\n-   **改进热词检索**：将每个热词的前两个音素作为索引进行匹配，而非只用首音素索引。\r\n-   **UDP广播和控制**：支持将结果 UDP 广播，也可以通过 UDP 控制客户端，便于做扩展。\r\n-   **Toast窗口编辑**：支持对角色输出的 Toast 窗口内容进行编辑。\r\n-   **多快捷键**：支持设置多个听写键，以及鼠标快捷键，通过 pynput 实现。\r\n-   **繁体转换**：支持输出繁体中文，通过 zhconv 实现。\r\n\r\nv2.1 新增：\r\n-   **更强的模型**：内置多种模型可选，速度与准确率大幅提升。\r\n-   **更准的 ITN**：重新编写了数字 ITN 逻辑，日期、分数、大写转换更智能。\r\n-   **RAG 检索增强**：热词识别不再死板，支持音素级的 fuzzy 匹配，就算发音稍有偏差也能认出。\r\n-   **LLM 角色系统**：集成大模型，支持润色、翻译、写作等多种自定义角色。\r\n-   **纠错检索**：可记录纠错历史，辅助LLM润色。\r\n-   **托盘化运行**：新增托盘图标，可以完全隐藏前台窗口。\r\n-   **完善的日志**：全链路日志记录，排查问题不再抓瞎。\r\n\r\n这个项目鸽了整整两年，真不是因为我懒。在这段时间里，我一直在等一个足够惊艳的离线语音模型。Whisper 虽然名气大，但它实际的延迟和准确率始终没法让我完全满意。直到 `FunASR-Nano` 开源发布，它那惊人的识别表现让我瞬间心动，它的 `LLM Decoder` 能识别我讲话的意图进而调整输出，甚至通过我的语速决定在何时添加顿号，就是它了！必须快马加鞭，做出这个全新版本。\r\n\r\n\r\n## ✨ 核心特性\r\n\r\n-   **语音输入**：按住 `CapsLock键` 或 `鼠标侧键X2` 说话，松开即输入，默认去除末尾逗句号。支持对讲机模式和单击录音模式。\r\n-   **文件转录**：音视频文件往客户端一丢，字幕 (`.srt`)、文本 (`.txt`)、时间戳 (`.json`) 统统都有。\r\n-   **数字 ITN**：自动将「十五六个」转为「15~16个」，支持各种复杂数字格式。\r\n-   **热词语境**：在 `hot-server.txt` 记下专业术语，经音素筛选后，用作 Fun-ASR-Nano 的语境增强识别 \r\n-   **热词替换**：在 `hot.txt` 记下偏僻词，通过音素模糊匹配，相似度大于阈值则强制替换。\r\n-   **正则替换**：在 `hot-rule.txt` 用正则或简单等号规则，精准强制替换。\r\n-   **纠错记录**：在 `hot-rectify.txt` 记录对识别结果的纠错，可辅助LLM润色。\r\n-   **LLM 角色**：预置了润色、翻译、代码助手等角色，当识别结果的开头匹配任一角色名字时，将交由该角色处理。\r\n-   **托盘菜单**：右键托盘图标即可添加热词、复制结果、清除LLM记忆。\r\n-   **C\u002FS 架构**：服务端与客户端分离，虽然 Win7 老电脑跑不了服务端模型，但最少能用客户端输入。\r\n-   **日记归档**：按日期保存你的每一句语音及其识别结果。\r\n-   **录音保存**：所有语音均保存为本地音频文件，隐私安全，永不丢失。\r\n\r\n**CapsWriter-Offline** 的精髓在于：**完全离线**（不受网络限制）、**响应极快**、**高准确率** 且 **高度自定义**。我追求的是一种「如臂使指」的流畅感，让它成为一个专属的一体化输入利器。无需安装，一个U盘就能带走，随插随用，保密电脑也能用。\r\n\r\nLLM 角色既可以使用 Ollama 运行的本地模型，又可以用 API 访问在线模型。\r\n\r\n\r\n## 💻 平台支持\r\n\r\n目前**仅能保证在 Windows 10\u002F11 (64位) 下完美运行**。\r\n\r\n-   **Linux**：暂无环境进行测试和打包，无法保证兼容性。\r\n-   **MacOS**：由于底层的 `keyboard` 库已放弃支持 MacOS，且系统权限限制极多，暂时无法支持。\r\n\r\n\r\n## 🎬 快速开始\r\n\r\n1.  **准备环境**：确保安装了 [VC++ 运行库](https:\u002F\u002Flearn.microsoft.com\u002Fzh-cn\u002Fcpp\u002Fwindows\u002Flatest-supported-vc-redist)。\r\n2.  **下载解压**：下载 [Latest Release](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Freleases\u002Flatest) 里的软件本体，再到 [Models Release](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Freleases\u002Ftag\u002Fmodels) 下载模型压缩包，将模型解压，放入 `models` 文件夹中对应模型的文件夹里。\r\n3.  **启动服务**：双击 `start_server.exe`，它会自动最小化到托盘菜单。\r\n4.  **启动听写**：双击 `start_client.exe`，它会自动最小化到托盘菜单。\r\n5.  **开始录音**：按住 `CapsLock键` 或 `鼠标侧键X2` 就可以说话了！\r\n\r\n\r\n## 🎤 模型说明\r\n\r\n你可以在 `config_server.py` 的 `model_type` 中切换：\r\n\r\n-   **qwen_asr**：    自带标点，CPU 速度及格，独显加速超快，准确率：夯爆了。\r\n-   **fun_asr_nano**：自带标点，CPU 速度较快，独显加速超快，准确率：顶级。\r\n-   **sensevoice**：  自带标点，CPU 速度超快，准确率：人上人。\r\n-   **paraformer**：  外挂标点，CPU 速度超快，准确率：人上人。\r\n\r\n\r\n## ⚙️ 个性化配置\r\n\r\n所有的设置都在根目录的 `config_server.py` 和 `config_client.py` 里：\r\n-   修改 `shortcut` 可以更换快捷键（如 `right shift`）。\r\n-   修改 `hold_mode = False` 可以切换为“点一下录音，再点一下停止”。\r\n-   修改 `llm_enabled` 来开启或关闭 AI 助手功能。\r\n\r\n\r\n## 🛠️ 常见问题\r\n\r\n**Q: 为什么按了没反应？**  \r\nA: 请确认 `start_client.exe` 的黑窗口还在运行。若想在管理员权限运行的程序中输入，也需以管理员权限运行客户端。\r\n\r\n**Q: 为什么识别结果没字？**  \r\nA: 到 `年\u002F月\u002Fassets` 文件夹中检查录音文件，看是不是没有录到音；听听录音效果，是不是麦克风太差，建议使用桌面 USB 麦克风；检查麦克风权限。\r\n\r\n**Q: 我可以用显卡加速吗？**  \r\nA: 目前 Fun-ASR-Nano 模型支持显卡加速，Encoder 使用 DirectML 加速（默认关闭），Decoder 使用 Vulkan 加速。但是对于高U低显的集显用户，显卡加速的效果可能还不如CPU，可以到 `config_server.py` 中把 `dml_enable` 或 `vulkan_enable` 设为 False 以禁用显卡加速。Paraformer 和 SenseVoice 本身在 CPU 上就已经超快，用 DirectML 加速反而每次识别会有 200ms 启动开销，因此对它们没有支持显卡加速。\r\n\r\n**Q: 低性能电脑转录太慢？**  \r\nA:  \r\n1. 对于短音频，`Qwen3-ASR-1.7B` 和 `Fun-ASR-Nano` 在独显上冷启动可以 200~300ms 左右转录完毕，若用管理员权限运行 `nvidia-smi -lmc 9000` 锁定显存不降频，实测 RTX5050 转录延迟可降至 100ms，`sensevoice` 或 `paraformer` 在 CPU 上可以 100ms 左右转录完毕，这是参考延迟。\r\n2. 如果 `Qwen3-ASR-1.7B` 和 `Fun-ASR-Nano` 在集显上太慢，尝试到 `config_server.py` 中把 `dml_enable` 或 `vulkan_enable` 设为 False 以禁用显卡加速。\r\n3. 如果性能较差，还是慢，就更改 `config_server.py` 中的 `model_type` ，切换模型为 `sensevoice` 或 `paraformer`。\r\n4. 如果性能太差，连 `sensevoice` 或 `paraformer` 都还是慢，就把 `num_threads` 降低。\r\n\r\n**Q: Fun-ASR-Nano 模型几乎不能用？**  \r\nA: Fun-ASR-Nano 的 LLM Decoder 使用 llama.cpp 默认通过 Vulkan 实现显卡加速，部分集显在 FP16 矩阵计算时没有用 FP32 对加和缓存，可能导致数值溢出，影响识别效果，如果遇到了，可以到 config_server.py 中将 `vulkan_enable` 设为 False ，用 CPU 进行解码。\r\n\r\n**Q: 需要热词替换？**  \r\nA: 服务端 Fun-ASR-Nano 会参考 `hot-server.txt` 进行语境增强识别；客户端则会根据 `hot.txt` 的相似度匹配或 `hot-rule.txt` 的正则规则，执行强制替换。若启用了润色，LLM 角色可参考 `hot-rectify.txt` 中的纠错历史。\r\n\r\n**Q: 如何使用 LLM 角色？**  \r\nA: 只需要在语音的**开头**说出角色名。例如，你配置了一个名为「翻译」的角色，录音时说「翻译，今天天气好」，翻译角色就会接手识别结果，在翻译后输出。它就像是一个随时待命的插件，你喊它名字，它就干活。你可以配置它们直接打字输出，或者在 TOAST 弹窗中显示。`ESC` 可以中断 LLM 的流式输出。\r\n\r\n**Q: LLM 角色模型怎么选？**  \r\nA: 你可以在 `LLM` 文件夹里为每个角色配置后端。既可以用 Ollama 部署本地轻量模型（如 gemma3:4b, qwen3:4b 等），也可以填写 DeepSeek 等在线大模型的 API Key。\r\n\r\n**Q: LLM 角色可以读取屏幕内容？**  \r\nA: 是的。如果你的 AI 角色开启了 `enable_read_selection`，你可以先用鼠标选中屏幕上的一段文字，然后按住快捷键说：“翻译一下”，LLM 就会识别你的指令，将选中文字进行翻译。但当所选文字与上一次的角色输出完全相同时，则不会提供给角色，以避免浪费 token。\r\n\r\n**Q: 想要隐藏黑窗口？**  \r\nA: 点击托盘菜单即可隐藏黑窗口。\r\n\r\n**Q: 如何开机启动？**  \r\nA: `Win+R` 输入 `shell:startup` 打开启动文件夹，将服务端、客户端的快捷方式放进去即可。\r\n\r\n\r\n## 🚀 我的其他优质项目推荐\r\n\r\n| 项目名称 | 说明 | 体验地址 |\r\n| :--- | :--- | :--- |\r\n| [**IME_Indicator**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FIME_Indicator) | Windows 输入法中英状态指示器 | [下载即用](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FIME_Indicator\u002Freleases\u002Flatest\u002Fdownload\u002FIME-Indicator.exe) |\r\n| [**Rust-Tray**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FRust-Tray) | 将控制台最小化到托盘图标的工具 | [下载即用](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FRust-Tray\u002Freleases\u002Flatest\u002Fdownload\u002FTray.exe) |\r\n| [**Gallery-Viewer**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FGallery-Viewer-HTML) | 网页端图库查看器，纯 HTML 实现 | [点击即用](https:\u002F\u002Fhaujetzhao.github.io\u002FGallery-Viewer-HTML\u002F) |\r\n| [**全景图片查看器**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FPanorama-Viewer-HTML) | 单个网页实现全景照片、视频查看 | [点击即用](https:\u002F\u002Fhaujetzhao.github.io\u002FPanorama-Viewer-HTML\u002F) |\r\n| [**图标生成器**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FFont-Awesome-Icon-Generator-HTML) | 使用 Font-Awesome 生成网站 Icon | [点击即用](https:\u002F\u002Fhaujetzhao.github.io\u002FFont-Awesome-Icon-Generator-HTML\u002F) |\r\n| [**五笔编码反查**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002Fwubi86-revert-query) | 86 五笔编码在线反查 | [点击即用](https:\u002F\u002Fhaujetzhao.github.io\u002Fwubi86-revert-query\u002F) |\r\n| [**快捷键映射图**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FShortcutMapper_Chinese) | 可视化、交互式的快捷键映射图 (中文版) | [点击即用](https:\u002F\u002Fhaujetzhao.github.io\u002FShortcutMapper_Chinese\u002F) |\r\n\r\n\r\n## ❤️ 致谢\r\n\r\n本项目基于以下优秀的开源项目：\r\n\r\n-   [Sherpa-ONNX](https:\u002F\u002Fgithub.com\u002Fk2-fsa\u002Fsherpa-onnx)\r\n-   [FunASR](https:\u002F\u002Fgithub.com\u002Falibaba-damo-academy\u002FFunASR)\r\n\r\n感谢 Google Antigravity、Anthropic Claude、GLM，如果不是这些编程助手，许多功能（例如基于音素的热词检索算法）我是无力实现的。\r\n\r\n特别感谢那些慷慨解囊的捐助者，你们的捐助让我用在了购买这些优质的 AI 编程助手服务，并最终将这些成果反馈到了软件的更新里。\r\n\r\n\r\n如果觉得好用，欢迎点个 Star 或者打赏支持：\r\n\r\n\r\n![sponsor](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHaujetZhao_CapsWriter-Offline_readme_7e9df8992975.jpg)\t\r\n","# CapsWriter-Offline (v2.5)\n\n![demo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHaujetZhao_CapsWriter-Offline_readme_d40215c009fa.png)\n\n> **按住 CapsLock 说话，松开就上屏。就这么简单。**\n\n**CapsWriter-Offline** 是一个专为 Windows 打造的**完全离线**语音输入工具。\n\n\n## 🚀 更新说明：\n\nv2.5-alpha 新增：\n- **初步引入 [Qwen3-ASR-1.7B](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FQwen3-ASR-GGUF) 模型支持，140ms 极速推理，准确率夯爆**\n  - Qwen3-ASR-1.7B 只是初步引入，只支持语音输入，没有时间戳，无法转录文件\n  - Decoder Vulkan 加速默认打开，需占 1.6GB 显存\n  - 显卡空闲时，会降低显存频率，冷启动转录延迟升至 300ms \n  - 若用管理员权限运行 `nvidia-smi -lmc 9000` 锁定显存不降频，实测 RTX5050 转录延迟可降至 100ms\n\nv2.4新增：\n- **改进 [Fun-ASR-Nano-GGUF](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FFun-ASR-GGUF) 模型，使 Encoder 支持通过 DML 用显卡（独显、集显均可）加速推理，Encoder 和 CTC 默认改为 FP16 精度，以便更好利用显卡算力**，短音频延迟最低可降至 200ms 以内。\n  - 若用管理员权限运行 `nvidia-smi -lmc 9000` 锁定显存不降频，实测 RTX5050 转录延迟可降至 100ms\n- 服务端 Fun-ASR-Nano 使用单独的热词文件 hot-server.txt ，只具备建议替换性，而客户端的热词具有强制替换性，二者不再混用\n- 可以在句子的开头或结尾说「逗号、句号、回车」，自动转换为对应标点符号，支持说连续多个回车。\n- Fun-ASR-Nano 加入采样温度，避免极端情况下的因贪婪采样导致的无限复读\n- 服务端字母拼写合并处理\n\nv2.3新增：\n- **引入 [Fun-ASR-Nano-GGUF](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FFun-ASR-GGUF) 模型支持，推理更轻快**\n- 重构了大文件转录逻辑，采用异步流式处理\n- 优化中英混排空格\n- 增强了服务端对异常断连的清理逻辑\n\nv2.2 新增：\n-   **改进热词检索**：将每个热词的前两个音素作为索引进行匹配，而非只用首音素索引。\n-   **UDP广播和控制**：支持将结果 UDP 广播，也可以通过 UDP 控制客户端，便于做扩展。\n-   **Toast窗口编辑**：支持对角色输出的 Toast 窗口内容进行编辑。\n-   **多快捷键**：支持设置多个听写键，以及鼠标快捷键，通过 pynput 实现。\n-   **繁体转换**：支持输出繁体中文，通过 zhconv 实现。\n\nv2.1 新增：\n-   **更强的模型**：内置多种模型可选，速度与准确率大幅提升。\n-   **更准的 ITN**：重新编写了数字 ITN 逻辑，日期、分数、大写转换更智能。\n-   **RAG 检索增强**：热词识别不再死板，支持音素级的 fuzzy 匹配，就算发音稍有偏差也能认出。\n-   **LLM 角色系统**：集成大模型，支持润色、翻译、写作等多种自定义角色。\n-   **纠错检索**：可记录纠错历史，辅助LLM润色。\n-   **托盘化运行**：新增托盘图标，可以完全隐藏前台窗口。\n-   **完善的日志**：全链路日志记录，排查问题不再抓瞎。\n\n这个项目鸽了整整两年，真不是因为我懒。在这段时间里，我一直在等一个足够惊艳的离线语音模型。Whisper 虽然名气大，但它实际的延迟和准确率始终没法让我完全满意。直到 `FunASR-Nano` 开源发布，它那惊人的识别表现让我瞬间心动，它的 `LLM Decoder` 能识别我讲话的意图进而调整输出，甚至通过我的语速决定在何时添加顿号，就是它了！必须快马加鞭，做出这个全新版本。\n\n\n## ✨ 核心特性\n\n-   **语音输入**：按住 `CapsLock键` 或 `鼠标侧键X2` 说话，松开即输入，默认去除末尾逗句号。支持对讲机模式和单击录音模式。\n-   **文件转录**：音视频文件往客户端一丢，字幕 (`.srt`)、文本 (`.txt`)、时间戳 (`.json`) 统统都有。\n-   **数字 ITN**：自动将「十五六个」转为「15~16个」，支持各种复杂数字格式。\n-   **热词语境**：在 `hot-server.txt` 记下专业术语，经音素筛选后，用作 Fun-ASR-Nano 的语境增强识别 \n-   **热词替换**：在 `hot.txt` 记下偏僻词，通过音素模糊匹配，相似度大于阈值则强制替换。\n-   **正则替换**：在 `hot-rule.txt` 用正则或简单等号规则，精准强制替换。\n-   **纠错记录**：在 `hot-rectify.txt` 记录对识别结果的纠错，可辅助LLM润色。\n-   **LLM 角色**：预置了润色、翻译、代码助手等角色，当识别结果的开头匹配任一角色名字时，将交由该角色处理。\n-   **托盘菜单**：右键托盘图标即可添加热词、复制结果、清除LLM记忆。\n-   **C\u002FS 架构**：服务端与客户端分离，虽然 Win7 老电脑跑不了服务端模型，但最少能用客户端输入。\n-   **日记归档**：按日期保存你的每一句语音及其识别结果。\n-   **录音保存**：所有语音均保存为本地音频文件，隐私安全，永不丢失。\n\n**CapsWriter-Offline** 的精髓在于：**完全离线**（不受网络限制）、**响应极快**、**高准确率** 且 **高度自定义**。我追求的是一种「如臂使指」的流畅感，让它成为一个专属的一体化输入利器。无需安装，一个U盘就能带走，随插随用，保密电脑也能用。\n\nLLM 角色既可以使用 Ollama 运行的本地模型，又可以用 API 访问在线模型。\n\n\n## 💻 平台支持\n\n目前**仅能保证在 Windows 10\u002F11 (64位) 下完美运行**。\n\n-   **Linux**：暂无环境进行测试和打包，无法保证兼容性。\n-   **MacOS**：由于底层的 `keyboard` 库已放弃支持 MacOS，且系统权限限制极多，暂时无法支持。\n\n\n## 🎬 快速开始\n\n1.  **准备环境**：确保安装了 [VC++ 运行库](https:\u002F\u002Flearn.microsoft.com\u002Fzh-cn\u002Fcpp\u002Fwindows\u002Flatest-supported-vc-redist)。\n2.  **下载解压**：下载 [Latest Release](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Freleases\u002Flatest) 里的软件本体，再到 [Models Release](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Freleases\u002Ftag\u002Fmodels) 下载模型压缩包，将模型解压，放入 `models` 文件夹中对应模型的文件夹里。\n3.  **启动服务**：双击 `start_server.exe`，它会自动最小化到托盘菜单。\n4.  **启动听写**：双击 `start_client.exe`，它会自动最小化到托盘菜单。\n5.  **开始录音**：按住 `CapsLock键` 或 `鼠标侧键X2` 就可以说话了！\n\n\n## 🎤 模型说明\n\n你可以在 `config_server.py` 的 `model_type` 中切换：\n\n-   **qwen_asr**：    自带标点，CPU 速度及格，独显加速超快，准确率：夯爆了。\n-   **fun_asr_nano**：自带标点，CPU 速度较快，独显加速超快，准确率：顶级。\n-   **sensevoice**：  自带标点，CPU 速度超快，准确率：人上人。\n-   **paraformer**：  外挂标点，CPU 速度超快，准确率：人上人。\n\n\n## ⚙️ 个性化配置\n\n所有的设置都在根目录的 `config_server.py` 和 `config_client.py` 里：\n-   修改 `shortcut` 可以更换快捷键（如 `right shift`）。\n-   修改 `hold_mode = False` 可以切换为“点一下录音，再点一下停止”。\n-   修改 `llm_enabled` 来开启或关闭 AI 助手功能。\n\n\n## 🛠️ 常见问题\n\n**Q: 为什么按了没反应？**  \nA: 请确认 `start_client.exe` 的黑窗口还在运行。若想在管理员权限运行的程序中输入，也需以管理员权限运行客户端。\n\n**Q: 为什么识别结果没字？**  \nA: 到 `年\u002F月\u002Fassets` 文件夹中检查录音文件，看是不是没有录到音；听听录音效果，是不是麦克风太差，建议使用桌面 USB 麦克风；检查麦克风权限。\n\n**Q: 我可以用显卡加速吗？**  \nA: 目前 Fun-ASR-Nano 模型支持显卡加速，Encoder 使用 DirectML 加速（默认关闭），Decoder 使用 Vulkan 加速。但是对于高U低显的集显用户，显卡加速的效果可能还不如CPU，可以到 `config_server.py` 中把 `dml_enable` 或 `vulkan_enable` 设为 False 以禁用显卡加速。Paraformer 和 SenseVoice 本身在 CPU 上就已经超快，用 DirectML 加速反而每次识别会有 200ms 启动开销，因此对它们没有支持显卡加速。\n\n**Q: 低性能电脑转录太慢？**  \nA:  \n1. 对于短音频，`Qwen3-ASR-1.7B` 和 `Fun-ASR-Nano` 在独显上冷启动可以 200~300ms 左右转录完毕，若用管理员权限运行 `nvidia-smi -lmc 9000` 锁定显存不降频，实测 RTX5050 转录延迟可降至 100ms，`sensevoice` 或 `paraformer` 在 CPU 上可以 100ms 左右转录完毕，这是参考延迟。\n2. 如果 `Qwen3-ASR-1.7B` 和 `Fun-ASR-Nano` 在集显上太慢，尝试到 `config_server.py` 中把 `dml_enable` 或 `vulkan_enable` 设为 False 以禁用显卡加速。\n3. 如果性能较差，还是慢，就更改 `config_server.py` 中的 `model_type` ，切换模型为 `sensevoice` 或 `paraformer`。\n4. 如果性能太差，连 `sensevoice` 或 `paraformer` 都还是慢，就把 `num_threads` 降低。\n\n**Q: Fun-ASR-Nano 模型几乎不能用？**  \nA: Fun-ASR-Nano 的 LLM Decoder 使用 llama.cpp 默认通过 Vulkan 实现显卡加速，部分集显在 FP16 矩阵计算时没有用 FP32 对加和缓存，可能导致数值溢出，影响识别效果，如果遇到了，可以到 config_server.py 中将 `vulkan_enable` 设为 False ，用 CPU 进行解码。\n\n**Q: 需要热词替换？**  \nA: 服务端 Fun-ASR-Nano 会参考 `hot-server.txt` 进行语境增强识别；客户端则会根据 `hot.txt` 的相似度匹配或 `hot-rule.txt` 的正则规则，执行强制替换。若启用了润色，LLM 角色可参考 `hot-rectify.txt` 中的纠错历史。\n\n**Q: 如何使用 LLM 角色？**  \nA: 只需要在语音的**开头**说出角色名。例如，你配置了一个名为「翻译」的角色，录音时说「翻译，今天天气好」，翻译角色就会接手识别结果，在翻译后输出。它就像是一个随时待命的插件，你喊它名字，它就干活。你可以配置它们直接打字输出，或者在 TOAST 弹窗中显示。`ESC` 可以中断 LLM 的流式输出。\n\n**Q: LLM 角色模型怎么选？**  \nA: 你可以在 `LLM` 文件夹里为每个角色配置后端。既可以用 Ollama 部署本地轻量模型（如 gemma3:4b, qwen3:4b 等），也可以填写 DeepSeek 等在线大模型的 API Key。\n\n**Q: LLM 角色可以读取屏幕内容？**  \nA: 是的。如果你的 AI 角色开启了 `enable_read_selection`，你可以先用鼠标选中屏幕上的一段文字，然后按住快捷键说：“翻译一下”，LLM 就会识别你的指令，将选中文字进行翻译。但当所选文字与上一次的角色输出完全相同时，则不会提供给角色，以避免浪费 token。\n\n**Q: 想要隐藏黑窗口？**  \nA: 点击托盘菜单即可隐藏黑窗口。\n\n**Q: 如何开机启动？**  \nA: `Win+R` 输入 `shell:startup` 打开启动文件夹，将服务端、客户端的快捷方式放进去即可。\n\n\n## 🚀 我的其他优质项目推荐\n\n| 项目名称 | 说明 | 体验地址 |\n| :--- | :--- | :--- |\n| [**IME_Indicator**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FIME_Indicator) | Windows 输入法中英状态指示器 | [下载即用](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FIME_Indicator\u002Freleases\u002Flatest\u002Fdownload\u002FIME-Indicator.exe) |\n| [**Rust-Tray**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FRust-Tray) | 将控制台最小化到托盘图标的工具 | [下载即用](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FRust-Tray\u002Freleases\u002Flatest\u002Fdownload\u002FTray.exe) |\n| [**Gallery-Viewer**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FGallery-Viewer-HTML) | 网页端图库查看器，纯 HTML 实现 | [点击即用](https:\u002F\u002Fhaujetzhao.github.io\u002FGallery-Viewer-HTML\u002F) |\n| [**全景图片查看器**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FPanorama-Viewer-HTML) | 单个网页实现全景照片、视频查看 | [点击即用](https:\u002F\u002Fhaujetzhao.github.io\u002FPanorama-Viewer-HTML\u002F) |\n| [**图标生成器**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FFont-Awesome-Icon-Generator-HTML) | 使用 Font-Awesome 生成网站 Icon | [点击即用](https:\u002F\u002Fhaujetzhao.github.io\u002FFont-Awesome-Icon-Generator-HTML\u002F) |\n| [**五笔编码反查**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002Fwubi86-revert-query) | 86 五笔编码在线反查 | [点击即用](https:\u002F\u002Fhaujetzhao.github.io\u002Fwubi86-revert-query\u002F) |\n| [**快捷键映射图**](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FShortcutMapper_Chinese) | 可视化、交互式的快捷键映射图 (中文版) | [点击即用](https:\u002F\u002Fhaujetzhao.github.io\u002FShortcutMapper_Chinese\u002F) |\n\n## ❤️ 致谢\n\n本项目基于以下优秀的开源项目：\n\n-   [Sherpa-ONNX](https:\u002F\u002Fgithub.com\u002Fk2-fsa\u002Fsherpa-onnx)\n-   [FunASR](https:\u002F\u002Fgithub.com\u002Falibaba-damo-academy\u002FFunASR)\n\n感谢 Google Antigravity、Anthropic Claude、GLM，如果不是这些编程助手，许多功能（例如基于音素的热词检索算法）我是无力实现的。\n\n特别感谢那些慷慨解囊的捐助者，你们的捐助让我用在了购买这些优质的 AI 编程助手服务，并最终将这些成果反馈到了软件的更新里。\n\n\n如果觉得好用，欢迎点个 Star 或者打赏支持：\n\n\n![sponsor](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHaujetZhao_CapsWriter-Offline_readme_7e9df8992975.jpg)","# CapsWriter-Offline 快速上手指南\n\nCapsWriter-Offline 是一款专为 Windows 打造的**完全离线**语音输入工具。按住 `CapsLock` 说话，松开即上屏，支持本地大模型加速、热词定制及 LLM 智能润色。\n\n## 🛠️ 环境准备\n\n### 系统要求\n- **操作系统**：Windows 10 \u002F Windows 11 (64 位)\n- **硬件建议**：\n  - **CPU 模式**：任意现代 CPU 均可运行（推荐 `sensevoice` 或 `paraformer` 模型）。\n  - **GPU 加速**：若需极速响应（\u003C200ms），建议使用 NVIDIA 独显或支持 DirectML\u002FVulkan 的显卡。\n\n### 前置依赖\n必须安装最新版的 **Microsoft Visual C++ Redistributable** 运行库，否则程序无法启动。\n- 下载地址：[微软官方 VC++ 运行库](https:\u002F\u002Flearn.microsoft.com\u002Fzh-cn\u002Fcpp\u002Fwindows\u002Flatest-supported-vc-redist)\n- 操作：下载并安装 `vc_redist.x64.exe`。\n\n## 📥 安装步骤\n\n本项目无需复杂编译，采用绿色免安装版，解压即用。\n\n### 1. 下载软件本体\n访问 GitHub Release 页面下载最新版本压缩包：\n- 地址：[CapsWriter-Offline Latest Release](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Freleases\u002Flatest)\n- 操作：下载 `.zip` 文件并解压到任意目录（例如 `D:\\CapsWriter`）。\n\n### 2. 下载并部署模型\n软件本体不包含模型文件，需单独下载。\n- 地址：[Models Release](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Freleases\u002Ftag\u002Fmodels)\n- 操作：\n  1. 下载所需的模型压缩包（如 `qwen_asr.zip`, `fun_asr_nano.zip` 等）。\n  2. 解压模型文件。\n  3. 将解压后的文件夹放入软件根目录下的 `models` 文件夹中。\n  \n  **目录结构示例：**\n  ```text\n  CapsWriter-Offline\u002F\n  ├── models\u002F\n  │   ├── qwen_asr\u002F       \u003C-- 放入此处\n  │   └── fun_asr_nano\u002F   \u003C-- 放入此处\n  ├── start_server.exe\n  └── start_client.exe\n  ```\n\n## 🚀 基本使用\n\n### 1. 启动服务\n双击运行 `start_server.exe`。\n- 程序会自动最小化至系统托盘（右下角），后台加载语音识别模型。\n- *注：首次启动可能因加载模型略有延迟。*\n\n### 2. 启动客户端\n双击运行 `start_client.exe`。\n- 同样会最小化至系统托盘，等待语音指令。\n\n### 3. 开始语音输入\n- **默认操作**：按住键盘上的 **`CapsLock`** 键（或鼠标侧键 `X2`），对着麦克风说话。\n- **结束输入**：松开按键，识别结果将自动输入到当前光标位置。\n- **标点控制**：在句子末尾说出“逗号”、“句号”或“回车”，可自动转换为对应符号。\n\n### 4. 进阶配置（可选）\n如需切换模型、修改快捷键或开启 AI 润色功能，请使用文本编辑器修改根目录下的配置文件：\n- **服务端配置**：`config_server.py`\n  - 修改 `model_type` 切换模型（如 `qwen_asr`, `fun_asr_nano`）。\n  - 设置 `dml_enable` 或 `vulkan_enable` 为 `True` 以开启显卡加速。\n- **客户端配置**：`config_client.py`\n  - 修改 `shortcut` 更换监听按键。\n  - 设置 `hold_mode = False` 切换为“点击开始\u002F点击停止”模式。\n\n> **提示**：修改配置后需重启 `start_server.exe` 和 `start_client.exe` 生效。","资深数据分析师李明需要在保密内网环境中，快速将每日晨会的口头汇报整理成包含专业术语和精确数据的结构化日报。\n\n### 没有 CapsWriter-Offline 时\n- **输入效率低下**：只能依赖手动打字或需要联网的语音服务，在断网环境下被迫逐字敲击，每小时仅能产出几百字，严重拖慢报告进度。\n- **专业术语识别差**：通用输入法无法准确识别“随机森林”、\"XGBoost\"等算法名词及特定项目代号，需反复手动修正错别字。\n- **数字格式混乱**：口述的“同比增长百分之十五点三”常被记为汉字，后续需花费大量时间统一转换为\"15.3%\"等标准数据格式。\n- **隐私合规风险**：使用在线语音转文字工具可能导致敏感业务数据上传至云端，违反公司严格的数据安全红线。\n\n### 使用 CapsWriter-Offline 后\n- **离线极速上屏**：按住 CapsLock 说话、松开即上屏，利用本地 Qwen3-ASR 模型实现 100ms 级低延迟响应，完全脱离网络限制，口述速度同步转化为文档。\n- **热词精准匹配**：预先配置 `hot-server.txt` 收录团队专有术语，通过音素模糊匹配强制替换，确保技术名词零误差自动上屏。\n- **智能数字转换**：内置强大的 ITN 逻辑，自动将口语化的“十五点三 percent\"实时转为标准的\"15.3%\"，无需二次格式化。\n- **数据安全无忧**：所有语音处理与音频归档均在本地完成，杜绝数据外泄风险，完美适配涉密电脑环境。\n\nCapsWriter-Offline 让李明在绝对安全的离线环境下，实现了如臂使指般的高效语音录入与智能化文本整理。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHaujetZhao_CapsWriter-Offline_ff2e5425.png","HaujetZhao","Haujet Zhao","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FHaujetZhao_9017d3fc.png",null,"https:\u002F\u002Fgithub.com\u002FHaujetZhao",[82,86],{"name":83,"color":84,"percentage":85},"Python","#3572A5",97.4,{"name":87,"color":88,"percentage":89},"Jupyter Notebook","#DA5B0B",2.6,5148,482,"2026-04-11T17:56:18","Windows","非必需。支持 NVIDIA 独显或集成显卡加速。Qwen3-ASR-1.7B 模型需约 1.6GB 显存 (Vulkan 加速)；Fun-ASR-Nano 支持 DirectML (Encoder) 和 Vulkan (Decoder) 加速。低配集显用户建议关闭 GPU 加速改用 CPU。","未说明",{"notes":97,"python":98,"dependencies":99},"1. 仅支持 Windows 10\u002F11 (64 位)，不支持 Linux 和 macOS。2. 必须安装 VC++ 运行库。3. 需手动下载模型文件放入 models 文件夹。4. 若在管理员权限程序中使用，客户端也需管理员权限运行。5. NVIDIA 用户可通过锁定显存频率降低延迟。6. 部分集显在 FP16 计算下可能溢出，需在配置中禁用 Vulkan 加速。","未说明 (提供预编译 exe，无需手动安装 Python)",[100,101,102,103,104,105,106],"VC++ 运行库","keyboard (底层依赖，仅限 Windows)","pynput","zhconv","llama.cpp (内置用于 Vulkan 加速)","Sherpa-ONNX","FunASR",[15,47],"2026-03-27T02:49:30.150509","2026-04-12T13:12:16.947936",[111,116,121,126,131,136],{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},30592,"FunASR-nano 模型在 AMD CPU 或特定环境下识别效果极差（出现乱码、重复词）怎么办？","原始 llm.int8.onnx 模型在仅支持 AVX2 的 CPU 上可能触发 ONNX Runtime 的特定 INT8 kernel 路径问题，导致推理数值异常。解决方案是下载并替换为兼容版模型：\n1. 下载地址：https:\u002F\u002Fmodelscope.cn\u002Fmodels\u002Fzengshuishui\u002FFunASR-nano-onnx\u002Ftree\u002Fmaster\u002Fllm_int8_compat\n2. 将下载的兼容版模型文件替换原项目中的对应模型文件即可恢复正常识别效果。","https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Fissues\u002F232",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},30593,"服务端启动报错 'Failed to initialize ASR engine' 且无法通过 Vulkan 加载模型如何解决？","这通常是因为系统无法通过 Vulkan 正确调用独显（如 RTX4060）加载模型。解决方法是改用 CUDA 版本的 llama.cpp 二进制文件：\n1. 下载 CUDA 版本发行包：https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Freleases\u002Fdownload\u002Fb7951\u002Fllama-b7951-bin-win-cuda-13.1-x64.zip\n2. 解压后，用其中的 DLL 文件替换项目目录下 `util\u002Ffun_asr_nano\u002Fbin` 文件夹内的原有 DLL 文件。\n3. 重启服务端，系统将使用 CUDA 加速模型。","https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Fissues\u002F283",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},30594,"使用模拟打字方式输出结果时，最终插入的文本缺失标点符号怎么办？","该问题通常由“微信输入法”不兼容模拟打字操作导致。有两种解决方案：\n方案一（推荐）：切换输入法。放弃使用微信输入法，改用微软拼音等其他输入法，表现即正常。\n方案二：修改配置。若必须使用微信输入法，请在 `config.py` 中将配置改为模拟粘贴模式：\n   paste = True       # 启用写入剪切板并模拟 Ctrl-V 粘贴\n   restore_clip = False\n注意：这是微信输入法本身的限制，无法通过代码完全兼容。","https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Fissues\u002F286",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},30595,"程序提示“解码有误，强制熔断”或麦克风无法收音如何排查？","请按以下步骤依次排查：\n1. 检查隐私权限：进入系统设置“隐私和安全性” -> “麦克风”，确保“桌面应用访问麦克风”开关已打开。\n2. 关闭独占模式：在声音控制面板中，找到麦克风设备属性，取消勾选“允许应用程序独占控制该设备”。\n3. 检查采样率：确认麦克风设备支持 48000Hz 采样率（程序默认设置）。\n4. 硬件排查：如果是蓝牙耳机麦克风不支持某些参数，尝试换用笔记本自带麦克风或有线麦克风测试，以排除音频驱动优化或设备兼容性问题。","https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Fissues\u002F312",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},30596,"Linux ARM64 架构下运行 Fun-ASR 模型报错或无法启动怎么办？","目前在 Linux ARM64 架构上直接运行存在较多兼容性困难（如缺少特定指令集支持）。建议参考社区已成功的适配案例进行源码级修改，或直接使用作者提供的已修复的最新打包版本（如有提供百度云下载链接请优先下载最新版）。如果必须自行编译，可能需要针对 ARM64 架构大量修改底层依赖代码。","https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Fissues\u002F253",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},30597,"服务端日志出现 'GatherND node' 相关的 ONNX Runtime 错误如何处理？","此类错误通常源于特定 commit 版本引入的回归问题或模型文件与运行时环境不匹配。解决方法包括：\n1. 更新代码：确保拉取的是最新的稳定版代码，避免使用中间测试版本。\n2. 重新下载模型：删除旧的模型文件，重新下载完整且匹配的模型文件。\n3. 回退版本：如果最新代码仍有问题，尝试回退到报错前一个稳定的 commit 版本（如 issue 中提到的 7d05768 之前的版本）。","https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Fissues\u002F284",[142,147,152,157,162,167,172,177,182,187,192],{"id":143,"version":144,"summary_zh":145,"released_at":146},222485,"v2.5-alpha","v2.5-alpha 新增：\n\n- **初步引入 [Qwen3-ASR-1.7B](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FQwen3-ASR-GGUF) 模型支持，140ms 极速推理，准确率夯爆**\n  - Qwen3-ASR-1.7B 只是初步引入，只支持语音输入，**没有时间戳，暂不支持转录文件**\n  - Decoder Vulkan 加速默认打开，需占 1.6GB 显存\n  - 显卡空闲时，会降低显存频率，冷启动转录延迟升至 300ms \n  - 若用管理员权限运行 `nvidia-smi -lmc 9000` 锁定显存不降频，实测 RTX5050 转录延迟可降至 100ms\n\n\u003Cimg width=\"600\"  alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fe8867924-ed42-4160-b12f-b86f9bc66f39\" \u002F>\n\n\u003Cimg width=\"600\"  alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fd47c6dac-24d2-4e0d-bd99-3df1aa1f21f5\" \u002F>\n\n\n\n此处发布的 zip 打包，仅适用于 Windows：\n\n- CapsWriter-Offline 包含客户端、服务端，适用于 Windows10 64位及以上\n- CapsWriter-Offline-Client 仅包含客户端，适用于 Windows7 64位及以上\n\n模型文件请到 [Models](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Freleases\u002Ftag\u002Fmodels) 或百试网盘链接下载。\n\n百度网盘（程序打包和模型都有）：\n- 链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1GsrHynsRg3bAvNFoj8GuJQ\n- 提取码: ngjo","2026-03-04T11:16:58",{"id":148,"version":149,"summary_zh":150,"released_at":151},222486,"v2.4","**需要重新下载 Fun-ASR-Nano 模型，与 v2.3 的模型不兼容**\n**需要重新下载 Fun-ASR-Nano 模型，与 v2.3 的模型不兼容**\n**需要重新下载 Fun-ASR-Nano 模型，与 v2.3 的模型不兼容**\n\nv2.4新增：\n- **改进 [Fun-ASR-Nano-GGUF](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FFun-ASR-GGUF) 模型，使 Encoder 支持通过 DML 用显卡加速推理，以便更好利用显卡算力**，短音频延迟最低可降至 200ms 以内。因 AMD 关于 DML 的兼容性较差，默认关闭。\n  \u003Cimg width=\"856\" height=\"446\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa35ddadb-2791-4841-8d33-5c60fd3962ca\" \u002F>\n\n- 服务端 Fun-ASR-Nano 使用单独的热词文件 hot-server.txt ，只具备建议替换性，而客户端的热词具有强制替换性，二者不再混用\n- Fun-ASR-Nano 加入采样温度，避免极端情况下的因贪婪采样导致的无限复读\n- 服务端字母拼写合并处理\n\n\n\n此处发布的 zip 打包，仅适用于 Windows：\n\n- CapsWriter-Offline 包含客户端、服务端，适用于 Windows10 64位及以上\n- CapsWriter-Offline-Client 仅包含客户端，适用于 Windows7 64位及以上\n\n模型文件请到 [Models](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Freleases\u002Ftag\u002Fmodels) 或百试网盘链接下载。\n\n百度网盘（程序打包和模型都有）：\n- 链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1GsrHynsRg3bAvNFoj8GuJQ\n- 提取码: ngjo","2026-02-05T15:39:14",{"id":153,"version":154,"summary_zh":155,"released_at":156},222487,"v2.3","新增：\n- 引入 Fun-ASR-Nano-GGUF 模型，速度更快，支持 Vulkan GPU 加速，并可原生注入热词至 LLM 解码器\n- 重构大文件转录逻辑，采用异步流式处理\n- 优化中英混排中的空格问题\n- 增强了服务端对异常断连的清理逻辑\n\n此处发布的 zip 打包仅适用于 Windows：\n\n- CapsWriter-Offline 包含客户端和服务端，适用于 Windows 10 64位及以上版本\n- CapsWriter-Offline-Client 仅包含客户端，适用于 Windows 7 64位及以上版本\n\n模型文件请前往 [Models](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Freleases\u002Ftag\u002Fmodels) 或百试网盘链接下载。\n\n百度网盘（包含程序打包和模型）：\n- 链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1GsrHynsRg3bAvNFoj8GuJQ\n- 提取码: ngjo","2026-01-23T16:44:19",{"id":158,"version":159,"summary_zh":160,"released_at":161},222488,"v2.2","新增：\n- **改进热词检索**：将每个热词的前两个音素作为索引进行匹配，而非只用首音素索引。\n- **UDP广播和控制**：支持将结果 UDP 广播，也可以通过 UDP 控制客户端，便于做扩展。\n- **Toast窗口编辑**：支持对角色输出的 Toast 窗口内容进行编辑。\n- **多快捷键**：支持设置多个听写键，以及鼠标快捷键，支持阻塞时单击补发，通过 pynput 实现\n- **繁体转换**：支持输出繁体中文，通过 zhconv 实现。\n\n此处发布的 zip 打包，仅适用于 Windows：\n\n- CapsWriter-Offline 包含客户端、服务端，适用于 Windows10 64位及以上\n- CapsWriter-Offline-Client 仅包含客户端，适用于 Windows7 64位及以上\n\n模型文件请到 [Models](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Freleases\u002Ftag\u002Fmodels) 下载。\n\n另附百度网盘（程序打包和模型都有）：\n- 链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1GsrHynsRg3bAvNFoj8GuJQ\n- 提取码: ngjo","2026-01-17T09:03:37",{"id":163,"version":164,"summary_zh":165,"released_at":166},222489,"v2.1","阔别两年，CapsWriter-Offline 迎来大升级：\r\n\r\n- **更强的模型**：内置多种模型可选（FunASR-Nano，SenseVoice，Paraformer），准确率大幅提升。\n- **更准的 ITN**：重新编写了数字 ITN 逻辑，日期、时间、数值、分数、范围转换更智能。\n- **RAG 检索增强**：热词识别不再死板，支持音素级的 Fuzzy 匹配，可调阈值，就算发音稍有偏差也能认出。\n- **LLM 角色系统**：支持接入 Ollama 或在线 API，提供润色、翻译、代码助手等多种角色，能获取鼠标所选。\n- **纠错检索**：可记录纠错历史，辅助 LLM 润色。\n- **托盘化运行**：新增托盘图标，可以完全隐藏前台窗口。\n- **完善的日志**：全链路日志记录（logs\u002F 文件夹），方便排查问题。\r\n\r\n这个项目鸽了整整两年，真不是因为我懒。在这段时间里，我一直在等一个足够惊艳的离线语音模型。Whisper 虽然名气大，但它实际的延迟和准确率始终没法让我完全满意。直到 `FunASR-Nano` 开源发布，实测其优异的识别表现让我特别心动，它的 `LLM Decoder` 能识别我讲话的意图进而调整输出，甚至通过我的语速决定在何时添加顿号，就是它了！必须快马加鞭，做出这个全新版本。\r\n\r\n此处发布的 zip 打包，仅适用于 Windows：\r\n\r\n- CapsWriter-Offline 包含客户端、服务端，适用于 Windows10 64位及以上\n- CapsWriter-Offline-Client 仅包含客户端，适用于 Windows7 64位及以上\r\n\r\n模型文件请到 [Models](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Freleases\u002Ftag\u002Fmodels) 下载。\r\n\r\n另附百度网盘（程序打包和模型都有）：\n- 链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1GsrHynsRg3bAvNFoj8GuJQ \n- 提取码: ngjo\r\n\r\n有朋友反馈，FunASR-nano 在他的电脑上识别结果较差，我暂时无力解决，只能等待模型更新，如果遇到这个问题的朋友，请在配置中把模型改为 SenseVoice 或者 Paraformer，这两个模型虽然准确率差了一些，但是速度非常快，再结合热词替换和本地 Ollama 的润色，也是能给出非常不错的输入效果的。","2026-01-13T16:24:35",{"id":168,"version":169,"summary_zh":170,"released_at":171},222490,"models","模型文件压缩包\n\n## 包含模型\n\n-   **qwen_asr**：    自带标点，CPU 速度及格，独显加速超快，准确率：**夯爆了**。\n-   **fun_asr_nano**：自带标点，CPU 速度较快，独显加速超快，准确率：**顶级**。\n-   **sensevoice**：  自带标点，CPU 速度超快，准确率：人上人。\n-   **paraformer**：  外挂标点，CPU 速度超快，准确率：人上人。\n- **Punct-CT-Transformer**：标点模型（Paraformer 专用）。\n\n文件对应：\n\n- **Qwen3-ASR**: `Qwen3-ASR-1.7B.zip`\n- **Fun-ASR-Nano**：`Fun-ASR-Nano-GGUF.zip`\n- **SenseVoice-Small**：`sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17.zip`\n- **Paraformer**：`speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx.zip`\n- **Punct-CT-Transformer**：`sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12.zip`\n\n\n## 使用方法\n\n下载后解压到项目根目录的 `models\u002F` 文件夹中对应的模型文件夹里。\n\n模型 zip 包解压后是一个文件夹，例如：Sensevoice 解压后是一个名为 `sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17` 的文件夹，把这个文件夹放到 `models\u002FSenseVoice-Small` 文件夹里面。\n","2026-01-13T16:16:32",{"id":173,"version":174,"summary_zh":175,"released_at":176},222491,"v1.0","功能更新：\n\n1. 通过分段识别和去重，实现了支持无限时长语音的转写\n2. 现在客户端可以转写音视频文件为 srt 字幕了，只需将音视频文件拖动到客户端 exe 上打开即可\n\nWindows 端打包说明：\n\n1. 服务端载入模型所用的 onnxruntime 只能在 Windows 10 及以上版本的系统使用\n2. 服务端载入模型需要系统内存 4G，只能在 64 位系统上使用\n3. 额外打包了 32 位系统可用的客户端，在 Windows 7 及以上版本的系统可用\n4. 模型文件较大，单独打包，解压模型后请放入软件目录的 `models` 文件夹中\n\n因此：\n\n1. Win10 64 位以上系统，可以使用服务端、客户端，请下载 `CapsWriter-Offline-Windows-64bit.zip`  和 `models.zip`\n2. Win7 及以上的 32 位系统，只能使用客户端，只需要下载 `CapsWriter-Offline-Windows-32bit-Client.zip` ，可以通过连接到局域网内其它机器上正在运行的服务端使用。","2024-01-08T04:20:41",{"id":178,"version":179,"summary_zh":180,"released_at":181},222492,"v0.6","模型下载：[models-Paraformer-and-Punctuation.zip](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Freleases\u002Fdownload\u002Fv0.3\u002Fmodels-Paraformer-and-Punctuation.zip)\n\n分别针对 Win10 64 位和 MacOS ARM 进行了打包。由于系统限制，MacOS 需要使用 `sudo` 权限运行客户端，且默认快捷键为 `右 Shift` 键。\n\n新功能：\n\n1. 新增日记功能，将每日的录音结果保存在一个 Markdown 文件中。\n2. 新增关键词日记功能，每日以关键词开头的录音结果会保存在专门的 Markdown 文件中。\n3. 在新建录音文件夹时，会复制一个 Python 辅助脚本，用于清理未被 Markdown 文件引用的录音文件。这样，用户可以通过编辑 Markdown 日记来删除不需要保存的录音。\n4. 新增自定义录音文件保存目录的功能。\n5. 默认保存 48000 Hz 采样率的高品质录音；如果用户已安装 FFmpeg，则保存为 MP3 格式，否则保存为 WAV 格式。\n6. 输入方式改为模拟 Ctrl + V 粘贴操作，粘贴完成后会恢复剪贴板原内容。\n7. 使用 rich 库输出彩色文字，力求在不同终端上呈现一致的显示效果。\n8. 优化了打包后的文件体积。\n9. 完成了对 MacOS 的适配。\n\n![image-20230604144824341](https:\u002F\u002Fgithub.com\u002FHaujetZhao\u002FCapsWriter-Offline\u002Fassets\u002F19181833\u002Faf3956a8-fa5c-4084-b808-f35c0da38da0)","2023-06-06T10:00:22",{"id":183,"version":184,"summary_zh":185,"released_at":186},222493,"v0.5","修改热词文件后，无需重启客户端，即可动态更新热词。","2023-06-01T01:35:06",{"id":188,"version":189,"summary_zh":190,"released_at":191},222494,"v0.4","为客户端新增了三种热词功能：中文、英文、自定义。\n\n优化了中文数字的搜索功能，当数字的左侧或右侧出现英文时，该数字一定会被选中。\n\n改进了中英混合文本的空格排版，能够正确输出“iPhone 4s”这类词语。","2023-05-31T15:10:10",{"id":193,"version":194,"summary_zh":195,"released_at":196},222495,"v0.3","已打包 Win10 64 位版，为了便于打包和上传，模型和打包软件是分开的，请分别下载上，把模型解压后放入软件的 `models` 文件夹中，方可使用。\r\n\r\n\r\n以后的 release 就只更软件包，不更新模型了，模型来这里个 release 下载就可以了。\r\n\r\n更新内容：\r\n\r\n- 客户端当音频设备名不可 utf-8 解码时，不再闪退\r\n- 客户端添加配置可以编辑修改，要消除识别结果末尾哪些标点\r\n- 客户端添加配置可以修改快捷键\r\n- 客户端添加配置可以修改快捷键触发的时间阈值\r\n- 客户端连接中断会自动进行重试\r\n- 客户端提示当前所用的快捷键\r\n- 服务端对识别结果，中英文混排进行空格校正\r\n- 当地址无法被绑定时提示问题，而不是直接闪退\r\n\r\n","2023-05-30T09:48:01"]