V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
shot
V2EX  ›  分享创造

librime-qjs: 为高隐私高定制的 Rime 输入法装上 JavaScript 引擎

  •  3
     
  •   shot · 6 天前 · 1208 次点击

    librime-qjs: 为 Rime 输入法引擎带来全新的 JavaScript 插件生态,以闪电般的速度和羽毛般的轻盈,让输入体验焕然一新!

    功能特性

    • 🔌 为 Rime 输入法引擎 带来强大的 JavaScript 插件生态。
      • 🎮 让 JavaScript 尽情发挥,所有 Rime 引擎的精华功能都已为您精心备妥。
      • ✨ 看看我们的实力!白霜拼音 的所有 Lua 插件都已完美重写为 JavaScript 版本
      • 📝 贴心提供 JavaScript 类型定义,让插件开发体验如丝般顺滑。
      • 🔄 简单灵活的类型绑定模板,让 JavaScript 和 Rime 引擎完美配合。
    • 🚀 基于 QuickJS-NG 打造的轻量级 JavaScript 引擎。
      • 💪 畅享最新 ECMAScript 特性:正则表达式、Unicode 、ESM 、big number ,应有尽有!
      • 🚄 运行速度快得惊人:所有插件均毫秒级响应。
      • 🪶 内存占用小得不可思议:<20MB !
    • 📚 为大型词典量身打造的 Trie 结构。
      • 💥 词典加载快如闪电:11 万词条的汉译英词典,转为二进制格式后,加载完成仅需 20ms 。
      • 🎯 精确查找速如箭矢:11 万词条的汉译英词典,精确查找 200 个汉语词语的英文释义不到 5ms 。
      • 🌪️ 前缀搜索迅如疾风:6 万词条的英译汉词典,搜索前缀匹配的英文单词及其汉语翻译仅需 1~3ms 。
    • 🗡️ 所有 JavaScript 插件一次加载到处可用,让输入法会话切换轻松洒脱。
      • 🎉 切换输入法时加载大型插件卡顿严重?现在我们一劳永逸!
      • 🚀 在不同应用间沉浸式写作?插件早已准备就绪!
    • 🛡️ 双剑合璧:C++ 和 JavaScript 的单元测试。
      • ✅ 每个 Rime API 都经过严格的 C++ 测试
      • 🧪 JavaScript 插件?随心所欲地用 qjs/nodejs/bun/deno 执行测试
    13 条回复    2025-03-14 09:33:43 +08:00
    MHPSY
        1
    MHPSY  
       6 天前
    star 感觉很有趣
    luoyou1014
        2
    luoyou1014  
       6 天前
    有个疑惑,Rime 类型的仓库,不会有老外看吧,为啥 ReadMe 默认是英文的
    TrembleBeforeMe
        3
    TrembleBeforeMe  
       6 天前
    甚至没看懂怎么使用
    Vitta
        4
    Vitta  
       6 天前
    成熟的话应该很好用了,这样的话是不是就可以支持 api 请求了
    newdongyuwei
        5
    newdongyuwei  
       6 天前
    赞一个! testcases 看着不错。 建议 api 文档再完善一下。
    shot
        6
    shot  
    OP
       6 天前
    @luoyou1014 #2

    > 有个疑惑,Rime 类型的仓库,不会有老外看吧,为啥 ReadMe 默认是英文的

    1. 在技术领域,英文表述通常比中文更严谨更精准。
    2. 用英文能避免大陆简体和港澳台繁体的表达差异( Rime 创始人和很多贡献者都不是内地人)。
    3. 据说有基于 Rime 的日文和韩文输入法。
    4. 稍微提高一丢丢技术门槛,也许后面能减少一些不太认真不够严肃的社区噪音。
    shot
        7
    shot  
    OP
       6 天前
    @Vitta #4

    > 成熟的话应该很好用了,这样的话是不是就可以支持 api 请求了

    如果是说通过网络调用来实现类似「云输入法」的功能,已经有人基于 Lua 插件引擎做过了。
    shot
        8
    shot  
    OP
       6 天前
    @Vitta #4

    > 成熟的话应该很好用了,这样的话是不是就可以支持 api 请求了

    如果是说通过网络调用来实现类似「云输入法」的功能,已经有人基于 Lua 插件引擎做过了。

    理论上说,JavaScript 插件引擎应该也能做,而且比较 Lua 还有一个优势:充斥宇宙的 npm 库 😄。
    一个障碍是:quickjs 不一定能无缝使用 nodejs 的类库。这个问题暂时还不在我的计划内。
    DingJZ
        9
    DingJZ  
       6 天前
    已 star ,也曾经想过这个方向,可惜不会做哈哈
    luoyou1014
        10
    luoyou1014  
       6 天前
    @shot 我就在用基于 Rime 的日语输入法,实际上,用 Rime 输入日语或韩语的还是华人。

    英文表述比中文更严谨更精准是陈年老谣言了,搞 Rime 开发,肯定很懂汉语,不知道为啥写这个
    Rime 本身就是很小众的输入法,在 Rime 上搞插件更是小众中的小众,圈子的门槛已经高到喜马拉雅山了
    考虑到大陆的人员都比较宽容,可以参考 Rime 官网,用繁体中文挺好的,易懂易沟通
    vvhy
        11
    vvhy  
       6 天前
    @luoyou1014 繁体中文真的好懂吗,翻译插件基本只能作繁简转换而不是翻译,个人感觉效果比英文还差
    yibie
        12
    yibie  
       4 天前
    有没有基于这个开发的新插件,作为一些例子?
    shot
        13
    shot  
    OP
       4 天前
    @yibie #12

    > 有没有基于这个开发的新插件,作为一些例子?

    ✨ 看看我们的实力! 白霜拼音的所有 Lua 插件都已完美重写为 JavaScript 版本 。

    https://github.com/HuangJian/rime-frost/tree/hj/js
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1045 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 20:15 · PVG 04:15 · LAX 13:15 · JFK 16:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.