NFarms 知识库¶
NFarms HUB 的源码知识库:桌面端(
crates/,Rust + egui)与移动端 (apps/,五个 Android App)的逐文件文档,外加各轮的开发过程记录。文档由
scripts/gen-wiki.ps1从源码生成。改内容要改源码再重跑 ——code/下的副本不要手改,下次生成就没了。
| 文档数 | 165 |
| 总行数 | 59928 |
| 建站时间 | 2026-10-18 02:11 |
为什么有这份库¶
菜单能点、按钮不报错,都不等于功能对。这个项目的验证方式经历过一次转变: 起初只做到「编译通过 + APK 能装」,直到把模拟器跑起来才发现五个 App 里没有一个的界面被人看过; 而且有 10 个 bug 属于"静默错误"—— 被裁掉的按钮、写错路径的下载、没被拉取的工单, 全都安安静静地"成功了"。逐轮细节见开发过程记录。
覆盖面¶
| 区域 | 文件 | 行数 |
|---|---|---|
| crates | 53 | 47054 |
| apps | 93 | 9834 |
| android | 5 | 146 |
| scripts | 11 | 2544 |
| installer | 1 | 129 |
| 根目录 | 1 | 38 |
开发过程记录¶
按文件浏览¶
(根目录)¶
| 文件 | 行数 |
|---|---|
| Cargo.toml | 38 |
小计:38 行
android(直接文件)¶
| 文件 | 行数 |
|---|---|
| build.gradle | 11 |
| settings.gradle | 26 |
小计:37 行
android / app¶
| 文件 | 行数 |
|---|---|
| build.gradle | 59 |
小计:59 行
android / app / src / main¶
| 文件 | 行数 |
|---|---|
| AndroidManifest.xml | 41 |
小计:41 行
android / app / src / main / res / values¶
| 文件 | 行数 |
|---|---|
| strings.xml | 9 |
小计:9 行
apps(直接文件)¶
| 文件 | 行数 |
|---|---|
| build.gradle.kts | 16 |
| build-all.ps1 | 91 |
| gradle.properties | 7 |
| README.md | 154 |
| settings.gradle.kts | 24 |
| smoke-install.ps1 | 121 |
小计:413 行
apps / core¶
| 文件 | 行数 |
|---|---|
| common/build.gradle.kts | 40 |
| secure/Crypto.kt | 190 |
| store/JsonStore.kt | 138 |
| store/Serializers.kt | 12 |
| ui/Common.kt | 196 |
| test/CoreTest.kt | 141 |
小计:717 行
apps / gradle¶
| 文件 | 行数 |
|---|---|
| libs.versions.toml | 49 |
小计:49 行
apps / hub¶
| 文件 | 行数 |
|---|---|
| build.gradle.kts | 52 |
| AndroidManifest.xml | 40 |
| engine/Ffmpeg.kt | 156 |
| engine/Harness.kt | 162 |
| engine/Models.kt | 283 |
| HubApp.kt | 51 |
| HubService.kt | 123 |
| HubViewModel.kt | 223 |
| MainActivity.kt | 112 |
| task/Tasks.kt | 200 |
| ui/FfmpegScreen.kt | 137 |
| ui/HarnessScreen.kt | 126 |
| ui/ModelsScreen.kt | 162 |
| ui/TasksScreen.kt | 185 |
| res/mipmap-anydpi-v26/ic_launcher.xml | 6 |
| res/values/colors.xml | 6 |
| res/values/strings.xml | 5 |
| res/values/themes.xml | 11 |
| ModelCatalogTest.kt | 65 |
小计:2105 行
apps / iot¶
小计:1906 行
apps / online¶
小计:1192 行
apps / player¶
小计:1797 行
apps / store¶
| 文件 | 行数 |
|---|---|
| build.gradle.kts | 51 |
| AndroidManifest.xml | 26 |
| data/Models.kt | 140 |
| data/StoreRepo.kt | 311 |
| data/Sync.kt | 126 |
| MainActivity.kt | 113 |
| pay/Payment.kt | 67 |
| StoreApp.kt | 38 |
| StoreViewModel.kt | 192 |
| ui/MenuScreen.kt | 176 |
| ui/OrdersScreen.kt | 149 |
| res/mipmap-anydpi-v26/ic_launcher.xml | 6 |
| res/values/colors.xml | 6 |
| res/values/strings.xml | 5 |
| res/values/themes.xml | 11 |
| OrderKeysTest.kt | 76 |
| StoreRepoTest.kt | 162 |
小计:1655 行
crates / nfarms-app¶
| 文件 | 行数 |
|---|---|
| build.rs | 552 |
| Cargo.toml | 15 |
小计:567 行
crates / nfarms-app / src¶
| 文件 | 行数 |
|---|---|
| main.rs | 1274 |
小计:1274 行
crates / nfarms-core¶
| 文件 | 行数 |
|---|---|
| Cargo.toml | 12 |
小计:12 行
crates / nfarms-core / src¶
| 文件 | 行数 |
|---|---|
| browser.rs | 522 |
| chat.rs | 520 |
| cyinfo.rs | 1263 |
| dsh.rs | 603 |
| envprobe.rs | 1643 |
| ffmpeg.rs | 849 |
| job_win.rs | 308 |
| kb.rs | 554 |
| lib.rs | 150 |
| libs.rs | 1218 |
| live.rs | 563 |
| log.rs | 801 |
| music.rs | 708 |
| netclock.rs | 447 |
| observability.rs | 2295 |
| paths.rs | 654 |
| remote.rs | 762 |
| scripts.rs | 1185 |
| settings.rs | 809 |
| store.rs | 998 |
| time.rs | 273 |
| today.rs | 334 |
| tools.rs | 1475 |
| topo.rs | 1470 |
| videoparse.rs | 307 |
| weather.rs | 601 |
| wireshark.rs | 547 |
| ztna.rs | 264 |
小计:22123 行
crates / nfarms-gui¶
| 文件 | 行数 |
|---|---|
| Cargo.toml | 45 |
小计:45 行
crates / nfarms-gui / src¶
| 文件 | 行数 |
|---|---|
| background.rs | 851 |
| icons.rs | 966 |
| lib.rs | 5289 |
| local_model.rs | 1193 |
| logo.rs | 950 |
| pages.rs | 1855 |
| pet_window.rs | 1229 |
| theme.rs | 354 |
| viewer.rs | 625 |
小计:13312 行
crates / nfarms-gui / src / plugins¶
| 文件 | 行数 |
|---|---|
| core_pages.rs | 6631 |
| mod.rs | 760 |
| stubs.rs | 37 |
| ui.rs | 478 |
小计:7906 行
crates / nfarms-mobile¶
| 文件 | 行数 |
|---|---|
| Cargo.toml | 28 |
小计:28 行
crates / nfarms-mobile / src¶
| 文件 | 行数 |
|---|---|
| lib.rs | 61 |
小计:61 行
crates / nfarms-plugin¶
| 文件 | 行数 |
|---|---|
| Cargo.toml | 11 |
小计:11 行
crates / nfarms-plugin / src¶
| 文件 | 行数 |
|---|---|
| context.rs | 620 |
| kernel.rs | 906 |
| lib.rs | 44 |
| plugin.rs | 145 |
小计:1715 行
installer¶
| 文件 | 行数 |
|---|---|
| nfarms.iss | 129 |
小计:129 行
scripts¶
| 文件 | 行数 |
|---|---|
| build-android.ps1 | 310 |
| build-installer.ps1 | 228 |
| build-release.ps1 | 106 |
| fetch-libs.ps1 | 233 |
| fetch-monitoring.ps1 | 216 |
| gen-wiki.ps1 | 203 |
| gen-wiki-site.ps1 | 305 |
| pkg-manage.ps1 | 458 |
| smoke-pages.ps1 | 124 |
| ui-shot.ps1 | 173 |
| verify-oracle.ps1 | 188 |
小计:2544 行