Skip to content

SayIt v0.2.1

Choose a tag to compare

@crosswk crosswk released this 21 Sep 03:14

SayIt v0.2.1

Added

  • Speech recognition services now have a model picker. One card per provider, models in a
    dropdown inside it, and a single API key covers all of them. Qwen has eight to choose from,
    listed by their real model IDs so they line up with the provider's documentation and billing.
  • New speech recognition service: OpenAI transcription. gpt-transcribe, gpt-4o-transcribe,
    gpt-4o-mini-transcribe, whisper-large-v3, and gpt-live-transcribe, which produces text as you
    speak. Requires an OpenAI account and a connection that can reach it.
  • New speech recognition service: Gemini transcription. The widest language coverage of the
    lot (85 and counting), tidy punctuation and number formatting, available both as "transcribe
    once you stop" and as live captions, and there is a free tier. Requires a Google account and a
    connection that can reach it.
  • New speech recognition service: OpenRouter. One key reaches twenty-odd transcription models
    from around a dozen vendors, grouped by vendor. Worth it when you would rather not open an
    account with each one; the trade-off is an extra hop, so price and latency both sit slightly
    above going direct. For dictating Chinese, start with the qwen entries.
  • New speech recognition service: OpenAI-compatible service, with the address up to you.
    Self-hosted whisper.cpp, faster-whisper and FunASR, and services such as SiliconFlow and
    Alibaba Bailian all connect through this one entry. Enter the address up to /v1 and the model
    name yourself. "OpenAI-compatible" covers two different protocols in the speech world; the
    first transcription works out which one that address uses and remembers it, and the protocol
    field lets you specify it by hand if that goes wrong.
  • Built-in speech recognition services accept your own address too. OpenAI, Gemini and Groq
    gained an optional address field; left blank they use the official endpoint. Relays and
    corporate reverse proxies fall into this category. Models on the realtime endpoint cannot be
    redirected, so the field does not appear for them.
  • Groq gains whisper-large-v3, and Qwen gains the newest Omni generation
    (qwen3.8-omni-flash).
    The latter talks to a non-realtime endpoint, so live captions are not
    available with it.
  • New AI provider: Zhipu GLM. The address and models come pre-filled, so a key is all you
    need, and the default model glm-4.7-flash is free to use. Models that do not allow thinking
    to be switched off, GLM-5.3 among them, fall back to the lowest reasoning effort rather than
    failing the connection.
  • Service cards can be given a name. Worth it when you have two entries for the same provider
    — two accounts, or two self-hosted addresses. Left blank, the card shows the provider name.

Changed

  • The speech recognition list is now one card per platform. Qwen alone used to take five
    cards, which made for a long list that gave no hint about which entries belonged together.
    Existing configuration is carried over on upgrade; there is no need to re-enter any keys.
  • Models are now shown by their real model ID. qwen3-asr-flash and whisper-large-v3 are
    the same strings the provider's documentation and your invoice use. "When should I pick this
    one" is now the job of the note under the dropdown.

Fixed

  • Speech recognition card titles ended with the last four characters of the API key. In an
    interface that deliberately hides secrets behind a reveal icon, having the tail of that secret
    sitting in a title looked exactly like a leak. You now name the cards yourself and no part of a
    key appears in a title.
  • The setup guide would not accept combinations such as Ctrl + D. That step recognised single
    keys only, so Ctrl + D was quietly stored as plain Left Ctrl. The guide now handles combinations
    the same way the settings page does, and Ctrl + Space and Ctrl + F1 work correctly too.
  • Alt + F4 started a recording when F4 alone was bound to hands-free, and Alt + F4 itself
    stopped working. Single-key shortcuts now require that no other modifier is held, so
    combinations pass through to whatever program is in front.
  • Dragging to select text inside a dialog closed it if you released the mouse outside, taking
    whatever you had typed with it. Closing now requires that the mouse was already outside the
    dialog when the button went down.
  • The reveal-password icon sat on top of the text in API Key fields. Fixed in all four places
    a secret is entered.
  • The overlay briefly showed the previous message before the new one. The overlay now clears
    its content as the message goes away, and the first overlay of a session no longer flashes the
    preparing state either.
  • Qwen Omni reported "no speech detected" when a long recording failed. The real cause was the
    server closing the connection early, which the interface gave no hint of — leaving the
    microphone as the obvious thing to go and check. That case now surfaces the reason the server
    gave.
  • Text could not be inserted into WeChat after it updated. WeChat 4.1 renamed its executable
    (WeChat.exe became Weixin.exe), and because WeChat 4.x draws its own input fields the program
    name is the only thing left to go on — a name that does not match means the whole window is
    treated as not typeable. Both names are now recognised.
  • The text processing switches stayed active while AI cleanup was on, and did nothing. Once AI
    cleanup takes over, formatting is left entirely to it, because both doing it at once means they
    fight — but none of that was visible. They are now greyed out with the reason stated in place.

Improved

  • Reporting a problem no longer starts with writing a description. Problem reports list the
    common cases, picking one is enough to submit, logs are bundled automatically as before, and a
    written description is optional. Today's logs are sent rather than the last hour: people tend to
    report a while after the fact, which often left the relevant stretch outside the window.
  • Local and cloud API modes now explain why there is no Send button. Those two modes need
    server mode to submit directly. Downloading the diagnostic bundle and sending it by hand still
    works.
  • The "text was not inserted" entry in Diagnostics is now complete. It covers the target
    program running as administrator and the case where only one particular program refuses text,
    and it closes by explaining how to submit a diagnostic bundle when none of it helps. Common
    problems are now collapsed by default.
  • An insufficient account balance is now called out on its own. It used to be reported as rate
    limiting, which calls for the opposite response: waiting helps with a rate limit and does
    nothing for an empty balance. The message includes the specific amount the provider asks for.

