textlog:一个安静的、纯文本微博客平台

查看原文 HN 讨论

文章摘要

textlog 的自我介绍只有一句话:「一个让你的思绪安静下来的地方。」 它是一个简单的社交文本日志——写短笔记、关注人和话题标签、参与对话,「而不必把每一个念头都变成一场表演」。HN 帖子的完整标题是「Show HN: textlog – A quiet, text-only microblogging platform, open-source, no JS」,作者是 stagas。

产品的核心约束只有一条:笔记限 280 字符。官方对这条约束的解释是:「限制让它们写起来快、读起来也快,一次只给一个念头腾出空间。」

「小是刻意的设计」(Small by design) 是它的第二个原则。textlog 围绕文字构建,只有四种基本元素:笔记、人、话题标签、对话。它刻意保持小巧、直白、易于跟随——写简短聚焦的笔记,关注你在意的人和标签,回复、提及他人、参与对话,发现新的或正在获得关注的内容,随时下载或删除自己的账号数据。没有互动小把戏(engagement tricks),也没有建立受众的压力。 个人资料和笔记都是公开的,加入免费,喜欢的话可以捐赠支持服务运行。

第三部分叫「做个好邻居」:只分享属于你的东西,尊重他人,不得用于骚扰、辱骂、垃圾信息、冒充身份或任何违法用途;危及社区或服务的内容可能被审核或移除。

技术侧的细节主要在 GitHub README 里。textlog 跑在 Bun + SQLite 上,AGPLv3 许可,本地开发只需 bun installbun run dev。它明确设计成可自托管、可自有身份的:在 .env 里设置 APP_NAME 和 APP_URL 就能给自托管实例一个自己的名字和公开来源,这个名字会贯穿页面、feed、邮件、嵌入、API 文档和安装元数据,会话 cookie 和可信内部客户端 IP 头也使用该名字的小写 URL 安全形式。事务邮件支持 Resend、SendGrid 和 Google SMTP。公开实例的运营者联系方式、管理员邮箱、隐私主管机关,以及可选的 IRC、GitHub、移动应用和捐赠链接,都集中在 instance.config.ts 里,把某项设为 null 即可从页面或页脚移除。

一个值得注意的设计是公开归档:生产环境下 textlog 在启动时生成 public/dump.zip,每 UTC 日刷新一次并从 /dump.zip 直接流式提供。这份归档是公开 handle、简介、帖子、回复关系、提及、标签和关注关系的分页只读快照,刻意排除邮箱、密码、会话、已删除或被封的账号与帖子、屏蔽记录、举报、审核记录、记录时间戳、网络标识符及其他私密或认证数据。除此之外还有账号级的数据导出(在 /account/edit 里,可导出账号、笔记、连接和活动为 JSON)和一套公开 API,供人在其上构建东西。

HN 评论精华

这条帖子拿到 208 分、83 条评论。作者 stagas 几乎在每条串下都出现了,态度非常放松,讨论也因此比多数 Show HN 更像一场设计对谈。真正的争论只有一个:280 字符到底合不合理。