最近花八百多大洋买了 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 不会影响到你正常使用网页端。