在 MarginNote AI 中使用你的 Codex 额度

项目地址:

教程

简介

CLIProxyAPI 是一个反向代理项目,它可以让你在本地以 api 的形式使用你的 Agent 订阅,例如 ChatGPT(Codex)、Claude(不建议、反向代理有可能被封号)、Google(Antigravity)、Kimi、Grok 等等的订阅,也可以在其中导入多个站点的 api 统一管理。

为什么要用 CPA?

  • 可以将 coding plan 中的额度代理成 api 给本地服务使用(不局限于 MarginNote),实现本地中转站的效果
  • 可以同时使用多家 ai 的服务,比如我可以同时在 MarginNote 中使用 grok-4.5 和 GPT-5.6 系列
  • 无需购买额外的 api,直接使用已经购买的额度

风险预警

由于反向代理并不是常规操作有可能导致账号封禁,尤其是国内 Coding Plan 厂商,例如 GLM 以及 kimi(大部分厂商对于售卖的 Coding Plan 都有使用环境要求,只能在其许可的 Harness 中使用)。以及封号极其严重的 Claude。

但这边可以保证安全使用的是反向代理 ChatGPT 模型,并不会导致封禁。OpenAI Codex 项目负责人 Tibo ( Head of Codex)最近还发帖宣传了该项目,并鼓励用户在 Claude Code 中使用 GPT 模型:

安装

让 Codex 或其他本地 agent 工具帮你安装:new_moon_face:,或参考项目 Readme 中的教程安装

https://github.com/router-for-me/CLIProxyAPI

安装后要启动项目,启动好之后可以去打开下面这个地址(如果安装端口和我的不一样则需要修改)

http://127.0.0.1:8317/management.html

首次登录需要输入密码,可以问一下 Codex 安装时候用的是什么密码,输入后登录。

进入左侧 Oauth 登录,选择你的模型登录,如果是 API key,则可以直接接到 API 提供商中。

在此处可以看到模型列表,填入 MarginNote 中的模型名称必须严格参照此列表中的模型,严格大小写。


在 MarginNote 中配置

MarginNote 自定义 API 使用的是 OpenAI Chat Completions 格式的,CPA 的API 接口地址为(端口不同,则需要改成自己的):

http://127.0.0.1:8317/v1/chat/completions

输入 API key,key 在这里,复制粘贴过去:

然后在下面配置模型名称:

成功!

报错

似乎 Kimi 的模型强制 Temperature = 1,因此很遗憾无法使用新出的 k3、k2.7-coding 了。

非常有用,已经设置好,需要更新到最新版marginnote 4.4.4。不会的自行codex配置

这种方法只能在电脑版mn4上使用,ipad版应该怎么办?

问问codex,CLIproxyAPI应该可以开远端转发代理,前提是你得有个电脑得一直开着提供CLI运行和API转发服务(实际上套壳API中转站就是这么来的,你甚至可以更改让显示模型名称和实际模型名称不一样:clown_face:)。我看了最新版的MN4.4.4在移动端也能更改AI自定义API接口。

没有办法,iPadOS(基于 iOS)不支持直接运行 Linux/Go 二进制服务器,没有完整的终端环境、系统级服务,也没有原生 Docker 支持。没办法部署到本地。

反向代理理论上可以部署到服务器,但这种绝对会被封号,ChatGPT 也不例外。如果实在想弄的话可以试试部署到局域网中,但会更折腾。

能部署到局域网里就可以了,但具体怎么操作,mn4支持吗?

局域网要折腾路由器,你网上搜搜吧和软路由差不多,需要有 Linux 基础,并且不是所有路由器都能折腾的

局域网的话也还是得有一个电脑当服务器运行转发,保持开机,让转发端口在局域网内可以被发现,这个需要你问问AI去改CLIproxyAPI的端口设置,让转发服务在局域网内可以被发现和接入。单靠ipadOS MN4实现不了。等你配置好之后把端口接到ipadOS MN4并运行测试,见楼主教程。注意这个电脑要先打开转发你才能用,而且两个要连在同一个网络下。

关于局域网转发配置,以下是AI回答:

如果你的目标是让局域网内其他设备(手机、iPad、另一台电脑)共享你这台 Mac 上的 Codex/Claude/Gemini 等 CLI 登录状态,CLIProxyAPI 本身就是支持的,而且配置非常简单。


1. 修改配置文件

如果你是 Homebrew 安装:

brew --prefix

通常配置文件位于:

Apple Silicon:

/opt/homebrew/etc/cliproxyapi.conf

Intel:

/usr/local/etc/cliproxyapi.conf

也可以使用自己的:

~/.cli-proxy-api/config.yaml

官方也推荐把 Homebrew 默认配置软链接到自己的配置文件。


2. 允许监听局域网

最重要的是:

host: ""
port: 8317

CLIProxyAPI 官方说明:

  • host: "" → 监听所有 IPv4/IPv6 网卡

  • host: "127.0.0.1" → 只能本机访问

因此只要保持为空即可。

如果想指定:

host: "192.168.1.100"

也可以,只监听这一块网卡。


3. 设置 API Key

例如:

api-keys:
  - "my-super-secret-key"

之后客户端:

Authorization: Bearer my-super-secret-key

即可访问。

不要使用默认:

your-api-key-1

4. 管理接口不要开放

你之前已经关闭 Remote Management,这是我也建议保持的。

配置应类似:

remote-management:
  allow-remote: false
  secret-key: "xxxxx"

这样:

  • API 可以局域网访问

  • 管理页面只能 localhost

不会有人修改你的配置。


5. macOS 放行防火墙

第一次启动以后:

System Settings
→ Privacy & Security
→ Firewall

允许:

cliproxyapi

接收传入连接。

如果不开放,局域网设备会:

connection refused

6. 查看 Mac IP

ipconfig getifaddr en0

例如:

192.168.31.15

那么其他设备 Base URL:

http://192.168.31.15:8317/v1

API Key:

my-super-secret-key

即可。


7. 测试

Mac 本机:

curl http://localhost:8317/health

局域网另一台机器:

curl http://192.168.31.15:8317/health

应该返回

{"status":"ok"}

随后:

GET /v1/models
POST /v1/chat/completions

都可以正常访问。


8. 我建议再加一层反向代理(推荐)

如果这是你长期使用的方案,我建议不要直接把 CLIProxyAPI 暴露给局域网,而是在前面放一层反向代理,例如:

iPad
        │
Windows │
Phone   │
        ▼
   Caddy / Nginx
        │
127.0.0.1:8317
        │
CLIProxyAPI
        │
Codex CLI
Claude Code
Gemini CLI

这样可以额外获得:

  • HTTPS(自签名或 Let’s Encrypt)

  • IP 白名单

  • 请求日志

  • 限流

  • Basic Auth

  • Fail2Ban

  • 多服务统一入口

安全性会明显高于直接开放 CLIProxyAPI。


部署到服务器,并不会封号,很多人都这样用

mn4不能选择自定义ai服务的模型吗 :sweat_smile:

可以吧,4.4.4 新出的功能,应该是 max 权限

CLIProxyAPI 外加 Tailscale 可以達成你要的, 我現在外出 家裡的MacBook開著 然後 在外面就iPad 連線手機的行動網路