<!-- title: AI爬虫围城，开源神兽上岗守门 -->

# 本期主线：当AI爬虫把开放网络逼到墙角

这是挖掘系列的第六轮。这一期没有追单一榜单，而是顺着一条正在发酵的矛盾往下挖：**AI 爬虫不讲武德，小站长被迫自建防御**。顺着这条线，又捞到几件气质相符的周边好货——自己开店的底座、自己管数据的引擎、自己掌握的字体与知识库。七个仓库横跨安全、电商、数据、字体、运维、客服、知识库，没有一个重复往期主题。

> 口径说明：本期制作环境未接入实时榜单数据，文中不标注未经核实的精确 Star 数，一律给量级口径，以各仓库页面实时数据为准。

---

## 1. TecharoHQ/[anubis](https://github.com/TecharoHQ/anubis)｜话题爆款，2025年报道级走红｜维护：持续活跃

**一句话定位：架在网站门口的“验人闸门”，专治不跑 JavaScript 的白嫖爬虫。**

它解决什么痛点：2025 年起，AI 公司的训练爬虫完全不看 robots.txt，把 GitLab、文档站这类开源基础设施爬到降速甚至宕机，小站长毫无还手之力。开发者 Xe Iaso 在被爬到崩溃之后写了 Anubis：名字取自埃及称心之神——给每个请求“称灵魂”。

核心拆解：它是一个 Go 写的反向代理。请求进来先不发内容，而是发一页挑战：浏览器要算出一个让 SHA-1 哈希带前导零的随机数（工作量证明），算完换到 Cookie 才放行。真浏览器跑 JS 毫无压力，纯脚本爬虫要么不会跑 JS 直接吃闭门羹，要么付出实打实的 CPU 税——爬得越狠，亏得越多。难度可调，策略用 YAML 写，还能按 User-Agent 和 CEL 表达式给老设备、无 JS 环境开白名单。

```mermaid
flowchart TD
    A["浏览器请求页面"] --> B{"Anubis闸门"}
    B -->|没有JS的脚本| C["直接吃闭门羹"]
    B -->|真浏览器| D["下发PoW挑战"]
    D --> E["本地哈希计算"]
    E -->|通过验签| F["放行看内容"]
    E -->|算不动| C
```

据当时多家媒体报道，GNOME、FFmpeg 等一批开源基础设施站点相继接入；巨头侧 Cloudflare 也在 2025 年中宣布默认拦截 AI 爬虫并提供“按次付费爬取”机制（见其官方博客）。巨头有议价权，Anubis 就是小站长的同款武器。

- 上手难度：⭐⭐
- 适用人群：有公网 GitLab、文档站、博客的自托管玩家
- 变现思路：给中小企业做反爬接入与容量评估服务，“上闸门”正在变成一种运维外快

## 2. medusajs/[medusa](https://github.com/medusajs/medusa)｜五位数老将（以仓库页为准）｜维护：长期活跃

**一句话定位：开发者自己的 Shopify 底座，Node/TS 技术栈的无头电商平台。**

痛点很直接：SaaS 建站平台按月抽佣、数据锁死、定制要加钱；换成老式 PHP 商城又是一坨历史包袱。Medusa 走第三条路：后端是干净的 TypeScript 模块化架构——购物车、订单、定价、税费、库存各自独立成模块，REST API、管理后台、店铺前端模板一应俱全，插件生态补齐支付、物流、搜索。

2.0 大版本重构之后，它的定制能力是真正卖点：多店铺、B2B 报价单、区域化定价这类在 SaaS 平台上要掏钱的“高级功能”，在这里就是几行你自己写的代码。对独立开发者来说，这是“把生意开在自己服务器上”的完整地基。

- 上手难度：⭐⭐⭐（需要 TS 和 Docker 基础）
- 适用人群：想给客户做电商交付的全栈开发者、想摆脱平台抽佣的卖家
- 变现思路：独立站定制交付、垂直行业模板出售、托管运维订阅——围绕它已经有成熟的自由职业市场

## 3. electric-sql/[electric](https://github.com/electric-sql/electric)｜数千星量级（以仓库页为准）｜维护：持续活跃

**一句话定位：把 Postgres 的一个切片，实时同步到浏览器和手机的数据引擎。**

