CLI reference
The public command is neuraframe. nfctl is kept as an alias, so anywhere you see neuraframe you can type nfctl instead.
Every command
The complete command set. It is one binary, so every command below works on any install (Studio or Gateway); which ones you use daily depends on how you run it. Details for each follow on this page, with the deep controls linked where they have their own guide.
| Command | What it does |
|---|---|
status | Service health, version, engine or pass-through, gateway state, license validity. |
stats | Reuse counters: served from memory versus forwarded. |
savings | What reuse is buying: calls avoided, reuse rate, estimated tokens saved, by source. Read live from the gateway. |
ask | Ask a question through the reuse stack. On a fresh install with no model connected it introduces itself and says so plainly. |
correct | Teach a correction through the native API, so future answers change. |
pin | Teach the gateway a fixed answer for a matching request: add, list, revoke. Bounded and reversible. May need sudo to save. |
freshness | Reuse in time: windows for time-sensitive answers, volatility detection, self-learning, drift checks. Run bare to list every knob. See the Gateway guide. |
vision | Image and video reuse: mode (exact, near, scene, continuous), thresholds, detector boxes, the continuous video knobs, and the visual memory. Full command set: Vision CLI reference. |
codebook | Complex identification against your own coding standard: check, use, off, reuse on|off, and run (the two-drive batch coder). See Complex identification. |
config | Read or set safe config keys (get / set), including gateway.upstream_url. |
license | Device fingerprint and license validity. license refresh pulls a renewed license. |
trial start | Start the 7-day trial. Needs sudo: it writes a license file. |
activate | Activate a paid license. Needs sudo, same reason. |
enroll | Join an organization's seat pool with the shared token (--token ORG-xxxx), for fleet installs. See Fleet deployment. |
billing | Open the billing portal. |
version | Print the installed version. |
update | Check for a newer release; --apply upgrades in place, keeping memory, config, and license. |
logs | Recent service logs. |
doctor | Preflight plus service and license summary in one shot. |
demo | Run the bundled example workflow. |
uninstall | Remove the product. Keeps learned memory unless --purge. |
status
Prints service state, version, whether the engine is active or in pass-through, and license validity. Use this first when something looks off.
trial start
Starts the 7-day free trial for this device. Reads the device fingerprint, asks for your email, and installs a signed trial license. Run it with sudo: it writes the license file into a system location and reads the root-owned config.
activate
Activates a paid license for this device using the email tied to your subscription. Also run with sudo, for the same reason as trial start.
license / license refresh
license shows this device's fingerprint and whether the installed license is valid and how long remains. license refresh pulls a renewed signed license from the configured endpoint; connected devices also refresh automatically before expiry.
enroll
sudo neuraframe enroll --token ORG-xxxx
Joins this device to an organization's seat pool using the shared enrollment token, instead of an individual trial or activation. Used for fleet installs, where one token licenses many machines; the installer can also enroll automatically. See Fleet deployment.
billing
Opens the billing portal where you can update payment methods, view invoices, cancel, or renew.
stats
Shows reuse counters: total requests, model calls made, calls avoided, and memory used.
savings
neuraframe savings
A plain readout of what reuse is buying you, read live from the gateway: calls avoided, the reuse rate, an estimate of tokens saved, and a breakdown by source (exact repeats, paraphrases, vision, pins), plus freshness and pin activity. The call counts are exact; the token figure is an estimate.
ask
neuraframe ask "<question>" [doc_id]
Sends a question through the engine. The result reports its source, so you can see whether it was answered by the model or served from memory. An optional document id scopes the question to an ingested document.
correct
neuraframe correct "<original claim>" "<corrected claim>"
Teaches a correction so future matching answers use the corrected result.
pin
sudo neuraframe pin add "refund policy" '{"answer":"Refunds within 30 days."}'
neuraframe pin list
sudo neuraframe pin revoke <id>
Teaches the gateway a fixed answer for a matching request, the bounded and reversible way: a pin returns exactly what you type, is served before the reuse layers, and is listed and revocable. Match is contains by default; --exact requires an identical request, --path scopes it, --ttl expires it. Saving may need sudo.
freshness
neuraframe freshness # list every knob, its default, and what it does neuraframe freshness volatile_ttl 30 # window for time-sensitive answers (seconds) neuraframe freshness forget # clear self-learned windows (reversible)
Reuse in time: a stable answer is reused for as long as it stays true, a time-sensitive one (weather, a price, anything current) is re-fetched once its window passes, and the layer learns how fast each class of question actually changes. On and safe by default. The full knob table is in the Gateway guide.
vision
neuraframe vision on
neuraframe vision mode <off|exact|near|scene|continuous>
neuraframe vision memory # what the visual memory knows
Image and video reuse in front of a vision model: exact and near-duplicate repeats, scene mode (reuse the entities in an image), and continuous mode (follow a thing across a video). Thresholds, detector boxes, the continuous video knobs, and the tracking readout are all under this command; the complete control table is on Vision reuse.
config get | set
neuraframe config get neuraframe config set completion_url http://127.0.0.1:8080/completion
Reads or updates safe configuration knobs (host, port, completion and embedding endpoints). Restart the service to apply changes.
logs
Shows recent service logs (via journalctl when available), useful for diagnosing startup or model-connection issues.
doctor
Runs the compatibility preflight, then a service and license summary, in one command. A borrowed convention (like brew doctor): it diagnoses whether everything is set up correctly.
demo
Runs the bundled example workflow to confirm reuse works on a fresh install. Requires a local model running and connected first (set the completion and embedding endpoints, see Using NeuraFrame™), since the example calls your model. NeuraFrame™ does not include a model.
update
Check whether this install is the current release, and upgrade in place if you choose. The upgrade keeps your memory, config, and license; nothing is downloaded or changed unless you pass --apply. A one-line hint also appears in neuraframe status when a newer release is available, and the check can be turned off in config.
neuraframe update # is this the current release? neuraframe update --apply # download, verify, and upgrade in place (keeps your data)
version
Prints the installed version, read from the running service. The same version appears in status.
uninstall
neuraframe uninstall # keeps config, license, and memory neuraframe uninstall --purge # removes everything neuraframe uninstall --yes # skip the confirmation prompt
Removes NeuraFrame™. Without --purge it keeps your config, license, and reuse memory so a reinstall resumes; with --purge it removes everything and leaves nothing behind.
Fleet admin (nf-fleet)
The Fleet server ships its own admin command, nf-fleet. It is installed on the Fleet server host, not on devices, and operates the local fleet database directly, so it needs no tokens or signing. Run it as the user that owns the fleet data (or with sudo).
nf-fleet provision # print the fleet identity to bake into your device package nf-fleet status # queue, approved, and device counts nf-fleet review # list learnings awaiting approval, with IDs nf-fleet approve --all # approve everything pending nf-fleet approve ID [ID ...] # approve specific learnings by ID nf-fleet reject ID [ID ...] # reject specific learnings by ID nf-fleet policy # show the current sync policy nf-fleet policy set KEY VALUE # set a policy value (example: nf-fleet policy set cadence daily)
Point it at a non-default data directory with --root (or the NF_FLEET_ROOT environment variable). If you set a vault passphrase, export NF_FLEET_PASSPHRASE in the same shell so it can read encrypted submissions. Full round-trip operation, including how devices join and sync, is on the Studio Fleet page.