🔄 卡若AI 同步 2026-02-24 11:42 | 更新:金仓、水桥平台对接、运营中枢工作台 | 排除 >20MB: 10 个
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
---
|
||||
|
||||
## 📹 妙记视频下载(全命令行)
|
||||
|
||||
与文字导出共用 Cookie(cookie_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"` |
|
||||
| **90~102 场文字** | 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_cookie3:Safari/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 # 批量 101~103 场
|
||||
│ ├── download_soul_minutes_101_to_103.py # 批量场次文字(--from/--to)
|
||||
│ ├── download_101_to_103.sh # 一键 101~103
|
||||
│ ├── 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-mcp、DarkNoah/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(如 90~102);列表缓存 soul_minutes_{from}_{to}_list.txt,重跑只做导出;双域导出(meetings + cunkebao);执行完毕用复盘格式回复 |
|
||||
| **2026-01-29** | 📌 产研会议日报:daily_chanyan_to_feishu.py,飞书 API/本地 txt → 仅≥5分钟 → 总结+图发飞书,全命令行 |
|
||||
| **2026-01-28** | 🤖 融合本地模型:支持离线智能摘要、信息提取 |
|
||||
|
||||
@@ -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:
|
||||
|
||||
12
02_卡人(水)/水桥_平台对接/智能纪要/脚本/soul_minutes_100_105_list.txt
Normal file
12
02_卡人(水)/水桥_平台对接/智能纪要/脚本/soul_minutes_100_105_list.txt
Normal 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
|
||||
@@ -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 个 |
|
||||
|
||||
@@ -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) |
|
||||
|
||||
117
运营中枢/工作台/腾讯云消耗与降费极限方案.md
Normal file
117
运营中枢/工作台/腾讯云消耗与降费极限方案.md
Normal file
@@ -0,0 +1,117 @@
|
||||
# 腾讯云消耗分析与降费极限方案
|
||||
|
||||
> 数据来源:腾讯云账单 API DescribeBillDetail(2026-02 月,至 24 日)
|
||||
> 生成时间:按执行日
|
||||
|
||||
---
|
||||
|
||||
## 一、消耗总览与付费能力
|
||||
|
||||
| 指标 | 数值 |
|
||||
|------|------|
|
||||
| **2 月合计(至 24 日)** | ¥941.74 |
|
||||
| **日均消费** | ¥39.24 |
|
||||
| **月均估算(按当前节奏)** | 约 ¥1,200~1,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/1~2/14 | ¥5~12/天 | 日常公网流量 |
|
||||
| **2/15** | **¥118.91** | 快照或批量计费 |
|
||||
| 2/16 | ¥4.99 | - |
|
||||
| **2/17** | **¥21.49** | - |
|
||||
| **2/18** | **¥41.82** | - |
|
||||
| **2/19** | **¥310.04** | 快照存储月度计费 |
|
||||
| 2/20~2/24 | ¥1~3/天 | 日常 |
|
||||
| **2 月额外合计** | **¥615.31** | 占总支出的 65% |
|
||||
|
||||
**结论**:每天额外扣费的主要来源是 **公网流量**(¥3~12/天)和 **快照存储**(月度集中扣 ¥50+,2/19 单日 ¥310)。
|
||||
|
||||
---
|
||||
|
||||
## 三、降费极限方案(可操作项与预估节省)
|
||||
|
||||
### 3.1 立即可做(无业务影响)
|
||||
|
||||
| 序号 | 操作 | 当前月费 | 预估节省 | 操作方式 |
|
||||
|------|------|----------|----------|----------|
|
||||
| 1 | **删除无用云硬盘快照** | ¥50.50 | **¥50/月** | 控制台 → 云硬盘 → 快照 → 删除非必要快照 |
|
||||
| 2 | **CDB 备份策略收缩** | ¥26.20 | **¥15~26/月** | 控制台 → 云数据库 → 备份设置,减少保留天数或频率 |
|
||||
| 3 | **COS 外网流量优化** | ¥0 | ¥0~5 | 若后续 COS 流量增长,可设 CDN 或内网访问 |
|
||||
|
||||
### 3.2 中等优化(需评估业务)
|
||||
|
||||
| 序号 | 操作 | 当前月费 | 预估节省 | 风险与条件 |
|
||||
|------|------|----------|----------|------------|
|
||||
| 4 | **存客宝带宽 50M→20M** | ¥401(CVM 带宽) | **¥150~200/月** | 需确认 50M 是否必须;20M 对多数 Web 足够 |
|
||||
| 5 | **公网流量改用按量+告警** | ¥163(公网流量) | ¥0~50 | 若当前为包月带宽,改为按量可避免闲置;需设流量告警 |
|
||||
| 6 | **CDB 降配** | ¥146 | ¥30~60 | 当前 1G 内存 25G 盘;若业务压力小可试 0.5G 或缩小磁盘 |
|
||||
|
||||
### 3.3 结构性降费(需业务决策)
|
||||
|
||||
| 序号 | 操作 | 当前月费 | 预估节省 | 说明 |
|
||||
|------|------|----------|----------|------|
|
||||
| 7 | **CDB 迁至 CVM 自建 MySQL** | ¥146 | **¥100~146/月** | 需迁移与运维;43 库 9.4G,技术可行 |
|
||||
| 8 | **kr宝塔 降配或合并** | 含在 CVM 内 | ¥50~100 | 2 核 4G→1 核 2G 或与存客宝合并(需评估) |
|
||||
| 9 | **存客宝 包年包月** | - | ¥50~100/月 | 若长期使用,包年包月通常比按量便宜 10%~15% |
|
||||
|
||||
---
|
||||
|
||||
## 四、降费极限目标(汇总)
|
||||
|
||||
| 方案力度 | 月节省范围 | 月费目标 |
|
||||
|----------|------------|----------|
|
||||
| 保守(快照+备份) | ¥65~76 | ¥1,050~1,140 |
|
||||
| 中等(+带宽优化) | ¥215~276 | ¥940~1,000 |
|
||||
| **极限(+CDB 迁出 + 合并)** | **¥365~446** | **¥750~850** |
|
||||
|
||||
**极限方案下**:月费可从约 ¥1,200 降至 **¥750~850**,降幅约 **30%~40%**。
|
||||
|
||||
---
|
||||
|
||||
## 五、执行优先级与检查清单
|
||||
|
||||
1. **[ ] 删除无用快照**:控制台 → 云硬盘 → 快照,保留最近 1~2 个必要快照
|
||||
2. **[ ] 调整 CDB 备份**:保留 3~7 天,关闭非必要自动备份
|
||||
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
|
||||
Reference in New Issue
Block a user