首页 › weekly › 开源7宝:从CI审计到蓝牙终端

开源7宝:从CI审计到蓝牙终端

概述

这一轮的挖掘思路是「冷热搭配」:一头扎进最近的爆款——GitHub Actions 供应链安全审计工具 zizmor,它踩中了 tj-actions 投毒事件后全行业的焦虑;另一头捞起了几位几乎无人报道的小角色——一个只做 tmux 状态栏的 Go 小工具、一个让 Linux 蓝牙终于能用的 TUI。中间穿插三个「能当生意做」的平台级项目:开源 CRM、SaaS 用量计费引擎、可自托管的 AI 演示文稿生成器。还有一个被严重低估的极客玩具:fq,像写 jq 一样解剖二进制文件。

说明:本文 Star 数均为撰写时的约数(以仓库主页实时数据为准),上手难度以 1-5 星标注。


1. zizmor | GitHub Actions 的「安检仪」

仓库:zizmorcore/zizmor | Star:数千级,增速快 | 持续活跃更新

一句话定位:给 GitHub Actions 工作流做安全审计的静态分析器,专抓「你的 CI 正在裸奔」这类问题。

痛点:2025 年 tj-actions/changed-files 投毒事件让整个行业意识到,绝大多数仓库的 workflow 文件本质上是无人审计的、拥有高权限的、从第三方拉代码的定时炸弹。人工 review YAML 里藏着的 pwn request(pull_request_target + checkout 可控 ref)、模板注入、缓存投毒,几乎不可能靠肉眼完成。

核心拆解:zizmor 用 Rust 编写,发音带个弹舌的 "tz"。它内置一组审计规则,覆盖危险的工作流模式:过度授权的 GITHUB_TOKEN、把用户输入直接插值进 run: 的模板注入、secrets 传递给 fork 的 pull request 等场景。支持两种模式——在线模式拉取仓库元数据做全局审计,离线模式直接扫本地 YAML;输出可以是人类可读的结论,也可以是 SARIF,直接接进 GitHub 的 Code Scanning 界面。作者 William Woodruff 来自安全公司 Trail of Bits 背景,文档站 zizmor.sh 写得相当扎实,规则背后都有对应的攻击原理讲解,读文档本身就是一堂供应链安全课。

上手难度:⭐⭐(一条命令即可跑) 适用人群:所有维护 GitHub Actions 的团队、平台工程、安全合规。二次开发方向:接入企业内部 CI 门禁、把它包装成「workflow 安全体检」的 SaaS 或咨询产品,目前这个赛道几乎空白。


2. Twenty | 开源世界等了十年的 CRM

仓库:twentyhq/twenty | Star:2 万+(约) | 活跃

一句话定位:Notion 风格的现代开源 CRM,对标的不是某个老古董,而是整个「CRM 都很难用」的品类。

痛点:Salesforce 贵且笨重,HubSpot 免费版处处设卡,开源侧常年只有 SuiteCRM 这种界面停留在 2008 年的选择。销售团队真正的需求——快捷键、表格化编辑、能自己动手改的数据模型——没人认真做。

核心拆解:Twenty 用 TypeScript 全栈实现(NestJS + React),数据层是 PostgreSQL + GraphQL,官方提供 Docker 一键自托管。它的产品设计明显吸收了 Notion 和 Linear 的基因:表格视图直接编辑、/ 命令面板、看板和时间线;同时保留了 CRM 的正经能力——公司/联系人/机会的标准数据模型、邮件同步、API 与 Webhook。作为公司运营的项目,开源版与云版的边界划得比较克制,自托管的功能完整性在同类「开源核心」产品里属于第一梯队。

上手难度:⭐⭐(docker compose 即起) 适用人群:中小团队替代付费 CRM; agency 与独立开发者可以基于它的 GraphQL API 做行业定制(律所、中介、供应链跟单),这是目前能看到最多二次开发案例的方向之一。


3. Lago | SaaS 的用量计费引擎

仓库:getlago/lago | Star:约 9k | 活跃

一句话定位:开源的 usage-based billing 系统,让「按量计费」不再是只有 Stripe 能替你做的魔法。

