Skip to content

Contributing

fanlusky edited this page Sep 14, 2026 · 1 revision

参与贡献

本项目现在及未来都会保持 100% 开源。不会写 TSF 或 C++ 也没关系——可参与的方向按类别整理在 招募开源开发者 里,从整理词库、补文档、做本地化、测兼容性,到实现新的输入方案都有。

本项目接受纯 vibe 的 PR;唯一的请求是友善交流——不要骂 AI 包。

从 Issue 入手

Issue 已逐条核过并按可接手程度打了标签,可以直接筛:

  • good first issue —— 改动小、根因和修法已写明
  • no-code —— 不需要写代码:图标资源、词库条目、文档、调研
  • help wanted —— 根因明确、改动中等
  • needs-design —— 方案未定,先在 Issue 里讨论再动手

可参与的方向

写代码、写文档、整理词库、测试 Bug、制作教程,都是非常有价值的开源贡献。可以纯手写,也可以借助 AI,但请认真检查和测试。

  • 代码:输入法本身,或其背后的自研原生 GUI 框架(ui/ 的 msimeui)。
  • 词库:整理与学校、专业相关的词库条目。
  • 文档 / 本地化 / 兼容性测试 / 图标资源:见 no-code 标签。

动代码前

要动代码的话,本仓的环境要求、从源码构建、打包和提交前检查全部写在 CONTRIBUTING.md 里。完整的贡献约定也在那里。

项目结构速览

Windows 端全部一方源码都在本仓,一次 clone 就能拿到完整产品。

目录 职责
windows/ 核心 TSF 文本服务 DLL:按键预判、焦点、edit session、与 Server 的管道协议
server/ Server 端:算法调度、候选窗口工具栏宿主、设置程序、词库管理
engine/ 输入引擎:输入会话、候选查询、辅助码、跨进程契约、语音模块
ui/ 自研原生 GUI 框架(msimeui):Win32 宿主窗口,Direct2D / DirectWrite 渲染
ui-html/ 界面资源(HTML / CSS / JS):候选窗、悬浮工具栏、托盘菜单、设置页
installer/ 收集各组件产物、自签名、Inno Setup 打包
log/ 各模块共用的日志采集库
vendor/ submodule:opencc 与 cpp-pinyin 两个第三方依赖

engine/ 现在是本仓的一等组件(不再是 submodule),普通 clone 即可构建。词库在构建时从 dict-* release 取用。详见 engine/UPSTREAM.md。

安全提示

不要在 PR、Issue、截图或日志中泄露 API Key 等敏感信息。日志可能包含输入内容,贴出前请自行检查。

交流

Clone this wiki locally