mirror of
https://github.com/wisdgod/cursor-api.git
synced 2025-10-16 11:40:38 +08:00
214 lines
5.3 KiB
Markdown
214 lines
5.3 KiB
Markdown
# cursor-api
|
||
|
||
## 获取key
|
||
|
||
1. 访问 [www.cursor.com](https://www.cursor.com) 并完成注册登录
|
||
2. 在浏览器中打开开发者工具(F12)
|
||
3. 在 Application-Cookies 中查找名为 `WorkosCursorSessionToken` 的条目,并复制其第三个字段。请注意,%3A%3A 是 :: 的 URL 编码形式,cookie 的值使用冒号 (:) 进行分隔。
|
||
|
||
## 接口说明
|
||
|
||
### 基础对话(请求格式和响应格式参考 openai)
|
||
|
||
- 接口地址:`/v1/chat/completions`
|
||
- 请求方法:POST
|
||
- 认证方式:Bearer Token
|
||
1. 使用环境变量 `AUTH_TOKEN` 进行认证
|
||
2. 使用 `.token` 文件中的令牌列表进行轮询认证
|
||
|
||
### Token管理接口
|
||
|
||
#### 简易Token信息管理页面
|
||
- 接口地址:`/tokeninfo`
|
||
- 请求方法:GET
|
||
- 响应格式:HTML页面
|
||
- 功能:获取 .token 和 .token-list 文件内容,并允许用户方便地使用 API 修改文件内容
|
||
|
||
#### 更新Token信息
|
||
- 接口地址:`/update-tokeninfo`
|
||
- 请求方法:GET
|
||
- 认证方式:不需要
|
||
- 功能:请求内容不包括文件内容,直接修改文件,调用重载函数
|
||
|
||
#### 更新Token信息
|
||
- 接口地址:`/update-tokeninfo`
|
||
- 请求方法:POST
|
||
- 认证方式:Bearer Token
|
||
- 功能:请求内容包括文件内容,间接修改文件,调用重载函数
|
||
|
||
#### 获取Token信息
|
||
- 接口地址:`/get-tokeninfo`
|
||
- 请求方法:POST
|
||
- 认证方式:Bearer Token
|
||
|
||
### 其他接口
|
||
|
||
#### 获取模型列表
|
||
- 接口地址:`/v1/models`
|
||
- 请求方法:GET
|
||
|
||
#### 获取随机x-cursor-checksum
|
||
- 接口地址:`/checksum`
|
||
- 请求方法:GET
|
||
|
||
#### 健康检查接口
|
||
- 接口地址:`/`
|
||
- 请求方法:GET
|
||
|
||
#### 获取日志接口
|
||
- 接口地址:`/logs`
|
||
- 请求方法:GET
|
||
|
||
## 配置说明
|
||
|
||
### 环境变量
|
||
|
||
- `PORT`: 服务器端口号(默认:3000)
|
||
- `AUTH_TOKEN`: 认证令牌(必须,用于API认证)
|
||
- `ROUTE_PREFIX`: 路由前缀(可选)
|
||
- `TOKEN_FILE`: token文件路径(默认:.token)
|
||
- `TOKEN_LIST_FILE`: token列表文件路径(默认:.token-list)
|
||
|
||
### Token文件格式
|
||
|
||
1. `.token` 文件:每行一个token,支持以下格式:
|
||
|
||
```
|
||
# 这是注释
|
||
token1
|
||
# alias与标签的作用差不多
|
||
alias::token2
|
||
```
|
||
|
||
alias 可以是任意值,用于区分不同的 token,更方便管理,WorkosCursorSessionToken 是相同格式
|
||
该文件将自动向.token-list文件中追加token,同时自动生成checksum
|
||
|
||
2. `.token-list` 文件:每行为token和checksum的对应关系:
|
||
|
||
```
|
||
# 这里的#表示这行在下次读取要删除
|
||
token1,checksum1
|
||
# 支持像.token一样的alias,冲突时以.token为准
|
||
alias::token2,checksum2
|
||
```
|
||
|
||
该文件可以被自动管理,但用户仅可在确认自己拥有修改能力时修改,一般仅有以下情况需要手动修改:
|
||
|
||
- 需要删除某个 token
|
||
- 需要使用已有 checksum 来对应某一个 token
|
||
|
||
### 模型列表
|
||
|
||
写死了,后续也不会会支持自定义模型列表
|
||
```
|
||
claude-3.5-sonnet
|
||
gpt-4
|
||
gpt-4o
|
||
claude-3-opus
|
||
cursor-fast
|
||
cursor-small
|
||
gpt-3.5-turbo
|
||
gpt-4-turbo-2024-04-09
|
||
gpt-4o-128k
|
||
gemini-1.5-flash-500k
|
||
claude-3-haiku-200k
|
||
claude-3-5-sonnet-200k
|
||
claude-3-5-sonnet-20241022
|
||
gpt-4o-mini
|
||
o1-mini
|
||
o1-preview
|
||
o1
|
||
claude-3.5-haiku
|
||
gemini-exp-1206
|
||
gemini-2.0-flash-thinking-exp
|
||
gemini-2.0-flash-exp
|
||
```
|
||
|
||
## 部署
|
||
|
||
### Docker 部署
|
||
|
||
#### Docker 运行示例
|
||
|
||
```bash
|
||
docker run -d -e PORT=3000 -e AUTH_TOKEN=your_token -p 3000:3000 wisdgod/cursor-api:latest
|
||
```
|
||
|
||
### huggingface部署
|
||
|
||
前提:一个huggingface账号
|
||
|
||
1. 创建一个Space并创建一个Dockerfile文件,内容如下:
|
||
|
||
```Dockerfile
|
||
FROM wisdgod/cursor-api:latest
|
||
|
||
# 可能你要覆盖原镜像的环境变量,但都可以在下面的第2步中配置
|
||
ENV PORT=7860
|
||
```
|
||
|
||
2. 配置环境变量
|
||
|
||
在你的 Space 中,点击 Settings,找到 `Variables and secrets`,添加 Variables
|
||
|
||
```env
|
||
# 可选,用于配置服务器端口
|
||
PORT=3000
|
||
# 必选,用于配置路由前缀,比如/api,/hf,/proxy等等
|
||
ROUTE_PREFIX=
|
||
# 必选,用于API认证
|
||
AUTH_TOKEN=
|
||
# 可选,用于配置token文件路径
|
||
TOKEN_FILE=.token
|
||
# 可选,用于配置token列表文件路径
|
||
TOKEN_LIST_FILE=.token-list
|
||
```
|
||
|
||
更多变量示例可访问 /env-example
|
||
|
||
3. 重新部署
|
||
|
||
点击`Factory rebuild`,等待部署完成
|
||
|
||
4. 接口地址(`Embed this Space`中查看):
|
||
|
||
```
|
||
https://{username}-{space-name}.hf.space/v1/models
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
1. 请妥善保管您的任何 Token,不要泄露给他人。若发现泄露,请及时更改
|
||
2. 请遵守本项目许可证,你仅拥有使用本项目的权利,不得用于商业用途
|
||
3. 本项目仅供学习研究使用,请遵守 Cursor 的使用条款
|
||
|
||
## 开发
|
||
|
||
### 跨平台编译
|
||
|
||
自行配置cross编译环境
|
||
|
||
支持的平台:
|
||
|
||
- linux x86_64
|
||
- windows x86_64
|
||
- macos x86_64
|
||
- freebsd x86_64
|
||
- docker (only for linux x86_64)
|
||
|
||
### 获取token
|
||
|
||
- 使用 [get-token](https://github.com/wisdgod/cursor-api/tree/main/get-token) 获取读取当前设备token,仅支持windows与macos
|
||
|
||
## 鸣谢
|
||
|
||
- [cursor-api](https://github.com/wisdgod/cursor-api)
|
||
- [zhx47/cursor-api](https://github.com/zhx47/cursor-api)
|
||
- [luolazyandlazy/cursorToApi](https://github.com/luolazyandlazy/cursorToApi)
|
||
|
||
## 许可证
|
||
|
||
版权所有 (c) 2024
|
||
|
||
本软件仅供学习和研究使用。未经授权,不得用于商业用途。
|
||
保留所有权利。 |