CLAUDE.md 现在对应本文件。
跨平台输入法,Core 平台无关,各平台只做壳。已发版 macOS 0.1.2(自用 + 测试者)、Windows 0.1.0-alpha.2(内测);Linux 未开工。
阶段与已完成项见 docs/plan/roadmap.md,待办见 docs/plan/todo.md。
一行一个,只说它是什么、入口在哪;实现要点(数据文件、常数、生成命令)在 docs/notes/crate-notes.md,改了实现要同步那里。
crates/qingjian-core:引擎。Engine是对外唯一门面,Translator/Learner等 trait 在engine模块;拼音解析、纠错、候选、排序、整句、双拼、注音、英文模式都在这里。crates/qingjian-dictionary:词库(TSV 或.qjmmap),按音节位置二分查询。crates/qingjian-translate:释义表Glossary、词汇等级表LevelTable。crates/qingjian-learning:用户侧落盘:词频 / 用户词 / 个人 n-gram / 敲错表(FrequencyLearner)、输入日志(InputLog)、输入统计(UsageStats)、词汇记录(VocabularyBook)。crates/qingjian-predict:云联想CloudPredictor(OpenAI 兼容接口)与释义兜底CloudGlossFiller;PredictConfig是[predict]分节。crates/qingjian-lm:整句转换的 bigram 语言模型BigramModel。crates/qingjian-neural:字级 Transformer 本地推理CharScorer(candle),给整句前几条路径重打分。crates/qingjian-format:.qj数据容器(mmap 读、零拷贝视图、写入器、哈希索引)。crates/qingjian-platform:平台层共用:Config(TOML 配置)、extra_dictionaries、Windows Server ↔ DLL 的protocol类型。crates/qingjian-render:自绘渲染器(spike 中,分支 renderer-spike):候选窗一帧 + 主题 → 位图,各平台只贴图。见docs/design/rendering.md。apps/cli:Core 的验证工具:查询、逐键计时、输入日志回放、整句评测、常数扫描。排序 / 整句 / 纠错的改动先跑它再合。apps/macos:IMK 壳,按app / host / imk / candidates / menubar / preferences分目录;scripts/bundle.sh --install装到本机,--pkg出分发包。apps/windows:server(Server 进程:Engine + IPC + 自绘候选窗与状态条)+tsf(TSF DLL)+settings(WinUI 3)+installer(Inno)。DLL 不能带 Engine 的依赖树,所以是两个 package。tools/dict-convert、tools/gloss-gen、tools/corpus:产品数据生成(词库 / 语言模型 / 释义表 / emoji / 英文词表),输出到data/generated/(gitignore)。assets/:随包数据源与样例,各目录有 README 写来源与许可。雾凇拼音(GPL)已彻底移除,不要再引入。
docs/ 分四类(索引在 docs/README.md):design/ 设计与决定、plan/ 路线与待办、notes/ 工程记录(性能、复盘、踩坑、crate 实现要点)、
user/ 用户文档(官网构建时拉取渲染,约定见 docs/user/README.md,措辞面向用户、不出现实现词)。
cargo build # 整个 workspace
cargo test # 全部测试;-p <crate> 单个,加测试名过滤
cargo clippy --all-targets -- -D warnings
cargo fmt --all
cargo run -p qingjian-cli -- <拼音>... # Core 的主要验证方式;--replay / --eval-text 见 crate-notes
apps/macos/scripts/bundle.sh --install # mac 壳装到 ~/Library/Input Methods/(IMK 不能 cargo run 验证)Windows 本机只 cargo check --target x86_64-pc-windows-gnu,真编译与真机测试在 Windows 机器上做(部署方式见 apps/windows/README.md);
端到端验证 mac 可用 osascript 往 TextEdit 发按键再读回文本。
架构约束、代码组织、版本号、提交信息、文档同步、提交前检查与发版都在 docs/contributing.md,随本文件一起载入:
@docs/contributing.md
交流用中文。
项目长期记忆存放于 MEMORY.md ,记得时刻更新 MEMORY.md 。一切不确定的动作先不要自作主张,先直接阅读该文件是否记载!遇到有价值、值得注意的内容立刻写入该文件!