爱意满满的作品展示区。
defa21312

微信输入法已被移植到 Linux

  •  4
     
  •   defa21312 · Sep 24 · 5195 views
    This topic created in 47 days ago, the information mentioned may be changed or developed.

    https://github.com/yu1745/wetype-ime-linux

    使用了安卓的微信输入法作为底座,使用 qemu 运行其 so ,完全剥离了 Java 部分,不联网,保留了用户输入学习功能,输入一个词之后,再次输入,其权重将提升。最终内存占用平均 80M 峰值 160M 停止打字之后迅速回落,硬盘占用仅207M,冷启动 1.5 秒出候选,热状态 70ms 出候选,依赖Fcitx框架,UI 复原了 windows 微信输入法的不翻页单行展示候选词,翻页后多行展示候选词。

    注:由于我主动避免再分发腾讯的产权文件(即输入法 APK),安装过程将类似 paperMC 的本地构建,会自动下载输入法 APK 作为依赖并构建出真正可用的输入法,而非直接提供编译好的二进制文件。

    Supplement 1  ·  Sep 24
    现已查明,首字延迟高不是因为性能问题,是因为每 30 秒,引擎将在后台崩溃一次,这个问题已经被修复,现在实测首字延迟稳定在 60 毫秒,在高达每秒输入 30 键时候选更新延迟仍小于 160ms
    46 replies  •  2026-09-25 12:32:27 +08:00
    v1
    v1
    Sep 24
    1
    卧槽!牛 B !非常牛!
    nextone
    nextone
    Sep 24
    2
    在 niri 这样的合成器环境兼容性怎么样
    Tink
    Tink
    Sep 24 via iPhone
    3
    有点厉害了
    Hi3333
    Hi3333
    Sep 24
    4
    我用微信输入法主要是剪贴板同步和 文件传输, 这些功能目前有吗
    vacants
    vacants
    Sep 24 via iPhone
    5
    虽然还用不上,但是感觉有一点牛逼
    getadoggie
    getadoggie
    Sep 24 via iPhone
    6
    支持一下,但是有隐私顾虑。像这种 qemu 运行 so ,能确保不联网吗,以及性能怎样,会不会有偷偷扫描的事情发生
    hullhutt
    hullhutt
    Sep 24
    7
    牛
    defa21312
    defa21312
    OP
    Sep 24
    8
    @Hi3333 🈚,也不打算做,故意让他不联网的
    tallest
    tallest
    Sep 24
    9
    佬,qemu_wetype-harness_xxxxx.core 文件会有多个,还摆在 home 下面的直接
    vk42
    vk42
    Sep 24
    10
    一直全平台用 rime ,Linux 下感觉就是无敌的存在,微信输入法有什么独特的亮点吗?共享剪切板这些就算了,本来就有隐私方面考虑才用的开源方案
    defa21312
    defa21312
    OP
    Sep 24
    11
    @tallest ok 了,我把 coredump 关掉了,下载最新的 Release v0.1.1 就不会再在崩溃之后产生 coredump 文件了
    kero991
    kero991
    Sep 24❤️1
    12
    有趣。
    我关注的点是,如果对于本身就是 arm64 架构的 Linux ,比如树莓派,国产飞腾、麒麟、鲲鹏芯片的信创电脑,应该可以原生运行而抛弃 QEMU
    而且即使是 x86 ,二进制翻译层中,QEMU 也是相对最低效的,box86/64 和 FEX-EMU 效率都要高得多。
    neutrino
    neutrino
    Sep 24 via Android
    13
    @vk42 rime 对选词的记忆有问题,经常一个词要打好几次才能记住,手机上更是没有好用的客户端
    vk42
    vk42
    Sep 24
    14
    @neutrino 应该是配置的原因,可以让 codex 或 claude 检查一遍配置。rime 的配置确实很麻烦,稍微没配好就会有奇怪的问题,但有了 agent 帮忙这块刚好不是问题了
    jedihy
    jedihy
    Sep 24
    15
    为什么这样?直接 vibe 一个输入法不就好了?
    hutoer
    hutoer
    Sep 24
    16
    试了下,感觉还是不错的.但是如何输入中文标点符号?
    defa21312
    defa21312
    OP
    Sep 24
    17
    @hutoer 忘做了,一会补上()
    Jas0nG
    Jas0nG
    Sep 24
    18
    @jedihy 说实话输入法没那么简单,有很多小细节。然后还有和 fcitx 框架交互的依赖,我尝试对 rime 开发进行一些小功能的修改,功能一遍过的成功率不到 50%,都需要多轮调整
    Jas0nG
    Jas0nG
    Sep 24
    19
    可以哦,点赞!! 就是延迟还是稍微有点高,不太好连续输入. 确实是个很有意思的思路哈哈
    paidaxtis
    paidaxtis
    Sep 24
    20
    太强了!
    zhaixingzhaiyue
    21
    如果稳定的话,还是非常棒!现在引擎很容易崩溃,重新拉起
    zhaixingzhaiyue
    22
    @jedihy 你 vibe 一个给大家用用
    paidaxtis
    paidaxtis
    Sep 24
    23
    @paidaxtis

    适用了一下,延迟还是太高了、跟不上手速,还是要回到习惯的 ibus rime 。不过已经太强了
    fengqing2
    fengqing2
    Sep 24
    24
    大神
    crazykun
    crazykun
    Sep 24
    25
    太强了, 什么原理
    kapaseker
    kapaseker
    Sep 24
    26
    卧槽!!!真是想什么来什么!!!
    Danswerme
    Danswerme
    Sep 24
    27
    牛
    crazykun
    crazykun
    Sep 24
    28
    试了试, 词库, 智能纠错, 自动调频都不错, 唯一缺点就是冷启动慢, 打得快就丢字了, 直接出来拼音
    kero991
    kero991
    Sep 24
    29
    @kero991 #12 抱歉,有点混淆了,box86 和 fex 都是在 arm64 主机上运行 x86/x64 应用的,而我们需要的是反向的,即在 x86 上运行 arm 应用的兼容层。目前好像确实没有。
    虽然我依稀记得我在哪看到过一个,当时还纳闷,谁会在 x86 上挂翻译跑 arm64 应用呢。
    luzemin
    luzemin
    Sep 24
    30
    Omarchy 下体验了下,打得快就丢字了, 直接出来拼音
    ko20
    ko20
    Sep 24
    31
    持续关注,大佬请继续更新
    402124773
    402124773
    Sep 24
    32
    之前一直有这个想法,但是没做到
    ronen
    ronen
    Sep 24
    33
    这就是我为什么来 V2EX 赞。
    crazykay
    crazykay
    Sep 24
    34
    @crazykun 打快丢字可不行
    SJH0402
    SJH0402
    Sep 24
    35
    牛逼
    appleshan
    appleshan
    Sep 24
    36
    @vk42 #10 好好好,我也是,一直全平台用 rime ,再也不用其他输入法了。(一直用 Arch Linux )
    declandragon
    37
    请问不联网的 win 版本可以搞吗?还没用过微信输入法
    Maboroshii
    38
    厉害。 你是怎么发现.so 可以直接拿来用的
    defa21312
    defa21312
    OP
    Sep 24
    39
    @Maboroshii 其实试了好几个方案,一开始不用 qemu ,直接在 linux 上写 shim 硬跑 windows 的 dll ,花了好多天还是很不稳定,后来我忽然想到并不一定非要局限于桌面版,安卓的 so 至少是都是 linux ,只是架构不一样,架构不一样捆绑一个 15m 大小的 qemu 就完事了。
    terencehan
    terencehan
    Sep 24 via iPhone
    40
    在 UOS ( arm64 )上用 DeepSeek vibe 了一下,体验不错
    Oktfolio
    Oktfolio
    Sep 24
    41
    @defa21312 那 arm64 是不是就可以不用依赖 qemu 了呢?
    defa21312
    defa21312
    OP
    Sep 24
    42
    @Oktfolio 是的,性能好很多,不过还没写。
    12101111
    12101111
    Sep 24
    43
    @kero991 switch 模拟器用的 dynarmic 能把 ARM 转换到 x86

    https://github.com/azahar-emu/dynarmic
    codehz
    codehz
    Sep 24❤️1
    44
    有另一个基于 mac 版本的 https://github.com/panxuc/fcitx5-wetypex
    qbqbqbqb
    qbqbqbqb
    Sep 24❤️1
    45
    @kero991 你说的是不是 libhoudini ,就是 Intel 做的能让安卓 x86 安装运行仅支持 arm 的安卓应用的那个兼容组件
    whosphp
    whosphp
    Sep 25
    46
    @codehz 这个 mac 版本的好像更强大,输入的快也不会丢词,变成拼音
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   978 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 104ms · UTC 19:32 · PVG 03:32 · LAX 11:32 · JFK 14:32
    ♥ Do have faith in what you're doing.