Skip to content

Day to day

The install is done and an agent answers. This is what the rest of the week looks like.

Two interfaces, and they are for different things

The dashboard is for anything an agent owns — its personality, its model, its skills, who may talk to it, what it has scheduled. It is a browser tab at http://127.0.0.1:18254/dashboard/.

The CLI is for the daemon — is it up, what is queued, what is in the audit log, restart this gateway. It works over SSH and against a remote daemon.

Neither is a lesser copy of the other. The setup wizard and nouride setup drive the same code; the skills page and nouride skills write the same file.

Neither of them is how an agent works. An agent acts through tools — each one typed, individually gated, and audited by name. It does not shell out to nouride, and the design makes that unattractive on purpose: the control API needs a token, and handing an agent that token would collapse every per-tool approval into a single approved exec.

The things you will do

WherePage
Talk to an agentany chat app, the dashboard, or nouride chatTalking to an agent
Answer “may I run this?”the chat it asked in, or the dashboardApprovals
Change how an agent behavesdashboard → Agents → FilesPersona packs
Switch modelsdashboard → Agents → ModelProvider profiles
Decide what it keeps learningdashboard → SkillsSkills & learning
Let someone in, or keep them outdashboard → Agents → AccessWho may talk to it
Make something happen at 9amdashboard → Schedule, or nouride cronScheduled work
Check on itnouride status, nouride doctordoctor
Back it up, upgrade ittar over one directoryMaintenance

The one directory

One install is one directory. This is the single most useful thing to know about operating it.

/srv/nouride/ (Linux) ~/nouride/ (macOS) ./nouride/ (Docker volume)
├── nouride the binary
├── dashboard/ the web UI it serves
├── skills/ skills that ship with the daemon
├── wa-bridge/ the WhatsApp bridge, its own executable
├── .env credentials and per-host values (0600)
└── .nouride/
├── config.toml everything structural
├── data/ SQLite, secrets, attachments, backups
├── agents/ personas and agent packs
│ └── skills/ the skill pool — every agent draws from it
└── workspace/ what the agents produce

Back up .nouride/. Everything else is a download.

Five commands worth memorising

Terminal window
nouride status # agents, gateways, queue — one screen
nouride doctor # diagnose a setup that is not working
nouride logs -f # live log; works with no journal, and against a remote daemon
nouride chat # talk to an agent from the terminal, no bot token
nouride approvals # what an agent is waiting on you for

They find their own install, so they work from any directory on the install’s machine — see the note about working directories in troubleshooting if one of them reports no daemon while one is running.

Driving a remote daemon

Every command except start talks to a running daemon over the control API. Point it somewhere else with two environment variables and the whole CLI works against that box:

Terminal window
export NOURIDE_URL=https://nouride.example.com
export NOURIDE_TOKEN=<the contents of its data/.control-token>
nouride status

What runs without you

Some things happen whether or not anyone is watching, and it is worth knowing which:

  • Scheduled jobs. A cron turn that needs an approval is auto-approved by default and the decision is recorded in the audit log against the job — because a 3am job that stops at a prompt nobody will see has not run at all. The hardline classes still ask, and still fail closed.
  • Reconnects. A gateway that drops backs off and retries. One that gives up entirely raises an alert, if you configured somewhere for alerts to go.
  • Retention sweeps. Old audit rows, old job runs and old attachments age out on the schedule in [retention].
  • Persona backups. Dated copies of the agent packs, under data/backups/agents/. Kilobytes of Markdown, and the only thing in the install that cannot be rebuilt.
  • Nothing else. An agent does not act unless a message, a job or a webhook wakes it.