Install
openclaw skills install panthrocorp-aws-s3Self-contained AWS S3 SDK bundle for OpenClaw agents
openclaw skills install panthrocorp-aws-s3Pre-bundled AWS S3 SDK for use inside the OpenClaw gateway container. All transitive dependencies are bundled. No internet access required at install time.
Install from the release tarball into the gateway container:
TAG=$(curl -fsSL "https://api.github.com/repos/PanthroCorp-Limited/openclaw-skills/releases" \
| grep -o '"tag_name":"aws-s3/v[^"]*"' | head -1 | cut -d'"' -f4)
VERSION=${TAG#aws-s3/v}
URL="https://github.com/PanthroCorp-Limited/openclaw-skills/releases/download/${TAG}/openclaw-aws-s3-${VERSION}.tgz"
docker exec openclaw-gateway npm install "$URL" --prefix /home/node/.openclaw/bin/.npm-global
Or from a downloaded tarball:
docker exec openclaw-gateway npm install /path/to/openclaw-aws-s3-0.1.0.tgz \
--prefix /home/node/.openclaw/bin/.npm-global
const { S3Client, ListObjectsV2Command, GetObjectCommand } = require("@openclaw/aws-s3");
const client = new S3Client({});
const list = await client.send(new ListObjectsV2Command({
Bucket: process.env.EMAIL_BUCKET_NAME,
Prefix: `parsed/${agentName}/`,
}));
const obj = await client.send(new GetObjectCommand({
Bucket: process.env.EMAIL_BUCKET_NAME,
Key: "parsed/agent/email.json",
}));
const body = await obj.Body.transformToString();
Credentials resolve via the AWS SDK default credential provider chain. In an EC2/ECS environment this uses IMDS (Instance Metadata Service) automatically. Ensure the IMDS hop limit is set to 2 or higher when running inside Docker.
No environment variables are required for authentication. AWS_REGION should be set
if the region cannot be inferred from instance metadata.
@aws-sdk/client-s3 with all transitive dependencies.