Function Compute (FC 3.0) Serverless Devs
name: alicloud-compute-fc-serverless-devs
by cinience · published 2026-03-22
$ claw add gh:cinience/cinience-alicloud-compute-fc-serverless-devs---
name: alicloud-compute-fc-serverless-devs
description: Alibaba Cloud Function Compute (FC 3.0) skill for installing and using Serverless Devs to create, deploy, invoke, and remove a Python function. Use when users need CLI-based FC quick start or Serverless Devs setup guidance.
version: 1.0.0
---
Category: tool
# Function Compute (FC 3.0) Serverless Devs
Goals
Quick Start Flow
1. Install Node.js (14+) and npm.
2. Install and validate Serverless Devs.
3. Configure credentials via guided setup.
4. Initialize example project and enter directory.
5. Deploy, invoke, and optionally remove.
Install Serverless Devs (npm)
Global install (requires sudo):
sudo npm install @serverless-devs/s -g
sudo s -vNo-sudo alternative (recommended in restricted environments):
npx -y @serverless-devs/s -vConfigure Credentials (guided)
sudo s config addChoose `Alibaba Cloud (alibaba)`, provide `AccountID`, `AccessKeyID`, `AccessKeySecret`, and set alias.
Configure Credentials (command)
Use CLI args to configure credential alias in one command (non-interactive):
s config add -a default --AccessKeyID <AK> --AccessKeySecret <SK> -fIf 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} -fOr 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_keyInitialize Example (Python)
sudo s init start-fc3-python
cd start-fc3-pythonInitialization creates `s.yaml`, `code/`, and `readme.md`; edit `code/index.py` for function logic.
Deploy, Invoke, and Remove
sudo s deploy
sudo s invoke -e "test"
sudo s removeCustom Domain Binding (Avoid Default Domain Forced Download)
> Note: FC default domain adds `Content-Disposition: attachment`, causing browser downloads.
> Use a custom domain to avoid this behavior.
Step 1: Configure CNAME for your domain
Configure DNS CNAME to FC public CNAME:
<account_id>.<region_id>.fc.aliyuncs.comExample (Hangzhou region):
1629965279769872.cn-hangzhou.fc.aliyuncs.comNote: 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`.
Step 2: Create custom domain in Serverless Devs
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 deployOption B: use Console (Advanced Features > Custom Domains) to create and route custom domain.
Common Errors
References
- https://www.alibabacloud.com/help/en/functioncompute/fc/user-guide/http-triggers-overview
- https://www.alibabacloud.com/help/en/functioncompute/fc/user-guide/configure-custom-domain-names
Validation
mkdir -p output/alicloud-compute-fc-serverless-devs
echo "validation_placeholder" > output/alicloud-compute-fc-serverless-devs/validate.txtPass criteria: command exits 0 and `output/alicloud-compute-fc-serverless-devs/validate.txt` is generated.
Output And Evidence
Prerequisites
Workflow
1) Confirm user intent, region, identifiers, and whether the operation is read-only or mutating.
2) Run one minimal read-only query first to verify connectivity and permissions.
3) Execute the target operation with explicit parameters and bounded scope.
4) Verify results and save output/evidence files.
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...