Skip to content

MamoWorks/Notion

Repository files navigation

Notion Proxy

将 Notion AI 转换为 OpenAI 兼容 API 的代理服务。

功能特性

  • OpenAI 兼容的 /v1/chat/completions 接口
  • Docker 多架构支持(amd64/arm64)

快速开始

环境变量

cp .env.example .env
变量 说明 默认值
PORT 服务端口 7860
PROXY_URL HTTP 代理地址(可选) -

直接运行

go run .

Docker 运行

docker run -d -p 7860:7860 --env-file .env ghcr.io/mamoworks/notion:latest

Docker Compose

services:
  notion-proxy:
    image: ghcr.io/mamoworks/notion:latest
    ports:
      - "7860:7860"
    environment:
      - PORT=7860
      # - PROXY_URL=http://127.0.0.1:7890

API 使用

认证格式

使用 Bearer Token 认证,格式为:

Authorization: Bearer <cookie>:<userId>:<spaceId>
  • cookie: Notion 的 token_v2 值(可省略 token_v2= 前缀)
  • userId: 用户 ID
  • spaceId: 空间 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
  }'

获取认证信息

  1. 登录 Notion
  2. 打开浏览器开发者工具(F12)
  3. 切换到 Network 标签
  4. 刷新页面,找到任意请求
  5. 在 Request Headers 中找到 Cookie,提取 token_v2 的值
  6. 在请求的 Payload 或 Response 中找到 userIdspaceId

构建

本地构建

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 配置

About

Notion

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors