第 1 章
废土上的寄居蟹
屏幕上的缓冲图标已经转了整整四分钟。那个图标是一个灰白色的圆环,边缘粗糙,在深色背景上徒劳地旋转。它代表的不是等待,而是一种悬置。视频的进度条停在一半的位置,弹幕池的输入框还亮着,但发送键按下去之后,信息就像被丢进了虚空。没有错误提示,没有404页面,只是什么都不发生。
2009年夏天的一个深夜,AcFun的服务器又一次宕掉了。这不是新闻。对于站点的常驻用户来说,服务器崩溃的周期已经从“偶尔”缩短到“频繁”,再到“日常”。但这一次的宕机持续了超过六个小时。
六个小时,足够让一个刚剪完视频的UP主反复刷新页面二十遍,足够让一个正在激烈讨论新番剧情的帖子在服务器重启后彻底消失,足够让一群人意识到:他们赖以聚集的那块数字地面,正在从脚下塌陷。那个反复刷新页面的用户,网络ID是“⑨bishi”。他当时还不知道,几个星期之后,他会在一台租来的服务器上敲下一行行代码,为一个后来被称作“哔哩哔哩”的站点打下第一根桩。
在那个深夜里,他只是一个二次元爱好者,一个视频创作者,一个被宕机挡在门外的数字难民。AcFun在当时是国内二次元群体最主要的聚集地。它模仿了日本视频弹幕网站Niconico动画的模式,允许用户在视频播放时发送实时弹幕,这种形式在当时的中国互联网上几乎没有替代品。弹幕不是装饰,它是社区的血肉。一条弹幕从屏幕右侧飘过,意味着有人在同一个时间点笑出了声,有人在同一个画面感到震动,有人愿意把自己那一刻的反应写下来,让它成为视频内容的一部分。这种共时性的观看体验,在带宽有限、视频网站还在比拼清晰度的年代,是一种稀缺的意义生产方式。
但AcFun的基础设施撑不住这种意义生产。服务器的稳定性问题从建站初期就存在。到了2009年,随着用户量的增长,问题已经从技术故障演化为结构性危机。页面加载失败、视频缓冲中断、弹幕池崩溃,这些已经不是偶发事件,而是日常体验。更致命的是,站点缺乏有效的治理机制。
内容分区混乱,搬运视频与原创作混杂,评论区经常沦为骂战现场。管理员精力有限,规则不明确,处罚靠临时起意。这是一个典型的自发秩序样本:它靠用户的热情维持运转,但热情无法解决服务器账单,无法阻止恶意攻击,无法在凌晨三点还有管理员在线处理纠纷。
那些在AcFun上创作视频、发布弹幕、建立关系的用户,正在成为一群没有栖居之地的流亡者。他们不是被驱逐的,而是被遗弃的——旧世界的结构还在,但它已经不再可靠。你可以在上面发布内容,但你不知道它明天还在不在。你可以参与讨论,但你可能在服务器下次重启时失去所有记录。这种不确定性不是来自外部审查或商业竞争,而是来自系统本身的脆弱。它无法承诺任何东西。
正是在这种处境下,“收容”成了一个迫切的行动。徐逸——也就是“⑨bishi”——在当时是AcFun的资深用户。他上传视频,参与讨论,也混迹于初音未来的爱好者圈子。
初音未来是日本Crypton公司开发的虚拟歌手软件,其形象和音乐作品在二次元群体中拥有极高的影响力。徐逸对这个IP有强烈的个人兴趣,他需要一个稳定的平台来分享和讨论初音未来的相关内容。当AcFun的服务器一次次宕掉,他发现自己的视频无法播放,收藏夹的链接失效,讨论区的帖子消失,这种挫败感累积到了一个临界点。他不是第一个感到不满的用户,但他是少数几个拥有行动能力的人。徐逸自学过编程。在那个年代,搭建一个视频分享站点所需要的技术门槛并不高。开源的内容管理系统、现成的视频播放器组件、廉价的托管服务器,这些基础设施已经足够一个人用最低的成本搭建起一个能用的网站。
真正的门槛不是技术,而是意愿。谁愿意为一个没有商业前景的爱好投入时间和金钱?谁愿意在深夜处理服务器故障而不是睡觉?谁愿意在没有报酬的情况下,为一个几十人的小圈子维护秩序?答案是:一个把这件事当成自己栖居之所的人。2009年6月26日,Mikufans.cn上线。徐逸曾在百度贴吧将之描述为AcFun的“后花园”。
这个名字直接指向初音未来,表明它的初始定位:一个为初音未来爱好者提供交流平台的站点。它没有商业推广,没有Logo设计,没有成文的社区规则。它只是一个框架——一个视频分享系统,一个弹幕播放器,一个最基础的注册登录功能。徐逸用个人资金租了一台托管服务器,把代码部署上去,然后开始往里面搬运内容。
第一批用户来自AcFun。他们不是被广告吸引来的,而是在论坛、QQ群、弹幕里口口相传得知了这个新站点。吸引他们迁移的理由很朴素:这里能稳定播放视频。在AcFun的服务器频繁宕机的对比下,一个能正常缓冲、弹幕不会消失的站点,本身就是一种奢侈。
用户开始涌入,数量不大——最初可能只有几十人,然后上百人——但每一个都是带着明确的期待来的:他们想要一个能安心看番、发弹幕、讨论二次元内容的地方。徐逸在站点上线后的角色,不是一个CEO,不是一个创始人,甚至不是一个传统意义上的“站长”。他更像是一个寄居蟹的壳。
他提供保护,但保护的边界完全由他个人的精力和服务器的物理极限所决定。他在站点上全天候在线巡逻,手动删除引战弹幕,回复用户的问题,修复代码中的bug。没有排班表,没有值班制度,没有应急预案。如果他在线,问题就能被处理;如果他不在,问题就留在那里。
这种治理模式有一个显著的特征:它完全依赖个人直觉。什么弹幕该删,什么用户该封,什么内容该推荐,这些判断没有成文的标准。徐逸依据的是他自己作为一个二次元爱好者的好恶。一条弹幕如果在他看来破坏了氛围,他就删掉。一个用户如果反复引战,他就封禁。这种判断方式高效且纯粹,因为它不需要解释,不需要走流程,不需要考虑商业影响或舆论风险。它是热爱的自发表达:这个社区是我的栖居之所,我要让它保持我喜欢的模样。
但这种模式也内嵌了一个不可回避的矛盾:它无法规模化。当用户量从几十人增长到几百人,从几百人增长到上千人,徐逸一个人已经不可能看完所有的弹幕,不可能处理所有的纠纷,不可能在每一场骂战爆发时都在线。
服务器的压力也在同步增长。视频存储需要空间,带宽需要费用,数据库需要维护。最初那台租来的服务器,在用户量突破一定阈值后开始频繁告警。页面加载变慢,视频缓冲失败,弹幕延迟——这些症状和AcFun的宕机如出一辙,只不过这一次,承担压力的是徐逸自己的站点。
2010年1月24日,Mikufans正式更名为“bilibili”。这个名字的来源是当时热播的日本动画《魔法禁书目录》中,男主角上条当麻对第二女主角御坂美琴的昵称,其含义是电流击穿空气的拟声词。更名本身是一个标志性动作:它意味着这个站点不再只是初音未来的粉丝站,而是一个面向更广泛二次元群体的视频分享平台。
但更名并不能解决结构性问题。用户量继续增长,服务器压力继续加大,治理的边界继续被拉伸。徐逸开始面对一个两难处境。一方面,站点的纯粹性是他最珍视的东西。早期的Mikufans用户构成高度同质化:大家都是AcFun的难民,都是二次元深度爱好者,都默认遵守一套不成文的行为准则。
弹幕池里飘过的是对剧情的讨论、对声优的吐槽、对作画崩坏的调侃,而不是无意义的刷屏或人身攻击。这种氛围不是靠规则维持的,而是靠用户群体的自我筛选。进来的人本来就是这个圈子的成员,他们不需要被教育什么该发什么不该发。
另一方面,站点的增长正在稀释这种纯粹性。新用户不再全部来自AcFun的口口相传,有些人只是通过搜索引擎点进来,发现这里能看番,就注册了账号。他们不知道弹幕礼仪是什么,不知道“刷屏可耻”的共识,不知道这个社区在AcFun废墟上建立起来时那些心照不宣的默契。他们发弹幕,但发的不是讨论,是刷存在感。他们在评论区吵架,吵的不是剧情,是人身攻击。
徐逸的处理方式仍然是个人巡逻。他在深夜一条条删除违规弹幕的记录,后来成为早期用户回忆中的经典画面。那个ID为“⑨bishi”的管理员,在凌晨两三点的弹幕池里出没,像一个人工过滤器,把那些不符合社区氛围的内容逐一清除。
这种行为被早期用户视为一种守护——他不是在行使权力,他是在保护一个属于所有人的栖居之所。但守护的代价是睡眠,是精力,是服务器账单。服务器费用是徐逸个人支付的。在站点没有任何商业收入的情况下,每一笔带宽费用、存储费用、托管费用都从他的个人账户里扣除。金额不大——对于一个只有几千日活用户的站点来说,服务器的成本还控制在个人可承受的范围内——但它在持续增长。
每一个新用户的加入,每一条新视频的上传,都在推高这笔费用。这不是一次性投资,而是一个不断扩大的缺口。徐逸当时的处境,可以用一个简单的等式来描述:他的个人精力等于站点的治理能力,他的个人财力等于站点的基础设施上限。这两个等式一旦失衡,栖居之所就会坍塌。
而失衡是必然的,因为用户量在增长,内容量在增长,复杂度在增长。热爱越纯粹,涌入的人越多;涌入的人越多,纯粹性越难维持;纯粹性越难维持,维护它的个人成本就越高。这是一个没有出口的循环。
这个循环的实质,是“自发热爱”作为唯一基石时的结构性局限。热爱可以驱动一个人熬夜删弹幕,可以驱动一个人自掏腰包付服务器账单,可以驱动一个人在没有任何回报的情况下为一个社区投入全部精力。但热爱无法自动转化为规则,无法自动转化为分工,无法自动转化为可持续的财务模型。它是一种高密度但不可复制的能量。一个人可以靠热爱撑起一个几百人的社区,但当社区规模达到几千人、几万人时,一个人的热爱就不够用了。不是他不够热爱了,而是热爱的产出有物理上限。
这个阶段的哔哩哔哩——当时还叫Mikufans,后来叫bilibili——在本质上是一个“非制度化”的共同体。它有成文规则吗?没有。它有明确的权责划分吗?没有。它有商业计划吗?没有。它有内容审核流程吗?没有。它有的只是一个全天候在线的创始人,一群基于默契自我约束的用户,和一台随时可能因为流量过载而宕机的服务器。这种状态高效且纯粹,但它的脆弱性从第一天起就内嵌在它的建造方式中。
2010年3月至5月间,AcFun爆发了大规模刷爆弹幕事件,大量弹幕中出现了“大陆最好的弹幕站 bilibili.us”的字样,大批会员流向bilibili。这波涌入加速了用户量的增长,也让徐逸的个人治理模式更快地逼近了极限。
早期用户在评论区的自发声讨,是这种非制度化治理的一个典型样本。当一个违规用户出现时——比如有人发引战弹幕,或者在评论区辱骂其他用户——站点的处理机制不是管理员出面执法,而是老用户们一拥而上,在弹幕里、在评论区里集体声讨。这种声讨没有程序正义可言,它依靠的是舆论压力和道德谴责。它在小圈子里有效,因为每个人都认识每个人,被声讨意味着被整个社区排斥。但它无法在陌生人构成的大规模社区里生效。当用户量增长到一定程度,违规者不再在乎一个他不认识的群体的声讨时,这种基于默契的秩序就会瓦解。
徐逸在深夜手动删除弹幕的行为,承载着这个阶段全部的意义密度。意义密度这个词,指的是单位制度空间内可供用户栖居的意义丰富程度。在Mikufans的早期,意义密度极高。每一个用户都带着明确的身份认同——他们是AcFun的难民,是二次元的核心爱好者,是在废墟上重建家园的同路人。
每一条弹幕都带着真实的情感和判断——它不是算法推荐的产物,不是流量运营的结果,而是一个活生生的人在看到某个画面时的即时反应。这种高密度意义是小圈子自发秩序的天然产物。它不需要制度来生产,它只需要制度来保护。但问题恰恰在于,这个阶段没有制度。保护意义密度的,是徐逸的个人巡逻。保护服务器稳定的,是徐逸的个人财力。保护社区氛围的,是用户群体的自我筛选。
这三重保护都是脆弱的。个人巡逻会疲惫,个人财力会耗尽,用户群体的自我筛选会在规模扩张中失效。当这三重保护中的任何一重崩溃,意义密度就会开始流失。而流失一旦开始,就很难逆转。
2010年的bilibili,正处于这个临界点的前夜。用户量在增长,服务器在告警,徐逸的精力在被拉伸到极限。站点还没有发生大规模的社区冲突,还没有出现因为治理缺失而导致的氛围崩坏,但这一切已经在可见的范围内。
每一个深夜,当徐逸删完最后一条违规弹幕,关掉屏幕,服务器的账单还在那里,新用户的注册申请还在那里,明天可能出现的新问题还在那里。
这个栖居之所的脆弱性,不在于它不够好,而在于它无法持续。热爱是它的第一块基石,但热爱无法独自承担一座建筑的重量。它需要结构,需要制度,需要分工,需要资源。
这些东西在2009年夏天的那个深夜里,当徐逸在AcFun宕机页面前反复刷新时,都不在他的考虑范围内。他只是想为自己和同好们搭一个临时的避难所。他做到了。但这个避难所的边界,正在被它自己的成功所挤压。
那个深夜删弹幕的记录没有留下精确的时间戳。服务器账单的具体金额没有公开披露。早期用户在评论区自发声讨的对话片段散落在互联网的角落里,难以完整复原。
但它们的痕迹留在了第一批用户对那个时期的描述中——那些描述反复提到“bishi”全天候在线的身影,提到站点纯粹但脆弱的氛围,提到一种悬在头顶的隐隐不安。这种不安不是来自外部竞争,不是来自版权风险,不是来自监管压力。
它来自一个简单的事实:一个人的壳,装不下一个正在膨胀的共同体。徐逸自己显然意识到了这一点。他并不是一个对社区治理毫无概念的莽撞少年。在AcFun时期,他就目睹过缺乏规则导致的混乱。
他建立Mikufans的初衷之一,就是避免重蹈覆辙。但意识到问题不等于能解决问题。他手上没有多余的资源——没有钱雇人,没有时间建立制度,没有经验设计组织架构。
他只有一台服务器、一套自学的编程技能、和一份不愿意让社区崩塌的执念。这种困境在当时的中国互联网上并不罕见。大量个人站长在类似的处境中挣扎:用爱发电,靠热情维持,最终在流量增长和资源枯竭的双重挤压下关站。
2009年前后,中国的二次元社区正处于一个尴尬的夹缝期。日本的Niconico动画在墙外繁荣,国内的山寨站点层出不穷,但没有一个能同时解决技术稳定性、内容供给和社区治理三个问题。AcFun曾经最接近这个目标,但它的技术债务和管理混乱让它始终差一口气。
其他站点要么缺乏弹幕系统,要么内容贫瘠,要么社区氛围恶劣。Mikufans的出现,填补了一个具体的缺口:一个技术相对稳定、氛围相对纯粹、内容聚焦二次元的弹幕视频站点。它不是一个商业产品,而是一个生存方案。它的用户不是在消费一个平台,而是在占用一个避难所。
这种关系决定了它的基因:用户对站点的情感投入远超普通的产品忠诚度。他们把这里当成家,把徐逸当成守夜人,把弹幕池当成客厅。
但这种基因也埋下了一个隐患:当避难所变成城市,守夜人变成管理者,客厅变成广场,那些最初的情感契约还能否生效?这个问题的答案,在2010年还看不清楚。
但它已经在一些微小的裂缝中显现。比如,有用户在弹幕里抱怨“最近新人多了,弹幕质量下降了”。比如,有老用户在评论区提醒新用户“别刷屏,这里不是AcFun”。比如,徐逸在某次深夜删弹幕时发现,违规的数量比上个月翻了一倍。
这些是信号,不是危机。但它们指向同一个方向:自发秩序正在被规模稀释,而替代方案尚未出现。
如果把这个阶段的bilibili放在更长的时间轴上看,它的状态是一种必然的过渡形态。任何由热爱驱动的共同体,在规模突破一定阈值后,都会面临“制度化”的压力。这不是热爱的失败,而是热爱的自然边界。
一个人可以凭直觉判断一百个人之间的关系,但无法凭直觉管理一千个人之间的冲突。一个社区可以靠默契维持几十个人的秩序,但无法靠默契约束几千个人的行为。当复杂度超过个人心智的处理能力,规则就必须取代直觉,制度就必须取代默契,分工就必须取代全能。
但在2010年的bilibili,这一切都还没有发生。制度炼金术的原料——用户的热爱、社区的认同、内容的创造力——已经堆积在站点上,但炼金的工法还没有被发明。徐逸手上只有原料,没有配方。
他知道社区需要规则,但他不知道规则该怎么写。他知道自己需要帮手,但他不知道帮手从哪里找。他知道服务器需要扩容,但他不知道扩容的钱从哪里来。这种“知道问题但不知道解法”的状态,构成了bilibili原点时期的核心张力。
在2010年上半年的某个时间点,这种感知第一次变成了具体的数字。徐逸收到服务器托管商的账单时,发现当月的费用比上个月涨了将近一倍。不是因为单价提高了,而是因为流量和存储空间的使用量突破了原来的套餐上限。超额部分的计费标准比基础套餐高出不少,这让原本控制在几百元以内的月度支出突然跳到了四位数。
对于一个没有商业收入、完全靠个人积蓄维持的站点来说,这个数字不是一笔开销,而是一个信号。它意味着站点的增长已经超过了个人财力可以轻松覆盖的范围。
徐逸当时的经济状况并不宽裕。他在杭州的生活来源主要依靠自由职业性质的编程接单,收入不稳定,也没有积蓄可以长期补贴一个不断膨胀的服务器账单。他必须在每一次支付时做出判断:这笔钱是继续投进服务器,还是留给自己下个月的房租和饭钱。这种判断没有讨论的余地,没有团队可以分担,没有投资人可以求助。它是一个人面对一个不断扩大的缺口时,那种沉默的权衡。
服务器的物理极限也在同步逼近。早期Mikufans使用的是一台单机托管服务器,配置在今天看来几乎微不足道——有限的CPU核心数、有限的内存、有限的硬盘容量。视频文件的存储和转码对硬件资源的消耗是持续的。
每一个新上传的视频都需要占用存储空间,每一次播放都需要消耗带宽,每一次弹幕的发送和加载都需要数据库的读写操作。当同时在线人数突破一定阈值时,服务器开始出现明显的性能衰减。用户端的表现是视频缓冲变慢、弹幕延迟增加、页面响应时间拉长。
这些症状和AcFun宕机前的征兆如出一辙。对于从AcFun迁徙过来的老用户来说,这是一种令人不安的既视感。他们在QQ群里开始讨论:“Mikufans最近是不是也变卡了?”“bishi是不是没钱加服务器了?”“要不要我们凑点钱?”
这些讨论没有演变成正式的行动,但它们表明用户已经感知到了站点的脆弱性。他们开始担心这个新的栖居之所会重蹈旧世界的覆辙。这种担心本身就是一个压力源——它意味着用户对站点的信任不是理所当然的,而是需要被持续维护的。而维护信任的方式,在这个阶段,只有徐逸一个人来承担。
它不是商业计划书里的SWOT分析,不是创业故事里的英雄叙事,而是一个具体的人在一个具体的夜晚面对一个具体的页面加载失败时,那种无力感的累积。那个深夜删弹幕的人,正在接近他个人能力的极限。他的睡眠在被压缩,他的财力在被消耗,他的精力在被分散到无数个微小的决策上——这条弹幕该不该删,那个用户该不该封,这个bug该不该今晚修,那笔账单该不该明天付。每一个决策都是轻量的,但它们的总和是沉重的。因为它们没有制度来分担,没有流程来消化,没有团队来承接。它们全部压在一个人身上。
而这个人,最初只是想为自己和朋友们搭一个能看初音未来视频的地方。这种起源的偶然性,决定了bilibili后来的发展路径中一个反复出现的母题:每一次结构性的跃迁,都不是源于宏大的战略规划,而是源于一个具体的压力点迫使当事人做出选择。
2009年的压力点是AcFun宕机,迫使徐逸搭建Mikufans。2010年的压力点是用户增长和服务器告警,迫使站点更名扩张。
未来的压力点——版权、商业化、社区治理——都在这个原点时期埋下了伏笔。但伏笔不是预言。在2010年,没有人知道bilibili会走到哪一步。徐逸不知道,早期用户不知道,那些在AcFun废墟上迁徙过来的数字难民们不知道。
他们只知道,今晚的弹幕还能发出去,今晚的视频还能缓冲完成,今晚的“bishi”还在线上巡逻。对于一群刚刚失去过一次家园的人来说,这已经足够了。足够,但不稳定。
那个深夜,当最后一条违规弹幕被删除,当服务器日志显示一切正常,当QQ群里最后一条讨论渐渐沉寂,bilibili的栖居之所暂时保住了它这一天的纯粹。但明天的用户注册量会比今天更多,明天的弹幕池会比今天更嘈杂,明天的服务器负载会比今天更高。而明天深夜坐在屏幕前删弹幕的,还是同一个人。这个循环不会自己停下来。它只会加速,直到某一方——人的精力,或者服务器的物理极限——率先崩溃。崩溃还没有发生。但它已经近到可以被感知。