目录

<<<<<<< HEAD # BootGraph-AI

BootGraph-AI:融合依赖图建模与 AI 辅助分析的 openKylin 可解释启动性能优化平台

本项目面向赛题 4「openKylin 操作系统启动性能分析与优化」:把一次系统启动拆成可采集、可建模、可解释、可回滚的工程流程,而不是简单关闭服务刷成绩。

当前已完成的 Windows 可运行部分

在 Windows 上可以完成以下工作:

  1. 读取示例或真实导出的 JSON 启动数据。
  2. 构建 systemd unit 依赖图。
  3. 识别估算关键路径和 Top 耗时服务。
  4. 拆分“内核结束到图形登录”“登录到桌面可用”等阶段。
  5. 生成安全优化建议计划(默认不改系统)。
  6. 生成离线 AI 辅助解释文本。
  7. 生成 Markdown/HTML 报告。
  8. 生成更像正式平台首页的 index.html
  9. 使用优化前/优化后样例生成对比报告。

真正的采集、应用优化和复测仍然需要在 openKylin/Linux 上运行,因为 Windows 没有 systemd 启动链路。

Windows 快速运行

在项目根目录执行:

cd E:\操作系统开源大赛\bootgraph-ai
powershell -ExecutionPolicy Bypass -File .\scripts\run_demo_windows.ps1

如果你有可用的 Python,也可以直接运行:

py -m bootgraph_ai.cli demo --output-dir outputs

运行后会生成:

  • outputs/index.html:平台首页,适合先给评委看
  • outputs/report.html:详细分析报告
  • outputs/report.md:Markdown 报告
  • outputs/analysis.json:基线启动依赖图与关键路径分析
  • outputs/plan.yaml:适合答辩展示的优化建议计划
  • outputs/plan.json:给后续程序读取的优化建议
  • outputs/explanation.txt:离线 AI 辅助解释
  • outputs/optimized_analysis.json:优化后样例分析
  • outputs/compare.json / outputs/compare.md:优化前后对比

常用命令

# 校验数据格式
py -m bootgraph_ai.cli validate --input examples/sample_boot.json

# 分析一个启动数据文件
py -m bootgraph_ai.cli analyze --input examples/sample_boot.json --output outputs/analysis.json

# 生成优化建议
py -m bootgraph_ai.cli suggest --analysis outputs/analysis.json --output outputs/plan.yaml

# 生成解释文本
py -m bootgraph_ai.cli explain --analysis outputs/analysis.json --plan outputs/plan.json --output outputs/explanation.txt

# 生成报告与首页
py -m bootgraph_ai.cli report --analysis outputs/analysis.json --plan outputs/plan.json --output outputs/report.md --with-explain
py -m bootgraph_ai.cli html --analysis outputs/analysis.json --plan outputs/plan.json --output outputs/report.html --with-explain
py -m bootgraph_ai.cli home --analysis outputs/analysis.json --plan outputs/plan.json --compare outputs/compare.json --output outputs/index.html

# 对比优化前后
py -m bootgraph_ai.cli compare --baseline outputs/analysis.json --optimized outputs/optimized_analysis.json --output outputs/compare.json --report outputs/compare.md

在 openKylin 上的真实流程

python3 -m bootgraph_ai.cli collect --output data/raw_boot.json
python3 -m bootgraph_ai.cli analyze --input data/raw_boot.json --output outputs/analysis.json
python3 -m bootgraph_ai.cli suggest --analysis outputs/analysis.json --output outputs/plan.yaml
python3 -m bootgraph_ai.cli report --analysis outputs/analysis.json --plan outputs/plan.json --output outputs/report.md --with-explain
python3 -m bootgraph_ai.cli home --analysis outputs/analysis.json --plan outputs/plan.json --compare outputs/compare.json --output outputs/index.html

后续应补充:真实启动录屏/埋点、systemd override 自动生成但人工确认、rollback 脚本、优化后复测流水线。

项目定位

  • 可解释:说明每一段启动耗时来自哪里、是否位于关键路径。
  • 可复现:采集、分析、建议、报告均可一键生成。
  • 安全:优化建议带风险等级,默认只生成计划,不直接修改系统。
  • 可迁移:采集与依赖图分析框架可扩展到其他 systemd Linux 桌面发行版。

目录结构

bootgraph-ai/
├── bootgraph_ai/          # Python 包
│   ├── collect/           # Linux/openKylin 采集模块
│   ├── graph/             # 依赖图与关键路径分析
│   ├── optimizer/         # 安全优化规则
│   ├── ai/                # 离线 AI 辅助解释
│   ├── report/            # Markdown/HTML 报告
│   └── platform.py        # 平台首页
├── examples/              # Windows 可运行示例数据
├── rules/                 # openKylin 规则草案
├── docs/                  # 设计文档
├── scripts/               # Windows/Linux 运行脚本
├── tests/                 # 单元测试
└── outputs/               # 运行生成物

=======

openkylin

18f9a3574ebf46cc194589812db00f2dbcad62df

关于
167.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号