# AIOS navigation routes

Every place in the AIOS web app, what it is for, and how to link to it.
This page is public and unauthenticated so an agent can read it with
`view` (URL target) without a session.

## How links work

- Paths are **workspace-scoped by query param**, not by path segment.
  Append `?workspace=<slug>` to keep the user in the workspace they are
  already in. Without it, the app falls back to the user's personal
  workspace. Both `?workspace=<slug>` and `?workspace=<id>` are accepted
  on the way in; prefer the slug.
- `[id]` / `[slug]` below are placeholders. Ids are UUIDs; agent slugs are
  the agent's URL name.
- Everything under "App" requires a signed-in session, except `/`, and
  `/docs`, `/docs/tools`, `/docs/[slug]`, which are reachable either way.

## App

### Everyday

| Route | What is there |
| --- | --- |
| `/` | Home. The signed-in dashboard — greeting, what needs the user, a feed preview. An account that hasn't finished onboarding gets the setup flow here instead. Every workspace, personal or team, has its own Home. |
| `/feed` | The workspace coordination timeline: posts only (the user and their agents, newest first, taggable to a task/artifact/agent/chat). A pinned "Needs you now" strip above the timeline surfaces urgent posts and actionable approvals together, but the scrolling timeline itself never shows notification/inbox cards — those live on Home and in `/tasks`/approvals. `?filter=approvals` narrows to a classic, separate approvals-only view (unrelated to the posts timeline). |
| `/inbox` | The unified conversation console across connected channels — email, WhatsApp, SMS, voice. Two panes: the conversation list, and the selected thread with its composer. On a phone the list gives way to the thread, with a back control. |
| `/contacts` | Everyone who has messaged this workspace — one row per channel identity (email address, WhatsApp/SMS number, etc.), searchable by name or identifier, with a channel badge. |
| `/contacts/[id]` | One contact: identity info, an editable display name, and a read-only, cross-channel timeline of every conversation with them — each entry links into the real inbox thread. |
| `/calls` | Phone call history for this workspace, newest first — direction, counterparty (matched to a contact when known, else just the number), status (including live queued/ringing/in_progress), duration, relative time, and telco cost in credits. Filterable to All or Missed (failed/no_answer/canceled). |
| `/calls/[id]` | One call's full detail: metadata (from/to, status, started/ended, duration, cost, error if any), a link to its transcript (the call's own chat), the recording if the provider kept one, and a link to the matched contact when known. |
| `/knowledge` | The Memory page. It says that memory lives in pages: the shared pages about people and things are in the Wiki folder in General, and the pages agents keep are in the Library's Memories view (`/library?kind=memory`). Needs a look shows skill suggestions from proven playbooks. Owners and admins also see the people they can forget, and approve or reject each request to forget a person. |
| `/tasks` | The shared task list between the user and their agents. List and board views. |
| `/library` | Everything durable: documents, files, links, and memories. Skills are not in the Library; they live at `/skills`. |
| `/library/[id]` | One artifact — its content, revisions, links, and access. |
| `/library/skills/[id]` | Old address of one skill. It redirects to `/skills/[id]`. |
| `/artifacts/[id]` | Alternate address for an artifact — redirects to `/library/[id]`. Exists so a link written into a document (`https://astralos.ai/artifacts/<id>`) reads as a real address without depending on the Library's own internal routing. |
| `/chats/[id]` | One chat. May be a DM, a channel, or a typed chat (list / board / inbox), which each render their own surface. |
| `/agents` | Every agent in the workspace. |
| `/agents/[slug]` | That agent's page: its DM (chat). |
| `/agents/[slug]/settings` | That agent's configuration. Use `?section=general|memory|files|skills|access|sharing|oversight|activity` to open a section. Memory shows its core page and memory pages; Files shows what it made; Skills shows what it can use; Activity shows its runs and events. |
| `/agents/[slug]/profile` | Redirects to `/agents/[slug]/settings?section=memory`. |

### Work that runs

