Skip to content

Latest commit

 

History

History
76 lines (62 loc) · 6.06 KB

File metadata and controls

76 lines (62 loc) · 6.06 KB

应用目录与工程结构

状态:canonical;更新:2026-09-08。分层与调用链见 架构

仓库与应用工作目录

1-app/                            Git 仓库、分支与发布边界
├── AGENTS.md / docs/              规则、架构、合同说明和平台交接
├── README.md / README.zh.md       面向使用者和贡献者的双语介绍
├── RELEASING.md / USAGE.md        发布规则与使用说明
├── .github/workflows/            CI、Tauri、Android、Linux 发布
├── Casks/                        Homebrew 分发定义
├── Examples/                     示例数据
├── assets/ / video-materials/     产品展示材料
├── scripts/                      仓库级辅助脚本
└── openless-all/
    ├── design_handoff_openless/   设计交接材料
    └── app/                      npm 与 Core/Linux Cargo 工作目录
        ├── src/                  React / TypeScript 界面
        ├── crates/openless-core/  共享业务 Rust crate
        ├── src-tauri/            Tauri Host,独立 Cargo manifest
        ├── linux-egui/           Linux Host 和 egui UI
        ├── android/              Kotlin / AIDL / manifest / 前端片段
        ├── windows-ime/          原生 TSF/IME 工程
        ├── contract/             机器可读 backend-2.0 合同
        ├── scripts/              构建、平台检查与合同测试
        └── public/               Vite 静态资源

按任务定位源码

路径以 openless-all/app/ 为基准。

任务 入口 相关边界
启动与窗口分支 src/main.tsxsrc/App.tsx typed IPC 启动快照;Tauri 配置与运行时窗口
主界面、页面与设置 src/components/FloatingShell.tsxsrc/pages/src/pages/settings/ src/state/ 组织界面状态;业务规则归 Core
多语言、主题、组件 src/i18n/src/styles/src/components/ 八种界面语言;tokens/global 样式
新增或调整 IPC src/lib/ipc/src-tauri/src/commands/src-tauri/src/lib.rs Rust/TypeScript 类型、注册、事件与 contract/ 同步
共享业务入口 crates/openless-core/src/api.rs events.rsports.rsdomains.rsconfig.rs
听写和服务 Core dictation_engine.rsprovider_*asr/polish.rs Host 的录音、插入和本地模型适配
历史、词库、纠错、风格包 Core history.rsvocabulary.rscorrection.rsstyle_pack_store.rs Tauri persistence/ 与对应 command
官方云同步 Core cloud_sync.rscloud_sync_types.rscloud_sync_validation.rscloud_sync_transaction.rs Tauri commands/cloud_sync.rs;GitHub 身份、有限字段与版本冲突见 云同步合同
Tauri 组装与系统能力 src-tauri/src/coordinator.rscore_adapters.rstauri_coordinator_host.rs 窗口、热键、权限、平台输入与生命周期
Linux 原生接入 linux-egui/src/main.rslib.rsbackend.rs audio/credentials/fcitx5/hotkeys/settings 等 Host 模块;见 交接
Android 集成 android/src-tauri/src/android/ @android 别名与 merge-android-*.mjs 生成链
Windows 输入法 windows-ime/src-tauri/src/windows_ime_*.rs 原生工程、IPC 协议、目标应用和安装检查

Core 其余模块按领域列于 架构模块地图。平台缺口、事件签名与验收项由专项文档维护,本文件只提供定位。

构建清单与生成文件

文件或目录 作用与维护方式
package.json / package-lock.json npm 命令、前端依赖与锁定版本;脚本从应用目录执行
Cargo.toml / Cargo.lock Core 与 Linux workspace;不覆盖 src-tauri
src-tauri/Cargo.toml / Cargo.lock Tauri Host 的独立依赖图;本地 path 子模块须在解析前就绪
src-tauri/backend-tests/Cargo.toml 独立 Rust 回归 crate,按 CI 选择平台执行
vite.config.ts / tsconfig.json WebView 构建、TypeScript 与 Android 别名
src-tauri/tauri.conf.json / src-tauri/capabilities/ 应用元数据、初始窗口、打包与 Tauri 能力权限
src-tauri/vendor/ 原生 ASR 引擎与子模块;升级按 qwen-asr 清单
src/lib/ipc/provider-descriptors.generated.json Core 导出的公开 provider 目录;生成命令见 架构
contract/language-catalog.json 工作语言的原生保存值、显示代码、ASR 代码与 Apple locale;前端及 Core 直接共用,新增语种不分别修改三份映射
src-tauri/gen/ Tauri 平台生成目录;Android 手写源与合成脚本保留在 android/scripts/
node_modules/dist/、各 target/ 依赖和构建产物,不作为源码或 docs 的事实来源

检查命令集中在 架构的验证入口,版本与发布流程集中在 RELEASING.md。不要在目录说明中复制易变的命令数量、分支领先数或单次测试结果。

源码格式与注释

应用目录的 .editorconfig 定义基础缩进和换行。TypeScript、JavaScript、CSS、HTML、JSON 与 shell 使用锁定版本的 Prettier,执行 npm run format 修改格式,执行 npm run format:check 检查。配置见 .prettierrc.json;生成文件和第三方源码不参与格式化。

Rust 使用 rustfmt,分别覆盖根 workspace、src-tauri/Cargo.tomlsrc-tauri/backend-tests/Cargo.toml。C/C++ 使用 clang-format 23,遵循应用目录的 .clang-format。Android 手写 Kotlin 使用 ktfmt 0.64 的 --kotlinlang-style --do-not-remove-unused-imports 选项。

注释说明当前职责、调用约束、生命周期与失败处理;涉及 FFI 时写明所有权和 ABI 前提。已完成任务的过程说明、失效文档引用及重复代码含义的注释应删除。对协议兼容或平台限制的说明保留必要依据。