
螺壳输入法只管按键、候选窗和上屏,出什么候选交给引擎。一个文件夹、两个文件,就是一个引擎。
{
"protocol": 1,
"name": "最小示例",
"kind": "typing",
"run": ["luoke-python", "engine.py"],
"input_keys": "abcdefghijklmnopqrstuvwxyz"
}import json, sys
TABLE = {"ni": ["你", "呢"], "hao": ["好", "号"], "nihao": ["你好"]}
for line in sys.stdin:
msg = json.loads(line)
if msg.get("type") != "query":
continue
keys = msg["input"]
cands = [{"text": t, "consume": n}
for n in range(len(keys), 0, -1) for t in TABLE.get(keys[:n], [])]
print(json.dumps({"type": "answer", "id": msg["id"],
"candidates": cands}, ensure_ascii=False), flush=True)放进 ~/.luoke/ime/engines/,在输入法菜单里选它就能用。改了文件,下一个键就是新版本。
各家双拼、形码,或者你自己发明的速记码。
假名、颜文字、数学符号,都可以做成一个引擎。
一份公司术语表,或者你常用的专名。
第三方引擎连不了网,也用不了 GPU。装上以后不会自己启用,得你确认。
只能写自己的目录。钥匙串、密码、浏览器和邮件都读不到,螺壳记忆和输入法的设置也读不到。
想按前文给候选打分、续写,就请螺壳(luoke-core)帮忙,不自己再装一份模型。
好用的引擎,我们想让更多人用上。