🔄 卡若AI 同步 2026-02-24 11:42 | 更新:金仓、水桥平台对接、运营中枢工作台 | 排除 >20MB: 10 个

This commit is contained in:
2026-02-24 11:42:07 +08:00
parent 55c5e5615d
commit 5cfea93229
7 changed files with 291 additions and 24 deletions

View File

@@ -78,19 +78,31 @@ def main(days=2, start_date=None, end_date=None):
if start_date is None or end_date is None:
end_date = datetime.now().date()
start_date = end_date - timedelta(days=days - 1)
month = start_date.strftime("%Y-%m")
begin_time = f"{start_date} 00:00:00"
end_time = f"{end_date} 23:59:59"
# API 要求 BeginTime/EndTime 必须在同月,跨月会报错;此处用目标月查整月(优先当前月)
month = end_date.strftime("%Y-%m")
cred = credential.Credential(secret_id, secret_key)
hp = HttpProfile(endpoint="billing.tencentcloudapi.com")
cp = ClientProfile(httpProfile=hp)
client = billing_client.BillingClient(cred, "", cp)
def _parse_cost(d):
cost = 0
comp_set = getattr(d, "ComponentSet", None) or []
for c in comp_set:
try:
cost += float(getattr(c, "RealCost", 0) or getattr(c, "Cost", 0) or 0)
except (TypeError, ValueError):
pass
if cost == 0:
try:
cost = float(getattr(d, "RealTotalCost", 0) or getattr(d, "TotalCost", 0) or 0)
except (TypeError, ValueError):
pass
return cost
req = models.DescribeBillDetailRequest()
req.Month = month
req.BeginTime = begin_time
req.EndTime = end_time
req.Offset = 0
req.Limit = 300
@@ -101,31 +113,40 @@ def main(days=2, start_date=None, end_date=None):
if not resp.DetailSet:
break
for d in resp.DetailSet:
try:
cost = float(getattr(d, "RealTotalCost", 0) or getattr(d, "TotalCost", 0) or 0)
except (TypeError, ValueError):
cost = 0
cost = _parse_cost(d)
if cost == 0:
continue
total_cost += cost
fee_begin = getattr(d, "FeeBeginTime", "") or getattr(d, "BillDay", "")
details.append({
"product": getattr(d, "BusinessCodeName", "") or getattr(d, "ProductCodeName", "") or "-",
"cost": cost,
"time": getattr(d, "PayerUin", ""),
"day": str(fee_begin)[:10] if fee_begin else "?",
})
if len(resp.DetailSet) < req.Limit:
break
req.Offset += req.Limit
print(f"\n腾讯云消费({start_date} ~ {end_date}")
print(f"\n腾讯云消费({month}")
print("=" * 50)
print(f"合计:¥ {total_cost:.2f}")
if details:
by_product = {}
by_day = {}
for x in details:
k = x["product"]
by_product[k] = by_product.get(k, 0) + x["cost"]
d = x.get("day", "?")
by_day[d] = by_day.get(d, 0) + x["cost"]
print("\n按产品汇总:")
for k, v in sorted(by_product.items(), key=lambda t: -t[1]):
print(f" {k}: ¥ {v:.2f}")
if by_day:
print("\n按日汇总前10天")
for d, v in sorted(by_day.items(), key=lambda t: t[0])[:10]:
print(f" {d}: ¥ {v:.2f}")
if len(by_day) > 10:
print(f" ... 共 {len(by_day)}")
else:
print("(无明细或 API 未返回请登录控制台查看https://console.cloud.tencent.com/expense/overview")
return 0

View File

