# 知命阁（zhimingge）

融合《周易》原文学习与 AI 智能解读的 Web 应用。

**代码仓库**：[https://git.bz121.com/dekun/zhimingge.git](https://git.bz121.com/dekun/zhimingge.git)

## 功能模块

| 模块 | 路由 | 状态 |
|------|------|------|
| 易经学习 | `/learn` | 规划中 |
| 六爻算卦 | `/liuyao` | 已有基础（首页） |
| 生辰八字 | `/bazi` | 规划中 |
| 综合测算 | `/combined` | 规划中 |

## 文档

- [产品说明文档（SPEC）](./docs/SPEC.md) — 功能规格、架构、实施分期
- [Docker 部署文档（DOCKER）](./docs/DOCKER.md) — **推荐** 生产部署
- [宝塔反代与部署（BAOTA）](./docs/BAOTA.md) — **宝塔面板** 域名 + HTTPS + AI 流式反代
- [Nginx 反代参考（NGINX）](./docs/NGINX.md) — 手写 Nginx 配置
- [Ubuntu PM2 部署文档（DEPLOY）](./docs/DEPLOY.md) — 备选方案

## 环境变量

复制 `.env.example` 为 `.env.local` 并填写：

```env
OPENAI_API_KEY=你的密钥
OPENAI_BASE_URL=https://op.bz121.com/v1
OPENAI_MODEL=huihui_ai/gemma-4-abliterated:e4b
```

## 本地开发

```bash
git clone https://git.bz121.com/dekun/zhimingge.git
cd zhimingge
pnpm install
cp .env.example .env.local
pnpm run dev
```

访问 http://localhost:3000（`pnpm run dev` 默认端口；生产 PM2 为 **3130**）

## 生产部署（Docker，推荐）

```bash
cd /opt/zhimingge
cp .env.example .env.local && nano .env.local   # 填写 OPENAI_API_KEY
docker compose build
docker compose up -d
```

服务监听 **3130** 端口。完整说明见 [docs/DOCKER.md](./docs/DOCKER.md)。

日常更新：`bash scripts/docker-deploy.sh`

绑定域名（宝塔/Nginx）及 AI 流式反代配置见 [docs/BAOTA.md](./docs/BAOTA.md)。

### PM2 部署（备选）

见 [docs/DEPLOY.md](./docs/DEPLOY.md)。

## 目录说明

```
zhimingge/
├── app/              # Next.js 应用
├── components/       # UI 组件
├── content/zhouyi/   # 64 卦 Markdown 原文
├── docs/             # 项目文档
├── lib/              # 工具与数据
├── Dockerfile            # Docker 生产镜像
├── docker-compose.yml    # Docker Compose 配置
├── ecosystem.config.cjs  # PM2 配置（备选）
├── scripts/docker-deploy.sh  # Docker 更新脚本
└── scripts/deploy.sh         # PM2 更新脚本（备选）
```

## 技术栈

Next.js 15 · React 18 · Tailwind CSS · Vercel AI SDK · PM2
