{
  "schemaVersion": "1.0",
  "item": {
    "slug": "alicloud-compute-swas-open",
    "name": "Alicloud Compute Swas Open",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/cinience/alicloud-compute-swas-open",
    "canonicalUrl": "https://clawhub.ai/cinience/alicloud-compute-swas-open",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/alicloud-compute-swas-open",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=alicloud-compute-swas-open",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "agents/openai.yaml",
      "references/api_overview.md",
      "references/command-assistant.md",
      "references/endpoints.md",
      "references/sources.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/alicloud-compute-swas-open"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/alicloud-compute-swas-open",
    "agentPageUrl": "https://openagent3.xyz/skills/alicloud-compute-swas-open/agent",
    "manifestUrl": "https://openagent3.xyz/skills/alicloud-compute-swas-open/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/alicloud-compute-swas-open/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Simple Application Server (SWAS-OPEN 2020-06-01)",
        "body": "Use SWAS-OPEN OpenAPI to manage full SAS resources: instances, disks, snapshots, images, key pairs, firewall, Cloud Assistant, monitoring, tags, and lightweight databases."
      },
      {
        "title": "Prerequisites",
        "body": "Prepare AccessKey with least-privilege RAM user/role.\nChoose correct region and matching endpoint (public/VPC).ALICLOUD_REGION_ID can be used as default region; if unset choose the most reasonable region, ask user if unclear.\nThis OpenAPI uses RPC signing; prefer Python SDK or OpenAPI Explorer instead of manual signing."
      },
      {
        "title": "SDK Priority",
        "body": "Python SDK (preferred)\nOpenAPI Explorer\nOther SDKs"
      },
      {
        "title": "Python SDK quick query (instance ID / IP / plan)",
        "body": "Virtual environment is recommended (avoid PEP 668 system install restrictions).\n\npython3 -m venv .venv\n. .venv/bin/activate\npython -m pip install alibabacloud_swas_open20200601 alibabacloud_tea_openapi alibabacloud_credentials\n\nimport os\nfrom alibabacloud_swas_open20200601.client import Client as SwasClient\nfrom alibabacloud_swas_open20200601 import models as swas_models\nfrom alibabacloud_tea_openapi import models as open_api_models\n\n\ndef create_client(region_id: str) -> SwasClient:\n    config = open_api_models.Config(\n        region_id=region_id,\n        endpoint=f\"swas.{region_id}.aliyuncs.com\",\n    )\n    ak = os.getenv(\"ALICLOUD_ACCESS_KEY_ID\") or os.getenv(\"ALIBABA_CLOUD_ACCESS_KEY_ID\")\n    sk = os.getenv(\"ALICLOUD_ACCESS_KEY_SECRET\") or os.getenv(\"ALIBABA_CLOUD_ACCESS_KEY_SECRET\")\n    if ak and sk:\n        config.access_key_id = ak\n        config.access_key_secret = sk\n    return SwasClient(config)\n\n\ndef list_regions():\n    client = create_client(\"cn-hangzhou\")\n    resp = client.list_regions(swas_models.ListRegionsRequest())\n    return [r.region_id for r in resp.body.regions]\n\n\ndef list_instances(region_id: str):\n    client = create_client(region_id)\n    resp = client.list_instances(swas_models.ListInstancesRequest(region_id=region_id))\n    return resp.body.instances\n\n\ndef main():\n    for region_id in list_regions():\n        for inst in list_instances(region_id):\n            ip = getattr(inst, \"public_ip_address\", None) or getattr(inst, \"inner_ip_address\", None)\n            spec = getattr(inst, \"plan_name\", None) or getattr(inst, \"plan_id\", None)\n            print(inst.instance_id, ip or \"-\", spec or \"-\", region_id)\n\n\nif __name__ == \"__main__\":\n    main()"
      },
      {
        "title": "Python SDK scripts (recommended for inventory and summary)",
        "body": "All-region instance inventory (TSV/JSON):scripts/list_instances_all_regions.py\nCount instances by plan:scripts/summary_instances_by_plan.py\nCount instances by status:scripts/summary_instances_by_status.py\nFix SSH key-based access (custom port supported):scripts/fix_ssh_access.py\nGet current SSH port of an instance:scripts/get_ssh_port.py"
      },
      {
        "title": "CLI Notes",
        "body": "aliyun CLI may not expose swas-open as product name; prefer Python SDK.\nIf CLI is mandatory, generate request examples in OpenAPI Explorer first, then migrate to CLI."
      },
      {
        "title": "Workflow",
        "body": "Confirm resource type and region (instance/disk/snapshot/image/firewall/command/database/tag).\nIdentify API group and operation in references/api_overview.md.\nChoose invocation method (Python SDK / OpenAPI Explorer / other SDK).\nAfter mutations, verify state/results with query APIs."
      },
      {
        "title": "Common Operation Map",
        "body": "Instance query/start/stop/reboot:ListInstances、StartInstance(s)、StopInstance(s)、RebootInstance(s)\nCommand execution:RunCommand or CreateCommand + InvokeCommand; use DescribeInvocations/DescribeInvocationResult\nFirewall:ListFirewallRules/CreateFirewallRule(s)/ModifyFirewallRule/EnableFirewallRule/DisableFirewallRule\nSnapshot/disk/image:CreateSnapshot、ResetDisk、CreateCustomImage etc."
      },
      {
        "title": "Cloud Assistant Execution Notes",
        "body": "Target instance must be in Running state.\nCloud Assistant agent must be installed (use InstallCloudAssistant).\nFor PowerShell commands, ensure required modules are available on Windows instances.\nAfter execution, use DescribeInvocations or DescribeInvocationResult to fetch status and outputs.\n\nSee references/command-assistant.md for details."
      },
      {
        "title": "Clarifying questions (ask when uncertain)",
        "body": "What is the target region? Is VPC endpoint required?\nWhat are target instance IDs? Are they currently Running?\nWhat command/script type/timeout is needed? Linux or Windows?\nDo you need batch execution or scheduled execution?"
      },
      {
        "title": "Output Policy",
        "body": "If you need to save results or responses, write to:\noutput/compute-swas-open/"
      },
      {
        "title": "Validation",
        "body": "mkdir -p output/alicloud-compute-swas-open\nfor f in skills/compute/swas/alicloud-compute-swas-open/scripts/*.py; do\n  python3 -m py_compile \"$f\"\ndone\necho \"py_compile_ok\" > output/alicloud-compute-swas-open/validate.txt\n\nPass criteria: command exits 0 and output/alicloud-compute-swas-open/validate.txt is generated."
      },
      {
        "title": "Output And Evidence",
        "body": "Save artifacts, command outputs, and API response summaries under output/alicloud-compute-swas-open/.\nInclude key parameters (region/resource id/time range) in evidence files for reproducibility."
      },
      {
        "title": "Prerequisites",
        "body": "Configure least-privilege Alibaba Cloud credentials before execution.\nPrefer environment variables: ALICLOUD_ACCESS_KEY_ID, ALICLOUD_ACCESS_KEY_SECRET, optional ALICLOUD_REGION_ID.\nIf region is unclear, ask the user before running mutating operations."
      },
      {
        "title": "Workflow",
        "body": "Confirm user intent, region, identifiers, and whether the operation is read-only or mutating.\nRun one minimal read-only query first to verify connectivity and permissions.\nExecute the target operation with explicit parameters and bounded scope.\nVerify results and save output/evidence files."
      },
      {
        "title": "References",
        "body": "API overview and operation groups:references/api_overview.md\nEndpoints and integration:references/endpoints.md\nCloud Assistant highlights:references/command-assistant.md\nOfficial source list:references/sources.md"
      }
    ],
    "body": "Category: service\n\nSimple Application Server (SWAS-OPEN 2020-06-01)\n\nUse SWAS-OPEN OpenAPI to manage full SAS resources: instances, disks, snapshots, images, key pairs, firewall, Cloud Assistant, monitoring, tags, and lightweight databases.\n\nPrerequisites\nPrepare AccessKey with least-privilege RAM user/role.\nChoose correct region and matching endpoint (public/VPC).ALICLOUD_REGION_ID can be used as default region; if unset choose the most reasonable region, ask user if unclear.\nThis OpenAPI uses RPC signing; prefer Python SDK or OpenAPI Explorer instead of manual signing.\nSDK Priority\nPython SDK (preferred)\nOpenAPI Explorer\nOther SDKs\nPython SDK quick query (instance ID / IP / plan)\n\nVirtual environment is recommended (avoid PEP 668 system install restrictions).\n\npython3 -m venv .venv\n. .venv/bin/activate\npython -m pip install alibabacloud_swas_open20200601 alibabacloud_tea_openapi alibabacloud_credentials\n\nimport os\nfrom alibabacloud_swas_open20200601.client import Client as SwasClient\nfrom alibabacloud_swas_open20200601 import models as swas_models\nfrom alibabacloud_tea_openapi import models as open_api_models\n\n\ndef create_client(region_id: str) -> SwasClient:\n    config = open_api_models.Config(\n        region_id=region_id,\n        endpoint=f\"swas.{region_id}.aliyuncs.com\",\n    )\n    ak = os.getenv(\"ALICLOUD_ACCESS_KEY_ID\") or os.getenv(\"ALIBABA_CLOUD_ACCESS_KEY_ID\")\n    sk = os.getenv(\"ALICLOUD_ACCESS_KEY_SECRET\") or os.getenv(\"ALIBABA_CLOUD_ACCESS_KEY_SECRET\")\n    if ak and sk:\n        config.access_key_id = ak\n        config.access_key_secret = sk\n    return SwasClient(config)\n\n\ndef list_regions():\n    client = create_client(\"cn-hangzhou\")\n    resp = client.list_regions(swas_models.ListRegionsRequest())\n    return [r.region_id for r in resp.body.regions]\n\n\ndef list_instances(region_id: str):\n    client = create_client(region_id)\n    resp = client.list_instances(swas_models.ListInstancesRequest(region_id=region_id))\n    return resp.body.instances\n\n\ndef main():\n    for region_id in list_regions():\n        for inst in list_instances(region_id):\n            ip = getattr(inst, \"public_ip_address\", None) or getattr(inst, \"inner_ip_address\", None)\n            spec = getattr(inst, \"plan_name\", None) or getattr(inst, \"plan_id\", None)\n            print(inst.instance_id, ip or \"-\", spec or \"-\", region_id)\n\n\nif __name__ == \"__main__\":\n    main()\n\nPython SDK scripts (recommended for inventory and summary)\nAll-region instance inventory (TSV/JSON):scripts/list_instances_all_regions.py\nCount instances by plan:scripts/summary_instances_by_plan.py\nCount instances by status:scripts/summary_instances_by_status.py\nFix SSH key-based access (custom port supported):scripts/fix_ssh_access.py\nGet current SSH port of an instance:scripts/get_ssh_port.py\nCLI Notes\naliyun CLI may not expose swas-open as product name; prefer Python SDK. If CLI is mandatory, generate request examples in OpenAPI Explorer first, then migrate to CLI.\nWorkflow\nConfirm resource type and region (instance/disk/snapshot/image/firewall/command/database/tag).\nIdentify API group and operation in references/api_overview.md.\nChoose invocation method (Python SDK / OpenAPI Explorer / other SDK).\nAfter mutations, verify state/results with query APIs.\nCommon Operation Map\nInstance query/start/stop/reboot:ListInstances、StartInstance(s)、StopInstance(s)、RebootInstance(s)\nCommand execution:RunCommand or CreateCommand + InvokeCommand; use DescribeInvocations/DescribeInvocationResult\nFirewall:ListFirewallRules/CreateFirewallRule(s)/ModifyFirewallRule/EnableFirewallRule/DisableFirewallRule\nSnapshot/disk/image:CreateSnapshot、ResetDisk、CreateCustomImage etc.\nCloud Assistant Execution Notes\nTarget instance must be in Running state.\nCloud Assistant agent must be installed (use InstallCloudAssistant).\nFor PowerShell commands, ensure required modules are available on Windows instances.\nAfter execution, use DescribeInvocations or DescribeInvocationResult to fetch status and outputs.\n\nSee references/command-assistant.md for details.\n\nClarifying questions (ask when uncertain)\nWhat is the target region? Is VPC endpoint required?\nWhat are target instance IDs? Are they currently Running?\nWhat command/script type/timeout is needed? Linux or Windows?\nDo you need batch execution or scheduled execution?\nOutput Policy\n\nIf you need to save results or responses, write to: output/compute-swas-open/\n\nValidation\nmkdir -p output/alicloud-compute-swas-open\nfor f in skills/compute/swas/alicloud-compute-swas-open/scripts/*.py; do\n  python3 -m py_compile \"$f\"\ndone\necho \"py_compile_ok\" > output/alicloud-compute-swas-open/validate.txt\n\n\nPass criteria: command exits 0 and output/alicloud-compute-swas-open/validate.txt is generated.\n\nOutput And Evidence\nSave artifacts, command outputs, and API response summaries under output/alicloud-compute-swas-open/.\nInclude key parameters (region/resource id/time range) in evidence files for reproducibility.\nPrerequisites\nConfigure least-privilege Alibaba Cloud credentials before execution.\nPrefer environment variables: ALICLOUD_ACCESS_KEY_ID, ALICLOUD_ACCESS_KEY_SECRET, optional ALICLOUD_REGION_ID.\nIf region is unclear, ask the user before running mutating operations.\nWorkflow\nConfirm user intent, region, identifiers, and whether the operation is read-only or mutating.\nRun one minimal read-only query first to verify connectivity and permissions.\nExecute the target operation with explicit parameters and bounded scope.\nVerify results and save output/evidence files.\nReferences\nAPI overview and operation groups:references/api_overview.md\nEndpoints and integration:references/endpoints.md\nCloud Assistant highlights:references/command-assistant.md\nOfficial source list:references/sources.md"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/cinience/alicloud-compute-swas-open",
    "publisherUrl": "https://clawhub.ai/cinience/alicloud-compute-swas-open",
    "owner": "cinience",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/alicloud-compute-swas-open",
    "downloadUrl": "https://openagent3.xyz/downloads/alicloud-compute-swas-open",
    "agentUrl": "https://openagent3.xyz/skills/alicloud-compute-swas-open/agent",
    "manifestUrl": "https://openagent3.xyz/skills/alicloud-compute-swas-open/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/alicloud-compute-swas-open/agent.md"
  }
}