yarn.social v0.16.0 介绍与选型指南
Yarn.social(yarnd,Go 单二进制 + Bitcask 内嵌存储的 twtxt 去中心化微博客 Pod 服务器)v0.16.0 产品全景:twtxt 纯文本协议与 Pod 模型、生态组件(yarnd/yarnc/twtxt.app/twtd/bridge)、与 Akkoma/Misskey/Socialhome/Hubzilla 的量化选型对比、适用与不适用场景、版本溯源快照(查询日期 2026-11-02)。
yarn.social v0.16.0 介绍与选型指南
1. 一句话定位
yarn.social 是一套基于 twtxt 纯文本格式的去中心化自托管微博客(microblogging)生态,服务器端组件 yarnd 用 Go 编写、单二进制、内嵌 Bitcask 键值存储,无需 PostgreSQL/Redis 等任何外部依赖,官方明确宣称"甚至可以在树莓派上跑一个 Pod"。它不是 npm 生态里那个前端包管理器 Yarn,两者毫无关系;也不是链接聚合器(Reddit 型),而是"你的微博客就是一条纯文本时间线文件,别人通过 HTTP 拉取你的文件来关注你"的极客式社交协议实现。
溯源说明:本章及全文事实均来自公开网络资料检索,查询日期 2026-11-02,来源清单见文末"资料来源"。
2. 它解决什么问题
传统社交平台(Facebook/X/TikTok 等)的商业模式建立在收集用户数据、投放定向广告之上。yarn.social 官方为整个生态立了四条硬规则(来源:yarn.social/about.html,查询日期 2026-11-02):
- 不收集、不存储任何个人身份信息(no PII);
- 不做任何用户行为、数据或元数据追踪(no analytics);
- 不投放任何广告(no advertising);
- 数据归用户所有:随时可删除、可带走。
"可带走"在技术上由 twtxt 格式保证:每个用户的内容本质上是一个人类可读的纯文本文件(每行一条 ISO8601时间戳<TAB>正文),可以托管在任何 Web 服务器上;yarnd 只是把这个文件"升格"为一个多人 Pod(自托管微博客站点),并补上时间线聚合、关注、线程、提及、媒体等扩展能力。
3. 项目沿革与生态全景
来源:yarn.social 官网与 about 页、pkg.go.dev 仓库索引页(查询日期 2026-11-02)。
- 2020-07:Facebook 前工程师 James Mills(网名 prologic)基于 twtxt 规范开始构建 Web 应用,首个 Pod twtxt.net 于 2020-07-20 上线,yarn.social 项目约诞生于同期。
- 2022-04-17:yarn 进入 Vultr App Marketplace,可一键部署。
- 2026-07-12:yarnd v0.16.0 "Silver Sojourner" 发布——官网新闻流原文为 "the first full release in nearly 4 years!"(近四年来首个完整版本发布),说明此前多年处于小步迭代状态,0.16.0 是当前最新稳定版。
生态由多个组件构成(均托管在自建 Git 服务 git.mills.io/yarnsocial/ 下,GitHub 无主仓库镜像):
| 组件 | 形态 | 作用 |
|---|---|---|
| yarnd | Go 服务器(本文主角) | 多用户 Pod 服务器,驱动 twtxt.net 及大量独立 Pod |
| yarnc | Go 命令行客户端 | 基于 Pod API 的终端客户端(login/timeline/post/stats) |
| twtxt.app | 离线优先 Web 客户端 | 无需账号即可开始阅读,可申领 feed |
| twtd | Go 迷你个人 feed 服务器 | 只想"拥有一角互联网"的极简场景 |
| bridge | ActivityPub ↔ twtxt 网关 | 让 Mastodon 等 Fediverse 用户与 twtxt 互通 |
| search.twtxt.net / feeds.twtxt.net | 支撑服务 | 全网搜索;RSS/Atom/Twitter → twtxt 聚合 |
4. 技术架构特征
来源:pkg.go.dev git.mills.io/yarnsocial/yarn README(模块最后发布 2026-08-12,commit 0a6892f)、yarn.social 官网(查询日期 2026-11-02)。
- 语言与分发:Go 实现;官方提供预编译二进制(AMD64/ARM64)、Docker 镜像
prologic/yarnd(AMD64/ARM64)、Homebrew tap(brew tap yarnsocial/yarn)与源码构建(make server/make cli)四条路径。 - 存储:内嵌 Bitcask 键值存储(
-s bitcask://yarn.db),同为 James Mills 维护的嵌入式 KV,无外部数据库;feed 本体以纯文本文件形式存于数据目录feeds/下,用户数据天然可迁移。 - 拉取模型:与 ActivityPub 的"推送"不同,yarn.social 是 pull 模型——Pod 按 cron 周期(默认
@every 5m)去抓取所关注 feed 的文本文件;断网/宕机不丢内容,文件仍在。 - Web 界面:yarnd 自带 HTMX 驱动的 Web UI(时间线/提及/搜索/注册/管理),监听
:8000;同时暴露/metricsPrometheus 指标端点与/api/v1REST API。 - 反滥用:注册页内置 **PoW(工作量证明)**挑战(
pow_challenge/pow_difficulty等隐藏字段),配合邀请制(-I)/开放注册(-R)/开放主页(-O)三档策略。 - 许可:AGPL-3.0(pkg.go.dev 索引页与 README License 章节一致确认)。
- 热度指标:主仓库托管于自建 git.mills.io,无公开 star 计数;GitHub 上仅有组织资料页
Yarn-social/.github(1 star)与第三方 App 克隆仓库,无法以 star 数横向对比,选型时建议以"驱动旗舰 Pod twtxt.net 多年、Vultr 市场上架、2026 年恢复发版节奏"作为活跃度证据(查询日期 2026-11-02)。
5. 量化选型对比
对比维度取自各组件官方文档与本平台已交付的同类部署文档(查询日期 2026-11-02)。微博客/社交类自托管选型时,最重的成本往往不在应用本身,而在依赖链:
| 维度 | yarn.social (yarnd) v0.16.0 | Akkoma 3.20.1 | Misskey 2026.10 | Socialhome 0.24 | Hubzilla 11.4 |
|---|---|---|---|---|---|
| 语言/运行时 | Go 单二进制 | Elixir/OTP | Node.js/TS | Python/Django | PHP |
| 必需外部依赖 | 无(内嵌 Bitcask) | PostgreSQL + Redis | PostgreSQL + Redis | SQLite(可 PG) | MySQL/MariaDB |
| 协议模型 | twtxt 拉取 + 扩展规范 | ActivityPub 推送 | ActivityPub 推送 | ActivityPub | ActivityPub + Zot |
| 内容可携带性 | 纯文本文件即 feed | DB 导出 JSON | DB 导出 | DB 导出 | DB 导出 |
| 功能形态 | 微博客(长帖 1024B 上限可配) | 微博客全功能 | 微博客+富媒体+Drive | 聚合微博客 | 社交+网盘+博客全家桶 |
| 与 Fediverse 互通 | 需 bridge 网关 | 原生 | 原生 | 原生 | 原生 |
| 低配硬件友好度 | 极高(官方明示树莓派) | 中(BEAM+PG 吃内存) | 低(Node+PG+Redis) | 高 | 中 |
参考站内同类组件的深度文档:
- 《Akkoma 3.20.1 介绍与选型指南》
- 《Misskey 2026.10.1 介绍与选型指南》
- 《Socialhome 0.24.0 介绍与选型指南》
- 《Hubzilla 11.4.2 介绍与选型指南》
- 《Friendica 2026.05 介绍与选型指南》
6. 适用与不适用场景
适合:
- 想要"自己的微博客,数据就是一个文本文件"的极客/隐私优先用户;
- 资源受限的小主机(1 核 512MB 级 VPS、树莓派)、不想养 PostgreSQL/Redis 依赖链的运维;
- 已自建 Mastodon 生态、想给纯文本党补一块拼图的社区;
- 个人/小团队公告板——pull 模型 + PoW 注册防护,天然低运维。
不适合:
- 需要原生 ActivityPub 联邦、与 Mastodon 用户无缝互动的场景(yarnd 本体不是 AP 节点,必须额外部署 bridge 网关);
- 需要长文博客/论坛/网盘等重形态(那是 Hubzilla/Friendica 的地盘);
- 期待大厂级 UI 与移动端体验(官方 Flutter App Goryon 已退役,移动端由 twtxt.app 以 PWA 形态承接);
- 对发版频率敏感的企业采购(0.16.0 距上一完整版间隔近 4 年,社区规模小)。
7. 上手路径速览
- 先体验官方 Demo Pod:
https://demo.yarn.social/(刻意收紧权限防滥用); - 阅读 《yarn.social v0.16.0 Docker Compose 部署指南》——从零拉起一个 Pod 并完成初始化向导;
- 按 《yarn.social v0.16.0 配置参数详解》 调整注册策略、密钥与抓取节奏;
- 用 《yarn.social v0.16.0 常用 CLI 命令详解》 掌握 yarnd 命令行、yarnc 客户端与数据维护操作。
8. 版本与查询快照
| 项目 | 值 | 来源 |
|---|---|---|
| 最新稳定版 | yarnd v0.16.0 "Silver Sojourner"(2026-07-12) | yarn.social 官网新闻流 |
| 构建版本串 | yarnd 0.16.0@1e81cc4e 2026-07-13T14:54:06+10:00 go1.26.5 | 官方镜像内二进制自报 |
| 主仓库 | git.mills.io/yarnsocial/yarn(自建 Gitea 系) | 官网 README 链接 |
| 官方镜像 | Docker Hub prologic/yarnd(AMD64/ARM64) | README Deploy With Docker 章节 |
| 许可证 | AGPL-3.0 | pkg.go.dev / README |
| 查询日期 | 2026-11-02 | — |
资料来源
- Yarn.social 官网首页与新闻流:https://yarn.social/ (查询日期 2026-11-02)
- About Yarn.social(历史/规则/哲学/生态组件清单):https://yarn.social/about.html (查询日期 2026-11-02)
- yarn 模块 README(安装/部署/配置/许可):https://pkg.go.dev/git.mills.io/yarnsocial/yarn (查询日期 2026-11-02)
- Demo Pod:https://demo.yarn.social/ ;旗舰 Pod:https://twtxt.net/ (查询日期 2026-11-02)
- twtxt 规范与扩展:https://twtxt.dev/ 、https://dev.twtxt.net/ (查询日期 2026-11-02)
- Vultr Marketplace 上架公告(2022-04-17,见官网 Run-a-Pod 章节)
- 对比组件版本与依赖信息:各组件官方文档及本平台站内已交付文档(见第 5 节链接,查询日期 2026-11-02)