OmniGet社区与贡献完整指南:如何参与GitHub Issue、Discord与开发协作
【免费下载链接】omnigetDownload Udemy and Hotmart courses, YouTube videos, music and books — 1,800+ sites, no terminal. Free open-source desktop app for Windows, macOS and Linux, with a built-in course player, PDF/EPUB reader and music library. Powered by yt-dlp. Your files stay on your computer.项目地址: https://gitcode.com/GitHub_Trending/om/omniget
OmniGet 是一款免费开源的媒体下载器桌面应用(GPL-3.0 协议),支持下载 Udemy/Hotmart 课程、YouTube 等 1,800+ 网站视频,并内置课程播放器、PDF/EPUB 阅读器与音乐库,基于 Tauri + Rust + SvelteKit 构建,文件全部保存在本地。想给 OmniGet 社区出份力?这篇指南带你用最简单的方式参与:提 Issue、进 Discord 交流、做翻译、提交代码——无论零基础还是开发者都能找到入口 🚀
为什么值得参与 OmniGet 社区
- 完全开源:代码遵循 GPL-3.0 协议(见 LICENSE),任何人都可以阅读、修改和分发。
- 社区活跃:官方维护 GitHub Issues / Pull Requests、Discord 社群和 Weblate 翻译平台三大协作渠道。
- 新人友好:翻译、文档、测试、插件开发门槛各不相同,总有一款适合你。
第一步:在 GitHub Issue 中规范地报告问题
提交 Bug 或功能建议前,先做好这 4 件事,能大幅提高处理速度:
- 搜索已有 Issue,避免重复提单。
- 写明系统环境:Windows / macOS(Apple Silicon 还是 Intel)/ Linux(发行版 + 架构),以及 OmniGet 版本号。
- 复现步骤要具体:粘贴的链接类型、所在页面、出错时间点;下载类问题可附上 Downloads 页面显示的 yt-dlp 命令(每条下载都保留了完整命令行,可直接复制)。
- 一次只报一个问题,标题用一句话概括现象。
功能建议类 Issue 请标注使用场景。维护者会按优先级排期,你随时可以关注自己提单的进展。
第二步:加入 Discord 社区快速提问
遇到问题不确定是不是 Bug?先进 Discord 官方社区问一句,比直接提 Issue 更快拿到答案。社区里可以:
- 🗣️ 获得安装、配对浏览器扩展、下载失败等快速答疑
- 📣 获取新版本发布与路线图讨论
- 🤝 与其他贡献者结对,认领感兴趣的模块
小贴士:提问前把问题压缩成"环境 + 操作 + 期望 + 实际结果"四句话,回复率最高。
第三步:零代码贡献——参与 11 种语言翻译
OmniGet 内置 11 种界面语言(英文、中文、葡语、西语、法文等),翻译工作通过官方 Weblate 平台在线完成,无需任何开发环境:
- 打开 README 中的翻译入口(Weblate 项目徽章),选择你的语言。
- 直接在浏览器中翻译,新词条会在合入主干数小时后自动同步过去。
- 翻译结果对应仓库中的语言包,如 src/lib/i18n/zh.json、src/lib/i18n/en.json;键位同步由 scripts/sync-locales.mjs 自动维护,缺词会回填英文、过期键会被清理。
第四步:从源码构建 OmniGet,开始开发协作
想动手改代码?整个项目用Tauri 2 + Rust + SvelteKit(Svelte 5)+ SQLite构建,yt-dlp、FFmpeg 等引擎自动安装并自更新,你只需准备开发环境。
环境准备
- Rust:工具链版本已在 rust-toolchain.toml 中锁定(插件 ABI 依赖它,请勿随意升级)
- Node.js 18+ 与 pnpm
拉取并运行
git clone https://gitcode.com/GitHub_Trending/om/omniget cd omniget pnpm install pnpm tauri dev提交前必跑的本地检查(与 CI 保持一致)
pnpm test # 前端单元测试(Vitest) pnpm check # Svelte + TypeScript 类型检查Rust 侧有 Clippy 基线管理脚本 scripts/clippy-baseline.mjs,按平台维护告警基线,避免新告警混入主干。
代码去哪儿改
| 想改什么 | 去哪里看 |
|---|---|
| 界面组件与路由 | src/routes/、src/lib/stores/ |
| Rust 后端与下载核心 | src-tauri/omniget-core/、src-tauri/src/commands/ |
| 插件开发 | src-tauri/omniget-plugin-sdk/(独立 SDK,课程、Telegram、转换、Study 等插件均为独立仓库) |
| Chrome/Firefox 浏览器扩展 | browser-extension/chrome/、browser-extension/firefox/,双端由 browser-extension/sync.mjs 同步 |
| 打包与发布 | flatpak/(Linux Flatpak)、scripts/、.github/workflows/ci.yml(CI 与自动发布) |
提交 Pull Request 与社区守则
- 小步提交:一个 PR 解决一个问题,描述里带上复现方式与截图。
- 遵守许可证:OmniGet 采用 GPL-3.0,贡献内容视为同意该协议(见 LICENSE)。
- 尊重底线:OmniGet 只下载用户已登录会话可访问的内容,不绕过 DRM、不破解付费墙——贡献的功能也请遵守这一伦理边界(应用内关于 → 条款与伦理有完整说明)。
- 吉祥物创作:首页的小生物 Loop 的同人创作非常受欢迎,画技好的朋友可以交出自己的作品 🎨
写在最后
参与开源不必从"精通 Rust"开始:一条清晰的 Issue、一句 Discord 里的答疑、一段中文翻译、一个小的前端改动,都是 OmniGet 前进的燃料。选一个最顺手的方式,今天就动手吧 ⚡
项目全貌可阅读 README.md,命令清单速查见 llms.txt。
【免费下载链接】omnigetDownload Udemy and Hotmart courses, YouTube videos, music and books — 1,800+ sites, no terminal. Free open-source desktop app for Windows, macOS and Linux, with a built-in course player, PDF/EPUB reader and music library. Powered by yt-dlp. Your files stay on your computer.项目地址: https://gitcode.com/GitHub_Trending/om/omniget
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考