每天的工作流大概是:push 完代码 → 切走干别的 → 过五分钟想起来的 时候切回浏览器刷一下 Actions 页,确认 CI 绿了没有。
一天重复十几次,烦。
试过 Gitify(Electron,只做通知,失败了你还是得自己开网页找哪红 了)和 ActionBar(付费,仅 mac),都不太是想要的样子,就自己写了 一个—— Glint,今天发 v1.1.0-beta.1,三端全齐,MIT 开源:
https://github.com/xinnix/glint ← 求 Star https://xinnix.github.io/glint/ ← 官网(纯静态,无构建)
[GIF:托盘变红 → 点开面板 → 失败仓库置顶 → 点「复制错误」]
它解决的就是上面那个循环:
- 一眼即知 —— 菜单栏一颗圆点聚合所有仓库的最差状态,绿/红 (带失败数)/橙(运行中)/灰(无 CI),鼠标悬停看明细,点托盘 弹面板
- 失败不开网页 —— 失败仓库置顶,直接下钻到具体的 job ▸ step; 「复制错误」一键拉取日志、截取 ##[error] 前后各十几行上下文进 剪贴板,连 repo@sha 一起带上,直接丢给 AI 或同事
- 状态变化才通知 —— 轮询 + 内存 diff,失败/转绿才弹,macOS 上 点击通知直达面板
- 省限额 —— 登录后 5000 req/h,且全部请求走 ETag 条件查询, 没变化(304)不计数;无 token 公共仓库也能用,自动降速到 4 分钟一轮
- 零配置登录 —— RFC 8628 Device Flow(就是 gh auth login --web 同款),token 只存系统钥匙串,不落盘不进配置文件
- 开机自启 / 检查更新横幅 / 中英双语,全部内置
下载(v1.1.0-beta.1,全平台安装包): macOS: universal DMG(7MB,Apple Silicon + Intel) Linux: deb / AppImage Windows: NSIS 安装器 / MSI,均 < 5MB https://github.com/xinnix/glint/releases/latest
技术栈: Tauri 2 + Rust(ureq 同步 HTTP + std::thread,没引 tokio),前端纯 HTML/JS/CSS 无任何构建步骤,托盘图标是 Rust 按几何参数程序化生成的 RGBA,没有一张静态图标资源。想二开的话 clone 下来 npm i 只装 @tauri-apps/cli 一个依赖。
如实交代目前的状态(免得大家踩坑):
- 所有构建未签名: macOS 首启右键 → 打开;Windows 会过 SmartScreen (Developer ID / Authenticode 等有账号后再补)
- 点击通知唤起面板目前仅 macOS,Win/Linux 上点击只是激活应用
- Linux Wayland 下面板没法贴着托盘定位(系统限制),X11 完整
- Windows/Linux 端刚打包出来,我自己没有真机长期用过,求有 条件的佬帮忙踩坑: https://github.com/xinnix/glint/issues
demo 仓库建了一个 https://github.com/xinnix/glint-demo (push 一 个 FAIL 标记文件就红,删掉就绿),不想拿自己仓库做实验的可以用 它看通知效果。