neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
Sparshika는 서버실 하드웨어로 실시간 3D 복제본을 만들고 문제 부위를 정확히 표시합니다
Sparshika builds a live 3D copy of your server hall from the hardware itself, and shows you exactly which part needs attention. A Soni Tech Solutions product.
개발 도구JavaScript · PythonGitHub @sonitechsolns온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
React + three.js (React Three Fiber) twin of a 6-rack hot/cold-aisle room.
It polls the Sparshika cloud API for the latest reading of every part the
on-prem agent monitors and draws it: status LEDs, spinning fans, a telemetry
side panel with live graphs, and a hot-aisle heat map.
Onboarding: sign up → confirm email → request activation → STS approves →
generate a one-time code → ./setup.sh --enroll CODE --api https:// on
a server in the hall → invite the team. See sparshika-platform/cloud/README.md.README 전문 보기 ↗React + three.js (React Three Fiber) twin of a 6-rack hot/cold-aisle room. It polls the Sparshika cloud API for the latest reading of every part the on-prem agent monitors and draws it: status LEDs, spinning fans, a telemetry side panel with live graphs, and a hot-aisle heat map.
on-prem agent ──► cloud API (Render + Supabase) ──► this twin (Vercel)
sparshika-platform/agent sparshika-platform/cloud GET /api/v1/worldstate every 5 s
| Route | Who | What |
|---|---|---|
/ | everyone | Landing page |
/demo | everyone | The demo hall (browser simulation) |
/signup, /login, /forgot, /reset, /verify, /invite | everyone | Account pages |
/app | signed in | Onboarding checklist until the organisation is active, then the live twin |
/app/settings/team | members | Team, roles, invitations, seats |
/app/settings/agents | operators+ | Sites, one-time enrolment codes, connected agents |
/admin | STS staff | Review, approve, reject or suspend organisations and set seats |
/dev/outbox | local dev | Emails the API "sent" (needs DEV_MODE=1 on the API) |
Onboarding: sign up → confirm email → request activation → STS approves →
generate a one-time code → ./setup.sh --enroll CODE --api https://<site> on
a server in the hall → invite the team. See sparshika-platform/cloud/README.md.
# 1) API (in sparshika-platform) — SQLite accounts, emails to the dev outbox
DEV_MODE=1 [email protected] APP_URL=http://localhost:5173 \
./.venv/bin/uvicorn cloud.main:app --port 8010
# 2) Site (here) — /api is proxied to :8010, like the Vercel rewrite
npm install
npm run dev # http://localhost:5173
Sign up with the address in STS_ADMIN_EMAILS to get the STS console. Open
/dev/outbox for verification and invitation links.
Preview build with no backend at all: VITE_MOCK_API=1 npm run build (hash
routing, in-browser mock API, preview accounts listed on the sign-in page).
Vercel serves the site; vercel.json rewrites /api/* to the Render API, so
the session cookie is first-party. No VITE_API_BASE is needed.
Every reading carries a source, and the UI always shows it:
| Source | Meaning | How it looks |
|---|---|---|
| Live | Fresh record from the agent | green "Live" badge; header pill counts live parts |
| Stale | The cloud has a record, but it's older than VITE_STALE_SECONDS (agent or uplink down) | amber "Stale" badge; LED and fan ring go grey |
| Simulated | No agent reports this part (demo filler) | grey "Simulated" badge and a note in the panel |
The heat map uses only live readings whenever any exist.
The room layout in src/scene/Datacenter.jsx (RACK_LAYOUT) is demo filler.
Each agent record (schema v1.1) includes kind and position
(rack_id, start_u, height_u) from the agent's config.yaml, and
buildRacks() places those parts at runtime, replacing any demo unit in
those slots. So to add a monitored part, add it to the agent config.
No frontend change is needed.
kind: server | gpu | switch | storage | pdu picks the 3D unit.kind: fan parts attach to the unit at the same rack position. Click the
server to pull it out, then click a fan. Fans spin at their reported RPM,
and their ring shows their condition.src/scene/cabling.js derives every cable from the room layout, so each one
has a real origin and destination. Classes are segregated the way a hall is
built, and each can be toggled from the Cables dock:
| Class | Looks like | Route |
|---|---|---|
| Power | thick black cords | UPS rack → overhead busway A (red) / B (blue) → tap-off → vertical PDU-A / PDU-B on the rear corners → one cord per PSU (A/B alternate) |
| Copper | blue Cat6A | server NICs → rear vertical manager → both top-of-rack switches; patch-panel trunks → wire-basket tray → network rack |
| Fibre | thin yellow | each TOR → front riser → yellow raceway (highest tier) → crossover → two spine switches |
The telemetry panel lists what the selected unit is plugged into. The View dock flies to Overview, Cold aisle, Hot aisle (rear cabling) or Overhead (containment); dragging cancels a fly-to.
src/data/health.js scores every unit every 3 s and sorts what it finds into
four lists: Failed (a fan or power supply has stopped, a unit is critical
or has stopped reporting), At risk of downtime (a fan wearing out, a drive
logging SMART errors, a unit running hot, or a unit running on its last power
supply), Maintenance suggested and Ageing hardware (warranty ending).
Rendering safety: adaptive resolution, WebGL context-loss recovery and an error boundary that pauses only the 3D view (with a reload button) if it ever fails.
| Path | What |
|---|---|
src/data/telemetry.js | Poller, getTelemetry() / getMetadata(), live topology hook, metric history |
src/scene/Datacenter.jsx | Room, racks layout, live-part merge, camera focus and view presets, heat map |
src/scene/cabling.js, Cabling.jsx | Cable routing + connection map, merged-tube renderer |
src/scene/Rack.jsx | Rack cabinet, units, instanced status LEDs, server internals and fans |
src/components/ | Telemetry panel, cloud status pill, sparkline |
src/legacy/ | GLB-based viewers, not mounted (see its README) |
scripts/ | Blender generators for the .glb assets in public/ |
npm run lint # oxlint, warnings fail
npm run build # production build (three.js split into its own chunk)
npm run screenshot # headless screenshot of the running dev server (dev-only puppeteer)
Deployed on Vercel. .env.production points at the Render API.