配置
转写与费用
你可以选择本机 whisper(免费)、你自己的 OpenAI 密钥,或任何兼容 OpenAI 的端点(例如你自己的 GPU 主机)。音频会从你的电脑直接发送到你选择的服务。
#谁付费,流量去向何处
费用与网络模型
- 开发者(Japan Marketing LLC)不为任何转写或 AI 用量付费,也不进行代理或计费。
- 请求从你的电脑直接发送到 OpenAI 或你的端点,绝不经过开发者的服务器。
- OpenAI 的用量计入你自己的 OpenAI 账户。
- 整理 使用你已登录的 Claude Code / Codex CLI,除非你明确选择 API 运行方式(
organizer.runner: "api:<provider>",参见用 settings.json 配置)。它绝不会自行改用 API 密钥。
#方式
在 设置 → 转写 → 引擎 中选择。底部状态栏的 麦克风与转写 弹出框会显示当前的选择。
| 引擎 | 音频发送到 | 费用 |
|---|---|---|
| 本机(免费)(默认) | 不发送 | 免费 |
| OpenAI(你的密钥) | OpenAI | 计入你的 OpenAI 账单:gpt-transcribe 为 $0.0045/分钟(约 $0.27/小时) |
| 兼容 OpenAI(自托管 GPU、Groq 等) | 你的 端点 Base URL | 取决于端点 |
设置 → 转写 → 语言:自动、日语 或 英语。这是说话所用的语言,与界面语言相互独立。
#本机 whisper(免费)
本机转写使用 whisper.cpp (在新标签页中打开):即 whisper-cli 可执行文件加上一个 GGML 模型。
1. 安装 whisper-cli。Ferret 会依次查找随附的副本(resources/whisper/<platform>-<arch>/)、PATH,以及 Homebrew 等常见位置。
# macOS
brew install whisper-cpp
# Linux: build from source, then add build/bin to PATH
git clone https://github.com/ggml-org/whisper.cpp && cd whisper.cpp
cmake -B build && cmake --build build -j --config Release
# Windows: download the zip from github.com/ggml-org/whisper.cpp/releases
# and add the folder containing whisper-cli.exe to PATH
2. 获取模型。选中 本机(免费) 后,选择一个 模型,然后点击 下载模型。文件直接从 Hugging Face(ggerganov/whisper.cpp)下载,并与应用中固定的 sha256 进行校验(不一致时会删除该文件),然后保存到 <userData>/models/。下载完成的模型会被自动选中。取消 会保留已下载的部分文件,继续下载 会从中断处继续。
| 模型 | 大小 | 说明 |
|---|---|---|
large-v3-turbo | 1.6 GB | 推荐的默认选项。在 Metal / GPU 上速度快 |
large-v3-turbo-q5_0 | 574 MB | 量化版。节省磁盘和内存 |
small | 488 MB | 适用于只有 CPU 的电脑 |
base | 148 MB | 轻量。日语识别错误较多 |
tiny | 78 MB | 最快。日语准确度不足 |
已经有模型了?使用 选择文件… 指定任意 ggml-*.bin。没有模型时,设置中会提示尚未设置模型。你仍然可以录制:音频会被保存,但只会生成画笔标注的反馈。
whisper-cli 不随应用附带,请按上述方法自行安装。找不到它时,设置中会显示 未找到 whisper.cpp(whisper-cli)。请安装后重新打开设置。
,并附上同样的安装说明。
#使用你自己的 OpenAI 密钥
- 将 引擎 设为 OpenAI(你的密钥)。
- 将以
sk-开头的密钥粘贴到 OpenAI API 密钥,然后点击 保存。 - 点击 测试连接。它会发送 1 秒的静音(约 $0.0001)。
模型固定为 gpt-transcribe。仅在开发环境(pnpm dev)中,还会读取被 git 忽略的 .env 文件中的 OPENAI_API_KEY。打包后的版本绝不会读取 .env。
#兼容 OpenAI 的端点
Ferret 会发送 POST <base>/v1/audio/transcriptions(multipart:file、model、response_format=json、language、prompt),因此它面向实现了 OpenAI 转写接口的服务器。
- 将 引擎 设为 兼容 OpenAI(自托管 GPU、Groq 等)。
- 填写 端点 Base URL 和 模型(端点上的模型名称)。
- 如果服务器需要密钥,请输入 Endpoint API key(可选),然后点击 保存。
- 点击 测试连接。出错时会指出原因,例如 Base URL 错误(没有
/v1/audio/transcriptions)、密钥被拒绝或模型名称未知。
| 服务器 | Base URL | 模型(示例) |
|---|---|---|
| speaches (在新标签页中打开)(原 faster-whisper-server) | http://localhost:8000/v1 | Systran/faster-whisper-small |
vLLM (在新标签页中打开)(vllm serve openai/whisper-large-v3) | http://localhost:8000/v1 | openai/whisper-large-v3 |
| Groq (在新标签页中打开) | https://api.groq.com/openai/v1 | whisper-large-v3-turbo |
Ferret 面向这类兼容 OpenAI 的服务器设计,但尚未用 Ferret 对它们进行测试。上表中的 URL 和模型名称是各服务器文档中给出的默认值。
- 保存时会去掉末尾的
/v1或粘贴进来的/v1/audio/transcriptions,因此两种写法都可以。 - 包含用户名或密码的 URL 会被拒绝,因此密钥绝不会写入
settings.json。 - 如果 GPU 主机位于你的局域网或 tailnet 中,请使用它的地址,例如
http://100.x.y.z:8000/v1。
#费用上限
对于 OpenAI 和兼容端点,可以设置 费用上限:无,或从 每次审查最多 $0.10 起,依次为 $0.50、$1(默认)、$5 和 $20。使用你自己的 GPU 时,选择 无 比较合适。该设置保存为 capture.costLimitUsd(最大 1000,null 表示不设上限)。兼容端点按 $0.006/分钟估算。
当下一段音频会超出上限时,Ferret 会停止发送并保留音频。失败的 API 调用不会自动重试。
#密钥的存储位置
在 设置 中输入的密钥会用 Electron safeStorage 加密,并写入 <userData>/stt-keys.bin。应用绝不会把它们写入 settings.json。如果想改为在 settings.json 中引用密钥(环境变量或 .env 条目),请参见 API 密钥。
- macOS:钥匙串
- Windows:DPAPI
- Linux:libsecret 或 KWallet。如果只有
basic_text后端可用,密钥只会在本次会话期间保存在内存中(按钮显示为 仅本次会话设置)。
删除密钥 会将其删除。关于 <userData> 的路径,请参见文件与环境。