← 文章 / AI技术
Hacker News 2小时前 · 2026-08-19 20:50:23 · 1 阅读

macOS 桌面上的 3D 果蝇:由 FlyWire 真实连接组驱动

一只 3D 果蝇住在你的 macOS 桌面上——由真实的 FlyWire 连接组实时脉冲仿真驱动。它会爬过你的窗口、梳理身体、睡觉,并根据真实果蝇使用的神经元来决定是否逃离你的光标。

实时脑窗口:23,210 个真实神经元位置,脉冲闪烁

果蝇的脑窗口:来自 FlyWire v783 的 23,210 个真实神经元胞体位置,真实神经元位置上脉冲实时闪烁。两个发光的黄色标记是 Giant Fiber——逃逸指令神经元。点击任意区域即可对其进行刺激。

真实的部分

  • 23,210 个神经元胞体位置(FlyWire v783 共 139,255 个)渲染出旋转的脑窗口,按 super-class(FlyWire 的粗粒度细胞类型分组)着色。
  • 一个包含约 19,000 个真实突触连接的 668 神经元回路(突触计数,按神经递质预测标记符号)以 1 kHz 的漏电积分放电(LIF)模型运行:
    • LC4(104)+ LPLC2(210) 迫近检测视觉神经元
    • DNp01 / Giant Fiber(GF)(2)——逃逸指令神经元
    • DNa01 + DNa02(4) 转向神经元 · DNp09(2) 前进行走
    • DNg11(6) 梳理 · MDN(4) 后退行走("月球漫步")
    • DNp02/DNp04/DNp11(6) 逃逸机动(翅膀)神经元
    • 它们的 330 个最强突触伙伴,包括上行(本体感觉)和感觉(风)神经元
  • 逃逸不是预设脚本。 光标的靠近会转化为真实 LC4/LPLC2 细胞的迫近输入;只有当 Giant Fiber 通过其真实突触真正放电时,果蝇才会起飞——约 1,200 个前馈抑制突触反向施压,这也是为什么缓慢靠近会被容忍,而快速猛扑会在约 4 ms 内触发逃逸,与真实动物一致。

果蝇本体是程序化生成的(FlyWire 是脑连接组——没有躯体几何数据),具有三足步态、可见的振翅、按高度缩放的飞行、梳理和睡眠姿态。

安装

环境要求:macOS 13+、Xcode Command Line Tools(Swift 5.9+)。 无需任何权限或授权——它所感知的一切(光标、窗口边框、点击转化为触碰、散热状态)都无需授权。

git clone https://github.com/DenisSergeevitch/desktop-fly.git
cd desktop-fly
./build.sh
./DesktopFly

菜单栏会出现一个 🪰 图标,从那里退出即可。苍蝇通过一个透明、可穿透点击的覆盖层在你的桌面上游走——它不会拦截鼠标或键盘操作。

控制菜单(菜单栏 🪰)

作用
Pause / Resume 冻结整个世界
Show/Hide Brain 切换实时脑部窗口的显示
Escape Test (loom) 注入一个逼近刺激,观察 GF 是否放电
Move to Next Display 让苍蝇跳到另一块显示器上(仅在连接多块显示器时显示)
Add / Remove Fly 增减苍蝇(只有第一只苍蝇携带脑)
Scare Flies 惊吓所有苍蝇

脑部窗口支持交互:悬停可使旋转暂停;点击某个区域会以"光遗传学"方式刺激距离最近的约 60 个回路神经元,持续 400 毫秒。苍蝇的反应取决于真实神经网络在该刺激下的下游输出——点击 Giant Fiber 它就逃逸;点击 DNg11 它就梳理自己;点击一侧的 DNa01/02 它就转向。

真实神经元如何控制身体

身体行为 驱动信号
逃逸起飞 DNp01 巨纤维放电
行走与静止、行走速度 DNp09 放电频率
转向 DNa01+DNa02 左右放电频率差
梳理 DNg11 放电频率
后退小步 MDN 爆发放电
神经性急冲 LC4/LPLC2 群体放电频率
振翅力度、威胁性抬翅 DNp02/04/11 放电频率
自发起飞 群体觉醒度

这个回路也打通了身体→脑的反馈:步态节律与腿的动作同步,反馈至回路中真实的上升性(本体感觉)神经元;光标快速移动则会刺激其对应的感觉(气流)神经元。

桌面生态(全部使用无需授权的 macOS 感知能力)

  • **窗口地形**:窗口顶部边缘是悬崖——苍蝇会落在上面,沿着边缘行走,搭乘你拖动的窗口,并在窗口在脚下合拢时受到惊吓。
  • **窗口逼近**:出现在苍蝇附近的窗口会触发“逼近”通路;该回路决定是否逃离你的对话框。
  • **点击即触底**:在苍蝇旁边点击会通过风→GF 通路将其惊吓。打字即震动(空闲时间 API —— 知道按键的时间,但不知道按了哪些键)。
  • **昼夜节律**:黎明/黄昏时活动达到峰值,中午小憩,夜间静止。睡眠:夜间空闲 → 进入睡眠,呼吸缓慢,唤醒阈值升高;醒来后会梳理身体。
  • **温度**:苍蝇是变温动物 —— 热的 Mac 会让苍蝇跑得更快。

重新生成数据

data/ 目录附带紧凑的衍生文件。要从原始 FlyWire Codex 数据转储(约 60 MB 下载)重新构建它们:

mkdir -p /tmp/flywire && cd /tmp/flywire
B=https://storage.googleapis.com/flywire-data/codex/data/fafb/783
curl -O "$B/classification.csv.gz" -O "$B/coordinates.csv.gz" \
     -O "$B/connections.csv.gz" -O "$B/consolidated_cell_types.csv.gz"
cd - && python3 etl.py /tmp/flywire

诊断

./DesktopFly --simtest        # 回路不变量:静止时 GF 静默,4 ms 逼近延迟,...
./DesktopFly --behaviortest   # 17 项端到端检查:刺激神经元 → 身体做出反应
./DesktopFly --snapshot f.png  # 屏幕外苍蝇渲染
./DesktopFly --brainshot b.png # 屏幕外大脑渲染

模型与测量的对比

诚实说明:连接组提供的是线路连接,而非生理特性。LIF 动力学、神经递质极性(ACh+、GABA−、Glu−)、LC→GF 和风→GF 上的缝隙连接增强(已记录的电耦合)、突触延迟以及感觉转换(光标 → 逼近值)都是叠加在真实图结构上的标准建模选择。感觉神经元之后的所有内容 —— 即谁连接到谁,以及连接强度如何 —— 均来自 FlyWire 数据。

许可与引用

代码采用 MIT 许可证。data/ 中的文件衍生自 FlyWire (FAFB v783),采用 CC BY-NC 4.0 许可 —— 请参阅 data/DATA_LICENSE.md。如果你使用了此代码,请引用:

原始来源: Hacker News

评论 (0)