Copilot Extension

VS Code Extension

Manage your Linux servers directly from VS Code Copilot Chat using natural language. Ask @managelm to check system status, manage packages, configure services, run security audits, and more — across one server or an entire fleet.

Table of Contents

Overview

The ManageLM VS Code extension adds a @managelm chat participant to GitHub Copilot Chat. Once configured, you can manage your entire Linux infrastructure using natural language — no terminal, no SSH, no context switching.

You describe what you need in plain English. Copilot selects the right tool, sends the instruction to the agent running on your server via the ManageLM portal, and returns the result — all within the chat panel.

Features

Natural Language

Describe tasks in plain English. The extension picks the right tool and parameters automatically.

13 Built-in Tools

List servers, run tasks, check status, view security findings, scan inventory, approve agents, and more.

Multi-Server

Target a single server, a group, or broadcast to all agents. Results are presented clearly per server.

Security Audits

Run security audits on any server and review findings with severity levels, explanations, and remediation.

Inventory Scans

Discover installed packages, running services, and containers across your servers.

Copilot Native

Works inside Copilot Chat — no separate UI, no extra windows. Just type @managelm.

Architecture

VS Code Copilot Chat ── REST API ──> ManageLM Portal ── WebSocket ──> Agent on Server @managelm (cloud control (outbound only, (local LLM, plane) no inbound ports) skill execution)

The extension communicates with the ManageLM portal via REST API. The portal dispatches tasks to agents over WebSocket. Agents execute tasks using a local LLM and report results back. No SSH, no inbound ports on your servers.

Installation

From the VS Code Marketplace

Search for ManageLM in the Extensions panel, or run:

terminal
code --install-extension managelm.managelm

From VSIX

Download the .vsix from GitHub Releases and install:

terminal
code --install-extension managelm-1.0.0.vsix

Setup

The extension uses an API key for authentication. Configure it in VS Code settings:

  1. Open Settings (Cmd+, / Ctrl+,) and search for ManageLM

  2. Set your API Key — find it in your ManageLM portal under Settings > MCP & API

  3. (Optional) If self-hosting, set the Portal URL to your own portal address

  4. Open Copilot Chat and type @managelm followed by your request

Self-hosted users: Set the Portal URL to your own portal address (e.g. https://managelm.yourcompany.com). The default is https://app.managelm.com.

Available Tools

The extension provides 13 tools that the @managelm participant uses to interact with your infrastructure:

ToolDescription
listAgentsList all servers with status, health metrics, OS info, and IP addresses
agentInfoGet detailed information about a specific server
runTaskExecute a skill-based task on a server (requires target, skill, instruction)
getTaskStatusCheck status and result of a task by its ID
getTaskHistoryView recent tasks for a server
approveAgentApprove a pending agent enrollment
listSkillsList all skills available in your account
agentSkillsList skills assigned to a specific server
getSecurityView security audit findings for a server
getInventoryView system inventory (packages, services, containers)
runSecurityAuditStart a security audit on a server
runInventoryScanStart an inventory scan on a server
accountInfoGet account plan, members, and usage details

Skills

When using runTask, you specify a skill that determines what the agent can do. The extension automatically selects the right skill based on your request.

SkillDescription
baseRead files, system info, resource monitoring, network diagnostics
systemOS config, performance tuning, hostname, timezone, kernel parameters
packagesInstall, remove, update packages across apt/dnf/yum/pacman
servicesSystemd units, cron jobs, logs, process management
usersUser accounts, groups, SSH keys, sudo, password policies
networkInterfaces, routes, DNS, ports, connectivity testing
securityAudits, fail2ban, SSH hardening, SELinux/AppArmor, SSL/TLS
filesRead, write, and manage files on remote servers
firewalliptables, nftables, firewalld, ufw
dockerContainers, images, compose, volumes, networks
apacheVirtual hosts, modules, SSL, configuration
nginxServer blocks, reverse proxy, SSL, load balancing
mysqlDatabases, users, queries, backups, replication
postgresqlDatabases, roles, queries, backups, extensions
backupCreate, schedule, restore, verify backups
certificatesLet's Encrypt, self-signed, inspection, renewal
gitClone, pull, status, log on remote servers

Tip: You don't need to know skill names. Just describe what you want — "install nginx on web-01" — and the extension will select the right skill automatically.

Example Usage

Open Copilot Chat and type @managelm followed by your request:

copilot chat
# Server overview
@managelm show me all my servers
@managelm which servers have CPU above 80%?

# System administration
@managelm check disk usage on web-prod-01
@managelm list running services on lb-01
@managelm show the last 50 lines of /var/log/syslog on monitoring-1

# Package management
@managelm install nginx on all servers in the staging group
@managelm update all packages on db-primary

# User management
@managelm list all users on pocmail
@managelm add SSH key for user deploy on web-prod-01

# Security
@managelm run a security audit on db-primary
@managelm show security findings for web-prod-01

# Infrastructure discovery
@managelm run an inventory scan on lb-01
@managelm which servers are running Docker?

# Agent management
@managelm approve the new server that just enrolled
@managelm what skills does web-prod-01 have?

Security

Requirements

Troubleshooting

API key not configured

Open VS Code Settings (Ctrl+,), search for ManageLM, and enter your API key. You can find it in the portal under Settings > MCP & API.

Connection refused or timeout

Verify the portal URL in VS Code settings is correct and reachable. The default is https://app.managelm.com. If self-hosting, make sure your portal is running and accessible.

No agents listed

Either no agents are enrolled, or your API key doesn't have access. Check the portal dashboard to verify agents are enrolled and online.

Task timeout

Tasks have a 120-second timeout by default. For long-running operations, break them into smaller steps or check task status with a follow-up message.

Extension not activating

The extension requires GitHub Copilot Chat. Make sure the github.copilot-chat extension is installed and active. Try reloading VS Code (Ctrl+Shift+P > Reload Window).

Agent offline

Tasks can only run on online agents. Check agent status with @managelm show me all my servers. If an agent is offline, verify the agent process is running on the server.