bt-panel

Deploy projects and manage servers remotely through the aaPanel/BT Panel HTTP API.

5.9k|445|Updated Jan 4, 2026
One-click install
npx skills add https://github.com/fengshao1227/ccg-workflow --skill bt-panel
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bt-panel
Source: https://github.com/fengshao1227/ccg-workflow/tree/main/templates/skills/bt-panel
Command: npx skills add https://github.com/fengshao1227/ccg-workflow --skill bt-panel

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Managing servers behind a BT Panel (aaPanel) normally requires SSH access, rsync, or manual panel clicks. This Skill lets you deploy projects, update live sites, transfer files, run shell commands, and execute MySQL migrations entirely through the panel's HTTP API using only a panel URL and API key.

Core Features & Use Cases

  • One-command deployment: Package a local directory as tar.gz, upload, extract, fix ownership, run SQL migrations, and restart services (pm2/systemctl) with optional backup and dry-run preview.
  • Full remote operations CLI: List sites and databases, read/write/upload/download files, execute shell commands with output polling, and run SQL with automatic credential lookup.
  • Multi-version adaptation: Automatically detects panel OS, variant (BT vs aaPanel), and major version (v7–v11+), then selects the correct shell and SQL interfaces without configuration.
  • Use Case: You receive a panel address and 32-character API key and are asked to "update the live site" — the Skill tests connectivity, backs up the remote directory, deploys your local build to /www/wwwroot, restarts pm2, and verifies the result.

Quick Start

Provide the panel URL and API key, then ask the AI to deploy your local project folder to the remote site path under /www/wwwroot and restart the service.

Frequently Asked Questions about bt-panel

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deploy a project to a BT Panel server without SSH?

Use bt_deploy.py with the panel URL and API key to package your local directory as tar.gz, upload it via the panel API, extract it to the target path, and restart services. Run with --dry-run first to preview the steps.

How to execute SQL on a BT Panel MySQL database remotely?

Use bt_client.py sql <db> "<query>" or --from-file for migration scripts. The client first tries the panel SqlExecute API, then falls back to shell plus the mysql CLI with credentials looked up automatically from the panel database list.

Does this work with aaPanel and older BT Panel versions?

Yes. The client auto-detects the panel OS, variant, and major version on first connection. It uses ExecShell for v11+, ExecShellMsg for v7–v10, recognizes English error messages from aaPanel, and adapts SQL execution for Windows panels.

Why does BT Panel API return signature verification failed?

Signature failures come from an incorrect API key or client clock drift over 60 seconds. Sync your system time with NTP and verify the key in panel settings under API interface, and confirm your public IP is whitelisted.

What are the limitations of the BT Panel API approach?

It does not support 1Panel, which uses a different REST API. Concurrent shell executions on the same panel can overwrite each other's output file, and Windows panel support is experimental for the deployment script.