Features
Everything here is wired to the backend.
- 01CLI
User prompt
You describe the task in your terminal. The CLI sends it to NordAI with your session context.
- 02Planner
Agent loop
The model plans, selects tools and streams a response. Every step is bounded by a maximum step count.
- 03Workspace
Tool execution
Reads, edits and commands run inside your workspace with approvals, timeouts and path checks.
- 04Gateway
AI router
The Go gateway validates your plan, model allowlist and quota, then forwards to the private 9Router service.
- 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.