# 集源 **Repository Path**: deepin20/gitsy ## Basic Information - **Project Name**: 集源 - **Description**: Gitsy 是一款从 Gitee 聚合应用源并一键安装的图形化工具。 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-12 - **Last Updated**: 2026-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README  # 🧩 集源 (Gitsy) **从 Gitee 一键安装应用 · 让开源软件触手可及** [![版本](https://img.shields.io/badge/版本-3.4.4-blue)](https://gitee.com/deepin20/gitsy) [![UOS](https://img.shields.io/badge/适配-UOS%20%E6%A1%8C%E9%9D%A2%E7%89%88-green)](https://www.chinauos.com/) [![许可证](https://img.shields.io/badge/许可证-GPLv3-orange)](LICENSE) --- ## 📖 简介 **集源** 是一款专为统信 UOS 系统设计的图形化应用安装工具,它聚合多个 Gitee 仓库中的 `.deb` 安装包,自动识别您的系统架构(AMD64/ARM64/LoongArch),实现**一键浏览、安装和更新**开源软件。 **核心理念**:将 Gitee 变成您的专属“应用商店” —— 无需手动搜索 Release、无需纠结架构、无需处理依赖,一切尽在点击之间。 --- ## ✨ 功能特性 - 🔍 **自动发现**:扫描配置的 Gitee 仓库,自动提取 Release 中的 `.deb` 文件。 - 🎯 **智能筛选**:根据您的系统架构(AMD64/ARM64/LoongArch)自动匹配可用应用。 - ⚡ **一键安装**:点击即下载、安装,自动修复依赖,支持安装取消识别。 - 🔄 **实时更新**:手动刷新即可获取最新版本,已安装应用会显示“升级”提示。 - 🖼️ **清爽界面**:基于 Qt 构建,适配 UOS 系统主题(浅色/深色模式)。 - 🧩 **元数据支持**:可通过 `apps.json` 自定义应用名称、描述和图标。 - 🔐 **安全可靠**:使用 Gitee 私人令牌提升 API 限额,支持 SHA256 校验(可选)。 --- ## 📸 截图 ![输入图片说明](Gitsy.jpg) --- ## 🚀 安装与运行 ### 系统要求 - 统信 UOS 桌面版(AMD64/ARM64/LoongArch) - Python 3.6+ - 依赖:`python3-pyqt5`, `python3-requests`, `policykit-1`, `dpkg` ### 安装方式 #### 1. 安装 DEB 包(推荐) 1. 从 [Releases](https://gitee.com/your-repo/gitsy/releases) 下载最新的 `.deb` 包。 2. 双击安装,或在终端执行: ```bash sudo dpkg -i gitsy_*.deb sudo apt install -f # 修复依赖 ``` #### 2. 源码运行(开发者模式) ```bash git clone https://gitee.com/deepin20/gitsy.git cd gitsy pip install -r requirements.txt python3 main.py # 或 ./start.sh ``` 跑测试(均不需要网络与 GUI): ```bash python3 tests/test_core.py # 核心逻辑 python3 tests/test_repos.py # 内置源清单完整性 python3 tests/test_uninstall.py # 安装/卸载路径 python3 tests/test_tasks.py # 任务队列 ``` --- ## 🎯 使用方法 ### 第一次打开会看到什么(普通用户) 1. **立刻就有应用列表**:程序自带一份「应用目录快照」(`data/apps_snapshot.json`), 首次启动直接把它播种到本地缓存,**不需要联网、不需要令牌**,界面马上是完整的应用列表。 2. **后台自动检查更新**:随后在后台核对各仓库是否有新版本,只对变化的仓库重新拉取。 3. **点卡片装软件**:安装/升级/卸载都通过系统 `pkexec` 弹一次密码框,输密码即可,不需要终端。 ### 基本操作 1. **同步列表**:启动时自动检查更新,也可点击右上角 `⟳` 手动强制全量同步。 2. **搜索应用**:在搜索框输入关键字,实时过滤。 3. **架构切换**:下拉选择“全部/AMD64/ARM64/LoongArch”,自动适配当前系统。 默认“跟随系统”,只显示适配本机架构的应用;切到“全部架构”能看到其它架构的条目 (这时不可安装的条目会显示“暂无版本”)。 4. **安装应用**:点击卡片上的“安装”或“升级”按钮,输入密码即可。 5. **查看详情**:点击卡片(非按钮区域)可查看更新日志、版本、安装历史,并可回滚版本。 ### 要不要填 Gitee 令牌? | | 不填令牌(默认) | 填了私人令牌 | |---|---|---| | 首次打开 | 有完整列表(走内置快照) | 同左 | | 检查更新速度 | 匿名额度 60 次/小时,一轮查不完会自动**分几轮接着查** | 5000 次/小时,一轮基本能查完 | | 能装软件吗 | 能。下载 .deb 走的是仓库直链,不占 API 额度 | 能 | 也就是说**不填令牌也能正常用**,只是“检查更新”要分几次才覆盖全部仓库。想让它一次查完, 在「⚙ 设置」里填一个 Gitee 私人令牌(免费申请,只需 `projects` 权限)即可。 --- ## ⚙️ 配置 ### 添加/删除 Gitee 仓库 内置清单是 `data/repos.json`(随 deb 一起打包,共 112 条,按来源分组连续排列:`deepin20` 78 条、 `GXDE-OS` 15 条、`spark-store-project` 14 条、`yngeek` 3 条、`deepin-community` 1 条、 `GenePad` 1 条)。它就是「默认软件源」,程序启动即启用,设置里的「恢复默认」也会回到这份清单。 **收录规则:只内置在 Gitee 上有 `.deb` Release 的仓库。** 2026-09-22 曾对当时的 732 条逐仓库核对 Release 资产,删掉了 620 条没有任何 `.deb` 的(604 条根本无 Release、16 条只有 zip/tar/AppImage)—— 它们在界面上永远不会变成可安装的卡片,只会每次同步白占一次 API 配额。所以新增源之前, 先确认该仓库的 Release 里确实有 `.deb`。 新增/删除内置源,直接编辑该文件(每行一条 `https://gitee.com/owner/repo`),重启程序生效; 改完建议跑一次完整性检查: ```bash python3 tests/test_repos.py # 校验 JSON、重复、URL 可解析、加载无丢失 ``` 只想临时多加几个源,用界面「⚙ 设置 → 软件源」添加自定义源即可,无需改文件。 `src/constants.py` 里的 `_DEFAULT_SLUGS` 只是 `data/repos.json` 缺失/损坏时的兜底样例。 ### 使用私人令牌(提升 API 限额) 在界面「⚙ 设置」里填入令牌并点「测试」即可(成功后自动保存)。令牌可在 Gitee → 设置 → 安全设置 → 私人令牌 中生成(仅需 `projects` 权限)。 令牌优先存入系统密钥环,密钥环不可用时回退到 `~/.config/gitsy/settings.json`(权限 600)。 --- ## ❓ 常见问题 **Q:提示“Gitee API 匿名额度已用尽(60 次/小时)”,是不是用不了了?** A:不是。这条提示后面会带上“本轮已完成 N/M,剩余仓库下次刷新会优先检查”——程序按“最久没查过” 的顺序轮转,**再点一次 ⟳(或等下次启动)就会接着查剩下的**,不会每次从头开始。想一次查完, 就在「⚙ 设置」里填一个私人令牌(额度 5000 次/小时)。 **Q:列表里的应用比预期少 / 某个应用看不到?** A:默认只显示适配本机架构的应用(Gitee Release 里没有本机架构 `.deb` 的条目会被隐藏)。 把工具栏的架构下拉切到「全部架构」即可看到全部条目。另外,仓库里只有源码、 Release 里没有 `.deb` 的项目本来就不会出现在列表里。 **Q:图标是默认的图标?** A:图标需要从仓库根目录(`icon.png` / `logo.png` 等)下载,网络不通或仓库没放图标时会回退到默认图标, 不影响安装。 **Q:点了安装没反应 / 提示缺少系统组件?** A:安装卸载依赖系统组件 `dpkg`、`apt`、`pkexec`(由 `policykit-1` 提供)。缺哪个程序会在启动时提示, 执行 `sudo apt install policykit-1 dpkg apt` 即可。 **Q:安装时提示“依赖关系不满足”?** A:程序在 `dpkg -i` 之后会自动执行 `apt install -f -y` 修复依赖;若仍失败,手动执行 `sudo apt install -f`,或先 `sudo dpkg --configure -a` 清理中断的 dpkg 事务。 **Q:开始菜单没有图标?** A:注销重新登录,或运行: ```bash update-desktop-database gtk-update-icon-cache -f /usr/share/icons/hicolor ``` **更多问题**:提交 [Issue](https://gitee.com/deepin20/gitsy/issues)。 --- ## 🤝 参与贡献 我们欢迎任何形式的贡献! - 🐛 **报告 Bug**:提交详细的 Issue。 - 💡 **功能建议**:提出您的想法。 - 🔧 **代码贡献**:Fork 仓库,提交 Pull Request。 - 📚 **文档完善**:改进使用文档、翻译。 - 🗂️ **分享仓库**:如果您有好的软件源,欢迎推荐并添加到默认列表。 请确保代码符合 [GPLv3](LICENSE) 许可证。 --- ## 📄 许可证 本项目基于 **GNU General Public License v3.0** 开源。 您可自由使用、修改、分发,但必须保留版权声明和许可证。 --- ## 📬 联系方式 - 项目主页:[Gitee](https://gitee.com/deepin20/gitsy) - 问题反馈:[Issues](https://gitee.com/your-repo/gitsy/issues) - 邮箱:1802272181@qq.com --- **集源 —— 让开源软件触手可及!** *版本 3.4.4 | 2026-09-23*