c2e08794c2a096f894dd7fec7e7b43515e4094a3
Suanming Web Gateway
统一的算命网页入口:后端调用 suanming API 获取原始命理数据,再调用 DeepSeek LLM 输出自然语言解读,前端只需请求 /api/fortune。
功能概览
POST /api/fortune:校验参数 → 调用suanming→ 调用DeepSeek→ 返回ai_text + raw_suanming。- Express 静态站点:单页表单,包含示例填充、请求状态、AI 文本展示、原始 JSON 展开、免责声明等。
.env控制 suanming、DeepSeek、端口与超时,示例参见 .env.example。
文件结构
web/
├── public/ # 静态前端资源(index.html / styles.css / app.js)
├── server.js # Express 网关及 API 实现
├── package.json # 项目依赖
└── .env.example # 环境变量模板
快速开始
-
安装依赖
cd web npm install -
配置环境变量
cp .env.example .env # 修改 .env,填入真实的 suanming 地址、访问令牌以及 DeepSeek Key -
启动服务
npm run dev # 浏览器访问 http://localhost:4173
API 说明
POST /api/fortune
Content-Type: application/json
请求示例:
{
"type": "bazi",
"name": "张三",
"birth_date": "1990-01-01",
"birth_time": "12:00",
"gender": "male",
"is_lunar": false,
"question": "想了解近期事业与财运",
"extra_options": { "focus": "career" }
}
返回示例:
{
"success": true,
"data": {
"ai_text": "DeepSeek 的自然语言解读",
"raw_suanming": { "...": "原始 suanming JSON" },
"meta": {
"type": "bazi",
"model": "deepseek-chat",
"elapsed_ms": 2143,
"warnings": []
}
}
}
自定义
- DeepSeek 调用通过
openaiSDK 完成,.env中的DEEPSEEK_API_URL只需设置到根域名(默认https://api.deepseek.com)。 - 若你的 suanming API 启用了认证,把登录后拿到的 Bearer token 填入
SUANMING_API_TOKEN,网关会自动加到Authorization头。 - 若暂未配置 DeepSeek Key,会返回提示并保留
raw_suanming,方便调试。 - 如需拓展
name、fortune等类型,可在server.js的buildSuanmingRequest中补充对应 endpoint/payload。 - 前端使用原生 JS,便于在任何环境下部署,若后续需要组件化框架,可直接复用当前 API。
免责声明
页面底部及 DeepSeek Prompt 均包含“仅供娱乐参考”的提示,请在生产部署时继续保留。
Description