Swift · 项目报告

DenisSergeevitch/desktop-fly

A 3D fruit fly living on your macOS desktop, driven by a live spiking simulation of the real FlyWire connectome

已完成 打开 GitHub
D
603星标
36Fork
5Issue
NOASSERTION许可证

分析结果

项目分析

DesktopFly 是一个面向 macOS 的趣味型桌面应用:在桌面透明置顶层上渲染一只 3D 果蝇,并使用来自 FlyWire 果蝇脑连接组数据的脉冲神经网络模拟来驱动其行为。它不仅是桌面宠物,还带有可视化“脑窗口”,展示 23210 个真实神经元胞体位置,并运行一个包含 668 个神经元、约 19000 条真实突触连接的 1 kHz LIF 神经模拟。果蝇会在窗口边缘行走、梳理、睡眠、受鼠标逼近或点击惊吓而逃逸,部分行为由巨纤维、视觉 looming 神经元、步行/转向/梳理相关神经元活动触发。

适用领域 macOS 桌面应用 / Swift 原生应用 / 桌面宠物 / 交互式可视化 / 神经科学 / 连接组学 / 计算神经科学 / 实时仿真 / 科普教育 / 生物启发式交互
配置难度 中等偏高。普通用户按 README 构建运行不复杂,但需要 macOS、命令行和 Swift 环境。若要理解或二次开发,涉及 macOS 窗口系统、3D 渲染、实时仿真、神经网络建模和 FlyWire 数据处理,门槛较高。
商业价值 商业化价值偏间接。该项目本身更像科学艺术、科普演示和技术展示,适合用于教育、展览、科研传播、桌面创意软件原型或品牌营销互动。由于数据包含 CC BY-NC 4.0 非商业限制,直接商用需要谨慎处理许可或替换数据来源。对开发者的价值主要在于学习 macOS 桌面 overlay、实时科学可视化、真实数据驱动交互行为,以及将科研数据产品化的设计思路。
01

技术亮点

  • 创意性强:把真实果蝇脑连接组数据与桌面宠物结合,具有很强的展示和传播价值
  • 科学可视化突出:脑窗口展示 23210 个真实神经元胞体位置,并用 spike 动画呈现神经活动
  • 行为不是简单脚本:逃逸反应由 LC4/LPLC2 looming 输入经真实突触连接驱动巨纤维 spike 后触发
  • 交互丰富:支持鼠标逼近、窗口出现/关闭、点击、打字活动、温度、昼夜节律等桌面生态输入
  • macOS 集成自然:透明点击穿透 overlay,不拦截鼠标键盘,并提供菜单栏控制
  • 代码和数据理念清晰:README 区分了真实测量部分与建模假设部分,对科学边界说明较诚实
  • 适合演示和科普:能直观展示神经元活动如何映射到运动、梳理、逃逸等行为
02

目标用户

  • 对神经科学、果蝇连接组或 FlyWire 数据感兴趣的研究者和学生
  • 希望学习 Swift/macOS 桌面透明覆盖层、菜单栏应用、窗口交互的开发者
  • 喜欢桌面宠物、创意交互、科学可视化的 macOS 用户
  • 计算神经科学、脑科学科普、教育演示场景的内容创作者
  • 想研究如何将真实科学数据转化为可互动可视化应用的开发者
03

配置要求

  • 操作系统:macOS 13+
  • 开发工具:Xcode Command Line Tools,Swift 5.9+
  • 权限:README 声称不需要额外权限或 entitlements,使用的是 permission-free 的系统信息,如鼠标位置、窗口框架、点击、热状态等
  • 硬件:需要支持基本 3D 渲染和实时模拟的 Mac;多只果蝇和脑窗口可能增加 CPU/GPU 负载
  • 数据:仓库自带 data/ 下的派生紧凑数据;如需重新生成数据,需要下载约 60 MB FlyWire Codex 原始 CSV gzip 文件并运行 etl.py
  • 可选诊断命令:./DesktopFly --simtest、./DesktopFly --behaviortest、./DesktopFly --snapshot f.png、./DesktopFly --brainshot b.png
04

适用场景

  • 作为 macOS 桌面宠物运行,让果蝇在窗口边缘和桌面上活动
  • 演示果蝇视觉逃逸反应:鼠标快速接近时通过 looming 输入激活真实连接组路径并触发逃逸
  • 通过脑窗口观察神经元位置、分类颜色和实时 spike 活动
  • 点击脑区模拟局部刺激,观察下游网络导致的行为反应,例如逃逸、梳理、转向
  • 用于神经科学或连接组学课堂演示,把抽象的神经连接数据转化为可观察行为
  • 学习 macOS 上透明、点击穿透、菜单栏控制、多显示器处理等桌面应用技术
  • 作为创意项目参考,探索真实科学数据与游戏化/桌面互动结合的方式
05

部署与配置

  • 确认系统为 macOS 13 或更高版本
  • 安装 Xcode Command Line Tools,并确保 Swift 版本为 5.9 或更高
  • 执行:git clone https://github.com/DenisSergeevitch/desktop-fly.git
  • 进入项目目录:cd desktop-fly
  • 构建应用:./build.sh
  • 运行应用:./DesktopFly
  • 运行后菜单栏会出现 🪰 图标,可从菜单中暂停、显示脑窗口、添加果蝇、退出等
06

风险与注意事项

  • 平台限制明显:仅支持 macOS 13+,不适合 Windows/Linux 用户
  • 许可证需要仔细核查:仓库元数据为 NOASSERTION,README 称代码为 MIT,但 data/ 派生自 FlyWire 且为 CC BY-NC 4.0,商业使用可能受到非商业条款限制
  • 科学模型存在近似:连接组提供的是结构连接,不包含完整生理动力学;LIF 参数、神经递质符号、延迟、感知转导等是建模假设
  • 性能风险:实时 1 kHz 模拟、3D 渲染、脑窗口和多只果蝇可能对老款 Mac 有负载影响
  • 维护风险:项目 stars 较高但 forks 较少,长期维护活跃度需要进一步查看 commit 记录和 issue 情况
  • 数据来源合规风险:如果在产品、商业演示或再分发中使用 data/,需要遵守 FlyWire 数据许可和引用要求
  • 用户体验风险:虽然点击穿透,但桌面 overlay、菜单栏常驻和窗口感知可能仍让部分用户觉得干扰或有隐私顾虑

历史记录

热榜历史快照

2026-08-21 第17名 新收录 · github_search