我做了一个飞书导出Markdown工具,结果被全网打工人免费保活

我做了一个飞书导出Markdown工具,结果被全网打工人免费保活
一、飞书的痛点
飞书写东西确实顺手,但想导出来就麻烦了。官方那个导出功能藏得深,导出来的格式还经常乱,想喂给 Obsidian、Notion、GitHub 用,得手动调半天。
更烦的是别人分享的公开文档。网页端又是限制复制,又不让下载,你想存下来本地看,一点办法没有。难道手抄?
所以我搞了个网页工具,叫悟空飞书导出Markdown工具,输入链接,直接下载 Markdown,文档里的图片自动抓下来,打包成 ZIP。
不用装插件,不用登录,打开网页就能用。
说实话,核心转换代码不是我写的,GitHub 上找了个 MIT 开源项目,我就用 Streamlit 给它套了个界面,扔到云上跑起来。与其让别人
下载代码自己配置,不如直接做成在线工具,开箱即用。当然,我的代码也是开源的。
二、没想到,一直有人打开
把网站扔上云的时候,我其实知道一个坑。

Streamlit Cloud 的政策是:你的应用要是 24 小时内没人访问,马上强制休眠。下一个打开的人得傻等一两分钟,等容器重新拉起来。
白嫖嘛,这待遇正常。
所以我一开始就没抱什么期望。想着这网站大概率大部分时间都在睡觉,有人用算走运,没人用就躺着。
结果跑了一阵子,我打开后台监控看了一眼,愣住了。
没进过休眠。一次都没有。
天天稳定在线,随时打开都是秒开,好像那个 24 小时的政策根本没生效似的。
但我确实没写保活脚本,也没掏钱买保活。一个连登录都没有的小破站,谁一天到晚在踩它?
三、全是真人
后台访客记录一打开,我笑了。

Anonymous Altocumulus(匿名高积云)、Levitating Danish(悬浮丹麦面包)……一串串随机代号,像一群赛博幽灵在服务器里飘来飘去。
这不是我起的名字。Streamlit 为了保护隐私,给没登录的访客每人随机分配一个花名。不登录就看后台,你只能看到这群“匿名面包”和“不明飞行物”在进进出出。
看到这里,有人可能会想:是不是搜索引擎的爬虫在帮你刷访问量?
不可能。
Streamlit 用的是单页应用架构,页面全靠 JavaScript 渲染,通信走的是 WebSocket 长连接。普通的爬虫——比如 Python 的 requests、curl 命令,或者各种低级抓取脚本——进来只能拿到一个空白 HTML 骨架,根本建立不了 WebSocket Session。
在 Streamlit 的后台统计里,没有 Session 就等于没有访问。爬虫连进门的资格都没有,更别说留下名字。
所以后台列表里这群名字奇奇怪怪的“面包”和“云彩”,全特么是活人。
凌晨两三点摸进来的,是还在跟 Bug 死磕的程序员,急着把飞书上的技术方案导出来本地备份。清晨六七点进来的,是爬起来整理知识库的产品经理,把竞品公开文档转成 Markdown 塞进自己的笔记里。
时区错位,加上打工人那份令人心疼的全天候加班潮,导致每隔几小时就必然有一个真实的肉身,点开网站,粘贴链接,下载导出。
他们可能完全不知道 Streamlit 有个 24 小时休眠政策,也不知道自己在做什么“保活操作”。他们只是刚好需要这个工具,用完就走。
但每一次点击,都在把那个倒计时重置回 24 小时。
没有脚本,没有黑科技。就是一群活生生的打工人,用他们的刚需,肉身帮我把服务器踩醒了。
四、意外成了赛博树洞
我这个小网站每天的 DAU 极其稳定,就在 10 个人左右。人太少了,少到我根本提不起劲做什么用户系统。没做数据库,没做登录,没做隔离,能跑就行。
结果搞出了一个我完全没想到的设定。
因为我没清空输入框,下一个人打开网页的时候,输入框里还残留着上一个人粘贴的飞书文档链接。
我有的时候打开,看到框里是一个完全陌生的链接,不知道是谁留下的。点开看,有时是某个大V的公开文档,有时是某个创业团队的公开文档,也可能是谁的公开读书笔记。
在这个冷冰冰的免费服务器上,这一行残留的链接,成了一个意外的信号。没有对话,没有头像,没有任何社交功能,但你看到了它,就知道自己不是唯一一个半夜搞文档的人。
一个小小的功能残留,变成了一个赛博树洞。
偶尔我也能看到,有人把那种带权限的私密文档链接也丢进来了。这种肯定导不出来,我这个工具只能抓公开文档,需要登录才能看的根本拿不到。
但他还是贴上去了。
说明他真的试了一下。可能是病急乱投医,也可能是抱着万一能行的念头。看到这种链接的时候,觉得又好笑又心酸——又一个被飞书导出逼到没办法的人。
五、把软件变成 SaaS,就赢了
其实网上开源的飞书导出工具不少,GitHub一搜就能找到好几个。
但问题在于,绝大部分都得你自己折腾。要么克隆代码、装Python环境、跑命令行,要么下载软件、配置一堆东西。说真的,会去搞这套流程的人本来就不多。大部分人看到“请先安装依赖”这五个字,直接就关网页了。
我做的其实就一件事:跳过所有步骤。
不用下载,不用配置,不用装任何东西。打开网页,贴链接,下载,完事。把软件直接变成了一个SaaS。
核心代码不是我写的,界面也简陋得要命。但它有一个好处——你让一个完全不懂技术的人来用,他也知道怎么操作。
说白了就是:把复杂留给自己,把简单留给用户。
你找到别人每天花十分钟忍受的那个痛苦,然后把它削成十秒钟,你就找到了一个不用推广也能自己活下来的东西。
结尾
回头想想,这个小破站没被 Streamlit 的 24 小时休眠政策打死,不是因为我写了什么保活黑魔法,只是因为一件事——简单好用。
找痛点这种事,说复杂也复杂,说简单也简单。你就去找那个最脏最累、别人每天要花十分钟抱怨的活儿,用最快速度搞个 MVP 扔上线,把体验做到零摩擦。剩下的不用你管。
刚需会替你续命。
打工人会半夜三更用肉身帮你把服务器踩醒。那群 Anonymous Altocumulus 和 Levitating Danish,自己都不知道自己在做好事,但他们需要这个工具的时候,点进来,导出去,你的容器就多活 24 小时。
服务器不会休眠,因为用户的刚需每天都在给它供氧。

感谢各位朋友捧场!要是觉得内容有有点意思,别客气,点赞、在看、转发,直接安排上!
想以后第一时间看着咱的文章,别忘了点个星标⭐,别到时候找不着了。
行了,今儿就到这儿。

论成败,人生豪迈,我们下期再见!
公众号和交流群
欢迎进群交流。
