Skip to content

Commit

Permalink
支持vercel部署
Browse files Browse the repository at this point in the history
  • Loading branch information
Vinlic committed Apr 11, 2024
1 parent 674647e commit d1e0fca
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 5 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ ZhipuAI (智谱清言) 接口转API [glm-free-api](https://github.com/LLM-Red-Te
* [多账号接入](#多账号接入)
* [Docker部署](#Docker部署)
* [Docker-compose部署](#Docker-compose部署)
* [Vercel部署](#Vercel部署)
* [原生部署](#原生部署)
* [接口列表](#接口列表)
* [对话补全](#对话补全)
Expand Down Expand Up @@ -143,6 +144,14 @@ services:
- TZ=Asia/Shanghai
```

### Vercel部署

**注意:Vercel免费账户的请求响应超时时间为10秒,但接口响应通常较久,可能会遇到Vercel返回的504超时错误**

点击按钮快速部署:

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/LLM-Red-Team/kimi-free-api)

## 原生部署

请准备一台具有公网IP的服务器并将8000端口开放。
Expand Down
12 changes: 7 additions & 5 deletions src/lib/logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@ import { format as dateFormat } from 'date-fns';
import config from './config.ts';
import util from './util.ts';

const isVercelEnv = process.env.VERCEL;

class LogWriter {

#buffers = [];

constructor() {
fs.ensureDirSync(config.system.logDirPath);
this.work();
!isVercelEnv && fs.ensureDirSync(config.system.logDirPath);
!isVercelEnv && this.work();
}

push(content) {
Expand All @@ -24,16 +26,16 @@ class LogWriter {
}

writeSync(buffer) {
fs.appendFileSync(path.join(config.system.logDirPath, `/${util.getDateString()}.log`), buffer);
!isVercelEnv && fs.appendFileSync(path.join(config.system.logDirPath, `/${util.getDateString()}.log`), buffer);
}

async write(buffer) {
await fs.appendFile(path.join(config.system.logDirPath, `/${util.getDateString()}.log`), buffer);
!isVercelEnv && await fs.appendFile(path.join(config.system.logDirPath, `/${util.getDateString()}.log`), buffer);
}

flush() {
if(!this.#buffers.length) return;
fs.appendFileSync(path.join(config.system.logDirPath, `/${util.getDateString()}.log`), Buffer.concat(this.#buffers));
!isVercelEnv && fs.appendFileSync(path.join(config.system.logDirPath, `/${util.getDateString()}.log`), Buffer.concat(this.#buffers));
}

work() {
Expand Down
27 changes: 27 additions & 0 deletions vercel.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"builds": [
{
"src": "./dist/*.html",
"use": "@vercel/static"
},
{
"src": "./dist/index.js",
"use": "@vercel/node"
}
],
"routes": [
{
"src": "/",
"dest": "/dist/welcome.html"
},
{
"src": "/(.*)",
"dest": "/dist",
"headers": {
"Access-Control-Allow-Credentials": "true",
"Access-Control-Allow-Methods": "GET,OPTIONS,PATCH,DELETE,POST,PUT",
"Access-Control-Allow-Headers": "X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version, Content-Type, Authorization"
}
}
]
}

0 comments on commit d1e0fca

Please sign in to comment.