现代应用的经典两难：前端直连数据库不安全，自建 API 加轮询又慢又费。Electric 的抽象非常干净——你声明一个 Shape（本质上是一条带 WHERE 的 SELECT），它就走 HTTP 把这条数据流增量推到前端，断网了等网络恢复继续推，客户端只需关心数据本身。

更妙的是同门的 [PGlite](https://github.com/electric-sql/pglite)：把整颗 Postgres 编译成 WASM，直接跑进浏览器和 Node。两者组合就是“本地优先”应用的完整方案——本地先写库，回网再同步。协作编辑、实时看板、离线可用的 App，都属于它的主场。

- 上手难度：⭐⭐⭐
- 适用人群：前端与全栈工程师、正在为“多端实时同步”头疼的团队
- 变现思路：做实时协同类 SaaS 的地基，能省掉一大坨自研同步代码；本身也提供托管版证明了这个方向的付费意愿

## 4. lxgw/[LxgwWenKai](https://github.com/lxgw/LxgwWenKai)｜五位数级中文社区名品（以仓库页为准）｜维护：以年为单位持续迭代

**一句话定位：一位个人开发者扛下来的开源中文字体，楷体气质，OFL 协议免费商用。**

中文字体的现状很尴尬：商用授权贵得吓人，产品里嵌个字体都可能收到律师函；真正好看又开源的选择屈指可数。霞鹜文楷基于日本 Fontworks 的 Klee One 补字扩库而来，把它本就不多的汉字一路扩成能日常写作的中文字库，还衍生出字库更大的 GB 版、适合墨水屏的屏幕阅读版、与等宽字体混排的 Mono 版。

从技术博客、电子书阅读器到终端提示符，这个字体已经悄悄铺满了中文开源社区的各个角落。字形的增补以年为单位推进，从未停更——一个人的字形工程，本身就是开源精神的样本。

- 上手难度：⭐（下载安装即用）
- 适用人群：博主、独立开发者、电子书与手帐玩家、需要合规内嵌字体的产品团队
- 变现思路：给硬件厂商做字体适配与字库扩容服务；OFL 协议下衍生字体的设计与排版服务

## 5. pelican-dev/[panel](https://github.com/pelican-dev/panel)｜小体量，四位数星标（以仓库页为准）｜维护：持续活跃

**一句话定位：老牌游戏服务器面板 Pterodactyl 的社区接棒者，全球主机托管生意的开源心脏。**

很多人不知道：Minecraft、CS 这类游戏服务器的托管是一门全球性成熟生意，而这门生意大量跑在开源面板 Pterodactyl 上。问题是该项目常年维护乏力，社区干脆在 2024 年初分叉出 Pelican 接棒：Laravel + Filament 的现代后台，兼容原有的 Wings 守护进程，每个服务器实例跑在独立容器里，支持从 Pterodactyl 一键迁移。

多节点管理、用户权限、资源配额一应俱全，社区生态里还有计费对接等插件。它目前体量还小，但背靠的是一个真实存在的付费市场。

- 上手难度：⭐⭐⭐（一台 VPS + Docker 即可开张）
- 适用人群：想开游戏服务器托管小生意的玩家、学校社团的服务器管理员
- 变现思路：按槽位或按月卖托管是现成商业模式；迁移服务与定制游戏模板（egg）是轻量副业

## 6. chatwoot/[chatwoot](https://github.com/chatwoot/chatwoot)｜五位数老将（以仓库页为准）｜维护：长期活跃

**一句话定位：自托管的客服中台，Intercom 和 Zendesk 的开源平替。**

客服 SaaS 的收费方式是按席位月费，团队一大就是持续放血。Chatwoot 把网站聊天窗、邮箱、WhatsApp、社交平台私信全部汇进一个团队收件箱，快捷回复、会话分配、报表、API 和 webhooks 一样不少，Rails 技术栈 + Docker 部署，中小团队自己就能维护。

对跨境卖家来说它还有一层意义：客户对话数据握在自己手里，不用担心平台一句政策变更就断粮。近年不少团队在它之上二开 AI 质检和自动分流，等于在开源底座上自己长出“智能客服”。

- 上手难度：⭐⭐⭐
- 适用人群：跨境电商、外包客服团队、想给产品补上客服模块的 SaaS 开发者
- 变现思路：部署与话术定制服务、AI 质检插件、面向垂直行业的托管版

## 7. kiwix/[kiwix-desktop](https://github.com/kiwix/kiwix-desktop)｜小体量，四位数星标（以仓库页为准）｜维护：长期项目，全平台多仓库

**一句话定位：把整个维基百科装进口袋的离线阅读器，开放知识的最后一公里。**

Kiwix 把维基百科等站点打包成 ZIM 格式的离线包：带图的全量维基是上百 GB 量级的大家伙，也有语言学习、医学急救这类精选瘦包。树莓派跑一个 kiwix-serve 开热点，一屋子没有外网的设备就能共享一座图书馆。据其官网与媒体介绍，它的用户覆盖监狱、离网学校、网络受限地区——互联网并不总是理所当然，这类项目就是兜底方案。

桌面端主仓库体量不大，但背后是一个横跨桌面、手机、浏览器插件的服务器项目群，维护已超过十年。本期最安静、也最值得尊敬的仓库。

- 上手难度：⭐（普通用户装 App 即用）/ ⭐⭐⭐（自建离线热点）
- 适用人群：出行者、教育公益从业者、数据自主权爱好者
- 变现思路：教育项目的离线内容定制分发、图书馆与学校的一体化部署服务

---

## 本期横向对比

| 仓库 | 类型 | 量级（以仓库页为准） | 上手难度 | 适用场景 |
|------|------|------|------|------|
| TecharoHQ/anubis | 安全/反爬 | 话题爆款 | ⭐⭐ | 公网站点防AI爬虫 |
| medusajs/medusa | 电商平台 | 五位数老将 | ⭐⭐⭐ | 自有生意的电商底座 |
| electric-sql/electric | 数据同步 | 数千星级 | ⭐⭐⭐ | 多端实时与离线优先应用 |
| lxgw/LxgwWenKai | 开源字体 | 五位数级名品 | ⭐ | 写作、阅读、产品内嵌 |
| pelican-dev/panel | 运维面板 | 四位数小体量 | ⭐⭐⭐ | 游戏服务器托管生意 |
| chatwoot/chatwoot | 客服中台 | 五位数老将 | ⭐⭐⭐ | 团队客服自助化 |
| kiwix/kiwix-desktop | 离线知识库 | 四位数小体量 | ⭐ | 离线环境的知识兜底 |

## 本期全景

```mermaid
mindmap
  root((本期七件开源货))
    挡AI爬虫
      Anubis
      给请求称灵魂的闸门
    自己做生意
      Medusa
      无头商城底座
      Chatwoot
      自托管客服台
    数据自主权
      ElectricSQL
      Postgres到前端
      Kiwix
      口袋里的维基
    文化与运维
      霞鹜文楷
      个人扛下的中文字库
      Pelican
      游戏主机商的面板
```

## 本期之最

- **最值得立即尝试：Anubis。** 只要你有任何一台暴露公网的站点，它半小时就能上岗。AI 爬虫的流量压力只会越来越大，这道闸门几乎是 2026 年小站长的默认配置。
- **最有商业潜力：Medusa。** 电商永远是验证“技术变现”最短的路，模块化架构让二开交付有了真正的护城河，配套的托管与模板市场都在长出来。
- **最被低估：Kiwix。** 没有爆款叙事，没有融资消息，但它回答了一个根本问题：如果有一天网络不在了，知识还在不在？答案可以是“在你口袋里”。

## 参考来源

1. [TecharoHQ/anubis](https://github.com/TecharoHQ/anubis) — Anubis 仓库，含 PoW 机制与部署文档
2. [Xe Iaso 博客](https://xeiaso.net/blog) — 2025年3月发布 Anubis 的原文出处，AI 爬虫困扰与设计动机的一手叙述
3. [medusajs/medusa](https://github.com/medusajs/medusa) — Medusa 仓库与模块化架构文档
4. [electric-sql/electric](https://github.com/electric-sql/electric) — Electric 同步引擎仓库，含 PGlite 项目链接
5. [lxgw/LxgwWenKai](https://github.com/lxgw/LxgwWenKai) — 霞鹜文楷仓库，含 GB 版与衍生版本说明
6. [Cloudflare Blog](https://blog.cloudflare.com) — 2025 年中关于默认拦截 AI 爬虫与按次付费机制的公告

> [!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学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
