7 Commits

Author SHA1 Message Date
Vinlic
b2ae0554ee Release 0.0.34 2024-07-12 11:02:43 +08:00
Vinlic
399de41b61 补充请求新增项 2024-07-12 11:02:36 +08:00
Vinlic科技
44316372a5 Update README.md 2024-05-15 13:35:10 +08:00
Vinlic科技
fcc2c9f795 Update README.md 2024-05-10 15:52:03 +08:00
Vinlic科技
a626a78553 Update README.md 2024-05-10 15:51:38 +08:00
Vinlic科技
5f2eb803aa Update README.md 2024-05-04 17:06:02 +08:00
Vinlic科技
684aedae1c Update README.md 2024-05-04 17:05:50 +08:00
3 changed files with 27 additions and 9 deletions

View File

@@ -11,11 +11,11 @@
![](https://img.shields.io/github/forks/llm-red-team/kimi-free-api.svg)
![](https://img.shields.io/docker/pulls/vinlic/kimi-free-api.svg)
支持高速流式输出、支持多轮对话、支持联网搜索、支持智能体对话、支持长文档解读、支持图像解析零配置部署多路token支持自动清理会话痕迹。
支持高速流式输出、支持多轮对话、支持联网搜索、支持智能体对话、支持长文档解读、支持图像OCR零配置部署多路token支持自动清理会话痕迹。
与ChatGPT接口完全兼容。
还有以下个free-api欢迎关注
还有以下个free-api欢迎关注
阶跃星辰 (跃问StepChat) 接口转API [step-free-api](https://github.com/LLM-Red-Team/step-free-api)
@@ -27,6 +27,10 @@
讯飞星火Spark接口转API [spark-free-api](https://github.com/LLM-Red-Team/spark-free-api)
MiniMax海螺AI接口转API [hailuo-free-api](https://github.com/LLM-Red-Team/hailuo-free-api)
深度求索DeepSeek接口转API [deepseek-free-api](https://github.com/LLM-Red-Team/deepseek-free-api)
聆心智能 (Emohaa) 接口转API [emohaa-free-api](https://github.com/LLM-Red-Team/emohaa-free-api)
## 目录
@@ -95,7 +99,7 @@ https://udify.app/chat/Po0F6BMJ15q5vu2P
![长文档解读](./doc/example-5.png)
### 图像解析Demo
### 图像OCR Demo
![图像解析](./doc/example-3.png)
@@ -384,7 +388,7 @@ Authorization: Bearer [refresh_token]
}
```
### 图像解析
### 图像OCR
提供一个可访问的图像URL或者BASE64_URL进行解析。

View File

@@ -1,6 +1,6 @@
{
"name": "kimi-free-api",
"version": "0.0.33",
"version": "0.0.34",
"description": "Kimi Free API Server",
"type": "module",
"main": "dist/index.js",

View File

@@ -137,6 +137,7 @@ async function getUserInfo(accessToken: string, refreshToken: string) {
headers: {
Authorization: `Bearer ${accessToken}`,
Referer: 'https://kimi.moonshot.cn/',
'X-Msh-Platform': 'web',
'X-Traffic-Id': `7${util.generateRandomString({ length: 18, charset: 'numeric' })}`,
...FAKE_HEADERS
},
@@ -153,18 +154,21 @@ async function getUserInfo(accessToken: string, refreshToken: string) {
*
* @param refreshToken 用于刷新access_token的refresh_token
*/
async function createConversation(name: string, refreshToken: string) {
async function createConversation(model: string, name: string, refreshToken: string) {
const {
accessToken,
userId
} = await acquireToken(refreshToken);
const result = await axios.post('https://kimi.moonshot.cn/api/chat', {
born_from: '',
is_example: false,
kimiplus_id: /^[0-9a-z]{20}$/.test(model) ? model : 'kimi',
name
}, {
headers: {
Authorization: `Bearer ${accessToken}`,
Referer: 'https://kimi.moonshot.cn/',
'X-Msh-Platform': 'web',
'X-Traffic-Id': userId,
...FAKE_HEADERS
},
@@ -193,6 +197,7 @@ async function removeConversation(convId: string, refreshToken: string) {
headers: {
Authorization: `Bearer ${accessToken}`,
Referer: `https://kimi.moonshot.cn/chat/${convId}`,
'X-Msh-Platform': 'web',
'X-Traffic-Id': userId,
...FAKE_HEADERS
},
@@ -221,6 +226,7 @@ async function promptSnippetSubmit(query: string, refreshToken: string) {
headers: {
Authorization: `Bearer ${accessToken}`,
Referer: 'https://kimi.moonshot.cn/',
'X-Msh-Platform': 'web',
'X-Traffic-Id': userId,
...FAKE_HEADERS
},
@@ -253,7 +259,7 @@ async function createCompletion(model = MODEL_NAME, messages: any[], refreshToke
.catch(err => logger.error(err));
// 创建会话
const convId = /[0-9a-zA-Z]{20}/.test(refConvId) ? refConvId : await createConversation("未命名会话", refreshToken);
const convId = /[0-9a-zA-Z]{20}/.test(refConvId) ? refConvId : await createConversation(model, "未命名会话", refreshToken);
// 请求流
const {
@@ -262,15 +268,17 @@ async function createCompletion(model = MODEL_NAME, messages: any[], refreshToke
} = await acquireToken(refreshToken);
const sendMessages = messagesPrepare(messages, !!refConvId);
const result = await axios.post(`https://kimi.moonshot.cn/api/chat/${convId}/completion/stream`, {
kimiplus_id: /^[0-9a-z]{20}$/.test(model) ? model : undefined,
kimiplus_id: /^[0-9a-z]{20}$/.test(model) ? model : 'kimi',
messages: sendMessages,
refs,
is_pro_search: false,
use_search: useSearch
}, {
headers: {
Authorization: `Bearer ${accessToken}`,
Referer: `https://kimi.moonshot.cn/chat/${convId}`,
'Priority': 'u=1, i',
'X-Msh-Platform': 'web',
'X-Traffic-Id': userId,
...FAKE_HEADERS
},
@@ -330,7 +338,7 @@ async function createCompletionStream(model = MODEL_NAME, messages: any[], refre
.catch(err => logger.error(err));
// 创建会话
const convId = /[0-9a-zA-Z]{20}/.test(refConvId) ? refConvId : await createConversation("未命名会话", refreshToken);
const convId = /[0-9a-zA-Z]{20}/.test(refConvId) ? refConvId : await createConversation(model, "未命名会话", refreshToken);
// 请求流
const {
@@ -350,6 +358,7 @@ async function createCompletionStream(model = MODEL_NAME, messages: any[], refre
Authorization: `Bearer ${accessToken}`,
Referer: `https://kimi.moonshot.cn/chat/${convId}`,
'Priority': 'u=1, i',
'X-Msh-Platform': 'web',
'X-Traffic-Id': userId,
...FAKE_HEADERS
},
@@ -397,6 +406,7 @@ async function fakeRequest(refreshToken: string) {
headers: {
Authorization: `Bearer ${accessToken}`,
Referer: `https://kimi.moonshot.cn/`,
'X-Msh-Platform': 'web',
'X-Traffic-Id': userId,
...FAKE_HEADERS
}
@@ -539,6 +549,7 @@ async function preSignUrl(filename: string, refreshToken: string) {
headers: {
Authorization: `Bearer ${accessToken}`,
Referer: `https://kimi.moonshot.cn/`,
'X-Msh-Platform': 'web',
'X-Traffic-Id': userId,
...FAKE_HEADERS
},
@@ -624,6 +635,7 @@ async function uploadFile(fileUrl: string, refreshToken: string) {
'Content-Type': mimeType,
Authorization: `Bearer ${accessToken}`,
Referer: `https://kimi.moonshot.cn/`,
'X-Msh-Platform': 'web',
'X-Traffic-Id': userId,
...FAKE_HEADERS
},
@@ -645,6 +657,7 @@ async function uploadFile(fileUrl: string, refreshToken: string) {
headers: {
Authorization: `Bearer ${accessToken}`,
Referer: `https://kimi.moonshot.cn/`,
'X-Msh-Platform': 'web',
'X-Traffic-Id': userId,
...FAKE_HEADERS
}
@@ -666,6 +679,7 @@ async function uploadFile(fileUrl: string, refreshToken: string) {
headers: {
Authorization: `Bearer ${accessToken}`,
Referer: `https://kimi.moonshot.cn/`,
'X-Msh-Platform': 'web',
'X-Traffic-Id': userId,
...FAKE_HEADERS
}