# 🖥️ AI自媒体运营环境 — 交付说明书

> 版本：v1.0 | 交付日期：2026-05-16

---

## 目录

1. [交付总览](#1-交付总览)
2. [服务器基础信息](#2-服务器基础信息)
3. [交付资产清单](#3-交付资产清单)
4. [各系统访问信息](#4-各系统访问信息)
5. [系统架构总览](#5-系统架构总览)
6. [各组件详细说明](#6-各组件详细说明)
7. [数据库资产清单](#7-数据库资产清单)
8. [域名与SSL证书](#8-域名与ssl证书)
9. [安全体系说明](#9-安全体系说明)
10. [日常运维操作指南](#10-日常运维操作指南)
11. [Hermes AI助手使用指南](#11-hermes-ai助手使用指南)
12. [用Hermes做自媒体运营 — 场景化操作手册](#12用hermes做自媒体运营--场景化操作手册)
13. [定期维护清单](#13-定期维护清单)
14. [应急预案](#14-应急预案)
15. [密码与密钥保管](#15-密码与密钥保管)
16. [附录](#16-附录)
17. [热点新闻快报系统](#17-热点新闻快报系统)

---

## 1. 交付总览

本次交付是一套完整的 **AI赋能自媒体运营环境**，核心能力包括：

| 能力 | 说明 |
|------|------|
| 🤖 **AI智能对话** | 通过Hermes AI助手，随时用自然语言指挥服务器完成工作 |
| 📥 **公众号文章智能分析** | 大眼素材系统，一键收录+AI分析微信公众号文章 |
| 🔑 **AI模型网关** | OneAPI统一管理大模型API，所有应用共享调用 |
| 🗄️ **共享数据库** | MySQL统一存储，子应用独立隔离 |
| 🌐 **反向代理+HTTPS** | OpenResty提供安全域名访问，自动SSL证书 |
| 🛠️ **可视化管理** | 1Panel面板管理所有容器、网站、数据库、证书 |

---

## 2. 服务器基础信息

| 项目 | 值 |
|------|-----|
| **公网IP** | 43.133.76.11 |
| **内网IP** | 10.8.0.12 |
| **主机名** | VM-0-12-ubuntu |
| **操作系统** | Ubuntu 24.04.4 LTS (Noble Numbat) |
| **CPU** | 2 核 |
| **内存** | 3.6 GB |
| **磁盘** | 59 GB（已用约16GB，剩余约41GB） |
| **Swap** | 1.9 GB |
| **泛域名** | `*.yan.aipudding.com` → 43.133.76.11 |

> **泛域名说明**：`*.yan.aipudding.com` 已做DNS泛解析指向本机IP，任何四级子域名（如 `app.yan.aipudding.com`）无需额外配置DNS即可使用。

---

## 3. 交付资产清单

### 3.1 软件服务

| # | 组件 | 版本 | 端口 | 状态 | 用途 |
|---|------|------|------|------|------|
| 1 | **1Panel 面板** | v2.1.12 | 7611 | ✅ 运行中 | 服务器可视化管理 |
| 2 | **OpenResty** | 1.27.1.2 | 80/443 | ✅ 运行中 | 反向代理 + HTTPS |
| 3 | **MySQL** | 5.7.44 | 3306 | ✅ 运行中 | 共享数据库引擎 |
| 4 | **OneAPI** | v0.6.10 | 3000(仅本地) | ✅ 运行中 | AI模型统一网关 |
| 5 | **大眼素材** | v1.0 | 7800 | ✅ 运行中 | 公众号文章AI分析 |
| 6 | **Hermes WebUI** | latest | 8787 | ✅ 运行中 | AI助手Web界面 |
| 7 | **Hermes Gateway** | — | — | ✅ 运行中 | AI助手消息网关 |

### 3.2 已配置域名与网站

| 域名 | 类型 | 后端 | SSL |
|------|------|------|-----|
| `mp.yan.aipudding.com` | 反向代理 | 127.0.0.1:7800 | ✅ Let's Encrypt |
| `one.yan.aipudding.com` | 反向代理 | 127.0.0.1:3000 | ✅ Let's Encrypt |

### 3.3 数据库

| 数据库名 | 所属账户 | 用途 | 关联应用 |
|----------|---------|------|---------|
| `dayan_material` | `dayan_app` | 文章素材库 | 大眼素材 |
| `oneapi` | `oneapi` | API网关数据 | OneAPI |

### 3.4 项目代码

| 项目 | 路径 | 说明 |
|------|------|------|
| 大眼素材 | `/opt/dayan-material/` | Flask应用，含Dockerfile |
| 1Panel数据 | `/opt/1panel/` | 面板配置、应用目录 |
| Hermes配置 | `/home/ubuntu/.hermes/` | AI助手配置、技能、会话 |

---

## 4. 各系统访问信息

### 4.1 1Panel 管理面板

| 项目 | 值 |
|------|-----|
| 地址 | `http://43.133.76.11:7611/6c3a487ecb` |
| 用户名 | `d36ca1771b` |
| 密码 | 交付时另附（已设置） |
| 功能 | 容器管理、网站管理、数据库管理、SSL证书、定时任务、文件管理 |

### 4.2 大眼素材（公众号文章AI分析库）

| 项目 | 值 |
|------|-----|
| 外网地址 | `https://mp.yan.aipudding.com` |
| 内网地址 | `http://127.0.0.1:7800` |
| 认证 | 暂无（后续可加） |

### 4.3 OneAPI 管理面板

| 项目 | 值 |
|------|-----|
| 外网地址 | `https://one.yan.aipudding.com` |
| 内网地址 | `http://127.0.0.1:3000` |
| 管理员账户 | `root` |
| 普通账户 | `zxy` |
| 密码 | 交付时另附 |

### 4.4 Hermes AI助手

| 接入方式 | 地址/说明 |
|---------|----------|
| **飞书（推荐）** | 已连接飞书，直接在飞书对话中@Hermes或私聊即可 |
| **Web界面** | `http://43.133.76.11:8787`（内网可直接访问） |
| **Web密码** | 交付时另附 |

### 4.5 MySQL数据库

| 项目 | 值 |
|------|-----|
| 主机 | 127.0.0.1 或 mysql（容器内） |
| 端口 | 3306 |
| root密码 | 交付时另附（仅限管理，禁止应用直连） |
| 可视化管理 | 1Panel → 数据库 → MySQL管理 |

---

## 5. 系统架构总览

```
                         ┌─────────────────────────────────────────┐
                         │            互联网 / 用户                  │
                         └──────────────────┬──────────────────────┘
                                            │
                    ┌───────────────────────┼───────────────────────┐
                    │                       │                       │
                    ▼                       ▼                       ▼
          ┌─────────────────┐   ┌─────────────────┐   ┌─────────────────┐
          │   飞书 App       │   │   Web浏览器      │   │   1Panel 面板    │
          │  (Hermes对话)    │   │  (大眼素材等)    │   │  (运维管理)      │
          └────────┬────────┘   └────────┬────────┘   └────────┬────────┘
                   │                     │                     │
                   ▼                     ▼                     ▼
          ┌──────────────────────────────────────────────────────────────┐
          │                       服务器 43.133.76.11                     │
          │                                                              │
          │  ┌────────────────────────────────────────────────────────┐  │
          │  │              OpenResty 反向代理 (:80/:443)              │  │
          │  │  mp.yan.aipudding.com → 127.0.0.1:7800                │  │
          │  │  one.yan.aipudding.com → 127.0.0.1:3000               │  │
          │  └────────────────────────────────────────────────────────┘  │
          │                                                                │
          │  Docker Network: 1panel-network (172.18.0.0/16)               │
          │  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐          │
          │  │   MySQL      │ │   OneAPI     │ │ 大眼素材      │          │
          │  │  172.18.0.2  │ │ 172.18.0.3   │ │ 172.18.0.4   │          │
          │  │  :3306       │ │ :3000        │ │ :7800        │          │
          │  └──────────────┘ └──────┬───────┘ └──────┬───────┘          │
          │                          │                │                  │
          │                     LLM API调用      爬取+分析+入库           │
          │                          │                │                  │
          │                          ▼                ▼                  │
          │                   ┌─────────────┐  ┌─────────────┐          │
          │                   │  GLM 大模型  │  │ 微信公众号    │          │
          │                   │ (外部API)    │  │ mp.weixin    │          │
          │                   └─────────────┘  └─────────────┘          │
          │                                                                │
          │  ┌──────────────┐ ┌──────────────────────────────────────┐  │
          │  │ Hermes WebUI │ │      Hermes Gateway (AI核心引擎)      │  │
          │  │ :8787        │ │  飞书/Telegram/Discord/WebUI 多端接入  │  │
          │  └──────────────┘ └──────────────────────────────────────┘  │
          │                                                                │
          │  ┌──────────────┐                                              │
          │  │  1Panel      │ ← 管理面板 (:7611)                           │
          │  └──────────────┘                                              │
          └──────────────────────────────────────────────────────────────┘
```

---

## 6. 各组件详细说明

### 6.1 1Panel 面板

**定位**：服务器的"控制中心"，所有运维操作的可视化入口。

**核心功能**：
- **容器管理**：启动/停止/重启/日志查看所有Docker容器
- **网站管理**：添加新站点、配置反向代理、管理SSL证书
- **数据库管理**：创建数据库/账户、执行SQL、备份恢复
- **文件管理**：在线文件浏览器，编辑/上传/下载
- **定时任务**：设置cron定时备份等
- **应用商店**：一键安装更多应用（Redis、WordPress等）

### 6.2 OpenResty 反向代理

**定位**：所有Web应用的"门面"，统一处理域名路由、HTTPS加密、安全防护。

**工作机制**：
1. 用户访问 `xxx.yan.aipudding.com`
2. OpenResty根据域名匹配配置
3. HTTP自动301跳转HTTPS
4. HTTPS解密后proxy_pass到后端应用端口

**配置路径**：
- 主配置：`/opt/1panel/www/conf.d/`
- 代理规则：`/opt/1panel/www/sites/<域名>/proxy/`
- SSL证书：`/opt/1panel/www/sites/<域名>/ssl/`

### 6.3 MySQL 5.7.44

**定位**：共享数据库引擎，所有应用的数据存储中心。

**子账户隔离原则**：
| 账户 | 权限范围 | 用途 |
|------|---------|------|
| `root` | 全库 | 仅限管理操作，**禁止应用直连** |
| `dayan_app` | 仅 `dayan_material` 库 | 大眼素材专用 |
| `oneapi` | 仅 `oneapi` 库 | OneAPI专用 |

**后续新增应用时**：
```sql
-- 用root执行
CREATE DATABASE 新库名 CHARACTER SET utf8mb4;
CREATE USER '新账户'@'%' IDENTIFIED BY '新密码';
GRANT ALL PRIVILEGES ON 新库名.* TO '新账户'@'%';
FLUSH PRIVILEGES;
```

### 6.4 OneAPI 模型网关

**定位**：大模型API的统一管理平台，让所有应用通过一个入口调用各种AI模型。

**当前配置**：
| 项目 | 值 |
|------|-----|
| 渠道 | GLM（类型8=自定义OpenAI兼容） |
| 上游API | `https://openai.good.hidns.vip` |
| 模型 | `z-ai/glm-5.1` |
| Token | `yan`（配额：1,000,000，已用约307,510，剩余约692,490） |

**各应用调用方式**：
- 大眼素材 → `http://oneapi:3000/v1/chat/completions`（容器内网）
- Hermes → `http://127.0.0.1:3000/v1`（本地回环）

**新增模型渠道**：登录OneAPI管理面板 → 渠道 → 添加新渠道

### 6.5 大眼素材

**定位**：微信公众号文章AI智能分析素材库，自媒体运营的核心工具之一。

详见独立文档：`/opt/dayan-material/docs/大眼素材-详细设计及开发说明文档.md`

### 6.6 Hermes AI助手

**定位**：服务器的"AI管家"，通过飞书/Web对话即可完成几乎所有运营工作。

详见后续 [第11章](#11-hermes-ai助手使用指南) 和 [第12章](#12用hermes做自媒体运营--场景化操作手册)。

---

## 7. 数据库资产清单

### 7.1 dayan_material 库

| 表名 | 用途 | 记录数（当前） |
|------|------|--------------|
| `articles` | 文章主表 | 3 |
| `tags` | 标签表 | 若干 |
| `article_tags` | 文章-标签关联 | 若干 |

### 7.2 oneapi 库

| 表名 | 用途 |
|------|------|
| `channels` | AI模型渠道配置 |
| `tokens` | API调用Token |
| `users` | OneAPI用户 |
| `logs` | API调用日志 |

---

## 8. 域名与SSL证书

| 域名 | 证书颁发机构 | 生效日期 | 到期日期 | 续期方式 |
|------|------------|---------|---------|---------|
| `mp.yan.aipudding.com` | Let's Encrypt (E7) | 2026-05-15 | 2026-08-13 | 1Panel自动续期 |
| `one.yan.aipudding.com` | Let's Encrypt (E7) | 2026-05-14 | 2026-08-12 | 1Panel自动续期 |

> ⚠️ 证书有效期约90天，1Panel已配置自动续期，无需手动操作。若续期失败，在1Panel → 网站 → SSL → 续签即可。

---

## 9. 安全体系说明

### 9.1 网络层安全

| 防护层 | 配置 |
|--------|------|
| 云安全组 | 腾讯云安全组仅开放必要端口（22/80/443/7611/7800/8787/3306） |
| 1Panel防火墙 | 通过1Panel管理iptables规则 |
| Docker网络隔离 | 容器间通过1panel-network内网通信 |
| OneAPI端口绑定 | 仅绑定127.0.0.1:3000，不直接暴露公网 |
| HTTPS强制 | 所有Web访问自动跳转HTTPS |

### 9.2 数据层安全

| 措施 | 说明 |
|------|------|
| 数据库子账户隔离 | 每个应用独立账户，仅限自己的库 |
| root密码保护 | 仅通过1Panel或命令行管理使用 |
| API Key通过OneAPI管理 | 不直接暴露上游模型商的Key |

### 9.3 应用层安全

| 措施 | 说明 |
|------|------|
| 1Panel安全入口 | 必须输入入口路径才能访问面板 |
| 1Panel密码复杂度 | 已启用复杂度验证 |
| Hermes WebUI密码 | 独立密码保护 |
| XSS防护 | 大眼素材前端对所有动态内容HTML转义 |
| 参数化查询 | 所有SQL均使用PyMySQL参数化，防注入 |

---

## 10. 日常运维操作指南

### 10.1 通过1Panel（推荐）

所有常规操作都可通过1Panel完成，无需命令行：

| 操作 | 路径 |
|------|------|
| 查看容器状态 | 1Panel → 容器 |
| 重启容器 | 1Panel → 容器 → 选择容器 → 重启 |
| 查看容器日志 | 1Panel → 容器 → 选择容器 → 日志 |
| 新增网站 | 1Panel → 网站 → 创建网站 → 反向代理 |
| 申请SSL证书 | 1Panel → 网站 → 选择站点 → HTTPS → 申请证书 |
| 管理数据库 | 1Panel → 数据库 → MySQL |
| 文件管理 | 1Panel → 文件 |
| 设置定时备份 | 1Panel → 计划任务 → 备份MySQL |

### 10.2 通过命令行（高级）

```bash
# ─── 查看所有容器状态 ───
sudo docker ps

# ─── 查看某个容器的日志 ───
sudo docker logs -f --tail 100 dayan-material    # 大眼素材
sudo docker logs -f --tail 100 oneapi             # OneAPI
sudo docker logs -f --tail 100 mysql              # MySQL

# ─── 重启某个容器 ───
sudo docker restart dayan-material

# ─── 重新构建并部署大眼素材 ───
cd /opt/dayan-material
sudo docker build -t dayan-material:latest .
cd /opt/dayan-material && sudo docker compose down && sudo docker compose up -d

# ─── 查看数据库 ───
sudo docker exec mysql mysql -udayan_app -p'Dayan2026!mPDb' dayan_material \
  -e "SELECT id, title, status FROM articles ORDER BY id DESC LIMIT 10;"

# ─── 重启OpenResty ───
sudo docker restart 1Panel-openresty-zcjJ

# ─── 重启Hermes Gateway ───
# Hermes Gateway随hermes-webui容器自动运行，重启容器即可
sudo docker restart hermes-webui
```

---

## 11. Hermes AI助手使用指南

### 11.1 Hermes是什么

Hermes是一个**AI智能助手平台**，已部署在本服务器上。它可以：

- 🔍 **搜索信息** — 联网搜索、学术检索、市场调研
- 💻 **操作服务器** — 执行命令、管理容器、编辑文件
- 🌐 **浏览网页** — 抓取网页内容、分析文章、填写表单
- ✍️ **生成内容** — 写文案、做PPT、生成图片/视频/音乐
- 📊 **分析数据** — 处理表格、制作图表、数据洞察
- ⏰ **定时任务** — 设置自动化定期工作（如每日热点推送）
- 📨 **多端通信** — 通过飞书、Web界面与您对话

### 11.2 连接Hermes

| 方式 | 说明 | 推荐场景 |
|------|------|---------|
| **飞书对话** | 在飞书中直接私聊Hermes | 🌟 **日常最常用**，随时随地下达指令 |
| **Web界面** | 访问 `http://43.133.76.11:8787` | 需要查看长输出、文件、图表时 |

### 11.3 Hermes当前使用的AI模型

| 配置项 | 值 |
|--------|-----|
| 默认模型 | `z-ai/glm-5.1` |
| API入口 | 本地OneAPI网关 (`http://127.0.0.1:3000/v1`) |
| 备用模型 | `minimaxai/minimax-m2.7`（可在config.yaml中切换） |

### 11.4 Hermes的核心技能（Skills）

Hermes内置了丰富的技能模块，与自媒体运营相关的重点技能：

| 技能类别 | 技能名 | 自媒体用途 |
|---------|--------|-----------|
| 🔍 **搜索研究** | web_search | 热点追踪、竞品分析、选题调研 |
| 🌐 **网页浏览** | browser | 抓取文章、分析竞品页面、数据采集 |
| 📄 **文档处理** | ocr-and-documents | 识别图片文字、提取PDF内容 |
| 🎨 **创意内容** | songwriting-and-ai-music | AI生成配乐/歌曲 |
| 🎨 **创意内容** | baoyu-comic | 生成知识漫画 |
| 🎨 **创意内容** | baoyu-infographic | 生成信息图/可视化图表 |
| 🎨 **创意内容** | claude-design | 设计落地页、原型页面 |
| 🎨 **创意内容** | humanizer | 去AI味、人性化改写文案 |
| 🎨 **创意内容** | p5js / pixel-art | 生成艺术图、像素风素材 |
| 📧 **社媒运营** | xurl | X/Twitter发帖、搜索、互动 |
| 📺 **媒体处理** | youtube-content | YouTube视频转录→文章/摘要 |
| 📺 **媒体处理** | gif-search | 搜索GIF动图素材 |
| ✍️ **内容生成** | summarize | 网页/文章/文件一键摘要 |
| 📊 **生产力** | google-workspace | 邮件、日历、文档、表格 |
| 📊 **生产力** | powerpoint | 自动生成PPT |
| 🏗️ **开发运维** | 1panel | 管理服务器、部署新应用 |
| ⏰ **自动化** | cronjob | 定时执行任何任务 |

### 11.5 基础对话示例

直接在飞书中对Hermes说：

```
# 搜索信息
"帮我搜索一下最近有什么自媒体热点"

# 操作服务器
"帮我看看服务器上所有容器是不是正常运行的"

# 生成内容
"帮我写一篇关于AI教育的公众号文章，800字，风格轻松"

# 分析文章
"帮我分析这篇微信公众号文章：https://mp.weixin.qq.com/s/xxxxx"

# 定时任务
"每天早上9点帮我搜索AI领域的热点新闻并推送到飞书"
```

---

## 12. 用Hermes做自媒体运营 — 场景化操作手册

本章是核心使用指南，详细说明如何通过Hermes完成自媒体运营的各项工作。

### 12.1 选题调研 — 发现热点与灵感

#### 场景：每日选题会

**你对Hermes说**：
> "帮我搜索今天[领域名]的热点新闻，整理出5个适合做自媒体选题的方向，每个选题给一个标题建议和角度说明"

**Hermes会做的事**：
1. 调用搜索工具，检索多个关键词
2. 汇总筛选最新热点
3. 生成选题建议表（标题+角度+理由）

#### 场景：竞品分析

**你对Hermes说**：
> "帮我分析这个公众号最近的文章风格和选题方向：https://mp.weixin.qq.com/s/xxxxx"

**Hermes会做的事**：
1. 用curl抓取文章全文
2. AI分析写作风格、内容结构、受众定位
3. 输出竞品分析报告

---

### 12.2 素材收录 — 用大眼素材建立知识库

#### 场景：日常收录好文章

**方式一：通过大眼素材Web界面**

1. 打开 https://mp.yan.aipudding.com
2. 粘贴微信公众号文章链接
3. 点击「🔍 爬取 & AI分析」
4. 等待30-60秒，文章自动入库并生成摘要、分类、标签

**方式二：通过Hermes对话**

**你对Hermes说**：
> "帮我收录这篇公众号文章到大眼素材库：https://mp.weixin.qq.com/s/xxxxx"

**Hermes会做的事**：
1. 调用大眼素材API (`POST /api/articles`)
2. 等待爬取+AI分析完成
3. 告诉你收录结果和AI分析摘要

#### 场景：查找已收录的素材

**通过大眼素材Web界面**：
- 分类筛选：左侧点击分类名
- 标签筛选：点击标签云中的标签
- 关键词搜索：顶部搜索框输入关键词

**通过Hermes对话**：

> "在大眼素材库里搜索关于'AI教育'的文章"
> "帮我看看素材库里'国际关系'分类有哪些文章"

**Hermes会做的事**：调用大眼素材API查询并返回结果。

---

### 12.3 内容创作 — AI辅助写作

#### 场景：写公众号文章

**你对Hermes说**：
> "根据素材库里的这篇文章（ID:3），帮我写一篇关于儿童脾胃调理的公众号推文，要求：
> - 1500字左右
> - 面向年轻妈妈群体
> - 语言亲切温暖
> - 结尾要有互动引导"

**Hermes会做的事**：
1. 先调用大眼素材API获取原文内容
2. 分析原文核心观点
3. 按你的要求生成新文章

#### 场景：改写/去AI味

**你对Hermes说**：
> "这篇文案太像AI写的了，帮我用humanizer技能重新改写，更自然更像真人写的"

**Hermes会做的事**：加载humanizer技能，对文本进行去AI味处理，使其更接近真人写作风格。

#### 场景：写不同平台版本

**你对Hermes说**：
> "帮我把这篇文章分别改写成：小红书风格、微博风格、抖音口播稿"

**Hermes会做的事**：根据各平台特征分别改写，小红书加emoji+口语化，微博精简+话题标签，抖音口语化+节奏感。

---

### 12.4 视觉内容制作

#### 场景：生成文章配图

**你对Hermes说**：
> "帮我生成一张适合做公众号封面的配图，主题是AI赋能教育，风格简洁现代"

**Hermes会做的事**：调用图片生成技能，生成封面配图。

#### 场景：制作信息图/知识卡片

**你对Hermes说**：
> "帮我把这篇文章的核心数据做成信息图"
> "帮我做一张知识漫画，讲解什么是大语言模型"

**Hermes会做的事**：加载baoyu-infographic或baoyu-comic技能，生成可视化内容。

#### 场景：制作PPT

**你对Hermes说**：
> "帮我做一份10页的PPT，主题是'2026年AI+教育趋势'"

**Hermes会做的事**：加载powerpoint技能，生成可编辑的.pptx文件。

---

### 12.5 音视频内容制作

#### 场景：制作视频口播稿

**你对Hermes说**：
> "帮我把这篇文章改写成1分钟的抖音口播稿，要有钩子开头和情绪递进"

#### 场景：生成配乐

**你对Hermes说**：
> "帮我生成一段30秒的轻松背景音乐，适合知识科普短视频"

**Hermes会做的事**：加载songwriting-and-ai-music技能，用AI生成配乐。

#### 场景：YouTube/B站视频文案

**你对Hermes说**：
> "帮我分析这个YouTube视频的内容，并整理成文字稿：https://youtube.com/watch?v=xxx"

**Hermes会做的事**：加载youtube-content技能，提取视频字幕并整理。

---

### 12.6 多平台发布管理

#### 场景：X/Twitter发帖

**你对Hermes说**：
> "帮我在X上发一条推文，内容是关于今天AI教育的最新观察，150字以内，加2个标签"

**Hermes会做的事**：加载xurl技能，通过X/Twitter API发帖。

#### 场景：文章一键多平台分发（规划中）

> 当前Hermes已具备X/Twitter的发布能力。微信公众号、小红书等平台的自动发布功能需要后续开发对接。

---

### 12.7 数据分析与运营优化

#### 场景：素材库数据分析

**你对Hermes说**：
> "帮我统计大眼素材库里的文章分布情况，看看哪些分类和标签最热门，给我运营方向建议"

**Hermes会做的事**：调用大眼素材API获取分类和标签统计数据，生成分析报告和运营建议。

#### 场景：热点趋势监测

**你对Hermes说**：
> "帮我搜索过去一周'AI教育'领域的讨论热度和主要话题"

**Hermes会做的事**：多关键词搜索，汇总趋势报告。

---

### 12.8 自动化运营 — 定时任务

这是Hermes最强大的能力之一，可以设置**定时自动执行**的任务。

#### 场景：每日热点推送

**你对Hermes说**：
> "帮我创建一个定时任务：每天早上8点搜索AI教育领域的热点新闻，整理成5条简报推送到飞书"

**Hermes会做的事**：创建cron定时任务，每天8:00自动搜索→整理→推送。

#### 场景：竞品监控

**你对Hermes说**：
> "帮我每天早上9点检查这个公众号有没有发新文章：https://mp.weixin.qq.com/s/xxxxx，如果有就收录到大眼素材库并通知我"

#### 场景：定期备份

**你对Hermes说**：
> "帮我设置每天凌晨3点自动备份大眼素材数据库"

**Hermes会做的事**：创建cron定时任务执行mysqldump备份。

#### 管理定时任务

```
"查看我现在有哪些定时任务"        → 列出所有cron任务
"暂停每天早上的热点推送任务"      → 暂停指定cron
"恢复热点推送任务"               → 恢复指定cron
"删除xxx定时任务"                → 删除指定cron
```

---

### 12.9 快速参考 — 自媒体运营常用指令

| 运营工作 | 对Hermes说的话 |
|---------|---------------|
| 🔥 找热点 | "搜索今天XX领域的热点新闻" |
| 📥 收录文章 | "帮我收录这篇公众号文章到大眼素材库：[URL]" |
| 🔍 查素材 | "在素材库搜索关于XX的文章" |
| ✍️ 写推文 | "帮我写一篇关于XX的公众号文章，XX字，面向XX群体" |
| 🔄 改写风格 | "把这段文案改写成小红书/微博/抖音风格" |
| 🎨 做配图 | "帮我生成一张XX主题的封面图" |
| 📊 做信息图 | "帮我做一张XX主题的信息图" |
| 🎵 做配乐 | "帮我生成一段XX风格的背景音乐" |
| 📊 分析数据 | "帮我分析素材库的文章分布和运营方向" |
| ⏰ 定时推送 | "每天早8点搜索XX热点并推送给我" |
| 🛡️ 服务器管理 | "帮我检查所有服务是否正常运行" |
| 🆕 部署新应用 | "帮我部署一个新的XX应用到服务器" |

---

## 13. 定期维护清单

| 频率 | 维护项 | 方式 |
|------|--------|------|
| **每日** | 检查容器运行状态 | 1Panel → 容器 或 Hermes: "检查所有服务状态" |
| **每周** | 检查磁盘空间 | 1Panel → 概览 或 `df -h` |
| **每周** | 检查MySQL运行状态 | 1Panel → 数据库 |
| **每月** | 检查SSL证书有效期 | 1Panel → 网站 → SSL |
| **每月** | 检查OneAPI额度余量 | https://one.yan.aipudding.com → 令牌 |
| **每月** | 更新系统安全补丁 | `sudo apt update && sudo apt upgrade -y` |
| **每季度** | 检查Docker镜像更新 | 1Panel → 容器 → 升级 |
| **立即** | ⚠️ **设置数据库定时备份** | 1Panel → 计划任务 → 备份MySQL |

> ⚠️ **数据库备份尚未配置，这是最优先需要完成的维护项！**

**建议备份方案**：
1. 1Panel → 计划任务 → 新建备份任务
2. 每日凌晨3:00执行
3. 备份 `dayan_material` 和 `oneapi` 两个库
4. 本地保留最近30天备份

---

## 14. 应急预案

### 14.1 容器异常停止

```bash
# 查看容器状态
sudo docker ps -a

# 查看异常日志
sudo docker logs --tail 200 容器名

# 重启容器
sudo docker restart 容器名
```

> 大眼素材和OneAPI均设置了 `restart: always`，通常会在异常后自动重启。

### 14.2 MySQL无法连接

```bash
# 检查MySQL容器状态
sudo docker ps | grep mysql

# 重启MySQL
sudo docker restart mysql

# 检查连接
sudo docker exec mysql mysql -udayan_app -p'Dayan2026!mPDb' -e "SELECT 1;"
```

### 14.3 网站无法访问

```bash
# 检查OpenResty
sudo docker ps | grep openresty

# 检查反向代理配置
sudo docker exec 1Panel-openresty-zcjJ nginx -t

# 重启OpenResty
sudo docker restart 1Panel-openresty-zcjJ
```

### 14.4 SSL证书过期

1. 登录1Panel → 网站 → 选择站点 → HTTPS → 续签

### 14.5 磁盘空间不足

```bash
# 查看空间占用
df -h
sudo du -sh /opt/1panel/* | sort -rh | head -10

# 清理Docker无用资源
sudo docker system prune -a --volumes
```

### 14.6 Hermes无响应

```bash
# 重启Hermes WebUI容器
sudo docker restart hermes-webui

# 检查Gateway进程
ps aux | grep hermes
```

---

## 15. 密码与密钥保管

> ⚠️ 以下信息为敏感数据，请妥善保管，勿泄露给无关人员。

### 15.1 系统级密码

| 系统 | 账户 | 密码 | 说明 |
|------|------|------|------|
| 服务器SSH | ubuntu | 交付时另附 | 腾讯云CVM登录 |
| 1Panel面板 | d36ca1771b | 交付时另附 | 面板登录密码 |
| Hermes WebUI | — | 交付时另附 | Web界面登录密码 |

### 15.2 数据库密码

| 账户 | 密码 | 权限范围 |
|------|------|---------|
| MySQL root | 交付时另附 | 全库管理（禁止应用直连） |
| dayan_app | 交付时另附 | 仅 dayan_material 库 |
| oneapi | 交付时另附 | 仅 oneapi 库 |

### 15.3 API密钥

| 系统 | Key | 说明 |
|------|-----|------|
| OneAPI (yan token) | 交付时另附 | 大眼素材和Hermes调用LLM的凭证 |
| GLM上游API Key | 交付时另附 | OneAPI渠道配置的源站Key |
| Hermes备用(minimax) | 交付时另附 | 备用模型API Key |

> **安全原则**：
> - MySQL root密码不得写入任何应用配置文件
> - API Key通过OneAPI中转，不在前端代码中暴露上游Key
> - 所有密码定期更换（建议每季度）

---

## 16. 附录

### 16.1 关键路径速查

| 路径 | 说明 |
|------|------|
| `/opt/1panel/` | 1Panel面板根目录 |
| `/opt/1panel/www/conf.d/` | Nginx站点配置 |
| `/opt/1panel/www/sites/` | 各站点目录（SSL/日志/代理规则） |
| `/opt/1panel/apps/` | 1Panel安装的应用 |
| `/opt/dayan-material/` | 大眼素材项目 |
| `/home/ubuntu/.hermes/` | Hermes配置与数据 |
| `/home/ubuntu/.hermes/config.yaml` | Hermes核心配置文件 |
| `/home/ubuntu/.hermes/skills/` | Hermes技能模块 |

### 16.2 端口使用一览

| 端口 | 服务 | 访问方式 |
|------|------|---------|
| 22 | SSH | 外网 |
| 80 | OpenResty HTTP | 外网（自动跳转HTTPS） |
| 443 | OpenResty HTTPS | 外网 |
| 3000 | OneAPI | 仅127.0.0.1（通过域名反代访问） |
| 3306 | MySQL | 外网（建议后续限制为仅本地） |
| 7611 | 1Panel | 外网（需安全入口） |
| 7800 | 大眼素材 | 外网（通过域名反代访问） |
| 8787 | Hermes WebUI | 外网 |

### 16.3 Docker容器速查

| 容器名 | 镜像 | 重启策略 | 网络 |
|--------|------|---------|------|
| 1Panel-openresty-zcjJ | 1panel/openresty:1.27.1.2-5-1-focal | always | host |
| mysql | mysql:5.7.44 | always | 1panel-network |
| oneapi | justsong/one-api:v0.6.10 | always | 1panel-network |
| dayan-material | dayan-material:latest | always | 1panel-network |
| hermes-webui | ghcr.io/nesquena/hermes-webui:latest | — | — |

### 16.4 新增自媒体应用的标准流程

当需要部署新的自媒体工具时，通过Hermes即可完成：

**你对Hermes说**：
> "帮我部署一个新的[应用名]到服务器上，用端口7801，域名 app.yan.aipudding.com"

**Hermes会自动完成的步骤**：
1. 在MySQL中创建独立数据库和子账户
2. 编写应用代码或拉取Docker镜像
3. 创建docker-compose.yml，加入1panel-network
4. 在1Panel中配置反向代理网站（app.yan.aipudding.com → 127.0.0.1:7801）
5. 申请Let's Encrypt SSL证书
6. 启动容器并验证

### 16.5 常见问题

**Q: 大眼素材收录文章时提示"爬取失败"？**
A: 微信可能有反爬限制。Hermes已使用微信UA模拟，但极少数文章可能触发验证码。可稍后重试，或让Hermes用其他方式获取文章内容。

**Q: OneAPI的AI调用额度用完了怎么办？**
A: 登录 https://one.yan.aipudding.com → 令牌 → 为"yan"令牌充值额度。或新增一个渠道配置其他模型供应商的Key。

**Q: 想换一个更强的AI模型怎么办？**
A: 在OneAPI中添加新渠道（如Claude、GPT-4o等），然后在Hermes的config.yaml中修改`LLM_MODEL`为对应模型名即可。

**Q: Hermes不回我了怎么办？**
A: 检查hermes-webui容器是否运行（`sudo docker ps | grep hermes`），如未运行则重启（`sudo docker restart hermes-webui`）。

**Q: 如何添加新的飞书群接收Hermes消息？**
A: 在Hermes config.yaml中配置对应的飞书群ID，或在飞书中将Hermes机器人拉入目标群。

---

> 📋 交付文档 v1.1 | 更新日期：2026-05-18 | 如有疑问请联系交付方

---

## 17. 热点新闻快报系统

### 17.1 系统概述

在原有AI自媒体运营环境基础上，新增了 **热点新闻快报系统**，部署于 `q.yan.aipudding.com` 域名下。该系统每小时自动爬取百度热搜等热点数据，更新到首页展示，并将历史数据按日期归档，可随时翻看回溯。

### 17.2 访问地址

| 页面 | URL | 说明 |
|------|-----|------|
| 首页热榜 | `https://q.yan.aipudding.com/` | 实时热榜TOP30，每小时自动更新 |
| 历史回顾 | `https://q.yan.aipudding.com/news/history.html` | 按日期索引，可翻看历史热点 |
| 文件下载 | `https://q.yan.aipudding.com/docs/` | 方案文档等文件下载目录 |

### 17.3 系统架构

| 组件 | 说明 | 路径/配置 |
|------|------|-----------|
| 数据源 | 百度热搜（主）+ 腾讯新闻（备用） | top.baidu.com / news.qq.com |
| 爬取脚本 | Python3脚本，curl+JSON解析 | `/home/ubuntu/news_crawler.py` |
| 数据存储 | 每次爬取存一个JSON文件 | `/opt/1panel/www/sites/q/index/news/data/` |
| 历史归档 | 按日期归档JSON | `/opt/1panel/www/sites/q/index/news/history/` |
| 首页HTML | 热点展示页，自动生成 | `/opt/1panel/www/sites/q/index/index.html` |
| 历史页面 | 日期索引+时间轴导航 | `/opt/1panel/www/sites/q/index/news/history.html` |
| 定时任务 | 每小时整点自动爬取 | Hermes Cron Job (`0 * * * *`) |

### 17.4 功能特性

- **实时热榜**：TOP30热点新闻，带排名徽章（金银铜）、热度值、内容摘要、来源标签
- **每小时更新**：cron定时触发爬取→自动更新首页→自动归档到历史记录
- **历史回溯**：按日期索引，左侧时间轴快速导航，支持翻看任意历史记录
- **移动端适配**：响应式设计，手机/平板/电脑均可正常浏览
- **可点击跳转**：点击新闻标题直接跳转到原文链接
- **数据不丢失**：历史JSON按日期保存，永不删除，可随时回溯

### 17.5 数据流程

```
每小时整点
  → Cron触发
  → 执行 news_crawler.py
  → 爬取百度热搜（约51条数据）
  → JSON去重
  → 保存 data/news_YYYYMMDD_HHMMSS.json
  → 更新 data/latest.json（首页数据源）
  → 归档到 history/YYYY-MM-DD.json（按日累积）
  → 重新生成 index.html（首页）
  → 重新生成 history.html（历史页）
```

### 17.6 页面设计

**首页布局**：

| 区域 | 内容 |
|------|------|
| 顶部导航栏 | 深蓝渐变背景，标题"热点快报"，更新时间，三个导航Tab |
| 热榜列表 | 白色卡片，1-3名红/橙/黄排名徽章，标题+摘要+来源+热度 |
| 历史索引 | 最近14天的日期快捷链接，点击跳转历史页对应日期 |
| 页脚 | 数据来源声明 |

**历史页面布局**：

| 区域 | 内容 |
|------|------|
| 顶部导航栏 | 返回首页/历史回顾/文件下载 三个Tab |
| 左侧时间轴 | 日期纵向排列，点击跳转对应日期区域 |
| 右侧内容区 | 按日期分组，每次爬取一个卡片，展示TOP10及来源 |

### 17.7 与经营大脑的联动规划

热点新闻快报系统目前作为独立的信息展示模块运行，未来可深度集成到门店经营大脑中：

- **热点驱动营销**：营销Agent感知热点事件，自动生成关联促销方案
- **舆情监控预警**：实时监测与品牌相关的负面热点，触发品牌保护Agent预警
- **选品趋势感知**：选品Agent从热点中提取消费趋势信号，推荐应季/应景商品
- **定价策略调整**：定价Agent根据热点事件对供需的影响，动态调整价格

### 17.8 运维说明

| 操作 | 命令/方法 |
|------|-----------|
| 手动触发爬取 | `sudo python3 /home/ubuntu/news_crawler.py` |
| 查看cron状态 | `hermes cron list` |
| 查看历史数据 | `ls /opt/1panel/www/sites/q/index/news/history/` |
| 查看最新数据 | `cat /opt/1panel/www/sites/q/index/news/data/latest.json \| python3 -m json.tool` |
| 修改爬取频率 | 通过Hermes cron管理，如改为每30分钟 |

### 17.9 新增资产清单

| # | 组件 | 版本 | 域名/端口 | 用途 |
|---|------|------|----------|------|
| 8 | **热点新闻快报** | v1.0 | q.yan.aipudding.com | 每小时自动热点采集与展示 |

| 域名 | 类型 | 后端 | SSL |
|------|------|------|-----|
| `q.yan.aipudding.com` | 静态站点 | `/opt/1panel/www/sites/q/index/` | ✅ Let's Encrypt |

| 项目路径 | 说明 |
|----------|------|
| `/home/ubuntu/news_crawler.py` | 新闻爬取脚本 |
| `/opt/1panel/www/sites/q/index/` | 站点根目录 |
| `/opt/1panel/www/sites/q/index/news/data/` | 爬取数据存储 |
| `/opt/1panel/www/sites/q/index/news/history/` | 历史归档数据 |
| `/opt/1panel/www/sites/q/index/docs/` | 文件下载目录 |