@@ -1,11 +1,11 @@
---
name: 智能纪要
description: 派对/会议录音一键转结构化纪要;飞书妙记链接/内容识别与下载(单条/批量),执行完毕用复盘格式回复
triggers: 会议纪要、产研纪要、派对纪要、妙记、飞书妙记、飞书链接、cunkebao.feishu.cn/minutes、meetings.feishu.cn/minutes、妙记下载、第几场、指定场次、批量下载妙记、下载妙记
description: 派对/会议录音一键转结构化纪要;飞书妙记文字+视频全命令行下载;飞书 MCP 能力整合;单条/批量妙记导出
triggers: 会议纪要、产研纪要、派对纪要、妙记、飞书妙记、飞书链接、cunkebao.feishu.cn/minutes、meetings.feishu.cn/minutes、妙记下载、第几场、指定场次、批量下载妙记、下载妙记、妙记文字、妙记视频、飞书视频、视频下载
owner: 水桥
group: 水
version: "1.1"
updated: "2026-02-19"
version: "1.2"
updated: "2026-02-20"
---
# 派对纪要生成器
@@ -259,6 +259,93 @@ bash "$SCRIPT_DIR/download_104_to_soul.sh"
2. 右上角「…」→「导出文字记录
3. 将下载的 txt 放到目标目录 soul
---
## 📹 妙记视频下载(全命令行)
与文字导出共用 Cookiecookie_minutes.txt)。通过 status API 获取视频下载链接流式下载为 mp4
```bash
SCRIPT_DIR="/Users/karuo/Documents/个人/卡若AI/02_卡人/水桥_平台对接/智能纪要/脚本"
# 下载指定妙记的视频到指定目录
python3 "$SCRIPT_DIR/feishu_minutes_download_video.py" "https://cunkebao.feishu.cn/minutes/obcnyg5nj2l8q281v32de6qz" -o ~/Downloads/
python3 "$SCRIPT_DIR/feishu_minutes_download_video.py" obcnyg5nj2l8q281v32de6qz --output "/Users/karuo/Documents/聊天记录/soul"
```
**核心 API**`GET meetings.feishu.cn/minutes/api/status?object_token=xxx` `cunkebao.feishu.cn/minutes/api/status`返回 `data.video_info.video_download_url`
---
## 🔗 飞书 MCP 能力整合
| 方案 | 来源 | 功能 | 妙记文字/视频 |
|:---|:---|:---|:---|
| **@larksuiteoapi/lark-mcp** | 飞书官方 | 文档多维表格日历群聊消息等 OpenAPI | 无妙记专用 |
| **DarkNoah/feishu-mcp** | GitHub | 多维表格 CRUD | 无妙记 |
| **本 Skill** | 智能纪要脚本 | Cookie + 导出/status API | 文字+视频 |
**Cursor 配置飞书官方 MCP**文档/表格等
```json
{
"mcpServers": {
"lark-mcp": {
"command": "npx",
"args": ["-y", "@larksuiteoapi/lark-mcp", "mcp", "-a", "<app_id>", "-s", "<app_secret>"]
}
}
}
```
妙记文字/视频下载MCP 暂无专用能力**必须用本 Skill Cookie + 脚本方案**。
---
## 📋 妙记文字 + 视频完整解决方案(一键表)
| 需求 | 脚本 | 一键命令 |
|:---|:---|:---|
| **104 场文字** | 导出104到soul.sh | `bash "$SCRIPT_DIR/导出104到soul.sh"` |
| **104 场视频** | feishu_minutes_download_video.py | `python3 "$SCRIPT_DIR/feishu_minutes_download_video.py" obcnyg5nj2l8q281v32de6qz -o "$OUT"` |
| **90102 场文字** | download_soul_minutes_101_to_103.py | `python3 "$SCRIPT_DIR/download_soul_minutes_101_to_103.py" --from 90 --to 102` |
| **企业 TOKEN 文字** | fetch_feishu_minutes.py --tenant-only | `python3 "$SCRIPT_DIR/fetch_feishu_minutes.py" -t obcnyg5nj2l8q281v32de6qz --tenant-only -o "$OUT"` |
| **视频 + AI 切片发群** | 飞书管理/feishu_video_clip.py | `02_卡人/水桥_平台对接/飞书管理/SKILL.md` |
**前置**`cookie_minutes.txt` 第一行粘贴 list 请求的 Cookie bv_csrf_token或配置 FEISHU_MINUTES_COOKIE 环境变量
---
## 🛠️ 核心代码与 API供迭代复用
### 文字导出接口
```python
# POST meetings.feishu.cn/minutes/api/export 或 cunkebao.feishu.cn/minutes/api/export
params = {"object_token": "obcnyg5nj2l8q281v32de6qz", "format": 2, "add_speaker": "true", "add_timestamp": "false"}
headers = {"Cookie": cookie, "Referer": "https://cunkebao.feishu.cn/minutes/", "bv-csrf-token": bv_csrf_token}
r = requests.post(url, params=params, headers=headers)
# 200 时 r.text 即为文字记录正文
```
### 视频下载接口
```python
# GET .../minutes/api/status?object_token=xxx&language=zh_cn
r = requests.get(status_url, headers=headers)
data = r.json()
video_url = data["data"]["video_info"]["video_download_url"]
# 再 requests.get(video_url, stream=True) 流式下载
```
### Cookie 获取顺序
1. cookie_minutes.txt 第一行
2. 环境变量 FEISHU_MINUTES_COOKIE
3. 本机浏览器browser_cookie3Safari/Chrome/Firefox/Edge Doubao Cookie 解密
---
### 执行完毕回复规范
每次完成**飞书妙记相关**的下载/导出/批量任务后**必须用卡若复盘格式**收尾
@@ -366,9 +453,14 @@ python3 scripts/send_to_feishu.py --json "meeting.json"
| 脚本 | 功能 | 依赖 |
|:---|:---|:---|
| **`daily_chanyan_to_feishu.py`** | 产研会议日报:≥5分钟则总结+图发飞书全命令行 | requests, playwright |
| **`full_pipeline.py`** | 完整流程推荐 | requests, playwright |
| **`fetch_feishu_minutes.py`** | 飞书妙记 会议纪要 / 导出并发飞书 | requests |
| **`feishu_minutes_export_github.py`** | 妙记文字导出GitHub 同款Cookie/浏览器 | requests |
| **`feishu_minutes_download_video.py`** | 妙记视频下载status API mp4 | requests |
| **`导出104到soul.sh`** | 104 场文字一键导出到 soul | feishu_minutes_export_github |
| **`download_soul_minutes_101_to_103.py`** | 批量场次文字--from/--to | requests |
| **`fetch_feishu_minutes.py`** | 应用/用户 token 拉取 + 纪要生成 | requests |
| **`daily_chanyan_to_feishu.py`** | 产研会议日报:≥5分钟则总结+图发飞书 | requests, playwright |
| **`full_pipeline.py`** | 完整流程聊天记录纪要截图发飞书 | requests, playwright |
| `fetch_single_minute_by_cookie.py` | 单条妙记Cookie/浏览器 | requests |
| `parse_chatlog.py` | 解析聊天记录 JSON | |
| `generate_meeting.py` | JSON HTML | |
| `md_to_summary_html.py` | 总结 md HTML产研纪要截图用 | |
@@ -404,13 +496,16 @@ playwright install chromium
```
智能纪要/
├── 脚本/ # 飞书妙记下载与产研日报(本 Skill 主用)
│ ├── feishu_minutes_export_github.py # ⭐ 单条导出GitHub 同款,需 bv_csrf_token
│ ├── feishu_minutes_export_github.py # ⭐ 妙记文字单条导出GitHub 同款)
│ ├── feishu_minutes_download_video.py # ⭐ 妙记视频下载status API
│ ├── 导出104到soul.sh # ⭐ 104 场文字一键导出
│ ├── 妙记104_企业TOKEN命令行.sh # 企业 token 导出 104数据范围需全部
│ ├── fetch_single_minute_by_cookie.py # 单条导出Cookie/浏览器)
│ ├── download_soul_minutes_101_to_103.py # 批量 101103 场
│ ├── download_soul_minutes_101_to_103.py # 批量场次文字(--from/--to
│ ├── download_101_to_103.sh # 一键 101103
│ ├── download_104_to_soul.sh # 一键 104 场(已有完整 txt 则直接成功)
│ ├── download_104_to_soul.sh # 一键 104 场
│ ├── cookie_minutes.txt # Cookie 配置(可选;无则自动读浏览器)
│ ├── soul_minutes_90_102_list.txt # 场次列表缓存(导出失败时自动生成,重跑即只做导出)
│ ├── soul_minutes_90_102_list.txt # 场次列表缓存
│ ├── fetch_feishu_minutes.py # 应用/用户 token 拉取
│ ├── fetch_minutes_list_by_cookie.py # 列表拉取 → urls_soul_party.txt
│ └── batch_download_minutes_txt.py # 按 URL 列表批量下载
@@ -430,6 +525,7 @@ playwright install chromium
│ └── review.html # 复盘总结模板
├── 参考资料/
│ └── 飞书妙记下载-权限与排查说明.md
│ # 用户侧方案说明:聊天记录/soul/飞书妙记104场_全命令行下载方案.md
├── output/ # 输出目录
└── SKILL.md # 本文档
```
@@ -450,6 +546,7 @@ playwright install chromium
| 日期 | 更新 |
|:---|:---|
| **2026-02-20** | 📌 **全能力整合**Feishu MCP官方 @larksuiteoapi/lark-mcpDarkNoah/feishu-mcp妙记**视频下载**feishu_minutes_download_video.py妙记**文字+视频**完整解决方案表核心 API 与代码片段导出104到soul.sh妙记104_企业TOKEN命令行.sh触发词增补妙记文字妙记视频飞书视频视频下载 |
| **2026-02-19** | 📌 飞书妙记下载**强制全自动禁止要求用户手动操作**Cookie 优先 cookie_minutes.txt 环境变量 本机浏览器Safari/Chrome/Firefox/Edge/Doubao批量支持 --from/--to 90102列表缓存 soul_minutes_{from}_{to}_list.txt重跑只做导出双域导出meetings + cunkebao执行完毕用复盘格式回复 |
| **2026-01-29** | 📌 产研会议日报daily_chanyan_to_feishu.py飞书 API/本地 txt 5分钟 总结+图发飞书全命令行 |
| **2026-01-28** | 🤖 融合本地模型支持离线智能摘要信息提取 |

