Skip to content
gqf2008Public

About

Verba · 拾言输入法:开源跨平台多模态 AI 输入法(OCR/ASR/LLM/TTS),支持 Windows/macOS/Linux

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Verba · 拾言输入法

声、像、思、音,皆成文字。 一款开源跨平台「多模态 AI 输入法」:把 OCR(图片/截图转文字)、LLM(远程大模型) 融为一体(ASR/TTS 为实验性能力:代码保留、默认关闭、入口隐藏、不承诺),支持 Windows / macOS / Linux。

项目状态:M0–M5 主体完成——Windows TSF 前端 + LLM 直输实机验收通过;macOS IMK 前端已实现并打包(.app);中文引擎为 Rime(librime)单引擎(候选窗/分页/主题随 M5 实机验收);OCR(Windows.Media.Ocr/rapid)为正式能力,与 Slint 设置面板已端到端打通;ASR/TTS 冻结为实验性(2026-08-29 Owner 决策:代码保留、默认关闭、入口隐藏,不承诺)。 剩余:Linux 前端(低优先)、性能预算(范围 = LLM 核心输入链路 + OCR)、日志脱敏、M6 发布收尾(Alpha/Beta)。 见 Windows 手动验收清单 与 路线图。


为什么做 Verba

传统输入法只处理「键盘 → 文字」这一条通道,而我们的表达方式早已不止于键盘:

  • 看到一段文字、一张截图,想直接变成可编辑文本 → OCR
  • 想说一段话、想把文字读出来(ASR / TTS)→ 实验性能力:代码保留、默认关闭、入口隐藏,不承诺
  • 想润色、翻译、续写、总结,或直接"问一句" → LLM(远程)

Verba 的目标是成为三个平台上的「统一输入入口」:任何表达方式,最终都变成文字,落到光标处。

核心特性

能力 说明
🖼️ OCR 截图选区域 / 剪贴板图片 / 图片文件 → 文字上屏;//看图 / 眼睛 vision 直接把屏幕区域交给多模态 LLM 理解与提取
🎙️ ASR(实验性) 全局快捷键唤起语音输入 → 实时转写 → 上屏(冻结为实验性:代码保留、默认关闭、入口隐藏,不承诺)
🤖 LLM(远程) 输入法内 AI 模式:翻译、润色、续写、总结、自定义 Prompt,流式输出;多轮上下文(ai_context_turns,//new 清空);上屏文本自动并入窗口级上下文会话(窗口关闭即销毁,密码类字段检测不上屏外发)
🔊 TTS(实验性) 朗读选中文本 / 候选词,可配置上屏自动朗读(同上:实验性,不承诺)
⌨️ 输入 英文直输 + 标点 + 快捷指令;快捷短语(//短语 <名称> 一键插入用户模板,verba-cli phrase set/list/del 管理);中文拼音引擎(librime/Rime,单引擎)
⚙️ 配置 统一设置面板(Slint 跨平台),AI 服务商可插拔,密钥系统密钥库安全存储
🔒 隐私 本地能力默认离线;远程 LLM 显式开关并提示数据出境

支持平台

平台 输入法框架 状态
Windows 10/11 Text Services Framework (TSF) ✅ 已实现 + 实机验收(M1)
macOS 12+ Input Method Kit (IMK,全 Rust) ✅ 已实现 + .app 打包;交互验收收尾(M2)
Linux Fcitx5 / IBus / Wayland (zwp_input_method_v2) / X11 (XIM) ⏳ 未开始(低优先)

架构一览

共享 Rust 核心 + 各平台薄前端 + 后台守护进程(daemon):

┌──────────────┐   ┌──────────────┐   ┌──────────────┐
│ Windows TSF  │   │  macOS IMK   │   │  Linux       │
│ 前端 (Rust)  │   │ 前端 (Rust)  │   │ Fcitx5/IBus  │
└──────┬───────┘   └──────┬───────┘   └──────┬───────┘
       │     IPC(Protobuf / 本地套接字)      │
       └──────────────────┬──────────────────┘
                  ┌────────▼────────┐
                  │  Verba Daemon   │  ← 核心引擎(Rust/tokio)
                  │ OCR·LLM (+ASR/TTS 实验) │
                  └────────────────┘

详见 docs/architecture.md。

文档

快速开始

git clone https://github.com/gqf2008/verba-ime.git
cd verba-ime
cargo build --workspace          # 构建核心与 CLI
cargo run -p verba-cli -- --help

平台前端已落地:Windows TSF 与 macOS IMK 均已实现并打包;构建、安装与验收见 构建与打包、Windows 手动验收清单 与 路线图。

路线图摘要

  • M0 地基:仓库骨架、CI、核心引擎与 CLI ✅
  • M1 Windows 垂直切片:TSF 前端 + LLM 远程直输 ✅(实机验收)
  • M2 三端齐平:macOS IMK ✅(已实现打包,交互验收收尾);Linux Fcitx5/IBus 低优先
  • M3 多模态:OCR 已打通(mock + 在线 + 本地 rapid)✅(正式能力);ASR 冻结为实验性,whisper.cpp 不再推进
  • M4 打磨发布:设置面板、候选窗口已完成;TTS 冻结为实验性;性能预算(LLM 核心输入链路 + OCR)/日志脱敏待办
  • M5 中文引擎:Rime 单引擎 + 候选窗/分页/主题 ✅
  • M6 发布:签名、公证、安装包流水线已就绪(release.yml:macOS codesign/notary/DMG、Windows Inno Setup + signtool)—— Alpha/Beta 与社区运营进行中(见 docs/roadmap.md)

参考与同类项目

  • imekit — Rust 跨平台 IME 协议库(TSF/IMK/Fcitx/IBus/Wayland)
  • khiin-rs — Rust 跨平台输入法工程范式(TSF/IMK/Android + Protobuf IPC)
  • fcitx5-afrim — Rust 编写原生 Fcitx5 插件的范式
  • Rime / librime — 中文输入引擎(路线图集成对象)
  • 素言 SuYan 输入法 — 同类产品(Windows/macOS、RIME 系、离线语音 + 截图),作为竞品与体验参考

许可证

MIT License(暂定,正式发布前可调整)。

About

Verba · 拾言输入法:开源跨平台多模态 AI 输入法(OCR/ASR/LLM/TTS),支持 Windows/macOS/Linux

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages