将 Notion AI 转换为 OpenAI 兼容 API 的代理服务。
- OpenAI 兼容的
/v1/chat/completions接口 - Docker 多架构支持(amd64/arm64)
cp .env.example .env| 变量 | 说明 | 默认值 |
|---|---|---|
PORT |
服务端口 | 7860 |
PROXY_URL |
HTTP 代理地址(可选) | - |
go run .docker run -d -p 7860:7860 --env-file .env ghcr.io/mamoworks/notion:latestservices:
notion-proxy:
image: ghcr.io/mamoworks/notion:latest
ports:
- "7860:7860"
environment:
- PORT=7860
# - PROXY_URL=http://127.0.0.1:7890使用 Bearer Token 认证,格式为:
Authorization: Bearer <cookie>:<userId>:<spaceId>
cookie: Notion 的token_v2值(可省略token_v2=前缀)userId: 用户 IDspaceId: 空间 ID
curl -X POST http://localhost:7860/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <cookie>:<userId>:<spaceId>" \
-d '{
"model": "notion",
"messages": [
{"role": "user", "content": "Hello"}
],
"stream": true
}'- 登录 Notion
- 打开浏览器开发者工具(F12)
- 切换到 Network 标签
- 刷新页面,找到任意请求
- 在 Request Headers 中找到
Cookie,提取token_v2的值 - 在请求的 Payload 或 Response 中找到
userId和spaceId
go build -o notion-proxy .# Windows
GOOS=windows GOARCH=amd64 go build -o notion-proxy.exe .
# macOS
GOOS=darwin GOARCH=arm64 go build -o notion-proxy .
# Linux
GOOS=linux GOARCH=amd64 go build -o notion-proxy ..
├── main.go # 入口文件
├── config/ # 配置管理
├── handlers/ # HTTP 处理器
├── middleware/ # 中间件(认证、日志)
├── models/ # 数据模型
├── services/ # 业务逻辑
├── utils/ # 工具函数
└── docker/ # Docker 配置