Skip to main content

Console overview

The web console at https://console.codyhill.dev is the centralized management hub for the Crusoe AI Platform. It provides a visual dashboard for monitoring and managing your entire cloud AI infrastructure, including autonomous agents, serverless functions, vector databases, memory stores, secrets, and team permissions.

Every action available in the platformctl command-line interface or raw REST APIs can be executed or visually inspected directly within this web interface.

Crusoe AI Platform Console Dashboard


Architecture and security model

The console is designed around a zero-trust browser model. Your raw API access tokens are never stored in browser storage (like localStorage or sessionStorage). Instead, your browser maintains an encrypted, HttpOnly session cookie.

Security guarantees

  • Backend permission enforcement: The console UI does not decide what you can or cannot access. Every API request is checked by backend access control policies. You see and edit only what your account is permitted to touch.
  • XSS protection: The HttpOnly flag prevents client-side JavaScript from reading or extracting your session credentials, keeping your account safe from script injection attacks.
  • Stateless 12-hour session lifetime: Sessions expire automatically after 12 hours. Closing your browser terminates the session context.

How to sign in

Follow these steps to access the web console:

  1. Open https://console.codyhill.dev in any modern web browser.
  2. Enter your registered Email Address and Password.
  3. Click Sign In.
Self-service registration

To maintain enterprise security controls, self-service sign-up is disabled. Accounts must be provisioned by a platform administrator or created via an invitation link. See Projects and access for invitation details.

First-time sign-in requirements

  • Temporary password reset: If an administrator created your account with a temporary password, a modal dialog will prompt you to set a permanent password before continuing. Permanent passwords must be at least 12 characters long and contain a mix of letters, numbers, and special characters.
  • Stateless sign-out: Clicking Sign Out clears your local browser session state and revokes the active session cookie on the server.

Scope switcher and command palette

All platform resources (agents, functions, secrets, vector indexes) are isolated inside projects. The current project and organization you are viewing is called your scope.

Press Cmd+K (macOS) or Ctrl+K (Windows/Linux) from anywhere in the console, or click the Scope selector in the top navigation bar.

The command palette provides two functions in one unified search bar:

  1. Global resource search: Type a resource name, ID, or tag to instantly jump to any agent, function, secret, database, or service account across all projects you can access.
  2. Instant scope switching: Select a project under the Switch project header to instantly filter the entire console view to that project's context.

Keyboard navigation cheatsheet

ShortcutDescriptionContext
Cmd+K / Ctrl+KOpen global search & project scope switcherGlobal
/Focus the quick-filter search box on list pagesList pages
Up / Down ArrowsHighlight items in the search resultsPalette / Menus
EnterSelect and navigate to highlighted resourcePalette / Menus
EscClose command palette, modals, or slide-over drawersGlobal
In-page table filtering

Pressing / focuses the filter input box on list pages (such as Agents, VectorDB, or Secrets). This filter instantly screens visible table rows by matching text across all columns without triggering additional network requests.


Console navigation and service views

The left navigation sidebar organizes platform services into functional categories. Below is a detailed walkthrough of each major console section, complete with step-by-step operational capabilities and UI views.

1. Compute: Autonomous Agents

The Agents console lets you deploy, configure, test, and monitor autonomous AI agents.

Agents Console View

Step-by-step agent workflow:

  1. Navigate to Compute → Agents.
  2. Click Deploy Agent to open the browser deployment modal (supports direct code editing, folder upload, or archive upload).
  3. Select an existing agent row to view detail tabs:
    • Overview: View deployment status, endpoints, and runtime metrics.
    • Test: Open an interactive real-time chat interface to test agent responses and tool execution.
    • Sessions: Inspect live and historical conversation threads, prompt context, and token usage.
    • Logs: Stream real-time standard output and diagnostic logs.
    • Revisions: Inspect historical deployment builds and perform one-click rollbacks.
    • Embed: Generate customizable JavaScript chat widget snippets for embedding agents into external websites.

2. Compute: Serverless Functions

The Functions console allows you to deploy and invoke lightweight, single-file HTTP handlers and event-driven functions.

Functions Console View

