v1.0.0-original-IME-上下文LLM纠错文字转语音输入法
Original IME v1.0
Original IME 是 Voice Transform 的第一版 Android 输入法客户端,对应仓库 main 分支。它重点验证“语音识别结果进入后端 Agent 纠错,再由用户确认插入”的核心闭环。
适合谁使用
这个版本适合:
- 想快速理解项目最小闭环的人。
- 想演示语音识别纠错、用户画像、专业词库和 Agent trace 的人。
- 想基于较简单 Android
InputMethodService代码继续改造的人。
如果你想日常使用更完整的拼音键盘,建议安装 Trime 完整输入法版本。
下载
进入 GitHub Releases:
https://github.com/Nek0mush1/voiceTransformForAndroid/releases
选择 Release:
v1.0.0-original-ime
下载 APK:
voice-transform-original-ime-v1.0.0.apk
如果 Release 页面还没有上传 APK,可以从 main 分支本地构建。
Release APK 默认连接云端后端:
http://39.106.51.35:8000
普通使用者只要云端服务在线,不需要自己启动或部署后端。
功能
- 注册为 Android 系统输入法:
Voice Transform IME。 - 可在任意文本输入框中使用。
- 默认调用 Android 系统
SpeechRecognizer获取原始语音识别文本。 - 将 raw text 发送到后端
/api/v1/correct-text。 - 展示原文和纠错文本,用户可选择:
- 插入修正
- 插入原文
- 取消
- 支持后端地址、用户 ID、App 场景和语音模式配置。
- 支持在 App 内维护用户画像和专业词库。
- 支持查看纠错结果和 Agent trace。
使用教程
1. 安装 APK
使用 Release 下载的 APK:
adb install -r voice-transform-original-ime-v1.0.0.apk或本地构建:
git checkout main
cd android
$env:JAVA_HOME='D:\Softs\Android Studio\jbr'
$env:PATH="$env:JAVA_HOME\bin;$env:PATH"
.\gradlew.bat :app:assembleDebug
adb install -r .\app\build\outputs\apk\debug\app-debug.apk2. 配置后端
打开手机上的 Voice Transform App。默认后端地址已经是:
http://39.106.51.35:8000
如果只是体验 Release 版本,一般不需要修改。
如果想连接自己的后端,可以改成:
模拟器: http://10.0.2.2:8000
真机: http://电脑局域网 IP:8000
自有服务器: http://your-server-ip:8000
推荐配置:
Speech Mode: system
User ID: local_user
App Context: study
Speech Mode: system 使用手机系统语音识别,后端只负责文本纠错,不要求服务器配置 ASR。
Speech Mode: backend 会把录音上传到后端识别,要求服务器已经配置可用的 ASR 服务。
3. 启用输入法
在 Android 设置里启用:
Settings -> System -> Keyboard -> On-screen keyboard -> Manage keyboards -> Voice Transform IME
然后在任意输入框中切换到 Voice Transform IME。
4. 测试纠错
说:
今天上午上了两节计组课
如果系统 ASR 得到:
今天上午上了两节祭祖课
后端会结合专业词库和用户画像,返回:
今天上午上了两节计组课
用户确认后再插入当前输入框。
5. 自部署后端
下面步骤只面向开发者或想使用自己服务器的人。普通 Release 用户不需要执行。
cd backend
python -m pip install -r requirements.txt
python -m uvicorn app.main:app --reload验证:
curl http://127.0.0.1:8000/health
curl http://127.0.0.1:8000/api/v1/debug/statusAgent 设计
Original IME 版本的重点不是键盘体验,而是验证 Agent 闭环:
Android SpeechRecognizer
-> raw_text
-> FastAPI /api/v1/correct-text
-> MemoryTool 读取用户画像和术语库
-> PinyinCorrectorTool 生成同音/别名纠错候选
-> LLMRewriteTool 可选约束式改写
-> corrected_text + reason + trace
-> 用户确认插入
它体现的 Agent 开发重点:
- 有明确输入:ASR 文本、用户 ID、App 场景。
- 有可检索记忆:用户画像和专业术语库。
- 有工具调用:记忆读取、拼音纠错、LLM 改写。
- 有行动结果:返回可插入文本。
- 有可解释 trace:记录为什么修改、命中了哪些词、LLM 是否成功。
- 有失败回退:LLM 不可用时仍返回规则纠错结果。
技术栈
| 模块 | 技术 |
|---|---|
| Android | Java, Android SDK, InputMethodService, SpeechRecognizer, HttpURLConnection |
| Backend | Python, FastAPI, Pydantic, SQLite, Uvicorn |
| Agent | ContextCorrectionAgent, MemoryTool, PinyinCorrectorTool, LLMRewriteTool |
| ASR | Android system SpeechRecognizer,可选 Baidu ASR |
| LLM | OpenAI-compatible Chat Completions / Responses API |
局限
- 键盘能力较基础,不适合作为完整日常输入法。
- 拼音候选和键盘交互不如成熟输入法。
- ASR 准确率依赖 Android 系统语音识别。
- 更推荐用 Trime 版本体验完整输入法。