Console overview
The console at https://console.codyhill.dev is the web home of the Crusoe Agent Platform. This page gives you the full tour: how to sign in, how to pick a project, what every page does, and the keyboard shortcuts that make it fast.
What the console is
The console is a single web app for the whole platform. Anything you can do with the platformctl CLI or the raw API, you can do (or at least see) here: deploy and chat with agents, deploy functions, run serverless services, manage MemoryStore instances, VectorDB indexes, Pub/Sub topics, secrets, service accounts, and MCP servers, and review quotas and the audit log.
A 30-second mental model
Your browser never holds your access token. It holds a session cookie, and a small server behind the console swaps that cookie for a token on every request it forwards to the platform APIs.
Two things follow from this design:
- The console makes no permission decisions itself. Every "can you do this?" check happens in the service API behind it. What you see in the console is exactly what your account can do.
- The cookie is
HttpOnly, which means JavaScript running in the page can never read your credential. Even a script-injection bug could not steal it.
Sign in
Open https://console.codyhill.dev and enter your email and password.
There is no self-service sign-up page. Accounts are created by an administrator or through an invitation link — ask your administrator for one. See Create an account.
A few things to know about sessions:
- If your account was created with a temporary password, the console shows a sticky "Choose a new password" dialog before anything else works. New passwords must be at least 12 characters.
- A session lasts up to 12 hours. The cookie does not survive closing your browser — you sign in again next time. This is deliberate.
- Signing out asks the server to clear the session cookie and returns you to the sign-in screen. If the server is unreachable the screen still resets, but the cookie is not cleared — and because session tokens are stateless, a token already issued stays valid until its 12-hour expiry either way.
- The console never stores your password.
The scope switcher and command palette
Everything in the console is filtered by your scope: the organization and project you are working in. A project is a private workspace — every resource you create belongs to exactly one.
Press Cmd+K (Mac) or Ctrl+K (Windows/Linux), or click the Scope button in the top bar. One box does two jobs:
- Search. Type a few letters and it finds anything you can see across all your projects: agents, functions, serverless services, MCP servers, service accounts, secrets, and projects. Each result is a deep link.
- Switch project. Under a Switch project heading, one row per project you belong to — pick one and your scope changes everywhere.
Use the arrow keys to move, Enter to open, Esc to close. The console remembers your last scope, so you land back where you were.
What page does what
The left navigation is organized by section. Pages you cannot use are hidden, and pages you can see but not fully use render a plain-language "no access" explanation instead of a raw error.
| Section | Page | What it does | Who sees it |
|---|---|---|---|
| Overview | Home | Dashboard tiles counting every resource type in the project | Project members |
| Integrations | Crusoe Cloud | Links this project to Crusoe Cloud resources | Project members |
| Compute | Serverless | Deploy and manage scale-to-zero services, traffic splits, triggers | Project members |
| Compute | Functions | Deploy one-file HTTP handlers; invoke and read logs | Project members |
| Compute | Agents | Deploy agents, chat with them, inspect sessions, manage the embed widget | Project members |
| Compute | MCP servers | Publish tool code as hosted MCP endpoints, with versions and rollback | Project members |
| Data services | MemoryStore | Create and manage key-value store instances | Project members |
| Data services | VectorDB | Create indexes, browse data, run live queries | Project members |
| Messaging | Pub/Sub | Topics and subscriptions | Project members |
| Security | Secrets | Store secret values, manage versions and bindings | Project members |
| Security | Service accounts | Machine identities and their API keys | Project members |
| Security | My API keys | Your personal API keys (not tied to any project) | Every signed-in user |
| Security | Audit log | Who changed what, newest first | Anyone who can see the project |
| Project | IAM & members | Members, roles, invitations, break-glass grants | Anyone who can see the project |
| Project | Quotas | Live capacity bars for the project's limits | Project members |
| Administration | Organizations | Orgs and the platform user directory | Platform admins |
| Administration | Projects | The projects you belong to; create new ones | Every signed-in user |
Clicking a row usually opens a detail page. For example, an agent's detail page has tabs for Overview, Test (chat with it), Logs, Revisions, YAML, Access, and Embed. The active tab is part of the URL, so you can share a link straight to it.
A platform admin can see every project's IAM page but not its contents — no agents, no secrets, no data. Service pages explain this and point to break-glass access. Read why platform admins cannot read your data.
The docs drawer
Every service page has a Docs button in its header. It opens a reference drawer for that service — field meanings, limits, and API routes — without leaving the page. The content is built into the console, so it works even with no internet route to this site.
Live updates
List and detail pages refresh themselves: roughly every 5 seconds while something is building or deploying, and about every 25 seconds once things are steady. Polling pauses entirely while the tab is hidden. The Refresh button on any page bumps it back to the fast cadence.
Deploying from the browser
The Agents and Functions pages can deploy code straight from the browser, in three modes: write (edit files in the page), files (pick or drag a folder), or archive (upload a ready-made .tar.gz). The browser packs your files into a compressed archive and uploads it.
Limits when the browser does the packing: 1 MiB per file, 16 MiB total, and file paths up to 100 bytes. A supplied archive can be up to 32 MiB. Junk directories like .git, node_modules, and __pycache__ are skipped automatically. Two sharp edges:
- An upload replaces the whole stored source tree for that agent or function.
- The write and files modes store source as text — binary files must go through the archive mode.
If your archive is larger than 32 MiB, the console refuses with this exact message and you should use the CLI, which uploads directly to the agent engine (its own cap is 100 MiB):
the uploaded source archive is larger than the console accepts (32 MiB); deploy it with `platformctl deploy` instead, which uploads to the agent engine directly
When something goes wrong
Every console error carries a request id. Error messages are deliberately scrubbed of internal details, so the request id is the string to quote to support — it lets them find the exact log lines across the console and the service behind it.
How it compares
| Crusoe Agent Platform console | The big clouds | |
|---|---|---|
| Scope of one screen | One console for agents, functions, data services, messaging, and IAM | GCP Console, AWS Management Console, and Azure Portal cover far more services (VMs, networking, billing, hundreds of products) |
| Sign-in | Email + password; accounts by admin or invitation only; no MFA yet (alpha) | All three offer MFA, SSO, and federated identity |
| Staff access to your data | Structurally blocked; only a visible, audited break-glass grant opens it | Governed by internal provider controls, not visible to you in-product |
| Search | Cmd/Ctrl+K palette across every resource you can see | Comparable global search in all three |
Next steps
- Projects and access — orgs, members, roles, and invitations
- Service accounts and API keys — credentials for scripts and CI
- Quotas and audit log — capacity bars and the change history
- Embedded chat widget — put an agent on your own website
- Security overview — the identity model behind all of it