Step-by-step functions workflow:

  1. Navigate to Compute → Functions.
  2. Click Deploy function.
  3. Pick the Language first — Python, Node.js, Go, or Ruby. It decides the handler file and dependency manifest you are about to edit, which is why the field sits above the code: handler.py + requirements.txt, handler.js + package.json, handler.go with no manifest, or handler.rb + Gemfile. A function keeps its language across redeploys, so this choice is not revisitable from the update dialog.
  4. Choose a Trigger in the same dialog — HTTP, Pub/Sub topic, Object store bucket, or Schedule — then write or upload your source and click Deploy function.
  5. Optionally set Environment variables, one KEY=value per line. These are plain env vars, readable by anyone who can read the function; put tokens in a Secret and bind them instead. The box only seeds them at create time — change them later with Edit on the function's page.
  6. Click on any deployed function to:
    • Execute test HTTP payloads directly from the web editor.
    • View real-time request counts, execution duration, and error rates.
    • Tail live execution logs during request invocations.
    • Attach another trigger with Add trigger.
Let the object-store form fill in the bucket

Choosing Object store bucket lists the project's Crusoe Cloud buckets and fills the endpoint and region from the one you pick, and defaults the credentials Secret to crusoe-object-store — the S3 key the platform minted from your Crusoe Cloud connection. A hand-typed region that does not match the bucket's produces a trigger that exists, looks configured on screen, and never delivers anything.


3. Compute: Scale-to-Zero Serverless Services

The Serverless console manages containerized microservices that scale seamlessly down to zero instances when idle.

Serverless Console View

Step-by-step serverless container management:

  1. Navigate to Compute → Serverless.
  2. Click Deploy Service to configure container image URIs, CPU/memory limits, auto-scaling thresholds (min/max instances), and port bindings.
  3. Select a running service to adjust live Traffic Splits across multiple revisions, set up HTTP triggers, or inspect container health checks.

4. Compute: Hosted MCP Servers

The MCP Servers Console provides hosting and version control for Model Context Protocol (MCP) servers, exposing custom tool sets to your agents.

MCP Servers Console View

Step-by-step MCP server management:

  1. Navigate to Compute → MCP Servers.
  2. Review available MCP servers, exposed tool definitions, and transport endpoints (SSE / Stdio).
  3. Click Deploy Version to push updated tool definitions, or use the Revisions tab to instantly yank broken builds or roll back to a known stable revision.

5. Data Services: VectorDB

The VectorDB console gives you visual control over high-dimensional vector indexes used for AI retrieval-augmented generation (RAG).

VectorDB Console View

Step-by-step vector index operations:

  1. Navigate to Data Services → VectorDB.
  2. Click Create Index to provision a vector index, specifying vector dimensions and distance metrics (Cosine, Euclidean, Dot Product).
  3. Open an index detail page to:
    • Browse payload metadata and document chunks.
    • Run interactive Live Vector Queries directly in the console to test search accuracy.
    • Monitor total vector count and storage consumption.

6. Data Services: MemoryStore

The MemoryStore console provisions fully managed, Redis-compatible in-memory key-value data stores.

MemoryStore Console View

Step-by-step MemoryStore operations:

  1. Navigate to Data Services → MemoryStore.
  2. Click Create Instance to select memory tiers and persistence settings.
  3. Select an active instance to inspect live metrics (hit/miss ratio, connected clients, memory fragmentation) or copy connection URIs for application bindings.

7. Messaging: Event Pub/Sub

The Pub/Sub console manages asynchronous event topics and push/pull message subscriptions across your services.

Pub/Sub Console View

Step-by-step Pub/Sub workflow:

  1. Navigate to Messaging → Pub/Sub.
  2. Click Create Topic to establish event streams.
  3. Add Subscriptions to configure push HTTP endpoints or pull queues with dead-letter queue (DLQ) retry policies.

8. Networking: Endpoints

The Endpoints console is what puts a workload on the internet. Nothing you deploy is publicly reachable until it has an endpoint — the empty state says so directly ("Nothing here is on the internet").

Endpoints Console View

Step-by-step endpoint configuration:

  1. Navigate to Networking → Endpoints.
  2. Click Publish new endpoint and pick the target — an agent, function, serverless service, container, MemoryStore, or the project-wide VectorDB and Pub/Sub engines.
  3. Choose how the endpoint is protected. There is no default: apikey mints a key and shows it once, jwt takes your own issuer and JWKS URI, none is genuinely public. Omit it and the API answers 400 naming auth.mode.
  4. Continue creates the endpoint unpublished — the address is reserved and nothing is serving yet — so you can read the composed address before anything goes live. Click Publish on the review pane, or later from the endpoint's row.
  5. Use Your own addresses to attach a custom domain, and Unpublish to take an endpoint off the internet while keeping its address and keys.
