catalog/repos/ahmadabdalla--azure-cost-calculator-skill.md

133 lines
8.2 KiB
Markdown
Raw Normal View History

2026-04-07 11:44:56 +08:00
# Azure 实时费用估算
`Azure` `费用计算` `AI插件` `云成本` `价格API`
# Azure 费用计算器 - AI Agent 插件
使用公开的 [Azure 零售价格 API](https://learn.microsoft.com/en-us/rest/api/cost-management/retail-prices/azure-retail-prices) 实时估算 Azure 费用。兼容 [skills.sh](https://skills.sh) 生态中的任何 Agent。所有价格均来自实时 API 查询,无需 Azure 订阅。
## 安装
### 作为插件安装(推荐用于 Copilot CLI 和 Claude Code
> 在 Copilot CLI 或 Claude Code 会话中运行。
```bash
/plugin marketplace add ahmadabdalla/plugins
/plugin install azure-cost-calculator@ahmadabdalla-plugins
```
> 插件安装从带版本号的发布版本拉取,支持变更日志追踪和更新控制。完整的插件安装/卸载/更新指南,请参阅 [插件管理](docs/plugin-management.md)。
### 作为技能安装(适用于任何 Agent
**npx**(适用于任何 Agent
```bash
npx skills add ahmadabdalla/azure-cost-calculator-skill
```
> **没有 `npx`** 安装 [Node.js](https://nodejs.org/)(包含 `npm` 和 `npx`),或先运行 `npm install -g skills`,再使用 `skills add ahmadabdalla/azure-cost-calculator-skill`。
> npx 方式直接从 `main` 分支拉取最新内容,始终获取当前稳定版本,但不支持版本锁定或回滚。
## 使用方法
用自然语言询问 Azure 费用,技能会自动激活。
```
D4s v5 虚拟机在 East US 每月费用是多少?
比较生产 Web 应用的 App Service 各定价层
估算在澳大利亚东部使用 Standard_B2s 虚拟机搭配 P30 托管磁盘的澳元费用
西欧地区 4 vCore 通用型 SQL 数据库的费用是多少(欧元)?
Azure Cosmos DB 配置 1000 RU/s 和 100 GB 存储需要多少费用?
```
**规划较大架构?** 可以从以下问题开始:
> _我想对一个 Azure 架构进行费用分析。要获得一致的结果我需要考虑哪些因素_
Agent 会引导你了解影响定价准确性的关键参数。关于如何编写能产生确定性估算的提示词完整指南,请参阅 [使用指南](skills/azure-cost-calculator/USAGE.md)。
## 工作原理
该技能使用服务参考文件作为索引。每个文件包含声明式 `Key: Value` 格式的精确 API 过滤值、费用计算公式和常见陷阱说明。Agent 读取匹配的文件将参数转换为检测到的运行时Bash 或 PowerShell对实时 API 执行定价脚本,并呈现结构化估算结果。
该技能针对两个目标进行了优化:
- **确定性** - 目标费用偏差 ≤ 5%。相同查询 → 相同 API 调用 → 相同价格。所有数值来自实时 API无任何硬编码。由于大语言模型本质上是非确定性的本技能通过预验证过滤器、明确公式和脚本化 API 调用来约束模型,尽量缩小偏差空间。
- **Token 效率** - 目标 Token 用量偏差 ≤ 5%。每次查询仅加载 SKILL.md 和 shared.md服务文件按需加载。批量模式3 个以上服务)每个文件只读取前 45 行。
其他设计目标:
- **多货币、全地域** - 支持美元、澳元、欧元、英镑、日元、加元、印度卢比等。兼容所有 Azure 地域。
> **说明:** 上述目标通过在复杂 Azure 架构的干净上下文会话中进行 A/B 测试得出。测试模型为 **Claude Opus 4.6** 和 **Gemini Pro 3**,其他模型结果可能有所不同。
<p align="center">
<img src="docs/images/design.png" alt="Azure 费用计算器技能工作原理:从自然语言查询,经服务参考查找和实时 API 执行,到结构化费用估算" width="100%">
</p>
参考文件按需加载,即使估算 10 个以上服务Token 用量依然保持较低水平。
## 支持的服务
已覆盖 18 个类别的 210 余项 Azure 服务计算、数据库、网络、存储、安全、监控、集成、AI + ML 等。110 余项服务提供含完整查询模式的参考文件。对于尚无参考文件的服务,技能内置探索脚本,可自动搜索实时 API 以找到正确的过滤器。
### 发现空缺?欢迎提 Issue
如果某次查询回退到了发现模式,说明缺少对应的参考文件。**请[提交 Issue](../../issues/new)** 并注明服务名称,而不要直接使用"尽力而为"的结果。即使这次估算看起来正确,下一位用户(或下一次 API 变更也可能无法得到相同的结果。Issue 帮助我们确定新增参考文件的优先级。
## 前置条件
- **Bash** 环境需有 `curl``jq`macOS/Linux推荐**或** **PowerShell 7+**`pwsh`[在 Windows/macOS/Linux 上安装](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell)。Windows 自带的 PowerShell 5.1`powershell.exe`)与 `pwsh` **不同**,需单独安装 PowerShell 7。
- 可访问 `https://prices.azure.com` 的网络
- 无需 Azure 订阅或身份认证
## 贡献
每新增一个服务参考文件,都能提升所有用户的准确性。完整指南(包含引导 AI 生成完整参考文件的现成提示词)请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 常见问题
<details>
<summary><strong>为什么是免费的?</strong></summary>
1. **API 本身免费。** [Azure 零售价格 API](https://learn.microsoft.com/en-us/rest/api/cost-management/retail-prices/azure-retail-prices) 完全公开,无需身份认证或 Azure 订阅。
2. **我们无法保证完全确定性。** 大语言模型本质上是非确定性的。虽然本技能尽力约束模型以保持一致性,但无法承诺相同提示词产生完全相同的结果,对无法做到完全确定的东西收费是不合适的。
3. **社区驱动的设计理念。** 有些东西适合开源,因为它们依赖社区的共同维护来成长。本项目正是如此,每一个贡献的服务参考文件都让所有人受益。
</details>
<details>
<summary><strong>为什么要贡献服务参考文件?</strong></summary>
没有参考文件时 Agent 仍然可以工作,但需要实时发现 API 过滤值,消耗更多 Token且结果可能不一致。参考文件提供预验证的查询模式、已记录的注意事项和正确的费用公式让每位用户都能获得一致的结果。
| | 有参考文件 | 无参考文件(发现模式) |
| ---------------- | --------------------------------------------------- | ------------------------------------------------------------------- |
| **API 查询** | 预验证过滤器 | Agent 从实时 API 动态发现过滤器 |
| **已知陷阱** | 已记录 - Agent 自动规避常见定价问题 | Agent 仍可运行,但可能漏掉 $0.00 舍入或预留实例计算等边缘情况 |
| **多部分费用** | 每个组件计算、存储、IP 等)有独立查询 | Agent 查询主要组件,次要费用可能需要追加查询 |
| **费用公式** | 正确的倍数、免费层扣减、阶梯定价 | 使用 API 计量单位 - 通常正确,偶尔对特殊计量项有偏差 |
| **速度** | 快速 - Token 消耗少 | 较慢 - 需要额外的发现步骤 |
| **准确性** | 高 - 模式已通过实时 API 测试验证 | 取决于模型质量 - 无预验证模式时结果可能有偏差 |
</details>
<details>
<summary><strong>应该安装为全局技能还是项目技能?</strong></summary>
全局安装只需一次,即可在所有项目中使用,无需重复文件。项目级安装则将技能安装在单个项目内。如果你经常估算 Azure 费用,建议全局安装;如果只是某个特定仓库需要,则使用项目级安装。
</details>
## 许可证
本项目采用 [MIT 许可证](LICENSE)。
## 支持
如果你觉得这个技能对你有帮助,可以请我喝杯咖啡:
<a href="https://www.buymeacoffee.com/ahmadabdalla" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>