NEXUS OS is a local-first mission control dashboard for running multiple AI harnesses in one unified operating layer.
9router setup firstdata/system-state.local.json) initialized from templateinstall.js, start.js, reset.js, update.js, pinokio.js, pinokio.json)apps/web - React + TypeScript frontendapps/api - Node.js + Express APIconfig/harnesses.json - Harness registry source of truthdata/workspaces - Shared workspace foldersdata/system-state.template.json - First-run runtime state templatenpm install
npm --prefix apps/api install
npm --prefix apps/web install
npm run dev
Open frontend URL shown by Vite (usually http://localhost:5173).
First launch flow:
9router tool panelThe repository includes native Pinokio launcher scripts at the project root.
install.js: installs root and app dependenciesstart.js: runs backend + frontend and publishes web URL to Pinokioupdate.js: pulls latest changes and refreshes dependenciesreset.js: clears dependencies/build output and local runtime statepinokio.js + pinokio.json: Pinokio menu and metadataIn Pinokio:
Install.Start.Open NEXUS OS.Each harness supports adapter overrides in config/harnesses.json under adapter:
protocol: openai | generic | hybridstreamProtocol: openai-sse | custom-sse | noneauthMode: bearer | x-api-key | both | nonehealthPath: health probe pathopenAiPath: OpenAI-compatible chat pathgenericPaths: generic JSON chat pathsstreamPath: generic SSE stream pathThis allows integrating harnesses with different API shapes without changing frontend code.
Run profile/schema conformance tests:
npm --prefix apps/api run test:conformance
Run 9router transport contract tests:
npm --prefix apps/api run test:contract
Run live endpoint conformance probe:
npm --prefix apps/api run conformance
The live probe checks adapter config quality and attempts health endpoint verification for each harness.
NEXUS OS now gates agent usage on startup readiness:
Use the right-pane Run Startup Check button (or GET /api/startup/check) to verify readiness and clear blockers.
Startup check results are persisted and displayed with:
User API keys are stored only in data/system-state.local.json (gitignored). Do not commit secrets.
TypeScript
95.8%
CSS
3.5%
NEXUS OS is a local-first mission control dashboard for running multiple AI harnesses in one unified operating layer.
9router setup firstdata/system-state.local.json) initialized from templateinstall.js, start.js, reset.js, update.js, pinokio.js, pinokio.json)apps/web - React + TypeScript frontendapps/api - Node.js + Express APIconfig/harnesses.json - Harness registry source of truthdata/workspaces - Shared workspace foldersdata/system-state.template.json - First-run runtime state templatenpm install
npm --prefix apps/api install
npm --prefix apps/web install
npm run dev
Open frontend URL shown by Vite (usually http://localhost:5173).
First launch flow:
9router tool panelThe repository includes native Pinokio launcher scripts at the project root.
install.js: installs root and app dependenciesstart.js: runs backend + frontend and publishes web URL to Pinokioupdate.js: pulls latest changes and refreshes dependenciesreset.js: clears dependencies/build output and local runtime statepinokio.js + pinokio.json: Pinokio menu and metadataIn Pinokio:
Install.Start.Open NEXUS OS.Each harness supports adapter overrides in config/harnesses.json under adapter:
protocol: openai | generic | hybridstreamProtocol: openai-sse | custom-sse | noneauthMode: bearer | x-api-key | both | nonehealthPath: health probe pathopenAiPath: OpenAI-compatible chat pathgenericPaths: generic JSON chat pathsstreamPath: generic SSE stream pathThis allows integrating harnesses with different API shapes without changing frontend code.
Run profile/schema conformance tests:
npm --prefix apps/api run test:conformance
Run 9router transport contract tests:
npm --prefix apps/api run test:contract
Run live endpoint conformance probe:
npm --prefix apps/api run conformance
The live probe checks adapter config quality and attempts health endpoint verification for each harness.
NEXUS OS now gates agent usage on startup readiness:
Use the right-pane Run Startup Check button (or GET /api/startup/check) to verify readiness and clear blockers.
Startup check results are persisted and displayed with:
User API keys are stored only in data/system-state.local.json (gitignored). Do not commit secrets.
TypeScript
95.8%
CSS
3.5%