keyflow 是一个围绕输入法(IME)功能件 / Function Kit 生态构建的项目。
这个仓库主要沉淀:
- Function Kits 与开发者文档
- Runtime SDK
- 与宿主(Android IME)对接时形成的验证材料与运行手册
Android 宿主仓库在:
TODO/function-kits/:样例 Function Kits + 面向开发者的文档(Playbook / Developer Guide / Catalog Spec 等)。TODO/function-kit-runtime-sdk/:Function Kit Browser Runtime SDK(用于 kit 的 UI/host bridge、manifest 约束等)。TODO/ime-research/notes/:输入法/插件系统的研究笔记与验收 runbook。TODO/ime-research/logs/:构建与排障日志(用于可复现性记录)。
说明:
TODO/ime-research/repos/是本地调研时拉取的第三方开源项目/fork 工作区,默认不纳入本仓库版本控制(见.gitignore)。
如果你打开这个仓库是为了「写一个功能件」,从这几个入口开始最不容易迷路:
- 功能件索引(现有 kits + 下一步该做什么):TODO/function-kits/INDEX.md
- 从 0 创建一个 kit:
npx @keyflow2/create-function-kit <dir> --kit-id <scope>.<slug> --name "..."(详见 templates/create-function-kit/README.md) - 开发手册(manifest / host bridge / lifecycle / 打包):TODO/function-kits/DEVELOPER_GUIDE.md
- 选题与待办(不知道做什么就从这里挑):TODO/function-kits/IDEA_BANK.md、TODO/function-kits/DEVELOPER_PLATFORM_GAPS.md
- 发布与上架(npm + 官方 catalog):scripts/npm/README.md、catalog/README.md
cd TODO/function-kit-runtime-sdk
npm test如果你希望从零搭起「KitStudio 调试 + Android IME 宿主运行 + Kits/SDK 开发」的一整套环境,见:
- docs/DEVELOPMENT.md
- Android IME 宿主仓库:hc-tec/fcitx5-android
- 贡献指南:
CONTRIBUTING.md - 安全问题:
SECURITY.md - 支持与反馈:
SUPPORT.md
- 除非另有说明,
keyflow根仓库的代码与文档使用Apache-2.0,见 LICENSE。 - Android APK release 仍然回指
hc-tec/fcitx5-android源码仓库,并按LGPL-2.1-or-later处理;不要把根仓库的Apache-2.0误认为 APK 许可证。 - 第三方 vendored 资产与单独许可边界见 THIRD_PARTY_LICENSES.md。
keyflowGitHub Releases 用于发布本项目对外分发物。- Android APK 只挂在
keyflowReleases;fcitx5-android仓库(hc-tec/fcitx5-android)只保留源码与构建说明,不再上传 APK assets。 keyflow工具链/模板发布继续使用v*tag(例如v0.1.0),不要混挂 Android APK。- Android APK 发布在
keyflow上使用keyflow-开头的单独 tag,并显式写明 APK 版本与签名级别:- 正式签名:
keyflow-<apkVersion> - debug keystore 测试包:
keyflow-<apkVersion>-debug
- 正式签名:
- Android APK assets 的文件名前缀统一使用
keyflow-,例如:- 正式签名:
keyflow-<apkVersion>-<abi>-release.apk - debug keystore 测试包:
keyflow-<apkVersion>-<abi>-release-debug.apk
- 正式签名:
- 正式签名 keystore 的本地生成与保存流程见 docs/RELEASING.md 与
scripts/release/。 - 具体流程见 docs/RELEASING.md。
本项目受 LINUX DO 社区启发和支持。