Skip to main content
The NSP axon daemon (axon-daemon.exe) is the runtime substrate that makes everything else in NSP possible. It runs continuously in the background, attaches to live applications, extracts their semantic state, and serves that state — plus the ability to trigger actions — as a typed JSON API on localhost:7842. Every SDK call, every agent query, and every action execution flows through this daemon.

What the Daemon Does

Watches Processes

Scans all running OS processes on a configurable interval and detects supported applications by runtime classification.

Probes Runtimes

Attaches to each detected app’s runtime (V8, CLR, JVM) to extract live semantic state as typed SubstrateState objects.

Caches State

Maintains an in-memory cache of the latest SubstrateState for every tracked process, refreshed on the configured poll interval.

Serves the API

Exposes the full NSP Agent API over HTTP on localhost:7842 — state reads, app listings, action execution, and WebSocket streams.

Streams WebSocket

Pushes real-time state change notifications to connected WebSocket clients the moment a tracked app’s state changes.

Executes Actions

Dispatches typed actions into target applications, waits for post-action state to settle, and returns updated state in the same response.

Running Modes

The daemon supports two running modes: as a persistent Windows Service (the recommended production setup) and as a foreground process for development and debugging.

CLI Reference

Every axon-daemon.exe command you need is listed below. Pass --help after any command to see its flags:

Health Check Endpoint

Once the daemon is running, call /health to confirm it is up and inspect its current state:
The daemon responds with a JSON object:
If auth_enabled is false, the daemon is accepting all requests without key validation. This is safe for local development but must never be used in production. See Authentication.

Log Output

By default, the daemon writes structured JSON logs to stdout (and to the Windows Event Log when running as a service):
Switch to human-readable text format during development by adding this to your axon.toml:
Set level = "debug" the first time you probe a new application. Debug logs include per-probe timing, confidence scores, and the full list of SSF objects discovered — essential context when building a new agent.