Install
openclaw skills install alicloud-compute-fc-serverless-devsAlibaba Cloud Function Compute (FC 3.0) skill for installing and using Serverless Devs to create, deploy, invoke, and remove a Python function. Use when user...
openclaw skills install alicloud-compute-fc-serverless-devsCategory: tool
Global install (requires sudo):
sudo npm install @serverless-devs/s -g
sudo s -v
No-sudo alternative (recommended in restricted environments):
npx -y @serverless-devs/s -v
sudo s config add
Choose Alibaba Cloud (alibaba), provide AccountID, AccessKeyID, AccessKeySecret, and set alias.
Use CLI args to configure credential alias in one command (non-interactive):
s config add -a default --AccessKeyID <AK> --AccessKeySecret <SK> -f
If using environment variables, inject them into the command (example):
s config add -a default -kl AccessKeyID,AccessKeySecret -il ${ALIBABA_CLOUD_ACCESS_KEY_ID},${ALIBABA_CLOUD_ACCESS_KEY_SECRET} -f
Or use Serverless Devs convention JSON environment variable (example):
export default_serverless_devs_key='{\"AccountID\":\"<AccountID>\",\"AccessKeyID\":\"<AK>\",\"AccessKeySecret\":\"<SK>\"}'
Reference in s.yaml:
access: default_serverless_devs_key
sudo s init start-fc3-python
cd start-fc3-python
Initialization creates s.yaml, code/, and readme.md; edit code/index.py for function logic.
sudo s deploy
sudo s invoke -e "test"
sudo s remove
Note: FC default domain adds
Content-Disposition: attachment, causing browser downloads. Use a custom domain to avoid this behavior.
Configure DNS CNAME to FC public CNAME:
<account_id>.<region_id>.fc.aliyuncs.com
Example (Hangzhou region):
1629965279769872.cn-hangzhou.fc.aliyuncs.com
Note: if using apex domain (e.g. animus.run) and DNS provider does not support CNAME at apex,
use ALIAS/ANAME records, or switch to a subdomain such as www.animus.run.
Option A: add fc3-domain resource in s.yaml:
resources:
newsDomain:
component: fc3-domain
props:
region: cn-hangzhou
domainName: animus.run
protocol: HTTP
routeConfig:
routes:
- functionName: honnold-taipei101-news
qualifier: LATEST
methods:
- GET
- HEAD
path: /*
region is example default; ask user when the best region is unclear.
Then deploy:
printf 'y\n' | npx -y @serverless-devs/s deploy
Option B: use Console (Advanced Features > Custom Domains) to create and route custom domain.
DomainNameNotResolved: domain not resolved to correct FC CNAME.InvalidICPLicense: mainland China regions require ICP filing associated with Alibaba Cloud.See references/install_serverless_devs_and_docker.md for detailed official steps.
HTTP trigger limitations and response header behavior (default domain enforces Content-Disposition: attachment)
Custom domain binding and CNAME guidance
Official source list:references/sources.md
mkdir -p output/alicloud-compute-fc-serverless-devs
echo "validation_placeholder" > output/alicloud-compute-fc-serverless-devs/validate.txt
Pass criteria: command exits 0 and output/alicloud-compute-fc-serverless-devs/validate.txt is generated.
output/alicloud-compute-fc-serverless-devs/.ALICLOUD_ACCESS_KEY_ID, ALICLOUD_ACCESS_KEY_SECRET, optional ALICLOUD_REGION_ID.