<h1 align="center">데스크톱 바이브 플라이 🪰</h1>
<p align="center">
Fork of <a href="https://github.com/DenisSergeevitch/desktop-fly">DenisSergeevitch/desktop-fly</a>
— FlyWire-connectome 데스크톱 파리이며, 한 가지 추가된 점이 있습니다: 비브코드(vibecode)를 맡습니다.
</p>
<p align="center"><sub
>비브코드가 담긴 프로젝트를 맡고 걸어가는 파리. 저장소의 동일한 클립을 참조하세요:
<a href="assets/showcase.mp4">assets/showcase.mp4</a>.
</sub></p>
이 포크가 추가하는 기능
이것은 디스크에서 에이전트 마커(AGENTS.md, CLAUDE.md,
.cursor/rules, .kiro/steering 및 약 40개 이상)를 검색하고, 화면상의 모든 것을 그 마커로 이어지는 악취원(odour source)으로 변환합니다: 프로젝트가 열린 에디터나 터미널 창, 전면 Finder 창의 행, 데스크톱의 폴더 아이콘. 열려 있는 프로젝트에서 가장 강한 냄새가 나고, 닫힌 아이콘에서는 가장 약한 냄새가 나며, 각 악취원의 도달 범위는 담고 있는 비브코드 양에 따라 커집니다 - 여섯 개의 마커가 지정된 저장소로 이루어진 허브에서는 화면 전체에서 냄새가 맡아지고, 단일하고 약한 폴더는 근처에서만 느껴집니다. 그런 다음 스티어링 뉴런(DNa01/DNa02)이 파리를 그곳으로 데려가고, 냄새가 멀리 떨어져 있으면 개체군이 충분히 깨어나서 날아오르게 만듭니다.
다른 것은 아무것도 변경되지 않았습니다 - 뇌, 몸, 그리고 데스크톱 감각은 업스트림(upstream)의 것입니다.
이 포크 설치하기
git clone https://github.com/kulikov0/desktop-vibe-fly.git
cd desktop-vibe-fly
./build.sh
...
<p align="center"><sub
>이 아래의 모든 내용은 원본 README를 그대로 유지했습니다.
</sub></p>
<p align="center">
<img src="https://raw.githubusercontent.com/kulikov0/desktop-vibe-fly/HEAD/assets/fly.png" width="340" alt="DesktopFly — a 3D fruit fly">
</p>
<h1 align="center">DesktopFly 🪰</h1>
<p align="center">
macOS 데스크톱에 사는 3D 초파리입니다. 실제 <a href="https://codex.flywire.ai">FlyWire</a> connectome의 실시간 스파이킹 시뮬레이션으로 구동됩니다. 창을 가로질러 걸어 다니고, 몸단장을 하고, 잠자고, 실제 파리가 사용하는 것과 동일한 뉴런으로 커서로부터 도망치기로 결정합니다.
</p>
<p align="center">
<img src="https://raw.githubusercontent.com/kulikov0/desktop-vibe-fly/HEAD/assets/brain.png" width="560" alt="실시간 뇌 창: FlyWire v783의 실제 뉴런 위치 23,210개, 스파이크 깜빡임">
</p>
<p align="center"><sub
>초파리 뇌 창: FlyWire v783에서 가져온 실제 뉴런 소마(soma) 위치 23,210개와,
실제 뉴런 위치에서 깜빡이는 실시간 스파이크. 빛나는 노란색 마커 두 개는 탈출 명령 뉴런인 거대 섬유(Giant Fibers)입니다. 아무 영역이나 클릭하여 자극해 보세요.</sub></p>
실제 작동하는 부분 (What's real)
- 23,210개의 뉴런 소마 위치 (FlyWire v783의 139,255개 중)가 회전하는 뇌 창을 렌더링하며, 슈퍼 클래스(super-class, FlyWire의 거친 세포 유형 그룹화)별로 색상이 지정됩니다.
- 약 19,000개의 실제 시냅스 연결을 가진 668개 뉴런 회로가 1 kHz의 누설 적분 및 발화 (leaky-integrate-and-fire, LIF) 시뮬레이션으로 실행됩니다:
- LC4 (104) + LPLC2 (210): 위협 감지(looming-detector) 시각 뉴런
- DNp01 / 거대 섬유 (GF) (2): 탈출 명령 뉴런
- DNa01 + DNa02 (4): 조향 뉴런
- DNp09 (2): 전진 보행(forward walking)
- DNg11 (6): 그루밍(grooming)
- MDN (4): 후진 보행(
요구사항: macOS 13 이상, Xcode Command Line Tools (Swift 5.9 이상).
권한이나 엔타이틀먼트가 필요하지 않습니다 — 커서, 창 프레임, 클릭을 터치처럼 인식하는 기능(clicks-as-taps), 열 상태 등 모든 감지 기능은 권한 없이 작동합니다.
git clone https://github.com/DenisSergeevitch/desktop-fly.git
cd desktop-fly
./build.sh
...
메뉴 바에 🪰 아이템이 나타납니다; 여기서 종료하세요. 이 파리는 투명하고 클릭 가능한 오버레이 위에서 데스크톱을 돌아다니며 — 마우스나 키보드를 절대 가로채지 않습니다.
제어 (메뉴 바 🪰)
| 항목 | 효과 |
|---|
| 일시 정지/재개 | 세상을 얼립니다 |
| ... | |
| 뇌 창은 상호작용적입니다: 마우스를 올리면 회전이 멈추고; 특정 영역을 클릭하면 | |
- 창문 지형(Window terrain): 창문의 상단 모서리는 선반 역할을 합니다. 파리가 그 위로 내려앉고, 그를 따라 걸으며, 끌어당기는 창문을 타고 날아가다가 발밑의 창문이 닫힐 때 깜짝 놀랍니다.
- 창문 그림자(Window looms): 파리 근처에 나타나는 창문은 그림자처럼 드리워지는 경로를 제공합니다. 이 회로는 사용자의 대화(dialogs)가 있을지 없을지를 결정합니다.
- 클릭은 기질적 접촉(substrate taps)입니다. 파리 옆을 클릭하면 바람→GF 경로를 통해 깜짝 놀랍니다. 타이핑은 진동입니다 (유휴 시간 API — 키가 언제 눌렸는지는 알지만, 어떤 키였는지는 모릅니다).
- 일주기 리듬(Circadian rhythm): 새벽/황혼 활동 최고조, 정오 낮잠, 밤에는 휴면 상태. 수면(Sleep): 밤에 유휴 상태이면 → 잠을 자고, 느리게 숨 쉬며, 각성 역치가 높아집니다. 깨어나면 털 손질을 합니다.
- 온도(Temperature): 파리는 변온동물입니다. 뜨거운 Mac은 더 빠른 파리를 의미합니다.
데이터 재생성 (Regenerating the data)
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" \
...
진단 (Diagnostics)
./DesktopFly --simtest
./DesktopFly --behaviortest
./DesktopFly --snapshot f.png
...
모델링된 것 vs 측정된 것 (What's modeled vs measured)
솔직히 말씀드리자면: 연결체(connectome)는 생리학이 아닌 배선을 제공합니다. LIF 역학, 신경전달물질 신호(ACh+, GABA−, Glu−), LC→GF 및 바람→GF의 간극 접합 증폭(gap-junction boost) (문서화된 전기 결합), 시냅스 지연 시간, 그리고 감각 변환(cursor → looming value)은 실제 그래프 위에 덧씌워진 표준 모델링 선택 사항입니다. 감각 뉴런 하류에 있는 모든 것 — 누가 누구와 연결되는지, 그리고 얼마나 강하게 — 은 FlyWire 데이터입니다.
라이선스 및 인용 (License & citation)
코드는 MIT 라이선스입니다. data/ 폴더의 파일들은 FlyWire (FAFB v783)에서 파생되었으며 CC BY-NC 4.0에 따릅니다 — data/DATA_LICENSE.md를 참조하세요.
이것을 사용한다면, 다음을 인용하세요: