lottery
🎉🌟✨🎈年会抽奖程序,基于 Express + Three.js的 3D 球体抽奖程序,奖品🧧🎁,文字,图片,抽奖规则均可配置,😜抽奖人员信息Excel一键导入😍,抽奖结果Excel导出😎,给你的抽奖活动带来全新酷炫体验🚀🚀🚀
把中国三千年的诗放进一片可漫游的三维星系:每位诗人是一颗星,每首诗都有坐标,星与星之间的虚空是「一切可能的诗」。32,657 位诗人 / 933,857 首。灵感来自刘慈欣《诗云》。
中文 · English
灵感来自刘慈欣《诗云》与博尔赫斯《巴别图书馆》:诗不被储存 —— 给一个编号就能算出第几首诗,反之亦然。
▶ 介绍视频:docs/assets/promo.mp4 · 哔哩哔哩 · 抖音 · 小红书
33,458 位诗人、970,319 首诗,我把中国全历史的诗歌放进了一片三维星系。灵感来自刘慈欣的短篇《诗云》—— 那本书讲述了一个想用穷举写尽所有诗的超级文明,我做的这个也叫「诗云」。
每位诗人是一颗星,每首诗都有自己的空间坐标,可以缩放、漫游整片星空,随手点开一颗星就是一首诗,还能看到诗人之间的关系网络。从《诗经》到近现代,三千年的诗都在这一片宇宙里。李白是很亮的一颗星,但更多的是那些你从没听过名字的人,也各自占着一个坐标。
而星与星之间的虚空,藏着比这更大的东西 —— 它是「一切可能的近体诗」。点一下空处,就从噪声里 unrank 出一首诗,并显示它在「全集目录」里那个长达 82–229 位的编号:地址几乎和诗本身一样长(目录即图书馆)。诗不被储存,给一个编号就能算出它是第几首诗,反之亦然 —— 杰作只是噪声海里的零测度亮点。
🖥 PC 端体验最完整。 移动端可用(触控漫游 + 自适应画质),但飞行、拾取与关系网在大屏鼠标下最舒服。
![]() 随手点开一颗星,就是一首诗 —— 连同它在「全集目录」里那个长长的唯一地址。 |
![]() 赠诗网络 —— 解析诗题与字号别名连出 5,165 条赠答弧线,选中一位即勾出其往来。 |
![]() 探诗 —— 填字成诗实时算出编号,或凭一串编号反查回唯一的那首诗。 |
![]() 每位诗人都是一个小星系 —— 作品越多,星系越大;点定位即可飞到任意一首。 |
| 能力 | 说明 |
|---|---|
| 全朝代 + 新诗 | 先秦 → 当代,15 个朝代同心壳,可按朝代筛选;并收入现代新诗(徐志摩《再别康桥》、海子、北岛、顾城、戴望舒…,自由体归入「其它」)。 |
| 五种诗体 | 五绝 / 七绝 / 五律 / 七律,外加自由格式 / 词(变长断句,换行也由编号决定);格律开关让你只在「合律子目录」里漫游。 |
| 寻诗 · 逐句搜索 | 输入任意一句(不限开头)→ 它在「真实诗人」里属于谁(疑是地上霜 → 李白《静夜思》,非首句也命中),同时给出「纯随机」目录里那个被诗句锁定的半编号。 |
| 探诗 · 编号反查 | 把一个长编号 unrank 回它的诗,核对行索引与全文,告诉你这串数字是否对应一首真实存在的诗 —— 目录 ↔ 诗的闭环,全程显示未截断的完整编号,一键复制。 |
| 赠诗网络 | 解析诗题(寄 / 赠 / 和 / 次韵…)与 ~250 条字号别名(少陵 → 杜甫、子瞻 → 苏轼、香山 → 白居易…)连出 5,165 条赠答弧线,束状汇向银心,沿弧涌动柔光脉冲。 |
| 可分享的永久链接 | #a=<诗人id> / #p=<诗体>.<编号>,诗与诗人面板均有 🔗 分享,打开即从链接重建那首诗、复位那片星空。 |
| 纯静态 | 所有索引运算与渲染都在浏览器里完成,服务器只发静态文件,永不加后端(唯一可选后端是匿名反馈收集)。 |
三种 pull 模式,感受这个项目: 纯随机「牛蝛茙漂綵」→ 格律「趰㵎憣烔岆」→ 格律+常用字「思伦要锁馆」;再加自由格式的词式变行,以及「寻诗」从一句话找回一首真实的诗。
诗云不存诗 —— 它存的是一个双射。每一首近体诗,都对应一个巨大的整数编号;给定编号能精确还原出诗,给定诗也能算回编号(base-N「巴别」进制 + 格律混合基数 rank/unrank,叠加可逆的 BigInt Feistel 置乱做空间散布)。索引引擎是纯 TypeScript、零依赖的,往返可逆,单元测试全绿。
于是「写出所有可能的诗」不是收藏,而是计算:星海里的每一个坐标都是一首诗,绝大多数是噪声,偶尔一颗恰好是李白。真实诗人的真实作品,则是这片噪声海里被点亮的、有名有姓的亮点。
更多细节见 docs/ARCHITECTURE.md(分层架构)、docs/ENGINE_API.md(引擎接口与不变量)、docs/DATA_CONTRACT.md(数据契约)。
npm install npm run dev # 开发预览(Vite) npm test # 引擎往返 + 数据加载等单元测试 npm run build # 类型检查 + 静态构建 → dist/
Node 20+。技术栈:Vite + React 18 + TypeScript + three.js / @react-three(fiber · drei · postprocessing)+ zustand。
仓库自带轻量数据(星系、作者搜索、格律、半编号、赠诗网络都能跑);逐首诗的全文与逐句搜索索引是体量很大的衍生数据(git-ignore),需要时按 docs/PIPELINE.md 从开放语料重新生成。部署到静态主机的完整教程见 docs/DEPLOY.md(注意 poems/*.json 必须以 RAW 提供,HTTP Range 取片依赖它)。
| 文档 | 内容 |
|---|---|
| docs/ARCHITECTURE.md | 分层架构,哪些稳定 / 哪些是可替换的前端原型,数据流。 |
| docs/ENGINE_API.md | 引擎与 engineApi 接口、不变量、最高位约定。 |
| docs/DATA_CONTRACT.md | 静态资源 schema、语料来源、朝代归一化。 |
| docs/DATA_AUDIT.md | 语料选型审计:为什么是现在这套开放语料。 |
| docs/PIPELINE.md | 数据与格律字库是怎么构建的。 |
| docs/FRONTEND_GUIDE.md | 重写前端的契约:4 个稳定接口、交互模型。 |
| docs/DEPLOY.md | 静态部署(nginx + 压缩 + poems/ Range 注意事项)。 |
| docs/DEVLOG.md · docs/devlog/ | 开发日记(迭代编年史)+ 历史会话交接 / 单次变更运维单归档。 |
诗云是一个 vibecoding 作品:由我(Cohen)设计并把关方向,主要的代码骨架与迭代由 Claude 编写处理 —— 仓库里完整保留了这段人机协作的开发日记(docs/DEVLOG.md 与 docs/devlog/)。
它在抖音 / 小红书 / 哔哩哔哩等平台全网累计播放超 1000 万、点赞超 150 万,也是我一系列非商业、源码公开项目中的一个。代码以 PolyForm Noncommercial 1.0.0 许可发布,欢迎学习、自建与非商业二次创作;诗歌语料(尤其现当代新诗文本)的版权属于原作者,请勿用于商业用途。
更多项目见我的主页 cohenjikan.com 与 GitHub @Cohenjikan。
站在这些开源工作之上:
代码以 PolyForm Noncommercial 1.0.0 许可发布 —— 源码公开、仅限非商业使用;商用授权请联系作者(截至提交 0a64a5d 的旧版本仍按 MIT 授权,对那些版本继续有效)。诗云自有的整理性元数据(标注 / 索引)以 CC BY-NC 4.0 提供;诗歌语料各自保留上游许可与权利,尤其现 / 当代诗歌文本的版权归原作者所有,仅作非商业使用。详见 LICENSE 与 docs/DATA_CONTRACT.md。
more like this
🎉🌟✨🎈年会抽奖程序,基于 Express + Three.js的 3D 球体抽奖程序,奖品🧧🎁,文字,图片,抽奖规则均可配置,😜抽奖人员信息Excel一键导入😍,抽奖结果Excel导出😎,给你的抽奖活动带来全新酷炫体验🚀🚀🚀
🎥🤟 8 minimalistic templates for tfjs mediapipe handpose and facemesh
A repository about starting from scratch for monorepo, fastify, Phaser, colyseus, and threejs.
search projects, people, and tags