Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

GALIAIS/Notion2API

Open more actions menu

Repository files navigation

Notion2API

一个基于 Go 的 Notion AI OpenAI 兼容桥接服务,提供标准 API、WebUI 管理面、多账号池和本地 SQLite 持久化,方便本地部署、调试和统一接入。

功能概览

  • OpenAI 兼容接口:/v1/models/v1/chat/completions/v1/responses
  • 支持流式响应
  • 支持多账号池、账号切换、登录态刷新
  • 支持图片、PDF、CSV 等附件请求
  • 自带 WebUI 管理面:/admin
  • 使用 SQLite 持久化账号、会话和运行状态

快速开始

本地运行

go run ./cmd/notion2api --config ./config.example.json

本地构建

go build ./cmd/notion2api

Docker 部署

先按实际环境修改 config.docker.json,再启动:

docker compose up -d --build

如果使用偏生产配置:

docker compose -f docker-compose.prod.yml up -d --build

本地从源码开发需 Go 1.25.0+go.mod 已声明)。

默认入口

  • API:http://127.0.0.1:8787/v1/*
  • Health:http://127.0.0.1:8787/healthz
  • WebUI:http://127.0.0.1:8787/admin

代理与 Resin 粘性代理

代理模式

proxy_mode 支持:

  • off:关闭代理
  • env:从环境变量读取(优先 N2A_*
  • http:固定 HTTP 代理
  • https:按协议拆分 HTTP/HTTPS 代理
  • socks5:SOCKS5/SOCKS5H 代理
  • resin_forward:Resin 粘性代理转发

环境变量优先级(proxy_mode=env

HTTPS 请求优先顺序:

  1. N2A_PROXY_HTTPS_URL
  2. N2A_UPSTREAM_PROXY_HTTPS_URL
  3. N2A_PROXY_URL
  4. N2A_UPSTREAM_PROXY_URL
  5. HTTPS_PROXY / https_proxy
  6. ALL_PROXY / all_proxy

HTTP 请求优先顺序:

  1. N2A_PROXY_HTTP_URL
  2. N2A_UPSTREAM_PROXY_HTTP_URL
  3. N2A_PROXY_URL
  4. N2A_UPSTREAM_PROXY_URL
  5. HTTP_PROXY / http_proxy
  6. ALL_PROXY / all_proxy

也可以直接用环境变量覆盖配置文件中的代理字段:

  • N2A_PROXY_MODE
  • N2A_PROXY_URL
  • N2A_PROXY_HTTP_URL
  • N2A_PROXY_HTTPS_URL
  • N2A_RESIN_ENABLED
  • N2A_RESIN_URL
  • N2A_RESIN_PLATFORM
  • N2A_RESIN_MODE

Resin 粘性代理(按账号隔离)

每个账号都可以独立设置粘性身份:

  • accounts[].sticky_proxy_account:显式设置粘性账号名(推荐)
  • 未设置时会回退到邮箱派生值

当启用 resin_forward 时:

  • 代理认证用户名格式:<resin_platform>.<sticky_proxy_account>
  • 密码使用 resin_url 中 token
  • 请求会附带 X-Resin-Account

配置说明

建议优先检查这些字段:

  • api_key:OpenAI 兼容接口密钥
  • admin.password:WebUI 登录密码
  • upstream_base_url / upstream_origin
  • proxy_mode / proxy_url / proxy_http_url / proxy_https_url
  • resin_enabled / resin_url / resin_platform / resin_mode
  • accounts[*].sticky_proxy_account
  • accounts / active_account
  • storage.sqlite_path

可直接参考:

  • config.example.json
  • config.docker.json

使用建议

  • 首次启动后先访问 /admin,确认账号、配置和连通性是否正常
  • 修改管理台前端后需执行 npm --prefix ./frontend run build:static
  • 调整会话延续与存储时,建议同步检查 internal/app/sqlite_store.go 的 schema 与迁移兼容性

开源协议

MIT License

致谢

本项目已在 LINUX DO 社区 发布,感谢社区的支持与反馈。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.