首页 网络热文 不是,哥们,你们写代码就为了干这个?
文章内容

不是,哥们,你们写代码就为了干这个?

2026年10月05日 16:42 网络热文 5 阅读

平时逛 GitHub,有时候会发现一些好玩猎奇的项目,现在开始不定期更新一个新栏目「GitHub 怪东西研究所」,专门分享一下好玩猎奇的项目,这里的“怪”不是只有一个夸张标题,而是想法听起来离谱,代码、文档和演示却都真实存在,话不多说我们开始吧!!

总有这么一群人一本正经地做些“不太正常”的东西:有人想在家接收卫星数据,有人让程序自己生成无穷无尽的世界,还有人干脆从内核开始造了一套带着 90 年代味道的操作系统。

1. SatDump:在家里接收卫星传回来的数据

SatDump GitHub OG 图片

如果有一颗卫星正从头顶飞过,我们能不能不等别人发布结果,自己接收并处理它传回来的数据?

SatDump 就是在认真解决这件事。它是一套通用卫星数据处理软件,可以读取已经录制好的基带、帧等原始数据,也可以连接 SDR 软件定义无线电设备,实时接收和处理卫星信号。用户选好对应卫星和数据格式的处理管线后,软件会完成解调、解码以及后续产品生成。

它最有反差感的地方,是把原本属于专业地面站的部分工作,搬到了个人电脑甚至 Android 设备上。项目提供图形界面和命令行版本,Windows 有安装包和便携版,macOS 也有现成构建;如果只是学习流程,可以先使用别人录制好的数据,不一定马上购买硬件。

适合谁: 无线电爱好者、卫星和气象爱好者、数字信号处理学习者,以及喜欢树莓派和硬件折腾的人。

上手难度: 较高。安装软件并不算难,真正困难的是理解频率、采样率、天线、SDR 和不同卫星的数据管线。想实时接收卫星数据,还需要合适的 SDR 设备、天线以及可接收条件。

需要注意: SatDump 是数据处理工具,不是“装完就能看到所有卫星”的魔法软件。能否成功接收,取决于卫星类型、过境时间、频率、天线、地理位置和无线电环境;使用无线电设备时也应遵守当地法规。

2. Infinigen:让程序自己生成一个几乎没有尽头的世界

Infinigen GitHub OG 图片

做一个 3D 世界,通常要准备地形、树木、石头、房间、家具、材质和灯光。如果这些东西都不靠人工一点点摆,而是由规则自动生成,会发生什么?

Infinigen 是普林斯顿视觉实验室推出的程序化世界生成系统。它能生成自然环境、室内空间以及可用于仿真的活动物体,并且不只是输出一张好看的图片,还能生成深度、法线、分割等计算机视觉研究需要的“标准答案”。

它和普通文生图工具不太一样。Infinigen 的核心不是让模型猜一张图,而是通过程序规则真正搭出三维场景,再交给 Blender 渲染。因此,同一套系统可以不断换随机种子,生成森林、荒漠、山地、房间和各种物体组合。

适合谁: 计算机视觉、机器人仿真、合成数据研究者,Blender 技术美术,以及对程序化生成感兴趣的开发者。

上手难度: 高。需要 Python、命令行和一定的 Blender 基础,对内存和渲染性能也有要求。官方示例曾给出在 M1 Mac 或 Linux 电脑上使用约 16GB 内存生成简单场景的说明,但复杂场景的时间和资源消耗会明显增加。

需要注意: 它不是面向普通用户的一键 3D 壁纸生成器。真正运行前要认真阅读安装和配置文档,生成速度、资源占用和可复现性也会受到平台及配置影响。

3. AI Town:造一座让 AI 角色自己生活和聊天的小镇

AI Town GitHub OG 图片

如果把一群 AI 角色放进同一张地图,不一直给它们下命令,只让它们自己走动、记忆、聊天和社交,它们会不会慢慢形成一个小社会?

AI Town 把这个问题做成了一套可以部署和修改的开源项目。画面看起来像一款像素风小游戏,但地图里的角色可以根据自己的设定行动,与其他角色交谈,并保留部分记忆。你还可以修改人物背景、世界设定、地图和交互规则,搭出自己的虚拟小镇。

