Skip to content

NX endpoints

An NX endpoint is a separate nythronix-nx daemon on a developer’s machine. It manages codex and claude CLI profiles and starts their sessions from the dashboard. Unlike an agent, it does not provide a general shell; it manages tool home directories, proxy settings, and conversation history.

This feature is self-hosted only. SaaS hides the menu item and returns 404 from all related APIs.

  1. In administration, open NX endpoints → Register NX endpoint, and enter a login, hostname, and display name. The password is shown once.
  2. Install with scripts/install-nx.sh --server https://cp.example.com --login nx-1 --password '…' (--user-mode installs to ~/.local/bin without systemd), or manually with deploy/systemd/nythronix-nx.service and nythronix-nx.env.example.
  3. In the environment file, check the WebSocket path, wss://cp.example.com/nx/ws (not /agent/ws), NYTHRONIX_ROOT for the profiles directory (default ~/.nythronix), and NYTHRONIX_TRUSTED_KEYS for update verification.

NX endpoints update like agents: configure stable/canary and the update policy in the same admin section, and publish releases with scripts/release.sh.

Profiles live on the machine under $NYTHRONIX_ROOT/profiles/<tool>/<profile>/home. The endpoint page (/nx/<id>) has three tabs:

  • Profiles: tools, profile names, home directories, and the last-used proxy.
  • Proxy: named proxies with selectors and aliases; assign a selected proxy to a profile.
  • Threads: threads and messages for the selected profile.

All tabs require the endpoint to be online. Requests go to the machine over WebSocket; offline endpoints return nx.offline.

In New session, choose target “NX endpoint (tool)”, an endpoint, tool, profile, and proxy (or inherit), optionally a working directory, then click Launch. A terminal opens with a real codex or claude process inside the selected profile.

Move a profile home directory between machines with POST /api/nx/<id>/snapshots/export, which exports a tar.gz with SHA-256 verification, and POST /api/nx/<id>/snapshots/import, which imports it. Transfer streams through the endpoint’s WebSocket, with a default hard limit of 2 GiB; exceeding it terminates the transfer. There is no dashboard snapshot button yet; use the API.

See also Administration and Security model.