Mains Aegis
Mains Aegis 是 UPS / power-management 设备 mono-repo:它把硬件行为文档、ESP32-S3 固件、Web 管理界面、docs-site、前面板/音频预览工具和质量门禁放在同一个维护边界里。PRODUCT.md 明确把 Web 管理界面定义为面向多设备 UPS 的只读运维控制台,首要目标是让维护者快速判断设备健康、离线、后备供电和告警状态,而不是做可写控制台。
- Device mono-repo
- Web demo
- Embedded device control plane
- Project docs site
目录
技术栈
运行与交付
- CI 工作流
- ci.yml
- dependency-review.yml
- docs-pages.yml
- firmware.yml
- lint-pr-title.yml
- 能力标记
- bun_lock
- github_actions
- package_json
依赖与工具
- package.json
- 开发依赖
- @commitlint/cli
- @commitlint/config-conventional
- commitlint-plugin-function-rules
- 项目脚本
- commitlint
- web:build
- web:check
- web:dev
- web:preview
配置与质量
- 配置文件
- .gitignore
- .gitmodules
- lefthook.yml
- mcu-agentd.toml
- package.json
{
"ci_workflows": [
"ci.yml",
"dependency-review.yml",
"docs-pages.yml",
"firmware.yml",
"lint-pr-title.yml"
],
"configs_root": [
".gitignore",
".gitmodules",
"lefthook.yml",
"mcu-agentd.toml",
"package.json"
],
"markers_present": [
"bun_lock",
"github_actions",
"package_json"
],
"package_json": {
"deps_dev": [
"@commitlint/cli",
"@commitlint/config-conventional",
"commitlint-plugin-function-rules"
],
"scripts": [
"commitlint",
"web:build",
"web:check",
"web:dev",
"web:preview"
]
}
}Purpose
Mains Aegis 是 UPS / power-management 设备 mono-repo:它把硬件行为文档、ESP32-S3 固件、Web 管理界面、docs-site、前面板/音频预览工具和质量门禁放在同一个维护边界里。PRODUCT.md 明确把 Web 管理界面定义为面向多设备 UPS 的只读运维控制台,首要目标是让维护者快速判断设备健康、离线、后备供电和告警状态,而不是做可写控制台。
Taxonomy
- Tags: Device mono-repo, Web demo, Embedded device control plane, Project docs site
Repository map
docs/是工程设计中心,包含bms-design.md、charger-design.md、ups-output-design.md、power-monitoring-design.md、quality-gates.md等硬件/固件/产品决策。firmware/是 ESP32-S3 Rust firmware crate,firmware/Cargo.toml暴露 main voltage selector、BMS diag、thermal protect test 等编译特性。web/是 React/Vite TypeScript 管理界面,web/package.json暴露dev、preview、build、check。docs-site/使用 Rspress 生成公开文档站;mcu-agentd.toml让本仓库能被 MCU 管理工具直接识别。
Runtime and delivery
根 package.json 只负责 workspace 脚本和 commitlint;Web 运行通过 bun run web:dev 进入 web/,默认 WEB_PORT 可覆盖。PRODUCT.md 还要求测试示例与 direct-access demo path 复用正式 frontend 和正式 route,并允许 mock seed data 作为稳定交互输入。docs-site 通过 DOCS_PORT 覆盖端口,默认 50885。固件侧依赖 firmware/Cargo.toml 和 mcu-agentd.toml,后者声明 espflash、esp32s3、release ELF 和 selector cache。
Architecture notes
这个项目的架构重心是“文档先行的设备系统”。UPS 行为拆成 BMS、charger、output、audio、boot self-test、power monitoring 等文档,再由 firmware 和 web UI 分别落地。Web 首版只读是关键边界:PRODUCT.md 明确避免误触 UPS 状态;任何后续控制操作都应该先进入 specs 和 safety gate,而不是直接加到 React 页面。
Workflow and quality gates
.github/workflows/ci.yml、firmware.yml、docs-pages.yml、dependency-review.yml 和 lint-pr-title.yml 把固件、文档站、依赖审查和 PR 标题规则分开。docs/quality-gates.md 与 lefthook.yml 说明质量门禁是项目 contract 的一部分。
Reusable decisions
- 复杂硬件项目用
docs/承载 current truth,比把设计散在 PR 里更可复用。 - 只读运维 UI 先行,硬件控制写操作延后到安全模型清楚之后。
- 根
mcu-agentd.toml让固件操作可配置,减少每次 flashing 的口头约定。 - Web demo 只接受复用正式前端与正式路由的 mock-seeded / read-only 演示路径,不把 docs-site 或普通 preview 误算成产品演示面。
Risks and open questions
- Web UI 与 firmware/docs 的事实可能漂移;UI 声称的状态必须能追到设备 API 和设计文档。
- 电源/电池/热保护相关改动需要硬件证据或仿真证据,不能只看 TypeScript build。
Evidence index
PRODUCT.mddocs/README.mddocs/quality-gates.mddocs/bms-design.mddocs/charger-design.mddocs/ups-output-design.mdfirmware/Cargo.tomlweb/package.jsondocs-site/package.jsonmcu-agentd.toml.github/workflows/ci.yml.github/workflows/firmware.yml
相关内容
Device mono-repo
主题Device mono-repo 表示一个仓库同时承载硬件资料、固件、Web/desktop UI、docs/specs、测试工具或发布流程。它强调边界协调:硬件、firmware、UI 和文档互相影响,不应把仓库当作单一应用。 这个 Topic 的核心是设备级知识不能被某一个技术栈吞掉。
Embedded device control plane
主题Embedded device control plane 表示设备把 ESP32-S3 作为正式控制面 MCU,并依赖其板载 USB 与 Wi‑Fi 同时承载本地与局域网控制入口。这里的主语不是“某一种传输协议”,而是 devd、CLI、Web App、可选 desktop/local agent、Web Serial 与 native USB 如何围绕同一设备事实、安全边界、发现机制、连接 ownership 和运行态协议协作。
Project docs site
主题Project docs site 指项目在工程仓库内维护一个独立的 web 文档站点,通常以 docs-site/、docs-pages.yml 或等价 publish workflow、docs:build / build-docs-site、DOCS_PORT 等入口体现。
Web demo
主题Web demo 表示仓库刻意提供一个可直接给 owner、评审者或潜在用户体验的 Web 演示面,而且这个演示面复用正式产品前端与正式路由,而不是单独做一套只用于截图的 demo 页面。它允许用 mock backend、simulation device、read-only seed data 或等价安全输入来稳定复现产品行为,但默认不要求接入真实生产登录、真实后端写路径或真实硬件危险写操作。