| Route | What is there |
| --- | --- |
| `/activity` | The Event Log: every meaningful change to the workspace — agent tool calls, human actions, connected-channel activity, routine fires — one filterable, descending-time stream (family, actor, target type, date range). Forget requests are decided on `/knowledge`. Replaces the old chat-run Activity page and `/timeline`. |
| `/routines` | Scheduled recurring agent work, on a cron. Includes reminders. |
| `/routines/[id]` | One routine: its schedule, its configuration, and its run history. |
| `/computers` | Sandboxes the agents can run code in. |
| `/sites` | Deployed sites. |
| `/code` | Astral and linked GitHub repos. |
| `/domains` | Workspace domains, DNS status, renewal dates, and connected sites. |
| `/domains/[id]` | One domain: registration, nameservers, sites and subdomains in use, DNS records, and transfer. |
| `/sites/domains/[id]` | Old domain address. Redirects to `/domains/[id]`. |
| `/sites/[id]` | One deployment: its status, domains, and environment. |
| `/databases` | Provisioned databases. |
| `/databases/[id]` | One database, with a table browser. |

### Browse and set up

| Route | What is there |
| --- | --- |
| `/people` | The humans in the workspace. |
| `/skills` | The workspace's skills: create one, import one from GitHub, and filter by all, mine, shared with me, or archived. |
| `/skills/[id]` | One skill: its instructions, files, published versions, and details (source, access, the agents that use it). Publish, test the draft, export, and turn it on for an agent from here. |
| `/marketplace` | Apps and tools agents can call. |
| `/docs` | AIOS platform documentation — how the product works, organized as a tree. No session required (see Public), but listed here too because it is a normal navigation target for a signed-in user. |
| `/docs/tools` | Generated reference of every tool AIOS agents can call, read live from the `apps`/`tools` catalog. No session required. |
| `/docs/[slug]` | One documentation page. No session required. |
| `/credentials` | Connected accounts and keys, and what is still unconnected. |
| `/transcribe` | A live speech-to-text scratchpad. |
| `/trash` | Deleted artifacts, chats, agents, routines, and home feed posts — restorable for a 7-day grace period before they're gone for good. |
| `/world` | The immersive world view — a game-like canvas of the workspace. |
| `/welcome` | Guided setup: pick a pack, name the workspace and its first agent. |

### Settings

`/settings` is a shell with a persistent sub-nav; every section below
renders inside it.

| Route | What is there |
| --- | --- |
| `/settings` | Workspace: name, identity, defaults. |
| `/settings/access` | The one access surface — people, teams, agents, and what each can reach. |
| `/settings/channels` | Connected channels and mailboxes. |
| `/settings/models` | Model configuration and provider keys. |
| `/settings/packs` | Installed packs. |
| `/settings/appearance` | Theme and atmosphere. |
| `/settings/billing` | Plan, wallet, auto-recharge. |
| `/settings/account` | The signed-in user's own account. |
| `/settings/admin` | Platform administration. Open to admins and owners of an operator workspace; masked as not-found for everyone else. |

### Redirects

These exist so older links keep working. Send users to the target
directly.

| Route | Goes to |
| --- | --- |
| `/approvals` | `/feed?filter=approvals` |
| `/billing` | `/settings/billing` |
| `/admin` | `/settings/admin` |
| `/posts` | `/feed` (query string, e.g. `?author=`/`?ref=`/`?type=`/`?workspace=`, passes through unchanged) |
| `/timeline` | `/activity` (query string passes through unchanged) |
| `/settings/trash` | `/trash` (query string passes through unchanged) |

### Not built yet

| Route | Status |
| --- | --- |
| `/receipts` | Placeholder page. Nothing to do there yet. |

## Public

No session required.

| Route | What is there |
| --- | --- |
| `/` | The marketing landing page, when signed out. |
| `/login` | Sign in. |
| `/signup` | Create an account. |
| `/invites/[token]` | Accept a workspace invite. |
| `/chat-invites/[token]` | Accept an invite to a single chat. |
| `/privacy` | Privacy policy. |
| `/terms` | Terms and conditions. |
| `/user-data-deletion` | How to request data deletion. |
