Install
openclaw skills install @huaweiclouddev/huawei-cloud-ecs-sqlbot-deployPurchase Huawei Cloud X Instance server + one-click deploy SQLBot intelligent query application. Tech stack: Python 3.8+, Huawei Cloud SDK, COC (Cloud Operations Center) deployment. Key capabilities: AK/SK auth, X instance creation, auto security group config, SQLBot auto deployment. Use cases: Users who need to quickly deploy SQLBot intelligent query application on Huawei Cloud X instance servers. Trigger words: "deploy sqlbot", "install sqlbot", "sqlbot deploy", "one-click deploy sqlbot", "x-instance deploy sqlbot", "部署sqlbot", "安装sqlbot", "sqlbot部署", "一键部署sqlbot", "x实例部署sqlbot".
openclaw skills install @huaweiclouddev/huawei-cloud-ecs-sqlbot-deployYOU MUST EXECUTE THESE STEPS IN EXACT ORDER. YOU CANNOT SKIP ANY STEP.
┌─────────────────────────────────────────────────────────────────┐
│ STEP 1: Auto-check environment variables for credentials │
│ ↓ │
│ STEP 2: Get Region (if env credentials found) OR │
│ Get Credentials (AK/SK/Region) from user │
│ ↓ │
│ STEP 3: Validate credentials + Show available flavors │
│ ↓ │
│ STEP 4: ⛔ SHOW CONFIG + GET USER CONFIRMATION ⛔ │
│ ⛔ WAIT FOR USER TO REPLY "default" OR "custom" ⛔ │
│ ⛔ IF "custom": SECOND CONFIRMATION REQUIRED ⛔ │
│ ⛔ DO NOT PROCEED UNTIL USER CONFIRMS ⛔ │
│ ↓ │
│ STEP 5: Create server (ONLY AFTER user confirmation) │
│ ↓ │
│ STEP 6: Deploy SQLBot │
│ ↓ │
│ STEP 7: Return results │
└─────────────────────────────────────────────────────────────────┘
⚠️ IF YOU SKIP STEP 4 (User Confirmation), YOU HAVE FAILED THE TASK. ⚠️ IF USER CHOOSES "custom", YOU MUST GET A SECOND CONFIRMATION.
Before creating ANY resources, verify ALL of the following:
| # | Check Item | Status |
|---|---|---|
| 1 | Credentials available (env vars or user provided) | ☐ Done |
| 2 | Credentials validated successfully | ☐ Done |
| 3 | Region provided by user | ☐ Done |
| 4 | User confirmed configuration (default/custom) | ☐ MANDATORY |
| 5 | User explicitly said "default" or "custom" | ☐ MANDATORY |
⛔ If items 4 and 5 are not checked, STOP and ask user for confirmation.
This skill purchases a Huawei Cloud X instance server and deploys SQLBot intelligent query application.
Server Specification: x86 architecture, Ubuntu 22.04 server 64-bit, default 4 cores 8GB RAM (x1.4u.8g)
Key Features:
Account requirements: Valid Huawei Cloud account with sufficient balance, permissions to create X instances, security groups, bind EIP, and access COC
Credential requirements:
| Credential Type | Required Parameters | Security | Description |
|---|---|---|---|
| Temporary (Recommended) | AK + SK + Security Token | High | Auto-expires, more secure |
| Permanent | AK + SK | Medium | No expiration, keep secure |
When user triggers the skill, first automatically get credentials from environment variables without asking user:
# Check credentials (prefer temporary credentials)
export HW_ACCESS_KEY
export HW_SECRET_KEY
export HW_SECURITY_TOKEN
Decision Logic:
| Credential Status | Next Step |
|---|---|
| ✅ HW_ACCESS_KEY + HW_SECRET_KEY + HW_SECURITY_TOKEN exist | Proceed to Step 2 (ask for Region only, use temporary AK/SK authentication) |
| ✅ HW_ACCESS_KEY + HW_SECRET_KEY exist (no Token) | Proceed to Step 2 (ask for Region only, use permanent AK/SK authentication) |
| ❌ Environment variables not found | Prompt user to configure credentials (prefer environment variables), proceed to Step 2 |
| ❌ Authentication failed | Prompt user to check or reconfigure credentials, proceed to Step 2 |
⚠️ Security Recommendations:
Case A: Environment credentials DETECTED
OK! I will help you deploy SQLBot on Huawei Cloud X instance.
📋 Process Overview:
1. ✅ Environment credentials detected → User only needs to provide region
2. ⛔ Confirm configuration with you ⛔
3. Create server
4. Deploy SQLBot
⏱️ Estimated time: 10-15 minutes
Please provide:
- **Region**: Optional, default cn-north-4 (Beijing 4)
⚠️ If not provided, will use default region: cn-north-4
Case B: Environment credentials NOT DETECTED
❌ Environment credentials not detected
Please configure Huawei Cloud credentials (see "How to Get AK/SK" section).
📋 Process Overview:
1. ❌ Environment credentials not detected → User needs to provide credentials + region
2. ⛔ Confirm configuration with you ⛔
3. Create server
4. Deploy SQLBot
⏱️ Estimated time: 10-15 minutes
Please provide:
- **Access Key (AK)**: Required
- **Secret Key (SK)**: Required
- **Security Token**: Required for temporary credentials, not needed for permanent
- **Region**: Optional, default cn-north-4 (Beijing 4)
Note: We prioritize getting credentials from environment variables and NEVER ask users to input AK/SK directly. However, if users actively provide credentials through other means (e.g., conversation input, configuration file), we still support parsing.
Include the regions table and AK/SK instructions (see below).
Then WAIT for user to provide information.
After receiving region/credentials:
Display the following note:
💡 Note: Server flavor availability varies by region.
🔗 For details, see: https://www.huaweicloud.com/pricing/calculator.html#/hecs
After successful validation, proceed to Step 4: User Confirmation.
⛔ THIS STEP IS MANDATORY. YOU CANNOT SKIP IT. ⛔
Display the configuration and ask for confirmation (see "Parameter Confirmation" section):
⚠️ Note: Must display the server name so user knows what name will be used for the server.
⛔ STOP AND WAIT for user to reply "default" or "custom".
⛔ DO NOT proceed to Step 5 until user confirms.
⛔ DO NOT create any resources before user confirmation.
If user says "custom":
If user says "default": Proceed to Step 5.
Only execute this step AFTER user confirms configuration.
Notify user: "⏳ Creating server..."
Notify user: "✅ Server created!"
Notify user: "⏳ Deploying SQLBot via COC..."
Notify user: "✅ SQLBot deployed via COC!"
MUST provide ALL of the following:
🎉 SQLBot Deployment Complete!
📋 Server Information:
- Name: x-SQLBot-YYYYMMDDHHMM
- Public IP: X.X.X.X
- Private IP: 192.168.X.X
🔐 Access Information:
- Server Password: Test@123456 ⚠️ Change immediately!
- SQLBot URL: http://X.X.X.X:8000 (Note: Please allow your accessing machine IP to access port 8000 in the security group before accessing)
- SQLBot Username: admin
- SQLBot Password: SQLBot@123456
🔗 Huawei Cloud Console: https://console.huaweicloud.com/console/?region={region}#/ecs/manager/vmList
⚠️ Security Reminders:
1. Change server password immediately after login
2. Change SQLBot admin password after login
3. Release server when done to save costs
| Region Name | Region Code |
|---|---|
| North China - Beijing 4 | cn-north-4 |
| East China - Shanghai 1 | cn-east-3 |
| South China - Guangzhou | cn-south-1 |
| Southwest China - Guiyang 1 | cn-southwest-2 |
| East China 2 | cn-east-4 |
| East China - Qingdao | cn-east-5 |
| North China - Ulanqab 1 | cn-north-9 |
| China - Hong Kong | ap-southeast-1 |
| Asia Pacific - Bangkok | ap-southeast-2 |
| Asia Pacific - Singapore | ap-southeast-3 |
| Asia Pacific - Jakarta | ap-southeast-4 |
| Asia Pacific - Manila | ap-southeast-5 |
| Africa - Cairo | af-north-1 |
| Africa - Johannesburg | af-south-1 |
| Latin America - Mexico City 2 | la-north-2 |
| Latin America - Santiago | la-south-2 |
| Latin America - Sao Paulo 1 | sa-brazil-1 |
| Middle East - Riyadh | me-east-1 |
| Turkey - Istanbul | tr-west-1 |
Pros:
Steps:
⚠️ Note: Temporary credentials have expiration time (default 15 minutes to 1 hour), use promptly.
Pros:
Steps:
⚠️ Note: Permanent credentials never expire, keep secure! Do not upload CSV file to code repositories.
| Type | Parameters | Security | Validity | Use Cases |
|---|---|---|---|---|
| Temporary | AK + SK + Security Token | High | Auto-expires | Temporary deployment, one-time tasks |
| Permanent | AK + SK | Medium | Never expires | Automation scripts, CI/CD |
Security Recommendation: Prefer temporary credentials for deployment tasks.
| Item | Default Value |
|---|---|
| Server Name | x-SQLBot-YYYYMMDDHHMM |
| Flavor | x1.4u.8g (4U8G, x86_64) |
| Image | Ubuntu 22.04 Server 64-bit |
| System Disk | 80GB High IO |
| Billing Mode | On-demand |
| Security Group | sg-sqlbot-YYYYMMDDHHMM (newly created) |
| EIP Bandwidth | 300M |
| EIP Billing | Pay by traffic |
| Server Password | Test@123456 |
| SQLBot Username | admin |
| SQLBot Password | SQLBot@123456 |
| Open Ports | 8000 (internal network only) |
Default config (4U8G, on-demand):
Price Calculator: https://www.huaweicloud.com/pricing/calculator.html#/hecs
| Command/Option | Function | Description |
|---|---|---|
(no option) | Deploy | Purchase X instance and deploy SQLBot intelligent query application |
--list-regions / -l | Show available regions | Display all supported regions and X instance types |
--test | Test connection | Validate AK/SK credentials |
Common Parameters: --ak, --sk, --region, --flavor, --charging-mode
Default Values: See "Default Configuration" section
⛔ MANDATORY: User confirmation is required before deployment. No resources can be created without confirmation.
"default" (use default config) or "custom" (customize config)"custom", display updated config and request confirmation againCustomizable parameters: Server Name, Region, Flavor, Image, System Disk, Billing Mode, EIP Bandwidth (default values see "Default Configuration" section)
📋 Server Configuration:
| Item | Value |
|------|-------|
| Server Name | x-SQLBot-YYYYMMDDHHMM (auto-generated) |
| Region | {user-provided region} |
| Flavor | x1.4u.8g (4 cores 8GB) |
| Image | Ubuntu 22.04 Server 64-bit |
| System Disk | 80GB |
| Billing Mode | On-demand (pay-as-you-go) |
| EIP | 300M bandwidth, pay-by-traffic |
💰 Price Calculator: https://www.huaweicloud.com/pricing/calculator.html#/hecs
⛔ Please confirm: Use "default" configuration or "custom" configuration?
If user chooses "custom", display updated configuration and request second confirmation:
📋 Updated Server Configuration:
| Item | Value |
|------|-------|
| Server Name | {custom name} |
| Region | {custom region} |
| Flavor | {custom flavor} |
| Image | {custom image} |
| System Disk | {custom size}GB |
| Billing Mode | {custom mode} |
| EIP | {custom bandwidth}M bandwidth, pay-by-traffic |
⛔ Please confirm: Is the above configuration correct? Reply "confirm" to proceed or "modify" to change.
python3 scripts/deploy_sqlbot.py \
--ak YOUR_AK \
--sk YOUR_SK \
--security-token YOUR_SECURITY_TOKEN \
--region cn-north-4 \
--notify-user-id <feishu_user_id>
export HW_ACCESS_KEY="your-temp-ak"
export HW_SECRET_KEY="your-temp-sk"
export HW_SECURITY_TOKEN="your-security-token"
python3 scripts/deploy_sqlbot.py --region cn-north-4 --notify-user-id <feishu_user_id>
Parameters:
--ak: Access Key (can also be set via HW_ACCESS_KEY environment variable)--sk: Secret Key (can also be set via HW_SECRET_KEY environment variable)--security-token: Security Token for temporary credentials (can also be set via HW_SECURITY_TOKEN environment variable)--region: Region code (default: cn-north-4, Beijing 4)--flavor: Server flavor (default: x1.4u.8g)--volume-size: System disk size (default: 80GB)--bandwidth: EIP bandwidth (default: 300M)--charging-mode: postPaid (on-demand) or prePaid (monthly)| Mistake | Correct Behavior |
|---|---|
| Creating server without user confirmation | ALWAYS get confirmation first |
| Assuming user wants default config | ASK explicitly: "default" or "custom"? |
| Skipping the confirmation step | This step is MANDATORY, not optional |
| Proceeding after showing config | WAIT for user to reply before proceeding |