简体中文

新增

  • 语音识别服务可以选模型了:一家供应商一张卡,模型收进卡内的下拉,同一把密钥覆盖它的全部模型。千问有 8 个可选,列表里写的是真实模型 ID,方便对文档、对账单。
  • 新增语音识别服务「OpenAI 转写」:gpt-transcribe、gpt-4o-transcribe、gpt-4o-mini-transcribe、whisper-large-v3,以及边说边出字的 gpt-live-transcribe。需要 OpenAI 账号和海外网络环境。
  • 新增语音识别服务「Gemini 转写」:语种覆盖最广(85 种以上),标点和数字规整,有「录完一次性出字」和「边说边出字」两档,且有免费额度。需要 Google 账号和海外网络环境。
  • 新增语音识别服务「OpenRouter」:一把密钥通往二十多个转写模型,来自十来家厂商,按厂商分组。不想为每家单独开账号时选它;代价是多一层中转,价格和延迟略高于直连。中文口述优先选 qwen 系。
  • 新增语音识别服务「OpenAI 兼容服务」,接口地址自己填:自建的 whisper.cpp、faster-whisper、FunASR,硅基流动、阿里云百炼等都从这一项接入。地址填到 /v1 即可,模型名自己写。「OpenAI 兼容」在语音上其实有两套协议,首次转写会自动试出用哪套并记住;识别有误时可在「接口协议」一栏手动指定。
  • 内置的语音识别服务也能改接口地址了:OpenAI、Gemini、Groq 新增「接口地址(可选)」,留空用官方地址。走中转服务或公司反向代理属于这一类。走实时接口的模型不支持,这一栏不会出现。
  • Groq 补上 whisper-large-v3,千问补上最新一代 Omni(qwen3.8-omni-flash):后者走非实时接口,不支持实时字幕。
  • 新增 AI 供应商「智谱 GLM」:地址和模型都预填好,填一把密钥就能用,默认的 glm-4.7-flash 是免费模型。像 GLM-5.3 这样不允许关闭思考的模型会自动改用最低推理强度,不再报连接失败。
  • 服务卡片可以起名字:同一家配了两份时(两个账号、或两个自建地址)好区分,留空则显示供应商名。

变更

  • 语音识别的服务列表收成「一张卡一个平台」:此前千问一家就摆了 5 张卡,列表很长却看不出哪些其实是一家。升级时已有的配置会自动搬过去,不需要重新填密钥。
  • 模型一律显示真实的模型 ID:qwen3-asr-flash、whisper-large-v3 这样的名字,跟服务商文档和账单上写的是同一个东西。「这个模型什么时候该选」改由下拉底下那句说明承担。

修复

  • 语音识别的服务卡片标题上带着 API Key 的末 4 位:在一个专门用眼睛图标把密钥遮住的界面里,标题上却挂着密钥的尾巴。现在改成由你自己给卡片起名字,标题里不会再出现密钥的任何部分。
  • 新手引导里设不了 Ctrl + D 这类组合键:那一步只认单个按键,按下 Ctrl + D 会被当成「左 Ctrl」悄悄存下来。现在引导和设置页一样支持组合键,顺带修好了 Ctrl + 空格、Ctrl + F1。
  • 把单个按键(如 F4)设为免提后,按 Alt + F4 也会开始录音,而且 Alt + F4 本身还失效了。现在单键快捷键要求不带其他修饰键才算命中,组合键照常交给当前程序处理。
  • 在弹窗里拖动选字、鼠标移出去再松开,弹窗会自己关掉,填了一半的内容跟着没了。现在只有「按下鼠标时就在弹窗外面」才算点了外面。
  • API Key 输入框里的内容被右侧「显示密钥」的眼睛图标压住:四处填密钥的地方都修好了。
  • 悬浮窗切换提示时会先闪一下上一次的内容:现在提示消失时就把内容清空了,第一次显示时也不再闪一下准备中的样式。
  • 千问 Omni 长录音失败时提示「未检测到有效声音」:真实原因是连接被服务端提前掐断,界面上看不出来,只好去查麦克风。现在会直接报出服务端给的原因。
  • 微信升级到新版后插不进文本:微信 4.1 把程序文件改了名(WeChat.exe → Weixin.exe),而微信 4.x 的输入框完全自绘、程序名是唯一能用的判据,名字一对不上就整个被当成不可输入的地方。现在新旧两个名字都认。
  • 开启 AI 整理后,「文本处理」里那几个开关还亮着、点了却没反应:AI 一介入排版就整体交给 AI 了(两边都做会互相打架),但界面上看不出来。现在这些开关会置灰,并写明「AI 整理开启时不生效」。

优化

  • 反馈问题不用先写一段描述了:列出常见问题类型,点一个就能提交,日志照旧自动打包,补充说明改成可选。默认发送今天的日志——原来是最近 1 小时,而用户往往过一阵才来反馈,出问题那段常被切在窗口外。
  • 本地模式、云 API 模式下没有「发送」按钮时会说明原因:这两种模式需要切到服务器模式才能直接发送,也可以用「下载」保存诊断包再手动发。
  • 诊断页的「文字没有插入到输入框」写全了:补上「目标程序以管理员身份运行」和「只有某个程序插不进」两种情况,并写清都不管用时该怎么提交诊断包。「常见问题」现在默认收起。
  • 账户余额不足会单独提示:此前被归进「被供应商限流」,而这两件事该做的动作相反——限流等一会儿再试就好,余额不足等到明年也不行。提示里会带上服务商要求的具体金额。