[{"data":1,"prerenderedAt":284},["ShallowReactive",2],{"content:\u002Ffiddling\u002Fmoontv-vibe-coding":3,"surround:\u002Ffiddling\u002Fmoontv-vibe-coding":114,"github:MoonTechLab\u002FLunaTV":125,"github:zimplexing\u002Foriontv":208},{"id":4,"title":5,"body":6,"categories":89,"date":91,"description":92,"draft":93,"extension":94,"image":95,"meta":96,"navigation":98,"path":99,"permalink":95,"published":95,"readingTime":100,"recommend":95,"references":95,"seo":105,"sitemap":106,"stem":107,"tags":108,"type":112,"__hash__":113},"content\u002Fposts\u002Ffiddling\u002Fmoontv-vibe-coding.md","MoonTV —— 一次 Vibe Coding 尝试",{"type":7,"value":8,"toc":85},"minimark",[9,21,24,27,31,43,46,49,52,55,58,67,70,73,76,79,82],[10,11,12,13,20],"p",{},"大概半年前，就一直在关注一个项目 ",[14,15,19],"a",{"href":16,"rel":17},"https:\u002F\u002Fgithub.com\u002FLibreSpark\u002FLibreTV",[18],"nofollow","LibreTV","，这是一个影视聚合项目，聚合各种采集站的资源做统一搜索和播放。当时想着给 npy 部署一个追剧平台，就关注了一下这个项目，后面还给这个项目贡献了不少代码，包括更换 html5 播放器，对这个项目的运行逻辑也愈发熟稔。后面用着用着，这个项目的弊端也不断展现出来：这是一个纯前端项目，播放记录等信息都存储在浏览器的 localstorage 中，更换浏览器就会丢失；代码都是纯 JS 写就的，经过不同人手，代码也比较混乱，由于没有静态检查，很多代码都不太敢动，也很难进行大改。",[10,22,23],{},"大概过了几个月，同事告诉我 cursor 支持支付宝付款了，精神为之一振。此前一直使用 Trae，模型能力较差不说，高峰期还需要排队，后面又开始收费，免费版问答动辄排队三四百人，几乎到了不可用的状态。于是火速入了一个月 Cursor Pro，准备体验一波，正好拿来重写 LibreTV。",[10,25,26],{},"完全没有任何前端经验的我，开始了 Vibe Coding，大部分代码都是和 Cursor 对话后直接完成。最终，MoonTV 应运而生：",[28,29],"github",{"repo":30},"MoonTechLab\u002FLunaTV",[10,32,33,34],{},"目前只过去了一个月，就已经有了 4.6K Star 和 5.4K Fork（出现不 star 的白嫖党），Star 趋势如下，足以见得国内对于 D 版视频的需求还是很大（全拜爱优腾的各种不做人的操作和那一堵高高的墙所赐）。\n",[14,35,38],{"href":36,"rel":37},"https:\u002F\u002Fwww.star-history.com\u002F#MoonTechLab\u002FLunaTV&Date",[18],[39,40],"img",{"alt":41,"src":42},"Star History Chart","https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=MoonTechLab\u002FLunaTV&type=Date",[10,44,45],{},"项目基于 NextJS 和 React，支持 Vercel、Cloudflare Pages 和 Docker 部署，支持 localstorage、Redis 和 Cloudflare D1 三种存储方式，Redis 和 Cloudflare D1 存储时支持多账户信息隔离和跨浏览器信息同步，以及方便快捷的管理面板，后续还计划支持对接 Upstash。",[10,47,48],{},"这也是我第一次 Vibe Coding 尝试、第一次前端\u002F全栈（全栈这个词似乎只有 node\u002FJS 生态在使用）项目尝试和第一次（比较正经的）开源项目尝试。由于 Cursor 的加持，MoonTV 的大部分开发工作从 Code 变成了 Code Review。有什么需求只需要和 Cursor 聊一聊，就可以完成。当然这个聊一聊也是有一些技巧的。",[10,50,51],{},"本次 Vibe Coding 体验遇到的第一个困难就出现在体验的最开头。由于对前端一窍不通，对很多流行技术栈也只是有“只知其名不知其意”的了解程度。为了追新，我决定使用对 Serverless 友好的 NextJS 和 Tailwind CSS 作为项目的主体框架。于是，新建文件夹，我要求 AI 帮我初始化一个 NextJS 和 Tailwind 项目。然后反复折腾了半个下午，AI 初始化的项目都无法成功运行，基本都是样式丢失，页面看起来像是纯文本堆出来了，百思不得其解之下，最终放弃，在 github 上找了个脚手架项目作为基座，后续开发才得以正常进行。",[10,53,54],{},"正式的开发过程都挺顺利，AI 模型我是基本使用这两个：Claude Sonnet 4.0 和 GPT O3。整体使用下来，这两个模型偏好也很明显：Sonnet 4.0 适合对整体项目做大修改，有时候即使是修一点小问题，AI 也会尝试重构整个项目，更适合用来实现新功能。GPT O3 则更适合对项目做小修小补，它会控制修改在一个很小的范围内，不会无序地去修改整个项目的文件，更适合用来修补一些已有功能的 bug。",[10,56,57],{},"当然也有一些 AI 力所未逮的情况。在实现播放页时，由于状态转移复杂，很多数据之间存在依赖和关联，AI 实现的版本中，数据依赖几乎成了一个网状结构，一旦有一个数据变更，如切换集数或更换播放源，最终传递到播放器的就可能是重复的五六次初始化，导致播放器闪烁。试了很多模型都无法解决这个问题，最终亲自上手，梳理了数据依赖传播路径，才最终解决了重复初始化的问题。",[10,59,60,61,66],{},"另外一些 AI 无法解决的情况就比较小众了，比如 m3u8 的视频大部分播放器不会开启 airplay 或 chromecast 投屏功能，但实际上是可以通过一些小 trick 强制开启的。这个需求直接问 AI，要么直接告诉你不可能，要么就是给出一些错误的解决方案，甚至可能会告诉你 xxx 播放器可以要不我们换 xxx 播放器吧。最终搜遍全网，在 hls.js 的一个角落发现了",[14,62,65],{"href":63,"rel":64},"https:\u002F\u002Fgithub.com\u002Fvideo-dev\u002Fhls.js\u002Fissues\u002F6482#issuecomment-2582666967",[18],"这个 issue","，最终成功开启了 airplay。以 AI 目前的能力只能解决一些比较大众化的问题，过于小众或者甚至人类都无法解决的问题，暂时就不要指望 AI 了。",[10,68,69],{},"更大的困难其实来自于多平台多环境的适配，项目立项时的计划就是支持 vercel、CloudFlare pages 和 docker 部署，nextjs 原生就可以在 Vercel 上运行，只在 vercel 上倒是没有遇到什么困难。项目使用了一个 next-on-pages 依赖将代码翻译为 Cloudflare pages 代码，所以时常会出现一些兼容性问题。而对于 docker 的适配就更加复杂了，docker 下如接口处理只能跑在 node 环境下，但 nextjs 又保留了一个 edge 环境用于中间件处理（如鉴权等），这两个环境的内存也不是共享的，开发时需要严格地区分不同环境的依赖和可使用的 api。除此之外，客户端环境也是很复杂的一个情况，困难点主要来自于 webkit 内核，在 iOS 和 iPadOS 下，所有浏览器都只能使用 webkit 内核，而 webkit 内核的很多接口或 css 样式和 chromium 内核都有很大的差异，需要进行特殊的适配。",[10,71,72],{},"MoonTV 由于脱胎于 LibreTV，项目最初的宣传都是直接在 LibreTV 的交流群中进行的，项目专用的讨论群也是直接使用的 LibreTV 的讨论群。在主动宣传上基本只在 linux.do 论坛上进行，实际上也只是在有一些大更新的时候发一篇 changelog。到项目中后期发现很多科技博主也开始自发宣传起了 MoonTV：X 上关注的一些博主、TG 关注的科技频道，甚至 Youtube 和 Bilibili 以至于小红书上的很多 up 都开始主动教授起了 MoonTV 的搭建方式。",[10,74,75],{},"项目使用的人一多，各种 issue 就纷至沓来。issue 大概能分为如下两类：Bug report，这类 issue 会占大多数，写代码谁能不出点 bug 呢，更何况都是 AI 写的（转移矛盾）；Feature Request：FR 又可以分为两种，合理的需求 Request 是为了项目可以发展的更好，多是一些布局上、交互逻辑上或对接数据上的需求；最不受欢迎的就是商业化功能的 Request，这类人大概只是想着搭建这个项目后拿出去运营收费，但由于项目本身没有商业化功能，自己又没有能力实现，就跑去提 FR。这种人好逸恶劳只想着白嫖，自然是希望越少越好的。曾有个哥们一口气提了好多个类似的 issue，被 ban 了后还跑到 tg 群里继续纠缠，属实是讨厌可恶。还有一类：无效 bug，多是因为没有自己阅读 Readme 导致的部署失败，或者自身网络问题无法搜索，于是在 issue 中大呼小叫，遇到这类 issue，连讨论群群友路过都会吐口唾沫再走。",[10,77,78],{},"当然一个项目名声起来后，围绕这个项目产生的周边项目也会开始出现。MoonTV 就有一个 OrionTV 的客户端实现，专供 Android TV，可以直接使用 MoonTV 作为其后端，同步播放记录。交流群群友们也有各自实现的 Android 版和 iOS 版，当然由于各种限制 iOS 版是无法上架的。",[28,80],{"repo":81},"zimplexing\u002Foriontv",[10,83,84],{},"以上。这篇文章本来计划是 7 月处写完，那时 star 也仅有 2k，但一直拖延，毕竟写文章肯定没有写代码有趣。我这个人的特点就是如此，一旦手头有什么事情，就无时无刻不去想着，无论是吃饭还是睡觉。两三点想到一个 bug 爬起来修都是常有的事情，连续两周每天只睡了六个多小时，也算是夜以继日日以继夜了。",{"title":86,"searchDepth":87,"depth":87,"links":88},"",4,[],[90],"折腾","2025-07-20 23:32:00","MoonTV 是一款全新的影视聚合平台，基于 NextJS 和 React 构建，旨在为用户提供便利的追剧体验。项目起源于对 LibreTV 的改进尝试，经过几个月的开发，已经取得了不小的成功，获得了大量关注和使用。借助 Cursor 的强大能力，开发过程变得高效而顺畅，尽管也遇到了一些技术挑战，如多平台适配和复杂的数据依赖管理。随着用户的不断增加，MoonTV 正在逐步完善，响应用户反馈，力求提升整体体验。",false,"md",null,{"slots":97},{},true,"\u002Ffiddling\u002Fmoontv-vibe-coding",{"text":101,"minutes":102,"time":103,"words":104},"12 min read",11.21,672600,2242,{"title":5,"description":92},{"loc":99},"posts\u002Ffiddling\u002Fmoontv-vibe-coding",[90,109,110,111],"moontv","vibe coding","cursor","tech","3r2eZpCXvcbZlRecXR6YEyOJd3P-rXRpyrsij1VWu8Q",[115,120],{"title":116,"path":117,"stem":118,"date":119,"type":112,"children":-1},"macOS 26 \u002F iPadOS 26 尝鲜","\u002Ffiddling\u002Fmacos-26-trial","posts\u002Ffiddling\u002Fmacos-26-trial","2025-06-10 20:18:00",{"title":121,"path":122,"stem":123,"date":124,"type":112,"children":-1},"微软模拟飞行 2024 折腾记录","\u002Ffiddling\u002Fmsfs2024-joystick-and-pico","posts\u002Ffiddling\u002Fmsfs2024-joystick-and-pico","2025-12-14 14:31:00",{"id":126,"node_id":127,"name":128,"full_name":30,"private":93,"owner":129,"html_url":147,"description":148,"fork":93,"url":149,"forks_url":150,"keys_url":151,"collaborators_url":152,"teams_url":153,"hooks_url":154,"issue_events_url":155,"events_url":156,"assignees_url":157,"branches_url":158,"tags_url":159,"blobs_url":160,"git_tags_url":161,"git_refs_url":162,"trees_url":163,"statuses_url":164,"languages_url":165,"stargazers_url":166,"contributors_url":167,"subscribers_url":168,"subscription_url":169,"commits_url":170,"git_commits_url":171,"comments_url":172,"issue_comment_url":173,"contents_url":174,"compare_url":175,"merges_url":176,"archive_url":177,"downloads_url":178,"issues_url":179,"pulls_url":180,"milestones_url":181,"notifications_url":182,"labels_url":183,"releases_url":184,"deployments_url":185,"created_at":186,"updated_at":187,"pushed_at":188,"git_url":189,"ssh_url":190,"clone_url":191,"svn_url":147,"homepage":86,"size":192,"stargazers_count":193,"watchers_count":193,"language":194,"has_issues":98,"has_projects":93,"has_downloads":93,"has_wiki":93,"has_pages":93,"has_discussions":93,"forks_count":195,"mirror_url":95,"archived":93,"disabled":93,"open_issues_count":196,"license":197,"allow_forking":98,"is_template":93,"web_commit_signoff_required":93,"has_pull_requests":98,"pull_request_creation_policy":202,"topics":203,"visibility":146,"forks":195,"open_issues":196,"watchers":193,"default_branch":204,"temp_clone_token":95,"custom_properties":205,"organization":206,"network_count":195,"subscribers_count":207},1036732253,"R_kgDOPctHXQ","LunaTV",{"login":130,"id":131,"node_id":132,"avatar_url":133,"gravatar_id":86,"url":134,"html_url":135,"followers_url":136,"following_url":137,"gists_url":138,"starred_url":139,"subscriptions_url":140,"organizations_url":141,"repos_url":142,"events_url":143,"received_events_url":144,"type":145,"user_view_type":146,"site_admin":93},"MoonTechLab",226115334,"O_kgDODXo_Bg","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F226115334?v=4","https:\u002F\u002Fapi.github.com\u002Fusers\u002FMoonTechLab","https:\u002F\u002Fgithub.com\u002FMoonTechLab","https:\u002F\u002Fapi.github.com\u002Fusers\u002FMoonTechLab\u002Ffollowers","https:\u002F\u002Fapi.github.com\u002Fusers\u002FMoonTechLab\u002Ffollowing{\u002Fother_user}","https:\u002F\u002Fapi.github.com\u002Fusers\u002FMoonTechLab\u002Fgists{\u002Fgist_id}","https:\u002F\u002Fapi.github.com\u002Fusers\u002FMoonTechLab\u002Fstarred{\u002Fowner}{\u002Frepo}","https:\u002F\u002Fapi.github.com\u002Fusers\u002FMoonTechLab\u002Fsubscriptions","https:\u002F\u002Fapi.github.com\u002Fusers\u002FMoonTechLab\u002Forgs","https:\u002F\u002Fapi.github.com\u002Fusers\u002FMoonTechLab\u002Frepos","https:\u002F\u002Fapi.github.com\u002Fusers\u002FMoonTechLab\u002Fevents{\u002Fprivacy}","https:\u002F\u002Fapi.github.com\u002Fusers\u002FMoonTechLab\u002Freceived_events","Organization","public","https:\u002F\u002Fgithub.com\u002FMoonTechLab\u002FLunaTV","本项目采用 CC BY-NC-SA 协议，禁止任何商业化行为，任何衍生项目必须保留本项目地址并以相同协议开源","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fforks","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fkeys{\u002Fkey_id}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fcollaborators{\u002Fcollaborator}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fteams","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fhooks","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fissues\u002Fevents{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fevents","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fassignees{\u002Fuser}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fbranches{\u002Fbranch}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Ftags","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fgit\u002Fblobs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fgit\u002Ftags{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fgit\u002Frefs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fgit\u002Ftrees{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fstatuses\u002F{sha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Flanguages","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fstargazers","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fcontributors","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fsubscribers","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fsubscription","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fgit\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fissues\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fcontents\u002F{+path}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fcompare\u002F{base}...{head}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fmerges","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002F{archive_format}{\u002Fref}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fdownloads","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fissues{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fpulls{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fmilestones{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fnotifications{?since,all,participating}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Flabels{\u002Fname}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Freleases{\u002Fid}","https:\u002F\u002Fapi.github.com\u002Frepos\u002FMoonTechLab\u002FLunaTV\u002Fdeployments","2025-08-12T13:59:33Z","2026-08-24T05:03:48Z","2026-05-28T06:05:20Z","git:\u002F\u002Fgithub.com\u002FMoonTechLab\u002FLunaTV.git","git@github.com:MoonTechLab\u002FLunaTV.git","https:\u002F\u002Fgithub.com\u002FMoonTechLab\u002FLunaTV.git",19774,9311,"TypeScript",8896,7,{"key":198,"name":199,"spdx_id":200,"url":95,"node_id":201},"other","Other","NOASSERTION","MDc6TGljZW5zZTA=","all",[],"main",{},{"login":130,"id":131,"node_id":132,"avatar_url":133,"gravatar_id":86,"url":134,"html_url":135,"followers_url":136,"following_url":137,"gists_url":138,"starred_url":139,"subscriptions_url":140,"organizations_url":141,"repos_url":142,"events_url":143,"received_events_url":144,"type":145,"user_view_type":146,"site_admin":93},38,{"id":209,"node_id":210,"name":211,"full_name":212,"private":93,"owner":213,"html_url":229,"description":230,"fork":93,"url":231,"forks_url":232,"keys_url":233,"collaborators_url":234,"teams_url":235,"hooks_url":236,"issue_events_url":237,"events_url":238,"assignees_url":239,"branches_url":240,"tags_url":241,"blobs_url":242,"git_tags_url":243,"git_refs_url":244,"trees_url":245,"statuses_url":246,"languages_url":247,"stargazers_url":248,"contributors_url":249,"subscribers_url":250,"subscription_url":251,"commits_url":252,"git_commits_url":253,"comments_url":254,"issue_comment_url":255,"contents_url":256,"compare_url":257,"merges_url":258,"archive_url":259,"downloads_url":260,"issues_url":261,"pulls_url":262,"milestones_url":263,"notifications_url":264,"labels_url":265,"releases_url":266,"deployments_url":267,"created_at":268,"updated_at":269,"pushed_at":270,"git_url":271,"ssh_url":272,"clone_url":273,"svn_url":229,"homepage":274,"size":275,"stargazers_count":276,"watchers_count":276,"language":194,"has_issues":98,"has_projects":98,"has_downloads":93,"has_wiki":93,"has_pages":93,"has_discussions":93,"forks_count":277,"mirror_url":95,"archived":93,"disabled":93,"open_issues_count":278,"license":95,"allow_forking":98,"is_template":93,"web_commit_signoff_required":93,"has_pull_requests":98,"pull_request_creation_policy":202,"topics":279,"visibility":146,"forks":277,"open_issues":278,"watchers":276,"default_branch":280,"temp_clone_token":95,"custom_properties":281,"organization":282,"network_count":277,"subscribers_count":283},1009980734,"R_kgDOPDMVPg","OrionTV","orion-lib\u002FOrionTV",{"login":214,"id":215,"node_id":216,"avatar_url":217,"gravatar_id":86,"url":218,"html_url":219,"followers_url":220,"following_url":221,"gists_url":222,"starred_url":223,"subscriptions_url":224,"organizations_url":225,"repos_url":226,"events_url":227,"received_events_url":228,"type":145,"user_view_type":146,"site_admin":93},"orion-lib",226442601,"O_kgDODX89aQ","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F226442601?v=4","https:\u002F\u002Fapi.github.com\u002Fusers\u002Forion-lib","https:\u002F\u002Fgithub.com\u002Forion-lib","https:\u002F\u002Fapi.github.com\u002Fusers\u002Forion-lib\u002Ffollowers","https:\u002F\u002Fapi.github.com\u002Fusers\u002Forion-lib\u002Ffollowing{\u002Fother_user}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Forion-lib\u002Fgists{\u002Fgist_id}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Forion-lib\u002Fstarred{\u002Fowner}{\u002Frepo}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Forion-lib\u002Fsubscriptions","https:\u002F\u002Fapi.github.com\u002Fusers\u002Forion-lib\u002Forgs","https:\u002F\u002Fapi.github.com\u002Fusers\u002Forion-lib\u002Frepos","https:\u002F\u002Fapi.github.com\u002Fusers\u002Forion-lib\u002Fevents{\u002Fprivacy}","https:\u002F\u002Fapi.github.com\u002Fusers\u002Forion-lib\u002Freceived_events","https:\u002F\u002Fgithub.com\u002Forion-lib\u002FOrionTV","一个基于 React Native TVOS 和 Expo 构建的播放器，旨在提供流畅的视频观看体验。","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fforks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fkeys{\u002Fkey_id}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fcollaborators{\u002Fcollaborator}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fteams","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fhooks","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fissues\u002Fevents{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fevents","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fassignees{\u002Fuser}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fbranches{\u002Fbranch}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Ftags","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fgit\u002Fblobs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fgit\u002Ftags{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fgit\u002Frefs{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fgit\u002Ftrees{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fstatuses\u002F{sha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Flanguages","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fstargazers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fcontributors","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fsubscribers","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fsubscription","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fgit\u002Fcommits{\u002Fsha}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fissues\u002Fcomments{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fcontents\u002F{+path}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fcompare\u002F{base}...{head}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fmerges","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002F{archive_format}{\u002Fref}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fdownloads","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fissues{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fpulls{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fmilestones{\u002Fnumber}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fnotifications{?since,all,participating}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Flabels{\u002Fname}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Freleases{\u002Fid}","https:\u002F\u002Fapi.github.com\u002Frepos\u002Forion-lib\u002FOrionTV\u002Fdeployments","2025-06-28T05:05:24Z","2026-08-24T06:25:05Z","2026-02-05T03:20:57Z","git:\u002F\u002Fgithub.com\u002Forion-lib\u002FOrionTV.git","git@github.com:orion-lib\u002FOrionTV.git","https:\u002F\u002Fgithub.com\u002Forion-lib\u002FOrionTV.git","https:\u002F\u002Fgithub.com\u002Fzimplexing\u002FOrionTV",4927,5492,1872,61,[],"master",{},{"login":214,"id":215,"node_id":216,"avatar_url":217,"gravatar_id":86,"url":218,"html_url":219,"followers_url":220,"following_url":221,"gists_url":222,"starred_url":223,"subscriptions_url":224,"organizations_url":225,"repos_url":226,"events_url":227,"received_events_url":228,"type":145,"user_view_type":146,"site_admin":93},23,1787554443963]