Mac 听写接 Ollama:本地配置与故障排查
在 Ducduc 配置 Apple 本机识别与 Ollama 本地清稿,核对模型和端点,断网测试,并区分语音识别、模型清稿和插入失败。
2026 年 10 月 17 日核对 0.3.7 build 42 工作区源码。10 月 15 日发布的公开 v0.3.7 为 build 35,设置可能不同。以下命令用于复现配置步骤,不代表硬件性能实测或网络审计。 查看公开版本
先看结论
先安装 Apple 语音资源和真正下载到本机的 Ollama 模型,关闭 Ollama 云功能,再在 Ducduc 设置 → 模型点“使用本地模型”。确认离线模式和回环地址,断开所有网络后分别测试识别与清稿。只选择 Hybrid 备用模型仍会先走云端。
本地听写需要两段本地处理都能工作:Apple 语音识别,以及已下载的大模型清稿。Ducduc 提供录音和插入流程,Ollama 提供第二段模型。
具体配置是回环 Ollama 地址 + 本地模型 + Ducduc 离线模式。localhost 本身不能证明推理在本机,因为 Ollama 也支持云模型。这篇先逐段验证,再测试整条路径。
先判断本地清稿是否适合
本地清稿可以免去托管清稿账单,资源下载完后也能断网运行;代价是占用本机内存和算力、维护服务,而且模型遵守清稿规则的能力可能不如你试过的其他模型。
没有一种模型大小能保证所有 Mac 都等得起。可用内存、其他 App、量化、输入长度和模型是否已加载都会影响结果。先用短句和无敏感内容,按实际修改量和等待时间选择。如果只要未经大模型整理的文字,也可以不接清稿模型。
本文只讲普通听写。选区编辑、翻译、会议处理,以及目标 App 的同步,是另外的流程。
1. 先让识别正常,再安装清稿
授予所需的麦克风、语音识别和辅助功能权限,先在简单输入框试一句话。Ducduc 要求本机识别,不允许经典引擎静默改用 Apple 服务器。
macOS 14–15 检查系统设置 → 键盘 → 听写 → 语言,下载对应资源;macOS 26 的现代路径可请求安装资源。Apple 的 SpeechAnalyzer 说明介绍了 AssetInventory 下载机制,系统设置参见 Mac 听写指南。
如果连转录都没有,先排查权限、麦克风和语音资源。大模型无法整理从未识别出来的文字。参见语言资源排查。
2. 安装 Ollama,下载真正的本地模型
按 Ollama 官方快速入门安装并打开服务。以下使用明确存在的模型标签举例,不表示它是最好的清稿模型:
ollama pull qwen2.5:3b
ollama list
官方 Qwen2.5 模型目录列出此标签及其他大小。按自己的用途核对模型许可证。文件大小不等于运行时总内存。
严格本地配置应按 Ollama 关闭云功能的说明,在 ~/.ollama/server.json 合并以下设置,保留已有配置,然后重启 Ollama:
{
"disable_ollama_cloud": true
}
官方也提供服务端环境变量 OLLAMA_NO_CLOUD=1。只在无关终端里设置它,不会改变已经运行的 App。重启后按文档检查启动和日志状态。
3. 脱离 Ducduc,单独检查 Ollama
Ollama 运行时,下面两步分别检查模型发现,以及 Ducduc 所用的同类 API:
curl http://localhost:11434/api/tags
curl http://localhost:11434/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model":"qwen2.5:3b","messages":[{"role":"user","content":"Return only: local test"}]}'
模型列表应包含所选标签,响应应包含 choices[0].message.content。模型未必严格输出指定短语;这一步先确认 API 能响应。参见 Ollama 模型列表 API和 OpenAI 兼容接口。
连接被拒绝,先查服务和地址,不是 Ducduc 的语音识别有问题。提示找不到模型,就下载对应标签,或选择列表返回的确切名称。
4. 选择模型,再切离线
打开 Ducduc 设置 → 模型:
- 在本机(离线)区域等待发现模型。未就绪时,用获取 Ollama、启动 Ollama或重新检查处理。
- 找到已安装模型,点使用本地模型,同时选中模型并切到离线。
- 确认模式确实是离线。只点模型行是选择 Hybrid 备用,云端仍开着。
- 手动配置时,选择 OpenAI 兼容接口,Base URL 填
http://localhost:11434/v1,模型填确切标签,默认本地服务无需 API Key。
要留在同一台 Mac,用 localhost、127.0.0.1 或 ::1。.local 主机可能是另一台局域网电脑。App 只能分类端点,无法检查背后所有代理和云集成。
离线会关闭 Ducduc 的云端清稿路径,不使用内置额度;它不是控制 Ollama 或目标 App 的系统防火墙。
5. 断开所有网络,验证完整路径
先完成所有下载,记录 macOS、Ducduc build、模型标签、端点和模式。断开 Wi-Fi、网线及共享网络,在无敏感信息的本地文档测试。
这是测试输入,不是承诺的模型输出:
嗯,把评审移到周四,不对,周五。不要发布计费端点。限额是 15,不是 50。
分开检查原稿和成稿:最终日期应保留周五,禁止发布不能变成允许,限额应保留 15。清稿可能失败或过度改写,不能只看标点是否漂亮。
再停止 Ollama,口述一句无敏感内容的话。识别应仍可用;清稿失败会保留识别文字,本地替换和字体规则仍可能生效。重启 Ollama 后确认清稿恢复。这样同时验证成功和失败两条路径。
断网成功只能证明当次可离线运行,不证明所有联网行为,也不能阻止目标 App 日后同步。网络审计还需要在联网时观察 Ducduc 和 Ollama。
按症状排查,不急着换模型
| 症状 | 先查什么 | 区分哪一层 |
|---|---|---|
| 触发键没反应 | 当前按键、辅助功能、其他 App 占键 | 触发与模型失败 |
| 球体在听,但没有原稿 | 麦克风、语音权限、语言资源 | 识别与清稿 |
| 模型列表接口失败 | 服务是否运行,localhost 的 11434 端口 | 服务发现与模型质量 |
| 有列表,completion 失败 | 确切标签与 API 响应 | 缺模型或接口配置 |
| 出现原稿并提示清稿失败 | 离线选择、服务状态、独立 API 测试 | 识别正常,清稿失败 |
| 第一段慢,后续较快 | ollama ps 与模型加载 | 冷启动与持续失败 |
| 成稿改了数字或指令 | 对照原稿,尝试标准力度 | 保留意义与表面流畅 |
| 有文字但无法粘贴 | 焦点、安全输入和复制卡片 | 插入与识别、清稿 |
核对的 OpenAI 兼容清稿请求超时为 60 秒,这是失败上限,不是延迟承诺。Ollama 的 FAQ介绍 ollama ps、模型加载和内存行为。持续超时不代表换更大的模型就能解决,也不能保证任何硬件都能运行更大的模型。
哪些规则保留,哪些需要自己验证
清稿力度、词典提示、纠错对和保留语言切换的指令可用于本地路径,它们不会重新训练模型。本地精确替换和字体转换在清稿失败时仍可能生效。一些输出检查保护数字、否定和术语,但不等于完整语义验证。
精细力度改写太多时,试标准力度,并复用相同输入。如果原稿就有误,先单独判断识别,不要直接归因于本地模型。保留一组自己的姓名、数字、中英混说和口头反悔样例。
Hybrid 适用于接受云端优先、本地备用的场景。它不是隐私开关:先发云端,内置额度用完也不会自动切本地。主动点使用本地模型才是明确切换。其他边界参见听写里「本地」的含义。
在自己的 Mac 上试一下
用自己的常用词和输入框试一段,确认是否适合你的工作流。
由 Ducduc 产品方发布;第三方信息以文中标注的来源与日期为准。 作者、来源与示例说明