[{"data":1,"prerenderedAt":99},["ShallowReactive",2],{"blog:\u002Fblog\u002Fdx-stream":3},{"id":4,"title":5,"body":6,"cover":85,"description":86,"draft":87,"extension":88,"lang":89,"meta":90,"navigation":91,"path":92,"publishedAt":93,"seo":94,"stem":95,"tags":96,"updatedAt":85,"__hash__":98},"blog\u002Fblog\u002Fdx-stream.md","舞萌 DX 比赛直播 GUI 的一个写",{"type":7,"value":8,"toc":77},"minimark",[9,13,30,33,36,46,53,56,59,62,65,68,71],[10,11,12],"h2",{"id":12},"起因",[14,15,16,17,21,22,29],"p",{},"看到本地音游群打算在 5.1 期间举办",[18,19,20],"del",{},"乌蒙","舞萌 DX 比赛，\n又看到了历年比赛简陋的 GUI，\n所以写了这个项目————",[23,24,28],"a",{"href":25,"rel":26},"https:\u002F\u002Fdx.yatori.cc",[27],"nofollow","DX Stream","。",[10,31,32],{"id":32},"经历",[14,34,35],{},"这次第一次尝试全程 vibe coding，原因有两个：",[37,38,39,43],"ol",{},[40,41,42],"li",{},"懒",[40,44,45],{},"想试试 deepseek-v4 的威力",[14,47,48,49,52],{},"初始的设想是有一个控制端，一个观众端，想用 websocket 进行两个端之间的交互。\n使用 Serverless 架构，这样就不用花那个 ",[18,50,51],{},"b"," 钱维护这一套系统了。\n但是发现腾讯云的 Serverless 相关服务，并不是很能满足 websocket 需求，于是便修改了为 HTTP 轮询的方式。\n测试后发现，隔房间脏数据的传入，一些功能的糟糕实现，以及巨大无比的延迟，让我很崩溃。",[14,54,55],{},"最终选择整体迁移至 Cloudflare。（感恩大慈善家）",[14,57,58],{},"Update 6\u002F18: 太久没写导致忘完了。\n但是没关系，我会动用的我的大脑回想。👽",[14,60,61],{},"因为毕竟是舞萌 DX，需要给观看直播的观众提示现在是什么曲子，双方 Rating 多少，准确度又是多少。\n所以会涉及到数据同步，以及调用网易云解析 API 的部分。\n又是因为所有都由 AI 进行决策，所以他选择了使用 Durable Objects 来进行数据存储。\n以 Websocket 来保证后台与用户端数据同步，但是实际使用下来还是有不同房间数据污染的问题。\n毕竟是 AI 写的，我就不做太高要求了。",[14,63,64],{},"结果这个项目在最终实践里显得很无用，\n还是用 obs 的场景解决。",[10,66,67],{"id":67},"总结",[14,69,70],{},"整体体验下来，我对于全程 Vibe 还是持一个👎的想法。\n因为 Deepseek-V4 还是很难用的，花了几十块产出了个这玩意。\n也有可能是我的 Vibe 水平太差，总之都无所谓了。",[14,72,73,74],{},"有了实际体验过后，我就不打算继续这个项目了。\n",[18,75,76],{},"不如 obs 好用。",{"title":78,"searchDepth":79,"depth":79,"links":80},"",3,[81,83,84],{"id":12,"depth":82,"text":12},2,{"id":32,"depth":82,"text":32},{"id":67,"depth":82,"text":67},null,"起因 看到本地音游群打算在 5.1 期间举办乌蒙舞萌 DX 比赛， 又看到了历年比赛简陋的 GUI， 所以写了这个项目————DX Stream。",false,"md","zh-CN",{},true,"\u002Fblog\u002Fdx-stream","2026-04-28",{"title":5,"description":86},"blog\u002Fdx-stream",[97],"Vue","YPZS2NjlKgRFFahfQzWNqux7wZNxzCT9n1sPEtQSVHk",1789620384899]