ANOLISA is a server-side operating layer for AI agent workloads that provides terminal access, token-saving tool-output compression, runtime controls, security, observability, skills, memory, and sandbox management. It is for running and supervising agents from a Linux terminal while retaining an existing shell, agent framework, and sandbox. The catalogue add-ons are components of its agent operating environment and workflows.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add alibaba/anolisa --skill aliyun-ecsgit clone --depth 1 https://github.com/alibaba/anolisaWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/alibaba/anolisa/aliyun-ecs)<a href="https://agentmods.dev/skills/alibaba/anolisa/aliyun-ecs"><img src="https://agentmods.dev/badge/skills/alibaba/anolisa/aliyun-ecs/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/alibaba/anolisa/aliyun-ecs"><img src="https://agentmods.dev/badge/skills/alibaba/anolisa/aliyun-ecs.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 3 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Server-Side Request Forgery · line 54 Code accesses a cloud instance metadata endpoint (e.g. 169.254.169.254). A single request can return temporary IAM credentials, making this a high-value SSRF target for credential theft.Fix: Remove access to cloud metadata endpoints unless strictly required. If metadata is needed, restrict it (e.g. IMDSv2 with hop limit) and never expose returned credentials.
- high Server-Side Request Forgery · line 57 Code accesses a cloud instance metadata endpoint (e.g. 169.254.169.254). A single request can return temporary IAM credentials, making this a high-value SSRF target for credential theft.Fix: Remove access to cloud metadata endpoints unless strictly required. If metadata is needed, restrict it (e.g. IMDSv2 with hop limit) and never expose returned credentials.
- high Server-Side Request Forgery · line 60 Code accesses a cloud instance metadata endpoint (e.g. 169.254.169.254). A single request can return temporary IAM credentials, making this a high-value SSRF target for credential theft.Fix: Remove access to cloud metadata endpoints unless strictly required. If metadata is needed, restrict it (e.g. IMDSv2 with hop limit) and never expose returned credentials.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00069 | $0.02632 |
| Opus 5 | $0.00034 | $0.01316 |
| Sonnet 5 | $0.00014 | $0.00526 |
| Haiku 4.5 | $0.00007 | $0.00263 |
Grade C, and why
aliyun-ecs scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Cloud metadata endpointhighServer-side request forgery
One request to 169.254.169.254 can return temporary IAM credentials.
INSTANCE_ID=$(curl -s http://100.100.100.200/latest/meta-data/instance-id) Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
INSTANCE_ID=$(curl -s http://100.100.100.200/latest/meta-data/instance-id) How it starts
The opening of the file, as written. The whole thing — 264 lines — stays where its author put it; the contents beside it link to each section on GitHub.
阿里云ECS管理
前置准备
1. 安装阿里云CLI
# 检查是否已安装
aliyun --version
# 未安装时执行
yum install aliyun-cli -y
2. 配置认证
首次使用或命令报错时需要配置认证。
根据你的使用场景选择认证模式:
| 使用场景 | 推荐模式 | 配置命令 |
|---|---|---|
| 在ECS实例内执行 | EcsRamRole(最推荐) | aliyun configure --mode EcsRamRole --ram-role-name <RAM角色名> |
| 本地开发/测试 | AK | aliyun configure --mode AK --access-key-id <AK> --access-key-secret <SK> |
| 本地交互式操作 | OAuth | aliyun configure --mode OAuth |
| 跨账号/精细化权限 | RamRoleArn | aliyun configure --mode RamRoleArn --access-key-id <AK> --access-key-secret <SK> --ram-role-arn <角色ARN> |
快速配置示例:
# 交互式配置(推荐新手使用)
aliyun configure
# 或命令行直接配置(替换<>中的参数)
aliyun configure --mode <模式> --region <地域ID>
安全建议:优先使用临时凭证(EcsRamRole、RamRoleArn、OAuth),避免使用长期AccessKey。详细认证方式说明及优先级建议请参考 authentication.md
3. 获取实例元数据(ECS实例内)
在ECS实例内部,无需任何认证即可通过Metadata服务获取当前实例的元数据信息:
# 获取实例ID
INSTANCE_ID=$(curl -s http://100.100.100.200/latest/meta-data/instance-id)
# 获取地域ID
REGION_ID=$(curl -s http://100.100.100.200/latest/meta-data/region-id)
# 获取实例规格
INSTANCE_TYPE=$(curl -s http://100.100.100.200/latest/meta-data/instance-type)
更多Metadata字段及使用方法请参考 metadata-api.md
常用操作
实例管理
| 操作 | 命令示例 |
|---|---|
| 查询实例列表 | aliyun ecs DescribeInstances |
| 查询实例详情 | aliyun ecs DescribeInstanceAttribute --InstanceId <实例ID> |
| 查询实例状态 | aliyun ecs DescribeInstanceStatus |
| 创建实例 | aliyun ecs RunInstances --ImageId <镜像ID> --InstanceType <规格> --RegionId <地域> |
| 启动实例 | aliyun ecs StartInstance --InstanceId <实例ID> |
| 停止实例 | aliyun ecs StopInstance --InstanceId <实例ID> |
| 重启实例 | aliyun ecs RebootInstance --InstanceId <实例ID> |
| 释放实例 | aliyun ecs DeleteInstance --InstanceId <实例ID> |
磁盘管理
| 操作 | 命令示例 |
|---|---|
| 查询磁盘列表 | aliyun ecs DescribeDisks |
| 创建磁盘 | aliyun ecs CreateDisk --RegionId <地域> --ZoneId <可用区> --Size <大小GB> |
| 挂载磁盘 | aliyun ecs AttachDisk --InstanceId <实例ID> --DiskId <磁盘ID> |
| 卸载磁盘 | aliyun ecs DetachDisk --InstanceId <实例ID> --DiskId <磁盘ID> |
| 离线扩容磁盘 | aliyun ecs ResizeDisk --DiskId <磁盘ID> --NewSize <新大小GB> |
| 在线扩容磁盘 | aliyun ecs ResizeDisk --DiskId <磁盘ID> --NewSize <新大小GB> --Type online |
| 删除磁盘 | aliyun ecs DeleteDisk --DiskId <磁盘ID> |
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 264 lines · 69 tokens per session scan C 92c8b1109fef
aliyun-ecs is a skill published in the GitHub repository alibaba/anolisa (620 stars, last pushed today), licensed Apache-2.0. It adds 69 tokens to every session and 2,632 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it C with 2 findings (cloud metadata endpoint, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
convex-domains
Point a domain you already own at your Convex app (DNS records, custom-domain attach, auth-origin rebind).
convex-ship
Publish the current Convex app to a live .convex.app URL (deploy backend + upload web build).
ov-server-operate
Operate and maintain OpenViking server - configure, install, start, stop, and cleanup the server. Use when need to setup or manage OpenViking service deployment.
beevibe-team-mesh-negotiation
Multi-round negotiation protocol — covers both initiator and peer roles. Use when about to call negotiate(), when receiving a intent block as a peer, or when receiving an 'escalated' sentinel from a blocked respondnegotiate. Covers proposal crafting, counter-strategy, deadlock detection, when to accept early…
beevibe-verify-pr
CI verification before marking a PR-bearing task done. Use BEFORE calling mcpbeevibeupdateprogress(done) on any session whose deliverable is a pull request — including the first dispatch (you opened the PR with gh pr create) and any revision dispatch (you pushed new commits to an existing PR). Watches the PR's…
beevibe-pre-task-setup
Cold-start git workspace setup for a fresh beevibe task. Use at the start of a session whose intent has a block but NO or block — i.e. the first dispatch of this task. Checks for an existing repo clone, pulls the base branch if present (clone if missing), prunes any per-task worktrees from earlier tasks whose work has…