{"id":26958833,"url":"https://github.com/kylebing/wubi-dict-editor","last_synced_at":"2025-09-10T05:37:17.730Z","repository":{"id":43640715,"uuid":"388992721","full_name":"KyleBing/wubi-dict-editor","owner":"KyleBing","description":"五笔码表助手 for Rime ( Windows、macOS、Ubuntu ) 基于 electron 开发","archived":false,"fork":false,"pushed_at":"2025-02-08T03:22:26.000Z","size":1840,"stargazers_count":253,"open_issues_count":7,"forks_count":25,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-31T05:00:36.916Z","etag":null,"topics":["electron","nodejs","rime","vue"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KyleBing.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["kylebing.cn"]}},"created_at":"2021-07-24T03:51:05.000Z","updated_at":"2025-05-28T23:35:42.000Z","dependencies_parsed_at":"2023-11-15T10:36:32.819Z","dependency_job_id":"d9c4a9e1-44bb-40f6-a43e-af873150d986","html_url":"https://github.com/KyleBing/wubi-dict-editor","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/KyleBing/wubi-dict-editor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyleBing%2Fwubi-dict-editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyleBing%2Fwubi-dict-editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyleBing%2Fwubi-dict-editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyleBing%2Fwubi-dict-editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KyleBing","download_url":"https://codeload.github.com/KyleBing/wubi-dict-editor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KyleBing%2Fwubi-dict-editor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274417410,"owners_count":25281108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","nodejs","rime","vue"],"created_at":"2025-04-03T04:32:09.376Z","updated_at":"2025-09-10T05:37:17.680Z","avatar_url":"https://github.com/KyleBing.png","language":"JavaScript","funding_links":["kylebing.cn"],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://user-images.githubusercontent.com/12215982/139462759-e6d8ebc6-180d-4d18-8c3c-68234f0ff1c0.png\" width=\"150\" /\u003e\n\n\n# 五笔码表助手 for [Rime](https://github.com/rime)\n一个管理 Rime 五笔词库的工具 \u003cbr/\u003e\n该工具主要服务于 [rime-wubi86-jidian](https://github.com/KyleBing/rime-wubi86-jidian) 这个五笔方案\n\n\u003e 可添加、删除、批量导入外部词条、批量生成指定版本的五笔编码。\u003cbr/\u003e\n\u003e 基于 electron 开发，支持 `macOS` `Windows` `Ubuntu` 多个平台 \u003cbr/\u003e\n\u003e GitHub: [https://github.com/KyleBing/wubi-dict-editor](https://github.com/KyleBing/wubi-dict-editor) \u003cbr/\u003e\n\n\n\u003e 有其它问题，欢迎加群讨论: [878750538](https://jq.qq.com/?_wv=1027\u0026k=st8cY2sI)\n\n\n## 一、界面截图\n主界面\n\n\u003cimg width=\"1362\" alt=\"Screenshot 2022-12-16 at 21 28 54\" src=\"https://user-images.githubusercontent.com/12215982/208109387-5062a921-8eef-4063-9936-42762197d6c8.png\"\u003e\n\n其它码表工具\n\u003cimg width=\"1000\" alt=\"Screen Shot 2021-11-02 at 23 16 34\" src=\"https://user-images.githubusercontent.com/12215982/139876204-aef77bb8-683b-4042-8ec1-f366641eaae5.png\"\u003e\n\n暗黑模式\n\u003cimg width=\"1000\" alt=\"Screen Shot 2021-11-02 at 23 17 27\" src=\"https://user-images.githubusercontent.com/12215982/139876211-00e58bbc-9b49-43f0-83c2-8922109e0660.png\"\u003e\n\n配置界面\n\u003cimg width=\"819\" alt=\"Screen Shot 2021-12-14 at 23 53 11\" src=\"https://user-images.githubusercontent.com/12215982/146032695-35857e96-bbf7-451a-924f-936e802adb86.png\"\u003e\n\n\n## 二、支持平台：\nWindows, macOS, Ubuntu\n\n## 三、处理速度\n\n最多可处理 60万 条数据的码表\n\n\u003cimg width=\"674\" alt=\"Screen Shot 2021-12-03 at 23 27 08\" src=\"https://user-images.githubusercontent.com/12215982/144628323-1fe72bb4-602a-4d50-a904-7df9d7685b16.png\"\u003e\n\u003cimg width=\"1463\" alt=\"Screen Shot 2021-12-03 at 23 26 27\" src=\"https://user-images.githubusercontent.com/12215982/144628297-be39d46f-e802-4204-a389-e3a935f61b81.png\"\u003e\n\n\n## 四、下载\n\n [\u003e 去往下载页面 \u003c](https://github.com/KyleBing/wubi-dict-editor/releases)\n\n## 五、安装 \u0026 启动\n\n### Windows\n直接解压打开 `.exe` 文件即可\n\n### macOS\n将 app 移到应用程序 `Applications` 文件夹即可\n\n### Ubuntu\n打开下载解压好的 zip 包，指令执行包中的 `五笔码表助手` 程序即可\n```bash\n./五笔码表助手\n```\n\n## 六、关于同步\n\u003e 单个词库最大限制在 40000 字\n\n1. 请先前往 [http://kylebing.cn/diary/](http://kylebing.cn/diary/) 注册账号\n2. 打开工具 \u003ckbd\u003e配置\u003c/kbd\u003e 页面，在最下面\u003ckbd\u003e登录\u003c/kbd\u003e即可\n3. 同步有三个按钮\n   1. \u003ckbd\u003e本地 + 云：增量添加\u003c/kbd\u003e：合并本地与线上的词库，并将最终的词库上传到线上\n   2. \u003ckbd\u003e本地 → 云：覆盖云端\u003c/kbd\u003e：将舍弃上线词库，用本地词库覆盖线上词库内容\n   3. \u003ckbd\u003e本地 ← 云：覆盖本地\u003c/kbd\u003e：将舍弃本地词库，用线上的词库覆盖本地词库内容\n\n\n## 七、用到的技术\n- `nodejs`\n- `javascript` `scss` `html`\n- `vue 2` [`electron`](https://github.com/electron/electron)\n\n## 八、自己生成对应系统的可执行文件\n\n由于我手头只有两种机器\n- `macOS(arm)`\n- `Windows`\n\n所以我只能生成这两种平台的可执行文件。像 `Ubuntu` `macOS(Intel)` 就需要自己生成了，生成之后可以将最终的文件分享给我哦。 \n\n接下来说一下生成最终可执行文件的步骤：以 `macOS（Intel）` 系统为例\n\n### 1. 前提：具备外网访问能力\n你需要具备一个硬性条件：具有访问外网的能力。\n\u003e 原因： 在安装 `electron` 依赖的时候需要用到外网环境，国内网络是无法实现的，会提示网络超时。\n\n### 2. 让 Terminal（终端） 可以访问外网\n我们最终需要的是在终端中可以实现访问外网。\n\n如果你是用的 v2rayU，将模式调整到 Global （全局代理） 模式即可，其它软件也是类似的操作，都将它调整至全局模式。但不要忘了当这一切结束之后调回来。\n\n测试你的 terminal 是否可以访问外网，如果没有返回，就是不能访问外网\n\n```bash\ncurl google.com\n\n# 返回结果\n\u003cHTML\u003e\u003cHEAD\u003e\u003cmeta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\"\u003e\n\u003cTITLE\u003e301 Moved\u003c/TITLE\u003e\u003c/HEAD\u003e\u003cBODY\u003e\n\u003cH1\u003e301 Moved\u003c/H1\u003e\nThe document has moved\n\u003cA HREF=\"http://www.google.com/\"\u003ehere\u003c/A\u003e.\n\u003c/BODY\u003e\u003c/HTML\u003e\n```\n\n### 3. 安装 `nodejs`\n\n`nodejs` 去这个网站下载，找到对应版本下载即可，下载 LTS 的版本即可。\n\u003e [https://nodejs.org/en/](https://nodejs.org/en/)\n\n安装完成之后，打开 terminal 输入以下指令测试是否已经安装完成\n\n```bash\nnode -v\n\n# 安装正常的返回结果，会是一个版本号，像这样：\nv16.18.1\n```\n\n### 4. 下载该仓库内容\n\n1. 你可以直接从 github 下载打包好的 zip 包解压\n    \u003e [https://github.com/KyleBing/wubi-dict-editor/archive/refs/heads/master.zip](https://github.com/KyleBing/wubi-dict-editor/archive/refs/heads/master.zip)\n2. 如果你会用 git, 也可以用 git 克隆到本地\n    ```bash\n    git clone https://github.com/KyleBing/wubi-dict-editor.git\n    ```\n\n### 5. 安装依赖\n通过 terminal 进入到刚才已经下载或克隆的目录中 `/wubi-dict-editor`\n\n此时你执行 `ls -l` 看到的应该是类似这样的\n```bash\nKyle@Kyles-mbp wubi-dict-editor % ls -l\ntotal 1256\n-rw-r--r--    1 Kyle  staff    3318 Dec  2 22:06 CHANGELOG.md\n-rw-r--r--    1 Kyle  staff   32453 Aug 11  2021 LICENSE\n-rw-r--r--    1 Kyle  staff    9908 Dec  7 14:09 README.md\ndrwxr-xr-x    6 Kyle  staff     192 Nov 28 12:20 assets\ndrwxr-xr-x    9 Kyle  staff     288 Dec  3 19:11 js\n-rw-r--r--    1 Kyle  staff   31138 Dec  3 19:11 main.js\n-rw-r--r--    1 Kyle  staff  420973 Dec  2 19:51 package-lock.json\n-rw-r--r--    1 Kyle  staff    1957 Dec  2 22:07 package.json\ndrwxr-xr-x    6 Kyle  staff     192 Nov 28 12:20 view\n-rw-r--r--    1 Kyle  staff  131328 Dec  2 21:32 yarn.lock\n```\n\n执行以下指令，直到完成\n```bash\nnpm i\n```\n\n### 6. 生出可执行文件\n\n```bash\nnpm run make\n\n# 结果\nyarn run v1.22.10\n$ electron-forge make\n✔ Checking your system\n✔ Loading configuration\n✔ Resolving make targets\n✔ Loading configuration\n✔ Resolving make targets\n  › Making for the following targets: dmg, zip\n✔ Running package command\n  ✔ Preparing to package application\n  ✔ Running packaging hooks\n    ✔ Running generateAssets hook\n    ✔ Running prePackage hook\n  ✔ Packaging application\n    ✔ Packaging for arm64 on darwin [1s]\n  ✔ Running postPackage hook\n✔ Running preMake hook\n✔ Making distributables\n  ✔ Making a dmg distributable for darwin/arm64 [11s]\n  ✔ Making a zip distributable for darwin/arm64 [6s]\n✔ Running postMake hook\n  › Artifacts available at: /Users/kyle/github/wubi-dict-editor/out/make\n✨  Done in 21.54s.\n\n```\n\n\n执行完成之后，就会在当前目录中多出一个名为 `/out` 的目录，你生成的最终文件就在 `/out/make` 目录下，名为 `五笔码表助手-1.1.6.dmg` 差不多的名字。\n\n直接打开这个文件就可以安装使用了。\n\n\n\n## 九、生成任意版本的五笔码表\n只要规则是跟86五笔一样的编码规则，都可以通过这个工具，生成现有词条的对应的码表。  \n也就是说，可以将现有词条的编码都转换成目标版本的五笔编码。  \n比如你要将现有 86 版本的词条都转换成 新世纪版本的：\n\n1. 打开【配置】，找到【8.选择参考码表】设置，选择你的原始的 新世纪版本的 Rime 码表文件，带有完整单字的码表。\n2. 重启软件。\n3. 找到你需要修改编码的码表，找到右侧工具按钮中的 【词组查错】。\n4. 此时会过滤出跟新世纪编码不同的词条，【全选】它。\n5. 点击右侧工具面板中的【纠正选中词条编码】，会将选中的词条编码都修改成新世纪的编码。\n6. 点击右侧工具面板中的【单字查错】，会显示当前码表中单字编码跟新世纪不同的字。\n7. 【全选】它，然后点击【纠正选中词条编码】，就能将能匹配到的单字修改过来，单字的匹配规则是这样的：\n   - `工 a` 匹配 `工 a` \n   - `工 aa` 匹配 `工 aa`\n   - 如果有 `工 aaa` 但新世纪中没有 `工 aaa` 的对应，就会将这个词条的编码设置成 `orz`\n   - 这样最后再筛选一下编码为 `orz` 的词条，将他们都删除就可以了。因为他们是在 新世纪单字码表中不存在的。\n\n\n\n\n## 开发计划\n\n#### 进程截图记录：\n\u003e [https://github.com/KyleBing/wubi-dict-editor/discussions/11](https://github.com/KyleBing/wubi-dict-editor/discussions/11)\n\n#### 纯工具模块\n- [x] 工具窗口 `2021-10-18`\n  - [x] 设定码表编码词条分隔方式 `\\t` `空格` `2021-10-18`\n  - [x] 设定码表格式：一码多词、一码一词、一词一码 `2021-10-18`\n  - [x] 编辑任意码表文件 `2021-10-18`\n  - [x] 批量移动到任意码表文件 `2021-10-22`\n- [x] 生成不同版本五笔的编码码表，保存 `2021-10-20`\n- [x] 字数筛选 `2021-10-18`\n- [x] 查重 `2021-10-20`\n- [x] 批量添加词条编码 `2021-10-25`\n- [x] 编码查错修正 `2021-12-14`\n- [x] 导出选中词条到 plist 文件，用于 macOS 输入法中导入自定义短语 `2022-01-20`\n\n#### 1. 词条\n- [x] 展示词库内容 `2021-07-25`\n  - [x] 成组显示 组为以 `##` 开头`2021-07-25`\n- [x] 搜索词条 `2021-07-26`\n  - [x] 基于编码、内容 `2021-07-29`\n- [x] 添加自定义短语 `2021-07-26`\n  - [x] 自动生成编码 `2021-08-12`\n- [x] 删除词条 `2021-07-27`\n  - [x] 批量 `2021-07-27`\n  - [x] 单个 `2021-08-06`\n- [x] 批量删除词条  `2021-07-27`\n- [x] 上下移动词条  `2021-07-27`\n   - [x] 通过键盘上下移动 `2021-07-27`\n   - [x] 非分组状态下的移动 `2021-07-29`\n- [x] 展示：分组 | 非分组 码表 `2021-07-28`\n- [x] 展示总词数 | 当前词数 | 分组模式 `2021-08-01`\n- [x] 按输入码排序 `2021-08-12`\n- [x] 任意词条移动到任意码表中\n- [x] 右击编辑任意词条内容 `2021-10-23`\n- [x] 搜索框添加清空内容的按钮 `2021-10-16`\n- [x] shift 批量选词 `2021-10-17`\n- [x] 直接在窗口内部切换码表 `2021-11-22`\n- [x] 主表查重 `2021-12-13`\n- [x] 添加词条备注 `2021-12-13`\n- [x] 新增词条时显示已存在的词条 `2023-05-18`\n\n#### 2. 主码表文件\n- [x] 词条添加到主码表文件 `2021-08-04`\n  - [x] 插入时匹配词条位置 `2021-08-04`\n    - [x] 普通词条 -\u003e 主码表 `2021-08-04`\n    - [x] 分组词条 -\u003e 主码表 `2021-08-04`\n  - [x] 删除已移动的词条 `2021-08-04`\n- [x] 主码表展示用时优化 100ms 左右 `2021-08-01`\n  - [x] 纯代码处理 8 万多条数据，只用不到 100ms `2021-07-30`\n  - [x] 改用 `vue-virtual-scroller` 作为列表载体，加载多少都不会卡 `2021-08-01`\n\n  \n#### 3. 分组管理\n- [x] 分组类型的码表以 `dict_grouped: true` 开头 `2021-07-29`\n- [x] 分组修改组名 `2021-07-27`\n- [x] 删除词条后，如果组内词条为空，删除该组 `2021-08-01`\n- [x] 分组添加 `2021-08-06`\n- [x] 分组删除 `2021-08-06`\n- [x] 分组列表，切换展示内容 `2021-08-09`\n  - [x] 适配暗黑模式 `2021-08-09`\n  - [x] 列表滚动条样式 `2021-08-09`\n- [x] 词条在分组之间移动\n- [x] 分组上下顺序调整 `2022-12-02`\n\n  \n#### 4. 系统相关\n- [x] 保存文件后，自动调用 rime 部署方法进行部署\n  - [x] macOS `2021-07-28`\n  - [x] Windows `2021-07-30`\n  - [x] Linux `2021-12-16`\n\n#### 5. 文件操作\n- [x] 写入词库内容 `2021-07-26`\n  - [x] \u003ckbd\u003ectrl\u003c/kbd\u003e + \u003ckbd\u003es\u003c/kbd\u003e 快捷键保存 `2021-07-27`\n  - [x] 非分组时保存到文件 `2021-07-29`\n- [x] 默认编辑器打开对应的码表源文本文件 `2021-07-28`\n\n\n#### 6. 配置页面\n- [x] 自定义码表文件对应的名字 `2022-12-02`\n- [x] 添加配置页面 `2021-10-14`\n- [x] 指定初始载入码表 `2021-10-14`\n- [x] 保存后是否立即部署 `2021-10-15`\n- [x] 回车键是搜索 | 添加新用户词 `2021-10-15`\n  - [x] 搜索时，编码 | 词条 | 同时 | 任一 `2021-10-16`\n- [x] 记录最后一次选中的分组 `2021-10-16`\n- [x] 暗黑模式切换 `2021-10-16`\n- [x] 添加自定义的编码生成用的参考码表 `2021-10-25`\n- [x] 手动打开调试窗口\n\n\n#### 7. 其它\n- [x] macOS 暗黑模式适配 `2021-08-08`\n- [x] 关于窗口信息 `2021-08-10`\n- [ ] 使用帮助页面\n- [x] 小狼毫默认使用系统安装的最新版的程序进行部署操作 `2023-06-09`\n\n#### 8. 其它想法\n- [x] 全民维护一个增量词库 `2022-12-16`\n  - [x] 多用户\n  - [x] 能提升词条优先级\n\n\n## 部署指令\n\nmacOS\n```bash\n\"/Library/Input Methods/Squirrel.app/Contents/MacOS/Squirrel\" --reload\n```\n\nwindows\n```bash\ncd C:\\Program Files (x86)\\Rime\\weasel-0.14.3\nWeaselDeployer.exe /deploy\n```\n\n## 解决的难题\n1. 查重并提取出所有重复的内容\n2. 词条根据词条编码判断插入位置\n3. 计算 `unicode` 字符串长度 `.length` 的问题\n\n\n\n## 支持\n感谢 [JetBrains](https://www.jetbrains.com/?from=wubi-dict-editor@KyleBing) 提供的工具支持\n\n![JetBrains](https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg?_ga=2.54620846.401568951.1648434626-301403838.1648434626)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkylebing%2Fwubi-dict-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkylebing%2Fwubi-dict-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkylebing%2Fwubi-dict-editor/lists"}