joy-cli/docs/ops/shenzhou-path-ai-ops.md
feibisi 96edc040ca feat(shenzhou): tickets filter, FreeScout proxy, board finance-hold
Open-status ticket filtering and shorter list TTL, FreeScout API via
jump host with write-path cache clear, OpenBoard finance-hold flags on
board create, and expanded shenzhou web tab UX.
2026-07-13 02:08:25 +08:00

217 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 神州路径 · 专业站群维护运营AI 协作版)
> 2026-07-11 · konqi
> 立场:**先像专业网站运维团队一样做事**,再用 AI 放大执行力。
> 站可以是 WP / 静态 / 传统程序;变的是「谁盯、谁判、谁动」。
---
## 0. 专业站群在管什么(不是「多几个字段」)
成熟站群 / 代维 / 电商站运维,日常按 **风险优先级** 工作,而不是按「能采什么就显示什么」:
| 优先级 | 运维域 | 人要回答的问题 | 失败代价 |
|--------|--------|----------------|----------|
| **P0** | 可用性 | 用户打得开吗?关键路径红了吗? | 全站/品牌不可用 |
| **P0** | 营收链路 | 下单/支付/登录/邮件触达还通吗? | 直接丢钱 |
| **P1** | 安全与合规 | SSL、漏洞插件、异常登录、证书错配 | 被黑/被浏览器拦截 |
| **P1** | 备份与恢复 | 昨晚备份成功吗?恢复演练过吗? | 无法回滚 = 假安全 |
| **P2** | 性能与体验 | 是否持续变慢?缓存是否失效? | 转化率 silently 掉 |
| **P2** | 变更与漂移 | 主题/插件/配置谁动了?预期吗? | 幽灵故障 |
| **P3** | 内容与 SEO | 收录/sitemap/死链/活动页 | 流量与品牌 |
| **P3** | 支持与工单 | 客户是否已在喊? | 口碑 |
| **P3** | 生命周期 | 该续费、合并、下线、扩容吗? | 成本与技术债 |
**AI 的位置**:把上表变成 **可调度的检查单 + 证据包 + 派工**,不是替代业务判断,更不是面板里一键改生产。
---
## 1. 当前能力对照(诚实账)
| 运维域 | 我们已有 | 缺口(专业标准) |
|--------|----------|------------------|
| 可用性 | HTTP 探活、prod-watch、路径 status/SLO | 合成交易(登录/加购)缺;边缘分区域探测缺 |
| 营收 | mall-dashboard、order-watch、payment 端点、钱标路径 | 支付「可达」≠「能付」;缺漏单/对账闭环进路径卡 |
| 安全 | SSL 天数、部分 prod_events | 插件 CVE、文件完整性、WAF/登录暴力 未进路径 |
| 备份 | backup_status 日志年龄 | **未按路径/宿主绑定**;无 RPO/RTO 声明;无恢复演练记录 |
| 性能 | latency_ms、load_ratio | 无 Core Web Vitals无缓存命中趋势慢仅单点 |
| 变更 | 主题/插件清单(只读) | **无日 diff / 无变更窗**;多站主题归属仍糙 |
| 内容 SEO | seo_status 按域 | 未默认挂到路径卡 |
| 支持 | tickets**FreeScout** APISC 已迁) | 未按路径/品牌过滤;收信 60min 待正式投入后调频 |
| 生命周期 | 容量档位文档 | 未进路径「续费/降配」建议条 |
| AI 出口 | `joy online package` | package 尚偏「技术拼盘」,**运维检查单权重不足** |
结论:零件很多,**还没按运维优先级排成「当班清单」**。
---
## 2. 路径 = 运维对象CMDB 里的 CI
专业做法:每个对外入口是一个 **Configuration Item**,有:
1. **身份**id / 品牌 / 栈 / 是否收钱 / 负责人
2. **依赖**宿主、CDN、DB、支付、邮箱、DNS
3. **SLO**:可用性、延迟、证书剩余天
4. **当班检查单**checklist绿/黄/红 + 证据链接
5. **Runbook**:只读探针 → 升级路径 → 禁止项
6. **变更记录**:最近主题/插件/配置 diff
7. **工单关联**:该品牌未关 ticket
面板路径卡应回答:**「这个 CI 现在能不能交班?」**
`joy online package` 应输出:**「给下一棒 AI/人的交班包」**。
---
## 3. 当班检查单Site Duty Checklist
每条 critical path 建议固定 8 项(有数据就打分,没数据标 `unknown` 而非假绿):
| # | 检查项 | 绿 | 黄 | 红 | 数据源 |
|---|--------|----|----|-----|--------|
| 1 | 入口可达 | 2xx/3xx | 慢>SLO | down/5xx | path probe |
| 2 | 宿主健康 | load_ratio<0.5 盘<80 | 黄区 | 红区/不可达 | cloud_hosts |
| 3 | 证书 | >30d | 1430d | <14d/过期 | ssl_status |
| 4 | 营收依赖 | 支付/order-watch ok | flaky | 钱路径 down 或支付 down | money+payment+mall |
| 5 | 备份 | 宿主相关备份 <36h 且 error=0 | 3672h | >72h 或 error>0 | backup_status×host |
| 6 | 变更风险 | 24h 无主题/插件漂移 | 有漂移 | 未授权漂移/大量 inactive 堆积 | path-diff |
| 7 | 安全噪声 | 无新 SSL/nginx 证书错配 | 陈旧 error | 新出现 key mismatch/OOM | prod_events |
| 8 | 客户声量 | 无 open ticket | — | open>0 且命中品牌 | tickets |
**交班规则(专业)**
- 任一项 **红** → 不可 silent钱路径红 → **必须** wapuu Tier1 或等价
- 仅黄 → digest 汇总,不刷屏 poke
- `unknown` 过多 → 采集债,归 konqi不假装健康
---
## 4. 角色 = 运维班次(不是聊天分工)
| 班次 | 角色 | 专业职责 | 不做什么 |
|------|------|----------|----------|
| 业务值班 | **wapuu** | 营收/内容/客户感;是否「真故障」;要不要公关/改文案 | 不直接 SSH 改 nginx |
| 基建值班 | **konqi** | 假绿、探针、宿主、备份绑定、采集债 | 不判订单业务对错 |
| 工程实施 | **神兽/work** | 插件/主题/发版/修 bug | 不无 board 改生产 |
| 质控/制度 | **tux** | 验收「用户问题是否关闭」;反复故障改 SOP | 不代替当班救火 |
| 业主 | **feibisi** | 写操作闸、续费、是否升/降 critical | — |
升级路径(专业 NOC 习惯):
```
探针红 → package 证据
→ 业务wapuu 确认
→ 基建konqi 修
→ 要改代码board → work
→ 反复第三次tux 立 SOP
```
---
## 5. AI 该放大的四件事(克制)
1. **汇证据**30 秒内 package已做雏形
2. **排优先级**:按上表 P0→P3 排序,而不是按卡片顺序
3. **写交班/digest**:人/AI 早会一页纸
4. **起草工单**board 标题 + 验收表host | 命令 | 期望 | 实测)
AI **不该**默认做:无审计启停插件、清 CDN、改 DNS、硬重启生产。
---
## 6. 与「堆字段」的边界
| 该做 | 不该做 |
|------|--------|
| 检查单 + 证据 + 派工 | 第二宝塔 |
| 变更 diff 与备份绑定 | 无意义的炫酷图表 |
| 钱路径单独 SLO 与合成监测 | 全站爬虫当运维 |
| 多站点:网络视图 + 未列子站策略 | 把所有子站无脑拉进脉搏 |
未列子站account/bbs/…)专业处理:
- **脉搏层**只放:钱、品牌门面、登录/结算
- **网络层**保留全量子站(已做 wp_networks
- 定期评审:谁升级 critical、谁保持网络内观察
---
## 7. 落地顺序(按运维价值重排)
### 已做
- 路径设备卡节奏、栈类型、WP 主题/插件只读
- `joy online package` / API / 面板「AI上下文」 + **Duty Checklist**
- **截图默认展开**mShots **定期归档 + 像素 diff**(钱路径 1h / 其它 6h
- 阈值Δ≥12 黄 · Δ≥28 红 → 路径告警条 + checklist「画面/变更」
- 缓存:`~/.cache/joy/shenzhou-shots/` · `shenzhou-shot-diff.json`
### 下一步(专业运维优先)
| 序 | 项 | 为何专业 |
|----|-----|----------|
| **1** | ~~Duty Checklist~~ 已做 | 交班标准 |
| **2** | 钱路径绑定 payment + order-watch + mall 摘要 | 营收 P0checklist 已挂) |
| **3** | 备份按 host 精绑 | 恢复能力 |
| **4** | 主题/插件 **日 diff**(补画面 diff 盲区:后台改、截图同) | 变更管理 |
| **5** | 画面 crit → wapuu digest汇总不每条 poke | 班次 |
| **6** | 路径异常 → board 草稿 | 闭环 |
| **7** | 钱路径合成检查加深 | 真业务可用性 |
### 明确延后
- 面板写生产
- 全量子站进 critical
- 视觉回归截图 diff仅钱路径实验
---
## 8. 成功标准(运维语言)
- 早会 5 分钟:钱路径 + 红项 + 变更 + 备份,一页看完
- 任一 critical path`joy online package <id>` 含检查单,不只有插件列表
- 事故后:能指出「哪项检查单先红、证据是什么、谁接了」
- 零「文档绿 / 探针绿 / 用户仍下不了单」无记录的交班
---
## 9. 探针分工(不是「全是本机 ping」
| 通道 | 从哪测 | 用途 |
|------|--------|------|
| **本机/Mac curl** | joy 采集机 | 关键路径、支付、health_url、SEO 等 HTTP 轻探 |
| **经 devops SSH** | 跳板并发 | 云主机 load/盘/容器名 |
| **prod-watch** | 既有脚本 | 站点红点 |
| **边缘多节点** | `status.wpcy.net/api`CF | 代理/公共能力全球视角;**与本机探针互补** |
| **Uptime Kuma** | `monitor.wpcy.net` | 控制台在API 需登录socket后续可加深 |
注意:`status.wpcy.net``data_age` 很大 → 标 **stale**,不当假绿。
## 10. 业务系统集成(已落地雏形)
- enrich容器名实测 · health_url · 关联路径 · 边缘 uptime 匹配 · lifecycle 停服待决策
- UI设备卡 + 分区指标 + 下方「多节点可用性」
- 停服Mautic/Weblate→ 待决策,不混在「运行」
## 11. 实现索引
| 能力 | 位置 |
|------|------|
| 工作包 | `online_context.build_path_package` / `format_path_package` |
| CLI | `joy online package <id> [--json]` |
| API | `GET /api/online/package?id=` |
| 面板 | 路径卡「复制工作包」 |
| 容量/续费 | `docs/ops/prod-capacity-tiers.md` |
| 业务 enrich | `_enrich_business` · `_collect_uptime_external` |
| UI 约定 | 全局 `.card`wapuu 路径卡修复) |
## 12. 运维备忘2026-07-11/12 实战)
| 主题 | 要点 |
|------|------|
| status.wpcy.net 停更 | CF Worker `status-page` / `healthcheck-cron` schedules 被清空PUT body 用 `[{"cron":"*/5 * * * *"}]`modiqi default Global Key |
| Docker/Geo | health 返回 JSONgeo 需 Workers 自定义域名(删冲突 AAAA |
| 假崩溃提醒 | `joy-konqi-resident` 勿用 `pgrep "kilo --"`;真实为 `.kilo -m … --continue` |
| Mautic 测试 | ai-team:8088 · **7.1.3** · 文档 `office/konqi/docs/MAUTIC-TEST-AI-TEAM-2026-07-11.md` |
| 全量复盘 | `office/konqi/docs/SESSION-2026-07-11-SHENZHOU-MAUTIC-OPS.md` |
---
**一句话**:专业运维管的是 **风险与交班**AI 负责 **证据、排序、起草**;人(瓦普/业主)负责 **业务真伪与写操作闸**