nhannht/ncomphunt

GitHub: nhannht/ncomphunt

一款原生 macOS 竞赛追踪应用,聚合全球及越南的编程、CTF、AI、黑客松和设计赛事,帮助用户集中发现和管理竞赛信息。

Stars: 1 | Forks: 0

![](https://static.pigsec.cn/wp-content/uploads/repos/cas/fe/fe45cf579467a149f241e944c98a6a23158174a035a33b2ae2561657e2c04a9d.png) # nCompHunt 一款原生 macOS 应用,致力于查找并索引在越南及全球范围内举办的各类竞赛——包括竞技编程、AI 挑战赛、CTF、黑客松和设计比赛,并提供排序与分组控制、分类筛选、菜单栏快捷入口,以及针对最新发现的原生通知。 ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/dc/dc435a2c0e8a1bc4f7f968a7b2a9129de2aea4d358f359fcb223608250aab3d5.png) 使用 Swift 6 / SwiftUI 和 SwiftData 持久化构建。无需账号,无遥测,无服务器:该应用直接与以下公开数据源交互,所有数据均保留在您的 Mac 上。 ## 安装 - **Homebrew**(推荐):`brew install --cask nhannht/tap/ncomphunt` - **直接下载**:从 [Releases](https://github.com/nhannht/ncomphunt/releases) 获取最新的已公证 `.dmg` 文件 - **从源码构建**:请参阅下方的 [构建](#build) 首次启动时,macOS 会要求您确认打开从互联网下载的应用——请点击 **打开**。nCompHunt 已使用 Apple Developer ID 签名并经过 Apple 公证,因此您不会看到“来自身份不明的开发者”的警告。 ## 数据源 每个数据源在“设置”中都有独立的启用复选框;失效或未配置的数据源会被跳过,绝不会导致刷新任务中断。前四个数据源无需任何配置即可使用。 - CTFtime API v1 - 全球权威的 CTF 赛事日历 - Devpost - 包含奖金、主题和截止日期的全球黑客松 - ybox.vn - 越南学生及专业人士竞赛 - Contest Watchers - 创意与设计竞赛目录 (RSS) - clist.by API v4 - 涵盖 Codeforces、AtCoder、LeetCode、CodeChef、Kaggle、HackerRank 以及数百个其他平台的聚合器(需要免费的 API key) - Brave Search + Google Programmable Search - 基于固定的双语查询目录进行初步线索发现,为保持在免费 API 配额内每天最多运行一次(两者均需免费 key;无日期的线索在 14 天未见后会自动失效并移除) ## 配置(可选的 API 密钥) 需要密钥的数据源会从 `~/.claude/secrets.yml` 中读取凭证,这是一个包含 UPPER_SNAKE_CASE 格式 key 的扁平 YAML 文件: ``` CLIST_USERNAME: your-clist-username CLIST_API_KEY: your-clist-api-key BRAVE_API_KEY: your-brave-search-api-key GOOGLE_CSE_KEY: your-google-api-key GOOGLE_CSE_CX: your-programmable-search-engine-id ``` 缺失或仅为占位符的值会直接禁用对应的数据源。应用内的密钥管理(基于 Keychain 的设置,无需 YAML 文件)是路线图上的下一个里程碑。 可选的 YouTrack 操作会从 `~/.claude.json` 中的 `mcpServers.youtrack` 读取其 base URL 和 bearer token,并将每项竞赛作为一项 Task issue 提交到 `COMP` 项目中。 ## 操作 右键点击任意行(或使用详情页头部菜单):打开网页、通过系统共享面板进行分享(备忘录、信息、邮件、AirDrop)、复制链接、作为 .ics 导入并添加到日历,以及提交至 YouTrack(如果已配置)。 ## 项目结构 - `Sources/CompHuntKit/` - 核心库:模型、数据源插件、刷新引擎、YouTrack 接收器 (SwiftPM) - `Tests/CompHuntKitTests/` - 基于测试夹具的解析器、分类器和去重测试 - `App/` - SwiftUI 应用(主窗口 + 菜单栏快捷入口),项目通过 XcodeGen 从 `App/project.yml` 生成 ## 构建 - 测试:`swift test` - 应用:`cd App && xcodegen generate && xcodebuild -project CompHunt.xcodeproj -scheme CompHunt build` ## 环境要求 - macOS 15+;从源码构建需要 Xcode 26+ 和 XcodeGen ## 许可证 MIT - 请参阅 [LICENSE](LICENSE)。
标签:macOS应用, Swift, SwiftUI, 信息聚合, 原生应用, 竞赛日历, 赛事追踪