Files
InsightReply/README.md
zs 1d17ac03e0
Some checks failed
Extension Build & Release / build (push) Failing after 56s
feat: 扩展优化重构
2026-03-03 02:19:14 +08:00

118 lines
4.4 KiB
Markdown
Raw 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.
# InsightReply 🚀
InsightReply 是一款专为独立开发者与数字游民设计的 **AI 驱动 X (Twitter) 自动化营销套件**
它通过高可用爬虫监控社媒热点,利用大语言模型(如 Gemini、OpenAI提取互动风格并自动在浏览器拓展层或管理后台生成极具转化率的爆款回复。
---
## 🗂️ 核心架构
InsightReply 采用现代化解耦的三端架构:
1. **`/server` (后端主脑)**
- 核心语言Golang 1.22 + GORM + Chi Router
- 数据库PostgreSQL 14+
- 功能模块Nitter 高可用爬虫引擎、多模态 AI 接入层、策略派发与遥测统计引擎。
2. **`/web` (SaaS 管理控制台)**
- 核心选型Vue 3 + Vite + Tailwind **Apple Pro Max 玻璃态美学**
- 功能模块:数据指标大盘、策略雷达、生成表现记录。
3. **`/extension` (Chrome 浏览器助手)**
- 核心选型CRXJS + Vue 3 + **macOS Settings 交互规范**
- 功能模块:
- **Spatial Sidebar**: 侵入 X 原生界面,全玻璃态侧边栏一键触发 AI 分析。
- **Pro Dashboard**: 类似 macOS 系统设置的后台管理,极简高效。
- **Magic Toggle**: `Cmd + Shift + I` 全局快捷键秒开侧边栏。
---
## 🛠️ 本地开发指南 (Local Development)
### 1. 启动 PostgreSQL 数据库
> **注意**:本项目已禁用 Go 服务自动迁移。请使用本项目支持的 MCP 服务 (`InsightReply_PostgreSQL`) 或手动执行 `docs/schema.sql` 来同步数据库结构。
### 2. 配置与启动后端 (Go Server)
```bash
cd server
# 复制环境变量模板并填入真实的 Key (特别是数据库与大模型 Key)
cp .env.example .env
# 获取依赖并运行
go mod tidy
go run cmd/server/main.go
# 默认后端将运行在 http://localhost:8080
```
### 3. 配置与启动 Web 后台控制台 (Vue)
```bash
cd web
npm install
# 确保 web/.env 中的 VITE_API_BASE_URL=http://localhost:8080/api/v1
# (本地环境直连,已配置完成)
npm run dev
# 访问 http://localhost:5173
```
### 4. 配置与编译 Chrome 扩展 (Extension)
```bash
cd extension
npm install
# 确保 extension/.env 中的 VITE_API_BASE_URL=http://localhost:8080/api/v1
npm run dev
```
打开 Chrome -> `chrome://extensions/` -> 开启「开发者模式」 -> 点击「加载已解压的扩展程序」 -> 选择 `extension/dist` 目录进入调试。
---
## 🚀 生产部署指南 (Production Deployment)
本系统采用原生 **Docker Compose 后端 + 本地 Caddy 高性能网关反代 + 自动化 Gitea Actions CI/CD**
### 0. 准备与环境变量隔离
1. **对于 `/web`**:生产环境已自动配置为相对路径:`VITE_API_BASE_URL=/api/v1`。无需变动。
2. **对于 `/extension`**:修改 `extension/.env.production`,写入**你服务器真实的 Caddy HTTPS 域名绝对路径**
```env
# extension/.env.production
VITE_API_BASE_URL=https://insight.buildapp.eu.org/api/v1
```
### 1. 服务器环境准备
服务器需提前安装 `docker`, `docker-compose`, 与 `caddy`
### 2. 部署后端 Docker (包含日志持久化映射)
在服务器的 `/var/admin/InsightReply/server` 目录下放置你真实的 `.env` 配置文件。随后执行启动指令,后端将在 Docker 隔离网内暴露出 `8009` 端口供本地宿主机 Caddy 本地调用。
```bash
cd /var/admin/InsightReply/server
# 生产环境使用 docker compose (V2)
docker compose up -d --build --remove-orphans
```
> 此时应用将以 `network_mode: host` 模式运行,全局运行日志将自动映射并写入宿主机的 `/app/logs/InsightReply.log` 内以供探查。
### 3. Caddyfile 反向代理与 SSL 自动签发
在宿主机中编辑 `/etc/caddy/Caddyfile`,配置以下动静分离策略:
```caddyfile
# 将此处替换为您的真实商用域名
insight.buildapp.eu.org {
# [后端路由] 代理所有 API 请求到 Go Docker 的透传端口
handle /api/* {
reverse_proxy insight.buildapp.eu.org
}
# [前端路由] 静态托管来自 CI/CD 发行的 Vue 3 制品,并支持 SPA 默认寻址
handle {
root * /var/admin/InsightReply/web
try_files {path} {path}/ /index.html
file_server
}
}
```
配置完成后使用 `caddy reload` 重载规则并等待几十秒完成 Let's Encrypt 等机构的安全加密证书签发。
### 4. 配置自动化 CI/CD
所有的部署流水线配置均存放在 `.gitea/workflows` 目录下,支持推送 `main` 分支时利用 Rsync 执行秒级增量部署及无缝重启。