更新文档
This commit is contained in:
44
README.md
44
README.md
@@ -6,30 +6,47 @@
|
|||||||
|
|
||||||
- `POST /api/fortune`:校验参数 → 调用 `suanming` → 调用 `DeepSeek` → 返回 `ai_text + raw_suanming`。
|
- `POST /api/fortune`:校验参数 → 调用 `suanming` → 调用 `DeepSeek` → 返回 `ai_text + raw_suanming`。
|
||||||
- Express 静态站点:单页表单,包含示例填充、请求状态、AI 文本展示、原始 JSON 展开、免责声明等。
|
- Express 静态站点:单页表单,包含示例填充、请求状态、AI 文本展示、原始 JSON 展开、免责声明等。
|
||||||
- `.env` 控制 suanming、DeepSeek、端口与超时,示例参见 [.env.example](./.env.example)。
|
- Token 自动管理:启动时自动登录获取 Token,过期后自动刷新,无需人工干预。
|
||||||
|
- `.env` 控制 suanming、DeepSeek、端口与超时。
|
||||||
|
|
||||||
## 文件结构
|
## 文件结构
|
||||||
|
|
||||||
```
|
```
|
||||||
web/
|
Suanming-Web/
|
||||||
├── public/ # 静态前端资源(index.html / styles.css / app.js)
|
├── public/ # 静态前端资源(index.html / styles.css / app.js)
|
||||||
├── server.js # Express 网关及 API 实现
|
├── server.js # Express 网关及 API 实现
|
||||||
├── package.json # 项目依赖
|
├── package.json # 项目依赖
|
||||||
└── .env.example # 环境变量模板
|
└── .env # 环境变量配置
|
||||||
```
|
```
|
||||||
|
|
||||||
## 快速开始
|
## 快速开始
|
||||||
|
|
||||||
1. **安装依赖**
|
1. **安装依赖**
|
||||||
```bash
|
```bash
|
||||||
cd web
|
cd Suanming-Web
|
||||||
npm install
|
npm install
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **配置环境变量**
|
2. **配置环境变量**
|
||||||
```bash
|
```bash
|
||||||
cp .env.example .env
|
# 创建 .env 文件,填入以下配置
|
||||||
# 修改 .env,填入真实的 suanming 地址、访问令牌以及 DeepSeek Key
|
```
|
||||||
|
|
||||||
|
```env
|
||||||
|
# HTTP 监听端口
|
||||||
|
PORT=4173
|
||||||
|
|
||||||
|
# suanming API 配置
|
||||||
|
SUANMING_API_BASE=http://localhost:3001/api
|
||||||
|
SUANMING_EMAIL=your-email@example.com
|
||||||
|
SUANMING_PASSWORD=your-password
|
||||||
|
SUANMING_TIMEOUT_MS=12000
|
||||||
|
|
||||||
|
# DeepSeek API 配置
|
||||||
|
DEEPSEEK_API_KEY=your-deepseek-api-key
|
||||||
|
DEEPSEEK_API_URL=https://api.deepseek.com
|
||||||
|
DEEPSEEK_MODEL=deepseek-chat
|
||||||
|
DEEPSEEK_TIMEOUT_MS=20000
|
||||||
```
|
```
|
||||||
|
|
||||||
3. **启动服务**
|
3. **启动服务**
|
||||||
@@ -38,6 +55,12 @@ web/
|
|||||||
# 浏览器访问 http://localhost:4173
|
# 浏览器访问 http://localhost:4173
|
||||||
```
|
```
|
||||||
|
|
||||||
|
4. **PM2 生产部署**
|
||||||
|
```bash
|
||||||
|
pm2 start server.js --name suanming-web
|
||||||
|
pm2 save
|
||||||
|
```
|
||||||
|
|
||||||
## API 说明
|
## API 说明
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -78,14 +101,19 @@ Content-Type: application/json
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Token 自动管理
|
||||||
|
|
||||||
|
- **启动预热**:服务启动时自动登录获取 Token
|
||||||
|
- **自动刷新**:请求遇到 401 错误时自动刷新 Token 并重试
|
||||||
|
- **并发安全**:多个并发请求共用同一个登录 Promise,避免重复登录
|
||||||
|
|
||||||
## 自定义
|
## 自定义
|
||||||
|
|
||||||
- DeepSeek 调用通过 `openai` SDK 完成,`.env` 中的 `DEEPSEEK_API_URL` 只需设置到根域名(默认 `https://api.deepseek.com`)。
|
- DeepSeek 调用通过 `openai` SDK 完成,`.env` 中的 `DEEPSEEK_API_URL` 只需设置到根域名(默认 `https://api.deepseek.com`)。
|
||||||
- 若你的 suanming API 启用了认证,把登录后拿到的 Bearer token 填入 `SUANMING_API_TOKEN`,网关会自动加到 `Authorization` 头。
|
|
||||||
- 若暂未配置 DeepSeek Key,会返回提示并保留 `raw_suanming`,方便调试。
|
- 若暂未配置 DeepSeek Key,会返回提示并保留 `raw_suanming`,方便调试。
|
||||||
- 如需拓展 `name`、`fortune` 等类型,可在 `server.js` 的 `buildSuanmingRequest` 中补充对应 endpoint/payload。
|
- 如需拓展 `name`、`fortune` 等类型,可在 `server.js` 的 `buildSuanmingRequest` 中补充对应 endpoint/payload。
|
||||||
- 前端使用原生 JS,便于在任何环境下部署,若后续需要组件化框架,可直接复用当前 API。
|
- 前端使用原生 JS,便于在任何环境下部署,若后续需要组件化框架,可直接复用当前 API。
|
||||||
|
|
||||||
## 免责声明
|
## 免责声明
|
||||||
|
|
||||||
页面底部及 DeepSeek Prompt 均包含“仅供娱乐参考”的提示,请在生产部署时继续保留。
|
页面底部及 DeepSeek Prompt 均包含"仅供娱乐参考"的提示,请在生产部署时继续保留。
|
||||||
|
|||||||
Reference in New Issue
Block a user