用 LSP 补全来做输入法的体验

做这个尝试最主要就是想看看补全里用输入法是什么体验。

先是看到 lsp-bridge wiki 很丰富了,再看到 pygls 文档说可以很简单地实现一个 LSP server, 接着去 github 搜了一个公开的 python 输入法,竟然很快能用起来。 于是觉得这个做起来应该不会很麻烦。在此之前,不懂 LSP,也不懂输入法,所以有想法也不知道怎么动手。

blog 里的畅想是在看 LSP 的接口说明过程中,发现之前逛论坛看到的许多帖子提到的想法似乎都可以用一个面向中文解析的 LSP 服务统一来提供(像 blog 里说的,以前只是模糊的想法,因为不看说明的话, language server 这个名字很容易让人以为它是提供类似 grammarly 一样的英文写作辅助功能的软件),因为 LSP 协议接口里就定义了它所要服务的功能,比如 新人报到,写了个中文词性高亮的小功能,请各位前辈批评 - #19,来自 cireu 的中文分词, 腾讯AI编辑器Effidit体验 - #13,来自 yanyang 里内置的输入法,词汇替换,另外 tabnine 这些产品也很容易让人想到是否可以补全中文。emacs 或许可以和 LSP 结合起来产生新的可能,而且越想越觉得 emacs 这种功能面很广的编辑器很适合有一个本地的智能编辑助手来辅助,于是就整理写下来了。

至于输入法,中文补全能做到什么程度,得看 AI 发展水平了,比如是否能把规模做小放到本地,根据用户的数据方便地进行训练,很赞同你说的每个专业的思维方式都不样的看法,每个人可能有自己的私人语言,但我不太认同说输入法作者需要很强的文学功底的看法,因为我觉应该让输入法(或者 language server)根据本地的数据自己学,就和 rime 输入法使用久了会“学习”到常用词频一样,当然学的东西更复杂和抽象。