Busabase
Busabase is an open-source (MIT) database and workspace for AI agents — data, docs, skills, and apps in one place. Run it locally, self-host it inside your network, or use Busabase Cloud, and turn age
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证The fruit fly connectome (FlyWire v783, MaleCNS) running as a spiking network live in your browser. Press sugar, watch the proboscis motor neuron fire; permalink any experiment; every result scored on flybench.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A fruit fly connectome running as a spiking neural network, live, in your browser. Live at www.fly-bench.com; the benchmark that keeps it honest is at /bench.查看完整 README ↗A fruit fly connectome running as a spiking neural network, live, in your browser. Live at www.fly-bench.com; the benchmark that keeps it honest is at /bench.
Each dot is one of the ~140,000 neurons in the FlyWire adult Drosophila connectome. Each edge is a real synapse count. Every neuron is the same five-constant leaky integrate-and-fire unit from Shiu et al. 2024 (Nature). Press sugar GRNs and watch the activity propagate from the taste receptors through the subesophageal zone to MN9, the motor neuron that extends the proboscis. Press looming and watch the Giant Fiber fire. Add bitter on top of sugar and watch MN9 go quiet.
Nothing is scripted. There is no per-neuron tuning. When MN9 lights up, the wiring did that.
Ships with a 3.6k-neuron synthetic "toy" connectome (hand-wired so every circuit-level flybench task can pass) so it runs instantly. To load the real brain, see Loading FlyWire — it's one command with the sibling repo flybench.
public/data/<name>/ compact binary export (positions, CSR graph, classes, population index)
src/lib/lif the simulation core (pure TypeScript, unit-tested): LIF integration + event-driven propagation
src/workers/lif.worker Web Worker wrapper: loads the export, steps the core, posts activity per frame
src/components/Brain three.js point cloud; per-neuron activity → colour/size via a small shader
src/app/page controls, readouts, worker plumbing
The worker owns the whole state: V (membrane, mV), g (synaptic drive, mV), a refractory clock, and a ring buffer of spike lists for the 1.8 ms conduction delay. Each 0.1 ms tick it (1) delivers the spikes whose delay expired by walking those neurons' CSR rows, (2) integrates every neuron, (3) forces Poisson spikes onto any population you're stimulating, (4) queues this tick's spikes. Only neurons that spiked touch the synapse arrays, so cost tracks activity rather than the 2.7 M edges. It posts an activity byte per neuron to the main thread every animation frame; the GPU does the rest.
Model constants (all editable in src/lib/types.ts, gain is a live slider):
| V_rest / V_reset | V_th | τ_m | τ_syn | refractory | delay | w per synapse |
|---|---|---|---|---|---|---|
| −52 mV | −45 mV | 20 ms | 5 ms | 2.2 ms | 1.8 ms | 0.275 mV × gain |
Signs: ACh +, GABA −, glutamate −, monoamines +. Edges with < 5 synapses are dropped.
npm install
npm run dev # http://localhost:3000, loads the toy connectome
npm test # vitest: the LIF core (propagation, inhibition, refractory, delay, gain, determinism)
npm run lint && npm run build
npm start -- -p 3123 & # then, with playwright available:
node scripts/smoke.mjs # headless click-through: hints, stimulate, reset, pause, real-dataset reflexes, /bench, permalinks, synonym search
node scripts/record-gif.mjs frames && python scripts/make-gif.py frames docs/explorer.gif # re-record the README animation
The address bar holds the experiment: ?dataset=flywire783&gain=0.45&rate=150&hold=sugar%20GRNs&type=DNp01 reproduces the dataset, the gain, the input rate and everything held on (senses by population name, cell types by their annotation name). copy link writes the current state to the URL and clipboard. A link that names something the chosen dataset lacks shows a banner saying so; nothing is substituted. The cell-type search also takes literature names — giant fiber, bIPS, P9, oviEN, E-PG — and resolves them to the loaded dataset's own type (src/data/synonyms.json).
The real v783 export (32 MB) is committed so the site deploys as-is. To rebuild it, or export another connectome, use flybench:
# in ../flybench, after downloading the Codex v783 CSVs (free account) — see its README
pip install -e .
flybench build ~/Downloads/flywire783
flybench export -c flywire783 -o ../fly-explorer/public/data/flywire783
Then pick FlyWire v783 in the dropdown. A 140k-neuron brain steps at roughly 0.05–0.3 ms of compute per 0.1 ms of simulated time on a laptop, so the default 10 steps/frame is close to real time while the brain is quiet and slows gracefully when it isn't.
You can also export any other connectome flybench can load — the format is five flat binary files plus a meta.json, documented in flybench/export.py.
This is a way to see a connectome compute: which populations answer which inputs, in what order, and how a global gain knob changes that. It's a good intuition pump for what a wiring diagram does and doesn't tell you.
It is not a fly. The model has no neuromodulators, no neuropeptides, no gap junctions, no plasticity, no spontaneous activity, no body, no sensory transduction — "sugar" here means forcing spikes onto ~60 neurons whose community label says sugar. Absolute firing rates should not be trusted, only the pattern of what responds. Nothing in this tab experiences anything; it's a very large, very fast lookup of "if these fire, those fire." Whether that stops being obviously true as models get richer is a real question — this one is far from it, and says so.
For a repeatable answer to "does this parameter set still reproduce known fly reflexes?", use flybench.
FlyWire consortium (Dorkenwald et al. 2024; Schlegel et al. 2024) for the connectome; Shiu et al. 2024 for the model; the many people who proofread 140k neurons by hand.
MIT © Brandon Cho