36 lines
4.9 KiB
Markdown
36 lines
4.9 KiB
Markdown
|
|
|
|||
|
|
## TG 多 VPS 中控 Bot 交互继续演进 [P1]
|
|||
|
|
- 用户明确不喜欢 Telegram 底部常驻键盘,最终偏好是“消息内按钮 + 输入框旁菜单键”,已移除旧 reply keyboard 缓存逻辑并保留菜单键命令入口
|
|||
|
|
- 已为 `@vpsbot8_bot` 配置菜单键命令:`/start`、`/nodes`、`/add`、`/overview`、`/auth`、`/alerts`、`/cancel`
|
|||
|
|
- 分组能力已继续补齐:支持节点详情里“改分组”、现有分组按钮切换、新建/输入新分组,以及删除分组时将节点自动移动到 `default`;`default` 分组不可删除
|
|||
|
|
- 关键踩坑:按钮“改分组没反应”的根因不是 Telegram,而是 `on_callback` 里最初漏接了 `node:setgroup*` 分支;修复后恢复正常
|
|||
|
|
|
|||
|
|
## TG 多 VPS 中控 Bot 编辑与资源告警 [P1]
|
|||
|
|
- 已在 `155.103.67.36:/opt/vpsbot8/app.py` 上继续补上节点编辑能力:节点详情新增 `✏️ 编辑`,可修改名称、地址/IP、端口、用户、密码、Key
|
|||
|
|
- 已补上资源告警阈值设置:`cpu_alert_threshold`、`mem_alert_threshold`、`disk_alert_threshold`(0 表示关闭),并接入巡检逻辑;超阈值告警,恢复后可发送恢复通知
|
|||
|
|
- 为资源告警新增 `resource_state` 状态表做去重,避免每次巡检重复刷屏
|
|||
|
|
- 资源采集方式已验证可用:通过节点概览结果解析 `LOAD/MEM/DISK`,样例解析结果为 `cpu=0.0, mem=51.3, disk=43.0`
|
|||
|
|
- 实测验证:`vpsbot8.service` 重启后保持 `active`,并已通过脚本验证 `show_edit_menu` 存在、节点名可临时改写再恢复
|
|||
|
|
|
|||
|
|
## 本轮执行经验 [P2]
|
|||
|
|
- 在 Telegram 通道里执行超长 here-doc / 内联 Python 补丁命令,容易被审批系统误判为 `approval-timeout (obfuscation-detected)`;后续应优先写入临时补丁文件后再执行,减少长命令审批误报
|
|||
|
|
- Codex 在 `/tmp/vpsbot8` 上两次未能协助完成:一次因不是受信任 git 目录,一次因 `401 Unauthorized` 认证失败;本轮最终改为手工补丁 + 远端验证完成交付
|
|||
|
|
|
|||
|
|
## TG 多 VPS 中控 Bot 账单/到期功能 [P1]
|
|||
|
|
- 已在 `155.103.67.36:/opt/vpsbot8/app.py` 上继续补上账单能力:首页新增 `💰 账单`、`⏰ 到期`,菜单命令新增 `/billing`
|
|||
|
|
- 已新增节点账单相关字段展示与统计入口:月成本总计、年成本估算、按分组成本统计、高成本节点排行、30 天内到期节点预览
|
|||
|
|
- 已新增到期列表视图:支持查看 `7 天内` / `30 天内` 到期节点,展示节点名、分组、到期日、剩余天数、备注、价格(若已填写)
|
|||
|
|
- 实测验证:远端运行结果为 `monthly_total 0.0`、`annual_total 0.0`、`top_cost_nodes [('咸鱼云SJC', 'HK', 0.0), ('HKT1', 'HK', 0.0), ('DPNET', 'VPS', 0.0)]`、`expiring30 []`,说明统计链路已接通,只是现有节点尚未录入价格/到期信息
|
|||
|
|
- 踩坑:首次上线 `/billing` 时出现 `NameError: name 'cmd_billing' is not defined`,根因是命令已注册但函数未成功插入;补回 `cmd_billing` 后服务恢复正常
|
|||
|
|
|
|||
|
|
## TG 多 VPS 中控 Bot 批量服务管理 [P1]
|
|||
|
|
- 已在 `vpsbot8` 的批量操作中新增 `⚙️ 批量服务管理`,支持按“全部节点/分组”范围,对指定 systemd 服务执行 `状态 / 重启 / 启动 / 停止`
|
|||
|
|
- 交互流程已固定为:进入批量服务管理 → 选择范围 → 选择动作 → 文本输入服务名(如 `nginx` / `docker` / `openclaw` / `cron`)
|
|||
|
|
- 已新增 `SERVICE_ACTIONS`、`show_batch_service_scope()`、`show_batch_service_actions()`、`run_batch_service_action()`,并在消息文本流程里加入 `batch_service_name` 上下文处理
|
|||
|
|
- 实测验证:远端服务 `vpsbot8.service` 重启后为 `active`;预演 `all + cron + status` 成功输出批量服务状态结果页,说明批量服务管理链路已打通
|
|||
|
|
- 2026-03-16 晚:`vpsbot8` 已补上节点详情内账单入口:节点详情页新增 `💰 账单`,可直接查看并修改备注、金额、到期日;节点详情正文也会显示账单/到期/剩余/备注。
|
|||
|
|
- 2026-03-16 晚:账单金额单位已从固定 `¥` 改为可配置显示,先统一成 `U`,随后又将文案从 `月付(U)` 收敛为更通用的“账单/金额”。
|
|||
|
|
- 2026-03-16 晚:`vpsbot8` 账单模型继续升级为“金额 + 周期 + 货币”三元组:每个节点新增 `price_cycle`(month/quarter/year)与 `price_currency`(默认 U)字段,账单页新增 `周期` / `货币` 按钮,可选 `月付/季付/年付` 与 `U/CNY/USD/HKD/TWD`。
|
|||
|
|
- 2026-03-16 晚:因已支持多币种,账单总览不再直接把不同货币强行求和;当前改为展示“已填账单数量、分组覆盖、节点账单明细、到期预览”,避免多币种总成本误导。
|
|||
|
|
- 2026-03-16 晚:上述“节点详情账单入口 + 周期/货币选项”已部署到 `155.103.67.36:/opt/vpsbot8/app.py`,并重启 `vpsbot8.service` 验证为 `active`;实测输出含 `has_billing_menu True`、`has_cycle_menu True`、`has_currency_menu True`。
|