AI-Rime
基於Rime的lua腳本系統打造AI增強輸入法
Rime AI 糾錯 v1 智能糾錯
功能説明
極簡版 AI 糾錯功能:
- 按 6 觸發糾錯,顯示"AI糾正中..."
- 再按 6 顯示糾正結果
文件清單
| 文件 | 説明 |
|---|---|
ai_corrector_processor.lua |
按鍵監聽(放入 lua/ 目錄) |
ai_corrector.lua |
候選詞處理(放入 lua/ 目錄) |
ai_corrector_service* |
後台服務 |
前言
Lua 是一種輕量小巧的腳本語言,用標準C語言編寫並以源代碼形式開放, 其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。
Rime輸入法支持內置簡單的Lua腳本,基於此得以設計AI輸入法。
Rime的配置文件夾結構大致如下:
Rime
- Lua——存放lua腳本
- build——存放構建後的信息
- *.userdb——存放用户輸入習慣的記錄
- *_dicts——存放引入的詞典
- 其他配置文件
安裝步驟
1. 程序文件部署
當前版本總共需要部署三個程序,分別是兩個lua程序以及一個可執行程序。
Rime輸入法配置文件可通過Rime輸入法菜單打開,Mac端叫作用户設定,Windows端叫作用户文件夾。Mac下Rime用户資料默認在Users/用户名/Library/Rime下,可直接在README.md所在目錄打開終端執行下面命令進行復制。
cp ai_corrector_processor.lua ~/Library/Rime/lua/
cp ai_corrector.lua ~/Library/Rime/lua/
Windows端Rime用户文件夾默認路徑是C:\Users\用户名\AppData\Roaming\Rime,Linux平台輸入框架和版本不同則具體的也會目錄不同,需要根據系統是fictx4、fictx5或iBus來定。
將不同平台對應的可執行程序複製到Rime配置文件的根目錄下。
2. 配置 Rime Schema
在你的輸入方案的schema(例如霧凇拼音rime_ice.schema.yaml文件)中添加:
engine:
processors:
- lua_processor@*ai_corrector_processor # 儘量放在processors前面,以免被其他processor搶先捕獲
filters:
- lua_filter@*ai_corrector # 這一條必須放在filters的第一個位置,用於修改AI糾正結果顯示
或者在輸入方案的custom文件中添加:
patch: # 更推薦這種添加方案,不影響原有配置文件
engine/processors/@after 0: lua_processor@*ai_corrector_processor
engine/filters/@before last: lua_filter@*ai_corrector
例如對霧凇拼音的rime_ice.shcema.yaml配置文件創建一個rime_ice.custom.yaml文件,然後添加上面的patch內容。
3. 啓動服務
-
Windows平台在Rime根目錄下打開PowerShell,執行命令開啓服務,終端會顯示糾錯請求信息。Windows平台可以利用nssm製作後台服務(注意工作目錄設置成Rime配置文件根目錄)。
./ai_corrector_service_Windows/ai_corrector_service.exe -
Linux平台同樣在Rime配置根目錄打開終端,執行命令啓動服務。
./ai_corrector_service_Linux/ai_corrector_service.bin如果啓動失敗的話檢查權限是否正確,通過命令賦予運行權限。
chmod +x ./ai_corrector_service_Linux/ai_corrector_service.binLinux可用systemd設置成服務後台運行,直接執行bin文件即可,建議設置工作目錄是Rime配置文件根目錄。
-
Mac平台將
ai_corrector_service_Mac.app放置在Rime配置文件根目錄後不可以直接雙擊運行,因為服務程序沒有UI,因此同樣需要在Rime配置文件根目錄打開終端執行命令:./ai_corrector_service_Mac.app/Contents/MacOS/ai_corrector_service
Mac電腦可用launched設置成服務後台運行。
4. 重新部署 Rime
使用方法
本方案是基於霧凇拼音輸入方案而設計的,其他拼音方案同樣可用。霧凇拼音默認設置5個候選詞,因此我將數字鍵6作為了觸發糾錯功能的觸發按鍵。
上面部署階段成功後,具體的操作流程如下:
- 輸入拼音,看到候選詞
- 按 6 觸發糾錯
- 再按 6 顯示結果
- 按 空格 選擇結果
結束語:
因為Rime本身的設計,lua腳本只能在輸入發生變動時觸發,因此該版本需要先按數字鍵6觸發AI糾錯請求,等1-2s後再按6觸發AI返回結果顯示。等待按第二次鍵很是惱人,目前已經在設計第二版本,期望可以解決避免需要二次按鍵觸發的問題。
當前版本prompt提示詞經過數百次嘗試優化,已經達到較好的效果。如果關注較多的話考慮下一版本公開提示詞,到時候可以自定義做更多花樣。
資源鏈接:
https://1815368419.v.123pan.cn/1815368419/26934630
Rime AI 糾錯 v2 可配置版
功能説明
支持外部配置文件和自動觸發的 AI 糾錯功能:
- 按 6 觸發糾錯
- 按 0 顯示結果(或開啓自動觸發後自動顯示)
文件清單
| 文件 | 説明 |
|---|---|
ai_corrector_processor.lua |
按鍵監聽(放入 lua/ 目錄) |
ai_corrector.lua |
候選詞處理(放入 lua/ 目錄) |
ai_corrector_service.* |
後台服務 |
ai_corrector_config.json |
配置文件 |
安裝步驟
1. 複製文件
見版本1説明
2. 修改配置
編輯 ai_corrector_config.json:
{
"api_key": "你的API密鑰",
"auto_trigger": true
}
配置文件記錄着請求AI的信息,請把他放置在Rime配置目錄下。
3. 配置 Rime Schema
見版本1説明
4. 啓動服務
見版本1説明
5. 重新部署 Rime
配置選項
| 選項 | 説明 | 默認值 |
|---|---|---|
provider |
AI 提供商 (deepseek/openai/ollama) | deepseek |
api_key |
API 密鑰 | 空 |
api_url |
API 地址 | DeepSeek |
model |
模型名稱 | deepseek-chat |
auto_trigger |
自動顯示結果 | true |
prompt |
糾錯提示詞 | 內置 |
自動觸發
開啓 auto_trigger 後:
- 按 6 觸發糾錯
- AI 返回結果後自動模擬按鍵 0
- 結果自動顯示
需要權限:
- macOS: 系統設置 → 隱私與安全性 → 輔助功能 → 添加 服務程序
資源鏈接:
https://1815368419.v.123pan.cn/1815368419/26963692
V2-Linux修復版本
前言:
-
由於Linux系統輸入法框架的設計,首發v2版本出現配置文件找錯目錄的問題,現已經經過修改和測試,在作者Ubuntu24 x11系統上已經可以正常運行,如若在其他發行版上出現問題請及時反饋。
-
v2版本是基於python的pynput模塊實現發送模擬按鍵0來代替用户第二次按鍵觸發直接修改輸入法第一個候選詞顯示為AI返回結果的,但是優於Linux下x11和Wayland對pynput支持較差,因此此次修復版本針對這一問題做出了深度修復與測試。作者Ubuntu24 x11環境下可以實現正常糾錯及自動觸發,優於作者設備有限,沒能測試Wayland,因此下面給出x11的實際可行配置策略及Wayland理論可行配置策略。
Linux 模擬按鍵配置指南
本文檔説明在 Linux 環境下配置 AI 糾錯服務自動觸發功能所需的依賴和設置。
問題背景
Python 的 pynput 庫在 Linux 下存在以下問題:
- X11:需要額外權限配置,且不夠穩定
- Wayland:靜默失敗,無法正常工作
因此,在 Linux 下程序跳過 pynput,改用系統工具。
環境檢測
程序通過環境變量 XDG_SESSION_TYPE 自動檢測當前桌面環境:
echo $XDG_SESSION_TYPE
# 輸出 "x11" 或 "wayland"
X11 環境
使用工具:xdotool
安裝
# Ubuntu/Debian
sudo apt install xdotool
# Fedora
sudo dnf install xdotool
# Arch
sudo pacman -S xdotool
測試
xdotool key 0
無需額外配置
X11 下 xdotool 開箱即用,無需守護進程或特殊權限。
Wayland 環境
使用工具:ydotool
安裝
# Ubuntu/Debian
sudo apt install ydotool
# Fedora
sudo dnf install ydotool
# Arch
sudo pacman -S ydotool
啓動守護進程
ydotool 需要後台運行 ydotoold 守護進程:
# 手動啓動
sudo ydotoold &
# 或使用 systemd(推薦)
sudo systemctl enable ydotool
sudo systemctl start ydotool
用户權限
將用户添加到 input 組:
sudo usermod -aG input $USER
# 註銷並重新登錄生效
測試
# 數字 0 的 Linux 內核鍵碼是 11
# 格式:keycode:1 (按下) keycode:0 (釋放)
ydotool key 11:1 11:0
結語: 以上是針對Linux用户需要特殊配置的説明,若有其他問題請即時反饋。
資源鏈接:https://1815368419.v.123pan.cn/1815368419/26969029