Administrator
发布于 2025-02-15 / 110 阅读
3

使用 monica-proxy 逆向 Monica AI

最近花八百多大洋买了 Monica Unlimited 年度,可以无限访问 o3-mini GPT-4o DeepSeek-R1 Claude-3.5-Sonnet-V2 Gemini-2.0-Pro 等各大模型。Monica 本身也支持 API,遗憾的是,Monica 官方 API 需要额外付费,但如果你使用 monica-proxy 可以反代 Monica Web 实现直接逆向 API 并使用。

注意: 本篇教程可能有风险,逆向的行为违反了 Monica ToS

获得 session_id

首先,你需要获得你 Monica 账号的 session_id。登录到 Monica 网页端,按下 F12 进入开发者模式,在顶部导航栏找到 "应用",找到左侧边栏的 "存储">"Cookie">"https://monica.im/" ,在右侧表格内向下滑,找到 session_id,保存备用,注意保管。

部署 monica_proxy

确保你有一台安装了 Docker 的服务器。在下面选一个步骤来安装

方法A.使用 Docker

在终端内输入下面的文本

docker run --pull=always -d \
  --name monica-proxy \
  -p 8080:8080 \
  -e MONICA_COOKIE="session_id" \
  -e BEARER_TOKEN="sk-token" \
  neccen/monica-proxy:latest

方法B.使用 Docker Compose

新建 docker-compose.yml,更改文件内容为以下文本

services:
  monica-proxy:
    image: neccen/monica-proxy:latest
    container_name: monica-proxy
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      - MONICA_COOKIE="session_id"
      - BEARER_TOKEN="sk-token"

无论使用哪种方式,都必须要设置环境变量。把 MONICA_COOKIE 设置为你刚刚的 session_id,BEARER_TOKEN 设置为 API Token。注意保管 Token。
运行后,http://example.com:8080/v1/chat/completions 将会是你的 API URL。你可以直接使用 Open API 进行调用,这是一个例子

curl -X POST http://ip:8080/v1/chat/completions \
  -H "Authorization: Bearer YOUR_BEARER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {
        "role": "user",
        "content": "你好"
      }
    ],
    "max_tokens": 4096, 
    "stream": true
  }'

注意,请求头必须带上 Authorization: Bearer YOUR_BEARER_TOKEN
你也可以对接 LobeChat、NextChat 等第三方前端,或将其二次售卖。所有的聊天记录都会使用临时模式,确保逆向的 API 不会影响到你正常使用网页端。