痛点:AI 产品全是 token 计费、API 产品全是调用计费,但 Stripe Billing 的用量方案昂贵且逻辑黑盒;自己写计费又必然在「边缘 case + 对账 + 发票合规」三座大山下崩盘。计费是典型的「做之前觉得简单、做之后睡不好觉」的基础设施。

核心拆解:Lago 由 Ruby on Rails + PostgreSQL 构建,API-first 设计。核心抽象非常清晰:你往它的事件接口持续上报用量事件(比如 {event: "llm_tokens", value: 3500}),它在另一端定义计划( Plans)、附加项、优惠券、最低承诺额,然后把事件流聚合成账单和发票。支持预充值、阶梯定价、按比例分摊这些计费系统里真正难啃的部分。项目背后有独立商业公司运营,提供云托管与企业版,开源版可完整自托管——这是「开源核心 + 商业增值」的标准健康结构。

上手难度:⭐⭐⭐(需要理解计费域模型) 适用人群:正在做按量收费 SaaS 的开发者。变现路径直接:给自己产品接入是省钱,给别的公司做计费迁移与对接是赚钱,海外市场对「Stripe 之外的选择」需求明确。


4. fq | 二进制世界的 jq

仓库:wader/fq | Star:约 10k | 持续维护

一句话定位:用 jq 的语法 inspect 二进制格式——视频、音频、图片、压缩包、抓包文件,统统可以被「查询」。

痛点:想看一个 mp4 的 moov box 长什么样、一张 JPEG 的量化表、一个 pcap 里某层协议头的字段?传统路径是开 hex 编辑器对着协议文档数偏移量,或者装一整套各自为政的 GUI 工具。

核心拆解:fq 用 Go 实现,理念一句话就能讲清:把每种二进制格式解析成一棵带类型的结构树,然后让你用类似 jq 的表达式去查询它。支持 mp3、mp4、jpeg、png、webp、pcap、protobuf、zip 等上百种格式,还带一个交互式 REPL,内置 :doc 命令直接查阅内嵌的格式文档——等于把协议手册装进了终端。它真正的杀手锏是位级的精确:查询结果会告诉你字段从第几个 bit 到第几个 bit,这对做媒体调试、协议逆向、取证分析的人是降维打击。

上手难度:⭐⭐⭐(需要懂一点 jq 和目标格式) 适用人群:音视频工程师、安全研究员、做文件解析库的开发者。它不适合变现,但它是那种「学会一次、受用十年」的工具,也是本期作者私心最想安利的一个。


5. gitmux | 只做一件事的 tmux 状态栏

仓库:arl/gitmux | Star:约 1k | 小而美代表

一句话定位:在 tmux 状态栏里显示当前 git 分支与变更状态的迷你工具,单一职责做到极致。

痛点:tmux 用户想在状态栏看 git 状态,通常要往 .tmux.conf 里塞一段 shell 脚本,性能差、边界 case 多(detached HEAD、 submodule、rebase 中途),而且每次刷新都 fork 一堆进程。

核心拆解:gitmux 是一个 Go 编写的单二进制,输入当前目录,输出 tmux 原生的 format 字符串(也支持 JSON 中间格式方便自定义模板)。配置是一个几行的 YAML,能精确控制显示哪些元素:分支名、ahead/behind 计数、staged/modified/conflict 数量、stash 数。因为是编译型单进程,配合 tmux 的 #() 调用几乎零开销。整个项目小到一次 code review 就能读完,是学习「如何做一个优雅的 Unix 小工具」的范本。

上手难度:⭐(两行配置) 适用人群:tmux 重度用户。不图回报地 star 它就对了——这类工具是开源生态的地基。


6. bluetuith | Linux 蓝牙的体面终于来了

仓库:darkhz/bluetuith | Star:约 1.2k | 小而美代表

一句话定位:基于 D-Bus/BlueZ 的终端蓝牙管理器,让 Linux 上配对耳机这件事不再靠玄学。

痛点:Linux 桌面的蓝牙管理长期是重灾区:GNOME/KDE 的面板功能残缺,bluetoothctl 的交互式 REPL 反人类,配对一个新耳机经常要在命令行里念咒。