项目支持连接 Ollama、本地模型以及兼容 OpenAI API 的服务,也提供 Convex、Docker、自托管和 Fly.io 等运行方式。它不仅是一个展示页面,更像是一个数字社会实验的起点:有人可以拿它研究 Agent,有人可以把它改成互动故事,也有人会用它做多人在线原型。

适合谁: AI Agent 开发者、独立游戏作者、互动叙事创作者,以及对“数字生命”和社会模拟感兴趣的人。

上手难度: 中高。看在线演示很简单,部署自己的小镇则需要 Node.js、模型配置和后端服务知识。使用云端模型还会产生 API 费用,本地运行则取决于电脑性能。

需要注意: AI 角色表现会受到模型、提示词、记忆设置和运行成本影响。它更适合实验和二次开发,还不是一款安装后就能稳定长期运行的完整游戏。

4. SerenityOS:从内核开始,亲手造一套 90 年代风格的操作系统

SerenityOS GitHub OG 图片

很多复古桌面只是给现代系统换了个主题,SerenityOS 选择了一条更麻烦的路:自己写内核、系统服务、图形界面、网络栈、浏览器、开发工具和应用程序。

它是一套从头构建的图形化 Unix-like 操作系统,界面向 90 年代桌面软件致敬。里面有终端、文本编辑器、电子表格、像素画工具、邮件、计算器、媒体播放器和小游戏,甚至还有自己的浏览器与 JavaScript、PDF、音频、图形等基础库。

最让人佩服的不是它“长得像老电脑”,而是这个仓库真的包含了一套操作系统从底层到桌面的完整工程。你可以在 Linux、macOS 或 Windows 的 WSL2 环境中交叉编译,然后通过 QEMU 虚拟机启动。

适合谁: 操作系统学习者、C++ 开发者、复古计算爱好者,以及想理解浏览器、内核和桌面系统如何组成的人。

上手难度: 高。完整构建需要较新的编译器、CMake、Ninja、QEMU 和交叉编译工具链,第一次编译也要下载和构建不少依赖。

需要注意: SerenityOS 的定位更接近大型学习与兴趣工程,不建议把它当作主力办公系统。最适合的体验方式是在虚拟机里参观,或者沿着文档研究某个自己感兴趣的模块。

5. Deskreen:把吃灰的平板和旧手机变成电脑副屏

Deskreen GitHub OG 图片

家里可能没有第二台显示器,但大概率躺着一台旧平板、旧手机,甚至是一台还能打开浏览器的旧笔记本。Deskreen 的想法很直接:既然它们都有屏幕,为什么不能临时拿来当电脑副屏?

Deskreen 是一个基于 WebRTC 的桌面应用。电脑端运行 Deskreen 后,同一网络里的其他设备只要打开浏览器,就能显示电脑屏幕或指定应用窗口。手机可以用来看监控信息,平板可以放参考资料、聊天窗口或者提词内容,另一台电脑也能临时变成显示终端。

这个项目最“怪但有用”的地方,是接收端不需要安装专用 App,有浏览器就能工作。电脑端支持 Windows、macOS 和 Linux,社区版目前仍在发布更新。

适合谁: 经常移动办公的人、手里有旧平板的用户、需要临时副屏的自媒体作者,以及想把单独窗口投到另一台设备上的人。

上手难度: 低到中。下载安装、连接同一局域网并扫码访问并不复杂;如果只是镜像屏幕或共享窗口,基本可以直接尝试。

需要注意: “显示已有画面”和“真正扩展出一个新的桌面”不是一回事。部分系统要实现完整扩展屏效果,可能还需要虚拟显示器方案或 HDMI 显示欺骗器。开源社区版功能也有限,项目同时提供功能更多的商业版本。

写在最后

这五个项目放在一起,很能说明 GitHub 好玩的地方。

有人盯着天空,把卫星信号变成自己能处理的数据;有人用代码种树、铺路、摆家具,生成一个又一个不存在的世界;有人观察 AI 角色会怎样相处;也有人花很多年,从内核开始复刻自己记忆里的电脑。最后,还有人看着角落里吃灰的平板,决定把它重新变成一块屏幕。

它们未必都适合你安装,但每一个都在认真回答一个有点奇怪的问题。

下一期「GitHub 怪东西研究所」,你更想看数字生命、复古计算,还是现实世界里的黑科技?

记得点赞、关注、转发~~