Features

Everything here is wired to the backend.

No placeholder buttons and no simulated responses. This page describes the shipped behaviour of the CLI, the Go API and the dashboard — including the limits.
  1. 01CLI

    User prompt

    You describe the task in your terminal. The CLI sends it to NordAI with your session context.

  2. 02Planner

    Agent loop

    The model plans, selects tools and streams a response. Every step is bounded by a maximum step count.

  3. 03Workspace

    Tool execution

    Reads, edits and commands run inside your workspace with approvals, timeouts and path checks.

  4. 04Gateway

    AI router

    The Go gateway validates your plan, model allowlist and quota, then forwards to the private 9Router service.

  5. 05Result

    Verified result

    Tests or commands you approved produce the evidence. The agent reports incomplete work instead of claiming success.

This is the implemented flow: the website and CLI authenticate with NordAI credentials, the Go gateway owns entitlements and forwarding, and the router key never leaves the API service. No step is simulated.

Agent engine

4 implemented behaviours

Real tool loop
The model receives tool definitions, emits tool calls, and sees results. read_file, write_file, edit_file, list_files, search_files, run_command, git_status, git_diff, ask_user and finish_task are implemented.
Bounded steps
A hard maximum step count, repeated-call detection and cancellation with Ctrl+C stop runaway loops. The agent reports unfinished work.
Context compaction
/compact summarises older turns with the model, keeps the system prompt and recent tools, and stores the result in the session.
Session persistence
Each session is stored locally and mirrored to your NordAI account for /resume across machines.

Workspace safety

4 implemented behaviours

Workspace boundary
Every path is resolved and checked against the workspace root. Path traversal and symlink escapes are rejected.
Secret-file exclusion
Files such as .env, private keys and credential stores are excluded from reads and search by default.
Command policy
A deny-list blocks destructive commands; an allow-list constrains execution. Every command has a timeout and output cap.
Approval modes
manual (default), auto-edit and read-only. File mutations and commands ask for confirmation unless auto-edit is enabled.

Gateway & routing

4 implemented behaviours

Server-side model allowlist
A request is rejected unless the model is in the router allowlist, enabled by the operator, and permitted by your plan and key.
Controlled fallback
Only retryable upstream failures (rate limit, unavailable) move to the next approved model. Nothing silently upgrades to a paid model.
Streaming SSE relay
Tokens stream through the gateway as they arrive. Usage is extracted from the upstream final frame when the provider reports it.
Idempotency keys
Retries with the same Idempotency-Key cannot create duplicate billable operations.

Accounting & access

4 implemented behaviours

Atomic quota reservation
Usage is reserved in a transaction holding a per-user advisory lock, so concurrent requests cannot exceed a plan limit.
Real token counts only
If the upstream does not report tokens, the fields stay empty. Nothing is estimated or fabricated.
API keys with limits
Keys are stored as SHA-256 hashes, shown once, and can carry per-key rate limits, monthly caps, model restrictions and expiry.
Roles and audit logs
Customer, support and admin roles are checked server-side. Administrative changes are written to an append-only audit log.

What NordAI does not do

No unlimited plans, no fabricated token counts, no automatic paid-model upgrades, no browser-side entitlement checks, and no router credentials in the browser or CLI.

documented limitations