cursor-api

说明

获取key

  1. 访问 www.cursor.com 并完成注册登录
  2. 在浏览器中打开开发者工具(F12)
  3. 在 Application-Cookies 中查找名为 WorkosCursorSessionToken 的条目,并复制其第三个字段。请注意,%3A%3A 是 :: 的 URL 编码形式,cookie 的值使用冒号 (:) 进行分隔。

配置说明

环境变量

更多请查看 /env-example

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
    

    该文件可以被自动管理,但用户仅可在确认自己拥有修改能力时修改,一般仅有以下情况需要手动修改:

模型列表

写死了,后续也不会会支持自定义模型列表

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

接口说明

基础对话

请求格式

{
  "model": "string",
  "messages": [
    {
      "role": "system" | "user" | "assistant", // 也可以是 "developer" | "human" | "ai"
      "content": "string" | [
        {
          "type": "text" | "image_url",
          "text": "string",
          "image_url": {
            "url": "string"
          }
        }
      ]
    }
  ],
  "stream": boolean
}

响应格式

如果 streamfalse:

{
  "id": "string",
  "object": "chat.completion",
  "created": number,
  "model": "string",
  "choices": [
    {
      "index": number,
      "message": {
        "role": "assistant",
        "content": "string"
      },
      "finish_reason": "stop" | "length"
    }
  ],
  "usage": {
    "prompt_tokens": number,
    "completion_tokens": number,
    "total_tokens": number
  }
}

如果 streamtrue:

data: {"id":"string","object":"chat.completion.chunk","created":number,"model":"string","choices":[{"index":number,"delta":{"role":"assistant","content":"string"},"finish_reason":null}]}

data: {"id":"string","object":"chat.completion.chunk","created":number,"model":"string","choices":[{"index":number,"delta":{"content":"string"},"finish_reason":null}]}

data: {"id":"string","object":"chat.completion.chunk","created":number,"model":"string","choices":[{"index":number,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

Token管理接口

简易Token信息管理页面

更新Token信息 (GET)

更新Token信息 (POST)

{
  "tokens": "string",
  "token_list": "string"
}
{
  "status": "success",
  "message": "Token files have been updated and reloaded",
  "token_file": "string",
  "token_list_file": "string",
  "token_count": number
}

获取Token信息

{
  "status": "success",
  "token_file": "string",
  "token_list_file": "string",
  "tokens": "string",
  "token_list": "string"
}

配置管理接口

配置页面

更新配置

{
  "action": "get" | "update" | "reset",
  "path": "string",
  "content": "string",
  "content_type": "default" | "text" | "html",
  "enable_stream_check": boolean,
  "enable_stream_check": boolean,
  "vision_ability": "none" | "base64" | "all", // "disabled" | "base64-only" | "base64-http"
  "enable_slow_pool": boolean,
  "enable_slow_pool": boolean
}
{
  "status": "success",
  "message": "string",
  "data": {
    "page_content": {
      "type": "default" | "text" | "html",
      "content": "string"
    },
    "enable_stream_check": boolean,
    "vision_ability": "base64" | "url" | "none", 
    "enable_slow_pool": boolean
  }
}

静态资源接口

获取共享样式

获取共享脚本

环境变量示例

其他接口

获取模型列表

{
  "object": "list",
  "data": [
    {
      "id": "string",
      "object": "model",
      "created": number,
      "owned_by": "string"
    }
  ]
}

获取随机checksum

{
  "checksum": "string"
}

健康检查接口

获取日志接口

获取日志数据

{
  "total": number,
  "logs": [
    {
      "timestamp": "string",
      "model": "string",
      "token_info": {
        "token": "string",
        "checksum": "string",
        "alias": "string"
      },
      "prompt": "string",
      "stream": boolean,
      "status": "string",
      "error": "string"
    }
  ],
  "timestamp": "string",
  "status": "success"
}