# yzj_reply 客户独立部署版

> **云之家自动回复机器人**
> 版本：V1.1.3-customer ｜ 发布日期：2026-08-04

本安装包由开发者 Jeff 提供，用于客户在自有服务器上独立部署 `yzj_reply` 自动回复服务。

---

## 📌 你需要准备什么

在开始安装前，请准备好以下信息：

| # | 项目 | 说明 |
|---|------|------|
| 1 | 服务器 | Ubuntu 24.04 LTS，已用 root 登录 |
| 2 | 域名 | 已解析到服务器公网 IP（例如 `v.accopower.com`） |
| 3 | 邮箱 | 用于 Let's Encrypt HTTPS 证书通知 |
| 4 | 云之家账号 | V11 旗舰版或以上，需有扫描权限 |

---

## 🚀 安装步骤（5 步搞定）

### 第 1 步：上传安装包到服务器

在**你本地电脑**上执行（替换为你的服务器地址）：

```bash
scp yzj_reply_v1.1.3-customer.tar.gz root@v.accopower.com:/root/
```

### 第 2 步：SSH 登录服务器

```bash
ssh root@v.accopower.com
```

### 第 3 步：解压安装包

```bash
cd /root
tar -xzf yzj_reply_v1.1.0-customer.tar.gz
cd yzj_reply_v1.1.0-customer
```

### 第 4 步：运行一键安装脚本

```bash
sudo bash install.sh
```

安装脚本会**交互式**询问以下信息：

1. **域名**（必填）：例如 `v.accopower.com`
2. **协议**（默认 `https`）：直接回车即可
3. **管理员邮箱**（必填）：例如 `[email protected]`
4. **服务端口**（默认 `8080`）：**直接回车，不要修改**
5. **是否申请 HTTPS 证书**：输入 `y`

脚本会自动完成：
- ✅ 安装 Node.js 22、nginx、certbot
- ✅ 创建 `yzjreply` 系统用户
- ✅ 复制代码到 `/opt/yzj-reply/`
- ✅ 生成配置文件（`.env`）
- ✅ 注册 systemd 服务
- ✅ 配置 nginx 反向代理
- ✅ 申请 Let's Encrypt HTTPS 证书
- ✅ 启动 `yzj-reply` 服务

**整个过程约 5-10 分钟**（取决于网速）。

### 第 5 步：首次登录

打开浏览器，访问你的域名：

```
https://v.accopower.com/
```

使用**默认管理员账号**登录：

- **用户名**：`admin`
- **密码**：`KDzhouwei`

登录后，**系统会强制要求修改密码**（至少 8 位、含字母数字）。这是首次登录必做步骤。

---

## 📱 配置云之家自动回复

登录 admin 后台后，需要完成以下配置：

### 1. 扫码登录云之家

1. 进入 admin 后台 → 「账号管理」
2. 点击「📱 扫码登录云之家」
3. 用云之家 App 扫描二维码
4. 登录成功后，Cookie 会自动保存

### 2. 添加关键词和知识库

1. 「关键词管理」→ 添加触发关键词（如 "你好"、"怎么用"）
2. 「知识库管理」→ 添加 Q/A 问答内容
3. （可选）「LLM 配置」→ 填入 API Key

### 3. 启动机器人

回到 admin 后台首页，点击「启动 Bot」即可。

---

## 🛠️ 常用运维命令

```bash
# 查看服务状态
sudo systemctl status yzj-reply

# 查看实时日志
sudo journalctl -u yzj-reply -f

# 重启服务
sudo systemctl restart yzj-reply

# 停止服务
sudo systemctl stop yzj-reply

# 修改配置（编辑后重启）
sudo vim /opt/yzj-reply/.env
sudo systemctl restart yzj-reply
```

---

## ❓ 遇到问题？

### 证书申请失败

```bash
# 检查 80 端口是否被占用
sudo ss -tlnp | grep :80
# 查看 certbot 详细错误
sudo certbot --nginx -d v.accopower.com
```

### 访问域名显示 502 Bad Gateway

```bash
# 检查 yzj-reply 是否运行
sudo systemctl status yzj-reply
# 查看错误日志
sudo journalctl -u yzj-reply -n 50 -p err
```

### 忘记 admin 密码

```bash
sudo systemctl stop yzj-reply
sudo rm /opt/yzj-reply/instances/.admin-password-state.json
sudo systemctl start yzj-reply
# 重新用 admin / KDzhouwei 登录
```

---

## 📁 重要文件位置

| 文件 | 用途 |
|------|------|
| `/opt/yzj-reply/` | 程序代码 |
| `/opt/yzj-reply/.env` | 配置文件（域名、密钥等） |
| `/opt/yzj-reply/instances/` | 用户数据目录 |
| `/var/log/yzj-reply/` | 日志目录 |
| `/etc/systemd/system/yzj-reply.service` | systemd 服务配置 |
| `/etc/nginx/sites-available/yzj-reply` | nginx 反向代理配置 |

---

## 📞 技术支持

- **开发者**：Jeff
- **文档版本**：V1.1.3-customer
- **发布日期**：2026-08-04

遇到问题时，请提供以下信息以便排查：

1. 服务器系统版本：`lsb_release -a`
2. 服务状态：`sudo systemctl status yzj-reply`
3. 错误日志：`sudo journalctl -u yzj-reply -n 50 -p err`

---

**祝使用愉快！** 🦞