View File

@@ -38,8 +38,26 @@ REFERERS = [
USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
def _cookie_from_browser() -> str:
"""从本机浏览器读取飞书 Cookie与 feishu_minutes_export_github 一致)"""
for domain in ("cunkebao.feishu.cn", "feishu.cn", ".feishu.cn"):
try:
import browser_cookie3
for loader in (browser_cookie3.safari, browser_cookie3.chrome, browser_cookie3.edge, browser_cookie3.firefox):
try:
cj = loader(domain_name=domain)
s = "; ".join([f"{c.name}={c.value}" for c in cj])
if len(s) > 100:
return s
except Exception:
continue
except ImportError:
break
return ""
def get_cookie() -> str:
"""与 fetch_single_minute_by_cookie 一致:环境变量 → cookie_minutes.txt"""
"""环境变量 → cookie_minutes.txt → 本机浏览器"""
cookie = os.environ.get("FEISHU_MINUTES_COOKIE", "").strip()
if cookie and len(cookie) > 100 and "PASTE_YOUR" not in cookie:
return cookie
@@ -49,7 +67,7 @@ def get_cookie() -> str:
line = line.strip()
if line and not line.startswith("#") and "PASTE_YOUR" not in line:
return line
return ""
return _cookie_from_browser()
def get_csrf(cookie: str) -> str:

View File

@@ -0,0 +1,12 @@
# 场次 标题 object_token
# 配置 cookie_minutes.txt 后重新执行本脚本即可只做导出
100 soul 派对 100场 20260214 obcnu1rfr452595c6l51a7e1
100 ip切片 目标派对51-100场 会员社群200人搭建的视频会议 obcnleg937yi97h4xc311829
100 ip切片 目标派对51-100场 会员社群200人搭建的视频会议 obcn82umur66e1f92qtcdews
100 ip切片 目标派对51-100场 会员社群200人搭建的视频会议 obcntns4t5ufqgo34y57d39k
101 soul 派对 101场 20260216 obcnwd5r563dopj1l3lp5pf1
102 soul 派对 102场 20260217 obcnw4122sy6yeic79tpzbuo
103 soul 派对 第103场 20260218 obcnxrkz6k459k669544228c
103 soul 派对 103场 202060218 obcnxqk56n8w19uf856n4t9a
104 soul 派对 104场 20260219 obcnyg5nj2l8q281v32de6qz
105 soul 派对 105场 20260220 obcny5sux74w123q3pmt8xg7

View File

@@ -122,3 +122,4 @@
| 2026-02-23 23:41:16 | 🔄 卡若AI 同步 2026-02-23 23:41 | 更新:水桥平台对接、运营中枢工作台 | 排除 >20MB: 10 个 |
| 2026-02-24 05:39:42 | 🔄 卡若AI 同步 2026-02-24 05:39 | 更新:水桥平台对接、运营中枢工作台 | 排除 >20MB: 10 个 |
| 2026-02-24 05:43:39 | 🔄 卡若AI 同步 2026-02-24 05:43 | 更新Cursor规则、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 10 个 |
| 2026-02-24 05:49:20 | 🔄 卡若AI 同步 2026-02-24 05:49 | 更新:卡木、总索引与入口、运营中枢工作台 | 排除 >20MB: 10 个 |

View File

@@ -125,3 +125,4 @@
| 2026-02-23 23:41:16 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-23 23:41 | 更新:水桥平台对接、运营中枢工作台 | 排除 >20MB: 10 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
| 2026-02-24 05:39:42 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-24 05:39 | 更新:水桥平台对接、运营中枢工作台 | 排除 >20MB: 10 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
| 2026-02-24 05:43:39 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-24 05:43 | 更新Cursor规则、总索引与入口、运营中枢参考资料、运营中枢工作台 | 排除 >20MB: 10 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
| 2026-02-24 05:49:20 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-24 05:49 | 更新:卡木、总索引与入口、运营中枢工作台 | 排除 >20MB: 10 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |

View File

@@ -0,0 +1,117 @@
# 腾讯云消耗分析与降费极限方案
> 数据来源:腾讯云账单 API DescribeBillDetail2026-02 月,至 24 日)
> 生成时间:按执行日
---
## 一、消耗总览与付费能力
| 指标 | 数值 |
|------|------|
| **2 月合计(至 24 日)** | ¥941.74 |
| **日均消费** | ¥39.24 |
| **月均估算(按当前节奏)** | 约 ¥1,2001,300 |
### 按产品汇总(占比)
| 产品 | 金额 | 占比 | 说明 |
|------|------|------|------|
| 云服务器 CVM | ¥656.23 | 69.7% | 存客宝 + kr宝塔 |
| 公网 IP | ¥163.58 | 17.4% | 公网流量 |
| 云数据库 MySQL | ¥146.20 | 15.5% | 存客宝 CDB |
| 云硬盘快照 Snapshot | ¥50.50 | 5.4% | 可优化 |
| 云硬盘 CBS | ¥0.80 | 0.1% | - |
| 点播 VOD | ¥0.15 | - | - |
| 轻量应用服务器 | ¥-77.42 | -8.2% | 退款/冲抵 |
---
## 二、每日额外扣费明细(主要来源)
### 2.1 产品+组件级拆解
| 产品 | 组件 | 金额 | 占比 | 是否「额外」 |
|------|------|------|------|--------------|
| 云服务器 CVM | **带宽** | ¥401.14 | **42.6%** | 是 |
| 云服务器 CVM | 运算组件 | ¥215.09 | 22.8% | 否 |
| 公网 IP | **公网网络-流量** | ¥163.58 | **17.4%** | **是** |
| 云数据库 MySQL | CPU | ¥51.00 | 5.4% | 否 |
| 云数据库 MySQL | 内存 | ¥51.00 | 5.4% | 否 |
| 云硬盘快照 Snapshot | **存储空间** | ¥50.50 | **5.4%** | **是** |
| 云服务器 CVM | 系统盘 | ¥40.00 | 4.2% | 否 |
| 云数据库 MySQL | **备份** | ¥26.20 | 2.8% | **是** |
| 云数据库 MySQL | 硬盘 | ¥18.00 | 1.9% | 否 |
### 2.2 每日「额外扣费」金额(公网/快照/流量/备份)
| 日期 | 额外扣费(元) | 说明 |
|------|-------------|------|
| 2/12/14 | ¥512/天 | 日常公网流量 |
| **2/15** | **¥118.91** | 快照或批量计费 |
| 2/16 | ¥4.99 | - |
| **2/17** | **¥21.49** | - |
| **2/18** | **¥41.82** | - |
| **2/19** | **¥310.04** | 快照存储月度计费 |
| 2/202/24 | ¥13/天 | 日常 |
| **2 月额外合计** | **¥615.31** | 占总支出的 65% |
**结论**:每天额外扣费的主要来源是 **公网流量**¥312/天)和 **快照存储**(月度集中扣 ¥50+2/19 单日 ¥310
---
## 三、降费极限方案(可操作项与预估节省)
### 3.1 立即可做(无业务影响)
| 序号 | 操作 | 当前月费 | 预估节省 | 操作方式 |
|------|------|----------|----------|----------|
| 1 | **删除无用云硬盘快照** | ¥50.50 | **¥50/月** | 控制台 → 云硬盘 → 快照 → 删除非必要快照 |
| 2 | **CDB 备份策略收缩** | ¥26.20 | **¥1526/月** | 控制台 → 云数据库 → 备份设置,减少保留天数或频率 |
| 3 | **COS 外网流量优化** | ¥0 | ¥05 | 若后续 COS 流量增长,可设 CDN 或内网访问 |
### 3.2 中等优化(需评估业务)
| 序号 | 操作 | 当前月费 | 预估节省 | 风险与条件 |
|------|------|----------|----------|------------|
| 4 | **存客宝带宽 50M→20M** | ¥401CVM 带宽) | **¥150200/月** | 需确认 50M 是否必须20M 对多数 Web 足够 |
| 5 | **公网流量改用按量+告警** | ¥163公网流量 | ¥050 | 若当前为包月带宽,改为按量可避免闲置;需设流量告警 |
| 6 | **CDB 降配** | ¥146 | ¥3060 | 当前 1G 内存 25G 盘;若业务压力小可试 0.5G 或缩小磁盘 |
### 3.3 结构性降费(需业务决策)
| 序号 | 操作 | 当前月费 | 预估节省 | 说明 |
|------|------|----------|----------|------|
| 7 | **CDB 迁至 CVM 自建 MySQL** | ¥146 | **¥100146/月** | 需迁移与运维43 库 9.4G,技术可行 |
| 8 | **kr宝塔 降配或合并** | 含在 CVM 内 | ¥50100 | 2 核 4G→1 核 2G 或与存客宝合并(需评估) |
| 9 | **存客宝 包年包月** | - | ¥50100/月 | 若长期使用,包年包月通常比按量便宜 10%15% |
---
## 四、降费极限目标(汇总)
| 方案力度 | 月节省范围 | 月费目标 |
|----------|------------|----------|
| 保守(快照+备份) | ¥6576 | ¥1,0501,140 |
| 中等(+带宽优化) | ¥215276 | ¥9401,000 |
| **极限(+CDB 迁出 + 合并)** | **¥365446** | **¥750850** |
**极限方案下**:月费可从约 ¥1,200 降至 **¥750850**,降幅约 **30%40%**
---
## 五、执行优先级与检查清单
1. **[ ] 删除无用快照**:控制台 → 云硬盘 → 快照,保留最近 12 个必要快照
2. **[ ] 调整 CDB 备份**:保留 37 天,关闭非必要自动备份
3. **[ ] 评估存客宝带宽**:监控 7 天峰值,若长期 <20M 可降配
4. **[ ] 设费用告警**控制台 费用 预算与告警月预算 ¥1,000 超限提醒
5. **[ ] 设流量告警**云服务器监控公网出带宽 > 某阈值提醒
---
## 六、脚本与数据
- 账单查询:`01_卡资/金仓_存储备份/服务器管理/scripts/tencent_cloud_bill_recent_days.py`
- 注意API 要求 `Month``BeginTime/EndTime` 同月,跨月需分月查询
- 控制台https://console.cloud.tencent.com/expense/overview