A public endpoint must carry a rate limit

An auth.mode of none on a request-level endpoint is refused without a rate limit — the API answers 400 on rate_limit. With no credential there is no key to attribute a flood to, and an open agent endpoint spends model tokens on every call from anyone who finds the URL. The console fills in 60 requests per minute keyed on the caller's address when you leave the field blank; the CLI and API do not, so pass one explicitly. Raw-connection (L4) targets such as MemoryStore are the exception: they have no requests to count, so a rate limit is refused there instead.


Deploying workloads directly from the browser

The console includes an integrated browser deployment engine for Agents and Functions, allowing you to ship code without local CLI tools.

Deployment modes

  1. In-browser Editor (Write): Create or edit source code files directly in the web browser.
  2. Folder Upload (Files): Select or drag-and-drop a local project folder directly into the console.
  3. Source Archive (Archive): Upload a pre-built .tar.gz archive containing your code and configuration.

Deployment prerequisites and limits

  • Crusoe Cloud Connection: Before browser deployments can process, your project must be linked to a Crusoe Cloud Registry bucket under Project Settings.
  • Browser Packing Caps: Browser uploads are capped at 1 MiB per file, up to 16 MiB total directory size, and max file paths of 100 characters. Archives uploaded directly support up to 32 MiB.
  • Large Project Deployments: If your source code exceeds 32 MiB (e.g., heavy model weights or binaries), use the platformctl CLI tool, which streams code directly up to 100 MiB:
# An agent. The directory is positional and required.
platformctl deploy ./src --name my-agent

# A function.
platformctl functions deploy ./src --name my-function

--name defaults to the directory's basename. For an agent, --framework is auto-detected from the entrypoint file (crew.py → crewai, graph.py → langgraph, anything else → adk); for a function, --runtime is auto-detected from the handler file (handler.py, handler.js, handler.go, handler.rb). Pass either flag only to override the detection.


Bulk resource management

The console provides multi-select batch operations on list pages (Agents, Functions, Serverless, MCP Servers, MemoryStore, and VectorDB).

Step-by-step bulk delete procedure:

  1. Navigate to the desired list page (e.g., Compute → Agents).
  2. Click the checkbox next to the items you wish to remove. To select all visible items on the page, tick the checkbox in the table header.
  3. Click the Delete (N) action button in the top action bar.
  4. Review the confirmation modal listing all targeted resources by name.
  5. Click Confirm Delete to execute batch deletion. The console will report granular status results for each item processed.
Bulk Delete Permissions
  • For Serverless, MCP Servers, MemoryStore, and VectorDB, multi-select deletion requires the Project Admin role.
  • For Agents and Functions, users can multi-select and delete items that they created or own.

System health and support tools

Built-in documentation drawer

Click the Docs button in the top header of any service view to slide open an embedded reference drawer detailing API schemas, configurations, and field specifications without leaving your current workspace.

Real-time polling engine

The console automatically polls backend APIs for state changes every 5 seconds during active deployments, scaling down to 25 seconds during steady-state operations. Background browser tabs automatically pause polling to save network bandwidth and battery life.

Error reporting with Request IDs

Every error banner displayed in the web console includes a unique Request ID (e.g., req_8f92a10b). When requesting technical support, cite this Request ID so support engineers can trace logs across gateway routers and microservices.


Feature comparison matrix

FeatureCrusoe AI Platform ConsoleLegacy Cloud Consoles (AWS / GCP / Azure)
Resource FocusUnified dashboard tailored specifically for AI Agents, LLM toolchains, & RAGGeneralized infrastructure (VMs, VPCs, raw disks)
Security & SessionHttpOnly stateless cookies; 12-hour forced expirySession cookies with persistent local storage options
Data PrivacyPlatform admins hold no authority over your project's resources — their reads 404 like a stranger's. Entry requires a self-expiring break-glass grant with a written reason shown to your membersInternal operator access managed via offline provider policy
Command PaletteGlobal Cmd+K cross-resource search & instant scope switcherVariable per-service search bars

Next steps