基于 FastAPI + React + Vite + Tauri 的多术数 AI 占测平台,覆盖塔罗牌、生辰八字、姓名、解梦、起名、梅花易数、大六壬、紫平八字、奇门遁甲等能力,支持流式输出、历史记录、反馈回填和 Windows 一键启动。
- 多术数整合:一个仓库内同时维护塔罗、生辰八字、梅花易数、大六壬、奇门遁甲、紫平八字等模块
- 工程化前后端:FastAPI 后端、React + Vite 前端、Tauri 桌面端、Docker 与 GitHub Actions 配套齐全
- 强调可用性:流式输出、历史记录、反馈面板、移动端适配、明暗主题
- 适合本地开发:Windows 下可直接双击
start.bat一键启动,脚本会自动修复.venv、补装依赖并挑选空闲端口
- 塔罗牌占卜:通过牌阵探索内心与未来可能性
- 生辰八字:根据出生时间分析命理结构与运势
- 姓名五格:通过姓名笔画分析性格与命运
- 周公解梦:解析梦境意象与潜意识线索
- 起名取名:结合五行与命理生成名字建议
- 梅花易数:支持多种起卦方式与回验分析
- 大六壬:覆盖排盘、历史、教学案例与前端回归
- 奇门遁甲:包含排盘、吉凶分析与页面交互能力
- 紫平八字:支持格局、纳音、辅柱等扩展分析
src/:FastAPI 后端、术数核心逻辑、历史存储与路由frontend/:React + Vite 前端、页面组件、Playwright 回归用例src-tauri/:Tauri 桌面端配置与 Rust 入口tests/:后端测试与术数基准、案例验证docs/:领域说明与数据结构文档
- Windows 一键启动:双击项目根目录的
start.bat - PowerShell 开发启动:
powershell -ExecutionPolicy Bypass -File .\start-dev.ps1 - 停止开发服务:
powershell -ExecutionPolicy Bypass -File .\stop-dev.ps1
梅花易数返回元数据已切换为分层 schema,主判层与扩展层分离,详见 docs/plum-flower-layered-metadata-schema.md。
特色功能:
- 🌊 流式输出 - AI 占卜结果以打字机效果实时呈现
- 📚 历史记录 - 每种占卜类型自动保存最近 10 条记录
- 📱 响应式设计 - 完美适配手机、平板、电脑
- 🌙 暗色模式 - 支持明暗主题切换
最简单快捷的部署方式,无需服务器,完全免费。
-
点击下方按钮开始部署:
-
在部署时配置环境变量:
api_key:必填,你的 OpenAI API Keyapi_base:可选,API 地址(默认为 OpenAI 官方地址)- 其他可选参数:
model、github_client_id、github_client_secret等
-
部署完成后,Vercel 会自动分配一个访问域名
-
也可以绑定自己的域名
- 点击下载 EXE 安装包
- 安装并运行程序
- 在设置中配置:
- API BASE URL(OpenAI API 地址)
- API KEY(你的 API 密钥)
- 返回主页即可开始使用
创建 docker-compose.yml 文件:
services:
chatgpt-tarot-divination:
image: ghcr.io/bingxinv5/tarot-cards-birthday-characters-easy-numbering-of-plum-blossoms-da-liuren-ziping-bazi-qimen-dunjia:latest
container_name: chatgpt-tarot-divination
restart: always
ports:
- 8000:8000
environment:
- api_key=sk-xxx # 必填:OpenAI API Key
# - api_base=https://api.openai.com/v1 # 可选:API 地址
# - model=gpt-3.5-turbo # 可选:模型名称
# - rate_limit=10/minute # 可选:速率限制
# - user_rate_limit=600/hour # 可选:用户速率限制
- github_client_id=xxx # 可选:GitHub OAuth
- github_client_secret=xxx # 可选:GitHub OAuth
- jwt_secret=secret # 可选:JWT 密钥
- ad_client=ca-pub-xxx # 可选:广告客户端
- ad_slot=123 # 可选:广告位启动服务:
docker-compose up -d访问 http://localhost:8000 即可使用。
前置要求:
- Node.js 16+
- Python 3.8+
- pnpm
步骤:
- 创建配置文件 - 在项目根目录创建
.env文件:
api_key=sk-xxxx # 必填:OpenAI API Key
api_base=https://api.openai.com/v1 # 可选:API 地址
github_client_id=xxx # 可选:GitHub OAuth
github_client_secret=xxx # 可选:GitHub OAuth
ad_client=ca-pub-xxx # 可选:广告客户端
ad_slot=123 # 可选:广告位- 构建前端:
cd frontend
pnpm install
pnpm verify
pnpm build --emptyOutDir
cd ..说明:
pnpm verify是当前默认的前端验收入口,会串行执行verify:plumflower + verify:daliurenpnpm verify:daliuren会执行大六壬前端正式回归入口:build + Vite preview + 2 条 Playwright 路由链路测试- 如果只想跑梅花前端回归,也可以使用
pnpm verify:plumflower
- 部署前端文件:
rm -r dist
cp -r frontend/dist/ dist- 安装并运行后端:
python3 -m venv ./venv
./venv/bin/python3 -m pip install -r requirements.txt
./venv/bin/python3 main.py- 访问应用 - 打开浏览器访问
http://localhost:8000
推荐优先使用单端口模式,直接通过 http://localhost:8000 访问完整站点。
项目根目录内置了几个 PowerShell 脚本,适合 Windows 本地开发:
双击根目录的 start.bat 也可以一键启动开发环境。它会自动修复 .venv、补装缺失依赖、选择空闲端口,并在服务就绪后打开前端页面。
# 一键启动开发环境(推荐,双击也可)
./start.bat
# 推荐:构建前端并以单端口方式启动后端
powershell -ExecutionPolicy Bypass -File .\start-prod.ps1
# 停止单端口服务
powershell -ExecutionPolicy Bypass -File .\stop-prod.ps1
# 启动前后端开发服务
powershell -ExecutionPolicy Bypass -File .\start-dev.ps1
# 停止开发服务
powershell -ExecutionPolicy Bypass -File .\stop-dev.ps1说明:
start-prod.ps1会先构建frontend/dist,再复制到根目录dist,最后由 FastAPI 在http://localhost:8000提供完整站点stop-prod.ps1会停止占用 8000 端口的单端口服务start-dev.ps1会先停止上一次由启动器拉起的开发进程,再自动检查.venv和前端依赖,随后为后端和前端选择空闲端口并输出实际访问地址start.bat是 Windows 下最直接的一键入口,内部会调用start-dev.ps1 -OpenBrowserstop-dev.ps1会优先按照cache/dev-launcher-state.json中记录的进程和端口停止当前项目的开发实例,不会盲目终止无关程序
MIT License
