Overview
At its core, Skylight hosts stable, cloud-based Windows desktop virtual machines, serving as the infrastructure for deploying agents at scale. Each Skylight instance is a fully functional Windows desktop, preloaded with essential software and ready for agent interaction. These instances can be controlled programmatically or used with built-in or custom agents to perform automated tasks. By default, instances come pre-configured with Microsoft Word, Excel, PowerPoint, VS Code, Firefox, and Paint. You can also install additional apps. This guide walks you through managing your instances — starting, pausing, and terminating them as needed.Start a Windows Instance
start
endpoint returns a JSON with these properties:
Property | Description | Example |
---|---|---|
instance_id | Unique identifier of the created instance | "i-123456" |
message | Human-readable status message | "Instance ready to use" |
livestream_url | URL to livestream the instance | "launchskylight.com/embed/i-123456" |
state | State of the instance | "running" , "pending" , "hibernated" , or "terminated" |
Instance State Management
To optimize costs, it is recommended to manage the state of your instances.Check instance state
Instances can be running, pending, hibernated, or terminated:- Running: you can interact with the instance and operate it with the AI agent
- Pending: the instance is starting up
- Hibernated: this preserves the state without incurring full runtime costs. Hibernated instances maintain knowledge, files, and the desktop state.
- Terminated: the instance is shut down and cannot be recovered. All information (including knowledge, files, and desktop state) is wiped, so make sure to save any important data before terminating.
state
endpoint returns a JSON with these properties:
Property | Description | Example |
---|---|---|
instance_id | Unique identifier of the instance | "i-123456" |
state | Current state of the instance | "running" , "pending" , "hibernated" , or "terminated" |
timeout | Timeout in minutes before instance auto-termination | 60 |
used_minutes | Minutes used by the instance so far | 10 |
knowledge | Current knowledge of the instance | "unknown" |
livestream_url | URL to livestream the instance | "launchskylight.com/embed/i-123456" |
assigned_at | When the instance was assigned | "2023-01-01T12:00:00Z" or null |
Pause an instance
Hibernate your instance to save its state:pause
endpoint returns a JSON with these properties:
Property | Description | Example |
---|---|---|
status | Status of the operation | "success" |
message | Human-readable status message | "Operation completed successfully" |
state | State of the instance | "hibernated" |
Resume an instance
Resume a previously paused instance:resume
endpoint returns a JSON with these properties:
Property | Description | Example |
---|---|---|
status | Status of the operation | "success" |
message | Human-readable status message | "Operation completed successfully" |
state | State of the instance | "running" |
livestream_url | URL to livestream the instance | "launchskylight.com/embed/i-123456" |
Terminate an instance
Completely shut down and remove an instance:terminate
endpoint returns a JSON with these properties:
Property | Description | Example |
---|---|---|
status | Status of the operation | "success" |
message | Human-readable status message | "Operation completed successfully" |
state | State of the instance | "terminated" |
List all instances
Get a list of all your Windows instances:instances
endpoint returns a list of instances with these properties:
Property | Description | Example |
---|---|---|
instances | Array of instance objects | [{...}] |
instances[].instance_id | Unique identifier of the instance | "i-123456" |
instances[].state | Current state of the instance | "running" |
instances[].timeout | Timeout in minutes before auto-termination | 60 |
instances[].used_minutes | Minutes used by the instance so far | 10 |
instances[].knowledge | Current knowledge of the instance | "unknown" |
instances[].livestream_url | URL to livestream the instance | "launchskylight.com/embed/i-123456" |
instances[].assigned_at | When the instance was assigned (ISO timestamp) | "2023-01-01T12:00:00Z" |
Knowledge
Instances gain knowledge from agent runs over time. Knowledge gives agents context of what previous agents have done to avoid task repetition or ‘forgetting’ of information. When an agent completes a task, it produces a summary of its actions and the final result. Information in the summary is automatically stored in the knowledge of the specific instance to provide context to the agent for future tasks. You can also edit knowledge yourself to give the agent any other context it may need to complete its task. Currently, you can only edit knowledge through the Playground UI.Best Practices
- Use timeouts to prevent unintended billing - set an appropriate timeout when starting an instance
- Pause VMs when not in use to reduce costs while preserving state
- Check VM state before performing operations to ensure it’s in the expected state
- Save important data before terminating - download your files and save any other important information before terminating instances
Instance Resources
By default, Windows instances are provisioned with standard CPU and RAM configurations. If you need additional resources such as:- More RAM
- Additional CPU cores
- GPU acceleration