{"id":13815137,"url":"https://github.com/WankkoRee/eaio","last_synced_at":"2025-05-15T07:32:01.558Z","repository":{"id":168392518,"uuid":"643942082","full_name":"WankkoRee/eaio","owner":"WankkoRee","description":"一个通过将磁盘上所有 Electron 应用中相同文件硬链接到统一位置来减少磁盘占用的解决方案，就像 pnpm 一样。","archived":true,"fork":false,"pushed_at":"2023-05-29T15:59:01.000Z","size":487,"stargazers_count":1035,"open_issues_count":11,"forks_count":16,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-05-13T04:03:22.583Z","etag":null,"topics":["electron","pdm","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WankkoRee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-05-22T13:27:45.000Z","updated_at":"2025-04-28T06:03:20.000Z","dependencies_parsed_at":"2023-06-17T09:00:34.775Z","dependency_job_id":null,"html_url":"https://github.com/WankkoRee/eaio","commit_stats":null,"previous_names":["wankkoree/electron-all-in-one","wankkoree/eaio"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WankkoRee%2Feaio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WankkoRee%2Feaio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WankkoRee%2Feaio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WankkoRee%2Feaio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WankkoRee","download_url":"https://codeload.github.com/WankkoRee/eaio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254295956,"owners_count":22047178,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","pdm","python"],"created_at":"2024-08-04T04:03:00.619Z","updated_at":"2025-05-15T07:31:58.907Z","avatar_url":"https://github.com/WankkoRee.png","language":"Python","readme":"# eaio (Electron All in One)\n\n[![pdm-managed](https://img.shields.io/badge/pdm-managed-blueviolet)](https://pdm.fming.dev)\n\n一个通过将磁盘上所有[Electron](https://github.com/electron/electron)应用中相同文件硬链接到统一位置来减少磁盘占用的解决方案，就像`pnpm`一样。\n\n![GUI 应用管理](docs/gui-app.png)\n![GUI 仓库管理](docs/gui-repo.png)\n\n## 使用介绍\n\n### [简体中文](docs/guide/zh-Hans.md)\n\n## 原理\n\n硬链接会将多个文件指向同一磁盘位置，使得多个相同的文件只占用一份空间。\n\n## Q\u0026A\n\n1. Q: 为什么不用更优雅的软链接？\n\n   A: 软链接状态下的`electron.exe`无法正确判断运行目录(如有解决方法欢迎讨论)，且可能因为一些原因造成误删。\n2. Q: 为什么不用`electron`命令行指定`resources`路径？\n\n   A: 一些应用会在运行目录下放置额外的`.exe`或`.dll`文件，指定应用路径可能会造成应用无法找到这些文件。\n3. Q: 只支持 Windows 吗？\n\n   A: 其他系统暂未测试有效性，如本方案可用于其它系统，后续会支持。\n\n## 注意事项\n\n1. 本工具会在执行`link`或`check`操作时，在目标应用所在的磁盘分区下创建`.eaio`仓库，用于存储硬链接的源文件，如无特殊情况请**不要删、改**。\n2. 本工具的`status`操作可以检查所有磁盘分区下`.eaio`仓库中所有版本的完整性和有效性，可用于检查**下载完成**情况、源文件**存在**情况、源文件**改动**情况。\n3. 本工具的`download`操作可以下载目标版本和架构的`Electron`预编译程序到指定磁盘分区的`.eaio`仓库中，如果已存在则会进行**覆盖**，所以也可用于对源文件的**恢复/修复**。\n4. 请不要对已链接的`Electron`应用进行**文件粉碎**操作，可能会导致源文件改动。\n5. 请不要对`.eaio`仓库进行**文件粉碎**操作，可能会导致已链接的`Electron`应用文件改动。\n\n## 参与开发\n\n1. 拉取本仓库的代码\n2. 本项目使用[pdm](https://github.com/pdm-project/pdm)作为包管理工具，确保你已安装`pdm`并配置好其环境\n3. 执行`pdm sync`以安装依赖到虚拟环境\n4. 修改代码\n5. 推送修改并提交pr\n\n## todo\n\n- [ ] 全盘扫描 Electron 应用\n- [ ] 验证其他系统有效性\n\n## 趋势\n\n[![Star 趋势](https://api.star-history.com/svg?repos=WankkoRee/eaio\u0026type=Timeline)](https://seladb.github.io/StarTrack-js/#/preload?r=WankkoRee,eaio)\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWankkoRee%2Feaio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWankkoRee%2Feaio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWankkoRee%2Feaio/lists"}