# EICLING小助手 **Repository Path**: deepin20/eicling ## Basic Information - **Project Name**: EICLING小助手 - **Description**: EICLING 小助手是一款基于 Python + PyQt5 开发的玲珑包(Linyaps/Linglong)图形化管理工具。它旨在简化玲珑包的管理、构建和调试流程,让开发者与用户能够更直观、高效地操作玲珑生态。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-08 - **Last Updated**: 2026-08-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🛠 EICLING 小助手 **EICLING 小助手** 是一款基于 Python + PyQt5 开发的玲珑包(Linyaps/Linglong)图形化管理工具。它旨在简化玲珑包的管理、构建和调试流程,让开发者与用户能够更直观、高效地操作玲珑生态。 --- ## ✨ 功能特性 - **🔧 玲珑工具包检测**:自动检测系统中 `linglong-bin`、`linglong-builder`、`linglong-box`、`linglong-installer`、`linglong-pica` 等核心组件的安装状态和版本。 - **📦 缓存管理**:实时查看和刷新 `linglong-builder` 和 `linglong-pica` 的缓存占用情况。 - **📱 应用管理**:列出所有已安装的玲珑应用,并支持一键打开应用安装目录。 - **🧹 运行时清理**:一键移除未使用的玲珑运行时,释放磁盘空间。 - **🗄️ 仓库信息**:查看当前配置的玲珑仓库地址。 - **📥 安装与解压**:支持通过文件对话框或拖拽方式安装 `.layer` 文件,并支持解压 `.layer` 包以查看内容。 - **🔨 构建并运行**:选择 `linglong.yaml` 配置文件,一键构建并运行玲珑应用。 - **📦 生成配置并打包**:通过图形化表单填写应用信息,自动生成 `linglong.yaml`,并调用 `ll-builder` 构建和导出 `.layer` / `.uab` 包。 - **🎨 统信 UOS 风格界面**:适配 Deepin/UOS 系统视觉风格,界面美观、交互流畅。 - **🖱️ 拖放支持**:支持将 `.layer` 或 `.yaml` 文件直接拖入窗口,快速执行安装/解压/构建操作。 - **🧵 多线程架构**:所有耗时操作均在后台线程执行,界面永不卡顿。 - **🐧 跨发行版兼容**:自动检测 `ll` 或 `linglong` 命令,支持 Debian/Ubuntu/Arch/openEuler 等主流发行版。 --- ## 📸 界面预览 | 主界面 | 配置生成对话框 | |:------:|:-------------:| | ![主界面](screenshots/main.png) | ![配置对话框](screenshots/config.png) | > 截图仅供参考,实际界面以最新版本为准。 --- ## 📦 安装方式 ### 方式一:通过 DEB 包安装(推荐,适用于 Deepin/UOS) 1. 在项目根目录下运行打包脚本: ```bash python3 build_deb.py ``` 2. 按照提示输入应用 ID 和版本号,脚本会自动生成 `.deb` 安装包。 3. 安装生成的 DEB 包: ```bash sudo dpkg -i com.yourcompany.eicling-helper_1.0.0.0_amd64.deb ``` ### 方式二:通过玲珑包安装(跨发行版) 1. 在项目根目录下构建玲珑包: ```bash ll-builder build ll-builder export --layer # 或 ll-builder export 生成 .uab ``` 2. 安装生成的玲珑包: ```bash ll-cli install com.yourcompany.eicling_helper_1.0.0.0_x86_64_binary.layer ``` ### 方式三:源码运行(开发调试) 1. 克隆项目并进入目录: ```bash git clone cd EICLING小助手 ``` 2. 安装 Python 依赖: ```bash pip install PyQt5 ``` 3. 运行应用: ```bash cd eicling_gui/eicling python3 -m eicling_helper.app ``` --- ## 🚀 快速使用指南 ### 1. 检测玲珑环境 启动应用后,**“玲珑工具包检测”** 区域会自动显示各组件版本。点击 **“刷新”** 可重新检测。 ### 2. 管理已安装应用 点击 **“列出应用”** 可刷新应用列表。选中某个应用后,点击 **“打开目录”** 可直达其安装文件夹。 ### 3. 安装/解压 .layer 文件 - 点击 **“安装 .layer”** 或 **“解压 .layer”** 按钮,在弹出的文件对话框中选择目标文件。 - 或将 `.layer` 文件直接拖入主窗口,系统会询问执行安装还是解压。 ### 4. 构建并运行 点击 **“构建并运行”**,选择项目中的 `linglong.yaml` 文件,即可自动构建并启动应用。 ### 5. 生成配置并打包 点击 **“生成配置并打包”**,在弹出的表单中填写应用信息(ID、名称、版本、描述等),选择项目工作目录,确认后自动生成 `linglong.yaml` 并调用 `ll-builder` 构建与导出。 --- ## 🧩 项目结构 ``` eicling_helper/ ├── app.py # 程序入口 ├── gui/ │ ├── __init__.py │ ├── main_window.py # 主窗口 │ ├── config_dialog.py # 配置生成对话框 │ ├── styles.py # 统信 UOS 风格样式表 │ └── icons/ # 应用图标 │ └── app_icon.svg ├── utils/ │ ├── __init__.py │ └── helpers.py # 通用工具函数 └── workers/ ├── __init__.py ├── detect_worker.py # 组件检测线程 ├── cache_worker.py # 缓存计算线程 ├── list_apps_worker.py # 应用列表线程 ├── install_worker.py # 安装线程 ├── extract_worker.py # 解压线程 ├── build_run_worker.py # 构建并运行线程 ├── build_package_worker.py # 打包线程(生成配置+构建+导出) └── prune_worker.py # 清理运行时线程 ``` --- ## 🔧 开发指南 ### 依赖项 - Python 3.6+ - PyQt5 - 玲珑工具链(`ll-builder`、`ll-cli` 等) - `python3-yaml`(可选,用于读取 `linglong.yaml`) ### 代码风格 - 遵循 PEP 8 规范 - 使用 PyQt5 的 `QThread` 处理耗时操作 - 所有命令执行均采用列表传参,避免 shell 注入 ### 扩展开发 - **新增功能**:在 `workers/` 目录下创建新的 `QThread` 子类,在 `main_window.py` 中调用。 - **界面调整**:修改 `gui/main_window.py` 中的 `_setup_ui()` 方法。 - **工具函数**:在 `utils/helpers.py` 中添加通用函数。 - **样式修改**:调整 `gui/styles.py` 中的 QSS 样式表。 --- ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! 1. Fork 本仓库 2. 创建你的功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交你的修改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ### 提交规范 - 提交信息请使用中文,简明扼要地描述改动内容。 - 请确保代码风格与现有代码保持一致。 --- ## 📄 许可证 本项目基于 **MIT License** 开源,详情请参见 [LICENSE](LICENSE) 文件。 --- ## 🙏 致谢 - [玲珑社区](https://linyaps.org.cn) —— 提供优秀的 Linux 应用分发框架 - [Deepin/UOS](https://www.deepin.org) —— 提供出色的桌面环境和工具链支持 --- ## 📞 联系方式 - 项目主页: - 问题反馈: --- **EICLING 小助手** —— 让玲珑包管理更简单、更优雅 🚀