Skip to main content
The xkat platform natively supports browser-based interactive coding.
For advanced courses requiring local embedded hardware (e.g., Arduino) or isolated Ubuntu Lab VMs, the Local Agent (xkat-cli) bridges your web browser with your computer securely.
Security Notice: The local agent never exposes ports to the public internet. It communicates strictly within your local machine (localhost:127.0.0.1). Commands are dispatched only with your explicit permission.

1. Quick Start

Open your computer’s terminal (PowerShell, Terminal, or Bash) and run the one-line command:
Once executed, the status indicator in the xkat web player will automatically switch to [Online] within seconds.

2. OS-Specific Setup Guide

Windows Setup

  • Terminal: Open PowerShell, Windows Terminal, or Command Prompt (CMD).
  • Command:
  • For Lab VM Practice:
    • Windows 10/11 64-bit is recommended.
    • Open Task Manager (Ctrl+Shift+Esc) → [Performance] tab, and verify that Virtualization: Enabled is shown.

3. Troubleshooting & FAQ

If you encounter errors or connection issues during setup, follow the solutions below:
This means the Node.js runtime is not installed on your system.
  • Windows: Download and install the LTS version from nodejs.org, or run in PowerShell:
  • macOS: Install from nodejs.org or via Homebrew:
  • Linux (Ubuntu/Debian):
After installation, restart your terminal window and re-run npx -y xkat-cli@latest up.
  • Keep Terminal Open: Ensure the terminal window running the agent command remains open and active.
  • Clean Port & Restart: If port 38000–38050 has an existing stalled process, restart the agent with:
  • Firewall/Antivirus: Ensure security software or corporate VPNs are not blocking internal 127.0.0.1 loopback connections.
  • Windows Virtualization Check:
    • If Task Manager → Performance shows Virtualization is Disabled, restart your PC, enter BIOS/UEFI settings, and enable Intel VT-x or AMD SVM.
  • Full VM Reset:
    • If the virtual machine state becomes corrupted, reset it cleanly using:
To gracefully stop background agent processes and free system resources: