# 元舟输入法
**Repository Path**: pivark/Piv-method
## Basic Information
- **Project Name**: 元舟输入法
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-07-23
- **Last Updated**: 2026-08-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 输入法, 五笔输入法, 拼音输入法, 五笔拼音输入法, 开源输入法
## README
# 元舟输入法
**Pivark IME** — 跨平台五笔·拼音混合输入法
[](LICENSE)
[](core/dicts/LICENSE)
[](https://rustup.rs)
[]()
五笔为主,拼音为辅,无需切换模式,打字如行云流水。
[功能特性](#功能特性) · [快速开始](#快速开始) · [使用说明](#使用说明) · [技术架构](#技术架构) · [参与贡献](#参与贡献)
---
## 功能特性
### 输入方式
| 特性 | 说明 |
|:-----|:-----|
| 🎯 五笔拼音混打 | 五笔为主、拼音为辅,同一编码同时出两种候选,无需切换 |
| ⌨️ 多方案支持 | 五笔86版、98版;全拼、自然码双拼、小鹤双拼、搜狗双拼 |
| 🔤 模糊拼音 | z/zh、c/ch、s/sh、l/n、an/ang、en/eng、in/ing 等可独立配置 |
| 🔍 编码反查 | 五笔出字看拼音提示,拼音出字看五笔编码,学字神器 |
| 词语联想 | 上屏后自动联想后续词语;空码打中文标点会清联想并上屏标点(不会被 `,`/`.` 翻页抢走) |
| 符号联想 | 输入 `dayuhao` 得 `>`,输入 `shuzhi` 得 `∑` |
| 可选词库包 | `dicts/packs//` 按需启用(计算机 / 医学 / 影视 / 名人等);设置页可勾选、可导入用户包 |
| Fluent 设置 | 独立 `pivark_settings.exe`(WebView2)改皮肤、模式、词库等,热重载进 Tip |
### 智能特性
| 特性 | 说明 |
|:-----|:-----|
| 智能记忆 | 词频动态调整,越用越顺手;衰减算法自动淘汰冷门词 |
| 用户词库 | 自动造词、手动添加、导入导出 |
| 回车上屏 | 按 Enter 直接上屏当前编码(可配置为清码) |
| 候选翻页 | 页码指示 + 多种翻页键(`-=`/`[]`/`,.`,仅有候选时) |
| 编码优先 | 五笔简码(如 `go→来`)不被内置英译中(`go→去`)抢首选 |
### 平台支持
| 平台 | 状态 | 适配层 |
|:-----|:-----|:-------|
| Windows 10/11 | ✅ 可用 | TSF 文本服务 |
| Linux (Fcitx5) | 🔧 适配层已写(需 Linux 编译验证) | Fcitx5 Addon |
| Linux (IBus) | ⏸ 次优先骨架 | IBus Engine |
| 鸿蒙 NEXT | 🔧 适配层骨架(上架门槛高) | InputMethodExtensionAbility |
## 快速开始
### 前置条件
- Windows 10/11
- [Rust](https://rustup.rs/) MSVC 工具链 (`stable-x86_64-pc-windows-msvc`)
- [Visual Studio 2022 Build Tools](https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/)(勾选「C++ 桌面开发」工作负载)
### 构建(开发)
```powershell
git clone https://gitee.com/pivark/Piv-method.git
cd Piv-method
.\build.ps1
```
### 打安装包(推荐给最终用户)
```powershell
# 编译 core + TSF + 设置壳,并打出可分发目录与 zip
.\tools\package-release.ps1 -Version 0.1.0
```
产物(均在 `release/`,**不进 git**):
| 路径 | 说明 |
|:-----|:-----|
| `release/元舟输入法_0.1.0_setup.exe` | **推荐**:Inno 安装向导(双击安装,自动注册 TSF) |
| `release/PivarkIME_0.1.0/` | 解压即用目录:DLL、设置壳、词库、`install.ps1` |
| `release/PivarkIME_0.1.0.zip` | 同上的压缩包 |
预编译包(Gitee 发行版):
- 安装向导:https://gitee.com/pivark/Piv-method/releases/download/v0.1.0/元舟输入法_0.1.0_setup.exe
- Zip 包:https://gitee.com/pivark/Piv-method/releases/download/v0.1.0/PivarkIME_0.1.0.zip
本地再打一遍:
```powershell
.\tools\package-release.ps1 -Version 0.1.0 # 含 zip;若已装 Inno Setup 6 会顺带出 setup.exe
# 或单独:
& "${env:ProgramFiles(x86)}\Inno Setup 6\ISCC.exe" installer\setup.iss
```
### 安装
```powershell
# 以管理员身份运行 PowerShell
# 方式 A:已打好包
cd release\PivarkIME_0.1.0
.\install.ps1
# 方式 B:源码树内直接装(需先 build)
.\platforms\windows\install.ps1
```
安装后按 `Win + 空格` 切换到「元舟输入法」。已打开的窗口建议关掉再开,才会加载新 DLL。
开发热更新(不注销):
```powershell
.\tools\reload-kill.ps1 -Soft
```
### 卸载
```powershell
# 以管理员身份运行 PowerShell
.\platforms\windows\uninstall.ps1
# 或安装包目录内的 uninstall.ps1
```
## 使用说明
### 按键操作
| 按键 | 功能 |
|:-----|:-----|
| `A`-`Z` | 输入编码 |
| `1`-`9` | 选择候选词 |
| `空格` | 选择第一个候选词 |
| `Enter` | 上屏当前编码(五笔模式) |
| `Esc` | 清除当前编码 |
| `Backspace` | 删除末字符 |
| `Shift` | 切换中文/英文 |
| `Ctrl + Space` | 启用/禁用输入法 |
| `-` / `[` / `,` | 候选窗上一页 |
| `=` / `]` / `.` | 候选窗下一页 |
### 配置说明
通过右键状态栏图标 → 设置,可配置:
- **候选词数量**:3-9 个
- **输入模式**:五笔优先 / 拼音优先 / 混合模式
- **五笔方案**:86版 / 98版
- **双拼方案**:自然码 / 小鹤 / 搜狗
- **模糊拼音**:逐项开关
- **中英文切换键**:左右Shift / 左右Ctrl
- **回车行为**:上屏编码 / 清除编码
- **皮肤主题**:海军蓝 / 浅色 / 深色 / 青色
- **词库包**:启用 / 导入可选专业词库
- **联想 / 中英对照**:可关;对照开启时亦不抢五笔精确编码首选
### 用户数据
用户词库、记忆与用户导入词库包在 `%APPDATA%\PivarkIME\`,卸载输入法不会删除用户数据。
### 系统稳定性(装了会不会把 Windows 搞不稳?)
| 问题 | 结论 |
|:-----|:-----|
| 蓝屏 / 整机不稳 | **基本不会**(本产品不装内核驱动) |
| 资源管理器整体挂死 | **风险低**(不是往 Explorer 里塞 COM 扩展) |
| 记事本、浏览器输入框闪退 | **有可能**——选用「元舟」后,Tip DLL 会进入**该输入进程**(所有系统输入法的共性风险面) |
| 是否安装后立刻全局生效 | **否**;需 `Win + 空格` 切到「元舟」;已打开的软件往往要关掉重开才加载新 DLL |
已做规避:默认不在正文使用 `ITfComposition` 预编辑(曾导致 Win11 商店记事本崩溃),改为候选条预编辑。
若怀疑本输入法导致某软件不稳:先切回微软拼音对比;日志见 `%LOCALAPPDATA%\PivarkIME\tsf.log`。
**没有插件沙箱**:系统输入法必须把 Tip 载入正在输入的程序;做不到「只崩输入法、宿主程序绝对安全」。能做的是少踩坑、一键切回其它输入法。
更多:[docs/audits/2026-07-28.md](docs/audits/2026-07-28.md)
## 技术架构
```
┌─────────────────────────────────────────────────┐
│ 平台适配层 │
│ Windows TSF │ Linux IBus │ Fcitx5 │ 鸿蒙 │
├───────────────┴──────────────┴──────────┴───────┤
│ C FFI (pivark_ime_core.h) │
├─────────────────────────────────────────────────┤
│ Rust 核心引擎 │
│ ┌─────────┐ ┌─────────┐ ┌──────────────────┐ │
│ │ 五笔引擎 │ │ 拼音引擎 │ │ 混合引擎 │ │
│ └────┬────┘ └────┬────┘ └────────┬─────────┘ │
│ └──────┬────┘ │ │
│ ┌────┴────┐ ┌──────┴──────┐ │
│ │ 词库仓库 │ │ 候选词管理 │ │
│ │ (Rc共享) │ │ 排序/反查 │ │
│ └─────────┘ └─────────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌───────────────┐ │
│ │ 会话管理 │ │ 智能记忆 │ │ 用户词典 │ │
│ └──────────┘ └──────────┘ └───────────────┘ │
└─────────────────────────────────────────────────┘
```
**核心设计**:
- **Rust 核心引擎**编译为 `pivark_ime_core.dll`,通过 C FFI 导出 `pivark_ime_*` 系列函数
- 各平台适配层通过 FFI 调用核心引擎,实现跨平台复用
- 词库仓库通过 `Rc` 在各引擎间共享,零拷贝
- 词库格式兼容 Rime YAML,可直接使用 rime 生态词库
### 项目结构
```
Piv-method/ # 本仓(Gitee: pivark/Piv-method)
├── core/ # Rust 核心引擎
│ ├── src/dict|engine|… # 词库 / 引擎 / 会话 / FFI
│ └── dicts/ # 基础词库 + packs/ 可选包
├── platforms/
│ ├── pivark_ime_core.h
│ ├── windows/ # TSF Tip + settings-shell / settings-ui
│ ├── linux-fcitx5/ # 适配层已写(需 Linux 真机)
│ ├── linux-ibus/ # 次优先骨架
│ └── harmony/ # 鸿蒙骨架(未真机)
├── docs/ # 审计 / 隐私 / 上架清单
├── tools/ # package-release / reload / 冒烟
├── release/ # 本地构建产物(gitignore,勿提交 DLL)
├── build.ps1
├── AGENTS.md
└── CHANGELOG.md
```
## 词库说明
| 词库 | 说明 | 许可证 |
|:-----|:-----|:-------|
| 五笔86 / 拼音等 | `core/dicts/` 基础表(外置优先) | LGPL-3.0(rime 系) |
| 可选包 | `core/dicts/packs//pack.json` + 表;设置页勾选 | 随包声明 |
词库格式兼容 Rime YAML。系统词库可放安装目录 `dicts\`;用户包默认 `%APPDATA%\PivarkIME\dicts\packs\`。
## 常见问题
安装后按 Win+空格看不到输入法?
注销一次 Windows 再重新登录,或到「设置 → 时间和语言 → 语言和区域 → 中文(简体) → 语言选项」中手动添加。
如何切换双拼方案?
右键状态栏图标 → 设置 → 双拼方案,选择自然码/小鹤/搜狗。
五笔98版编码不准确?
当前98版使用86版词库作为回退,部分编码可能不准确。后续会添加独立的98版词库。
如何备份用户词库?
复制 `%APPDATA%\PivarkIME\` 目录即可,包含用户词典和记忆数据。
## 参与贡献
欢迎参与!详见 [CONTRIBUTING.md](CONTRIBUTING.md)。
- 🐛 [提交 Bug](https://gitee.com/pivark/Piv-method/issues)
- 💡 [功能建议](https://gitee.com/pivark/Piv-method/issues)
- 🔧 [提交 PR](https://gitee.com/pivark/Piv-method/pulls)
## 致谢
- [rime-wubi](https://github.com/rime/rime-wubi) — 五笔86词库
- [Rime](https://rime.im/) — 中州韵输入法引擎,词库格式参考
## 许可证
- 核心代码:[Apache-2.0](LICENSE)
- 词库数据:[LGPL-3.0](core/dicts/LICENSE)(源自 rime-wubi)