核心拆解:bluetuith 用 Go 写成,是一个全键盘驱动的 TUI:扫描设备、配对/取消配对、连接断开、信任管理都在列表里完成。两个亮点让它超出「界面壳」的层次——一是内建 OBEX 文件收发,手机和电脑之间互传文件不再需要装 GUI 套件;二是接入了媒体控制,连上耳机后可以直接在 TUI 里看到播放状态并发送播放/暂停指令。作为单二进制分发,在无头机器和极简窗口管理器环境下尤其好用。

上手难度:⭐⭐(需要系统有 BlueZ) 适用人群:wm 玩家、无桌面环境的服务器/树莓派使用者、喜欢一切皆终端的极客。


7. Presenton | 自托管的「Gamma 开源平替」

仓库:presenton/presenton | Star:数千级,增长快(约) | 活跃

一句话定位:开源、可自托管的 AI 演示文稿生成器,Gamma 的私有化部署替代品。

痛点:Gamma、Beautiful.ai 这类 AI 做站工具订阅费不低,且公司内部资料喂给第三方 SaaS 有合规顾虑;而市面上的开源 PPT 工具(reveal.js 之类)又完全不会「帮你生成」。

核心拆解:Presenton 走的是「产品化 AI 应用」路线:Next.js 前端 + Python(FastAPI) 后端,用 Docker Compose 一键起在本地或自己的 VPS。输入一个主题或一份大纲,它会生成结构化的幻灯片(版式、图表、配图),并且支持导出真正的 PPTX 与 PDF——这意味着产出的文件还能回到 PowerPoint/WPS 里继续人工精修,而不是被锁死在自家格式里。模型层开放接入 OpenAI 兼容接口与 Ollama 本地模型,图片生成同样可插拔。对企业来说,「数据不出内网 + 导出 PPTX」这两个点恰好是采购决策的关键。

上手难度:⭐⭐(docker 起服务,配一个模型 API key) 适用人群:需要大量产出 PPT 的咨询、销售、教育从业者与团队。二次开发方向清晰:接入企业模板库做成「品牌合规的 AI 排版机」,或以私有化部署的形式卖给对数据敏感的中大型客户。


横向对比

仓库 类型 Star(约) 上手难度 适用场景
zizmor CI 安全审计 数千级 ⭐⭐ 团队 CI 门禁、供应链安全
Twenty 开源 CRM 2 万+ ⭐⭐ 销售客户管理、行业定制
Lago 用量计费 9k ⭐⭐⭐ SaaS 按量计费基础设施
fq 二进制解析 10k ⭐⭐⭐ 音视频调试、协议逆向
gitmux 终端小工具 1k ⭐ tmux 状态栏
bluetuith 终端蓝牙 TUI 1.2k ⭐⭐ Linux 蓝牙管理、无桌面环境
Presenton AI 应用(自托管) 数千级 ⭐⭐ AI 生成 PPT、私有化部署

本期定位图

quadrantChart
    title 本期7仓库:上手门槛 vs 商业平台属性
    x-axis "上手门槛低" --> "上手门槛高"
    y-axis "工具属性" --> "商业平台属性"
    quadrant-1 "平台级机会"
    quadrant-2 "即装即用产品"
    quadrant-3 "极客玩具"
    quadrant-4 "专业深水区"
    "gitmux": [0.12, 0.1]
    "bluetuith": [0.32, 0.08]
    "zizmor": [0.45, 0.4]
    "Presenton": [0.38, 0.72]
    "Twenty": [0.55, 0.82]
    "Lago": [0.68, 0.88]
    "fq": [0.62, 0.22]

本期之最

参考来源

  1. zizmor 官方文档站 — 审计规则与攻击原理说明
  2. zizmorcore/zizmor 仓库 — 项目主页与使用方式
  3. getlago/lago — 计费模型与架构(Ruby on Rails + PostgreSQL)
  4. twentyhq/twenty — 技术栈与自托管方式
  5. wader/fq — 支持格式列表与 REPL 用法
  6. arl/gitmux / darkhz/bluetuith / presenton/presenton — 各项目 README

注:本期检索工具受限,Star 数与技术细节基于各项目 README 及公开资料整理,均为约数;建议以仓库主页实时数据为准。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入