Hi there 👋

Welcome to my blog, my name is Ray. I am a software developer and this is my personal blog where I share my thoughts, experiences, and projects. Feel free to explore and connect with me!

什么是AI反代,和反代什么区别

忘了在哪个群,有位大学新生询问我什么是 AI 反代,同时我突然意识到博客很久没有更新了,于是想到这个可以水一篇。关于正代反代和 AI 反代。 概念 首先 这个词是 正向代理和反向代理的简称,之前一般是用在网络应用层,如果用过nginx 部署项目也许就听说过,那么简单讲一下什么是正向代理,什么是反向代理 正向代理 小王(客户端) 要找 小李(服务器)租房,但是小王不想用自己的名义向小李租房,于是他叫小徐 (代理)去帮忙租房。这种隐藏小王身份的方式,就叫做正向代理 反向代理 小王(客户端)找 小李(代理)租房,但是小李就像二房东或者中介是在小王不知情的情况下去找小徐(服务端)租房然后把房子给小王。这会隐藏小徐的身份,这叫反向代理。 就像你在城中村签了租房合同直到最后退租可能都不知道真实房东是谁。二房东就在做反向代理。 AI 反代 AI 反向代理(AI Reverse Proxy)是指将主流 AI 服务(如 OpenAI、Claude、Gemini 等)的官方接口进行中转和协议转换的本地或云端服务。 它主要分为两大类用途: 标准 API 转换:将官方网页版(如 Google AI Studio)或不支持直接调用的平台转换为标准的 OpenAI 格式接口,供第三方客户端(如 Cherry Studio)调用。 网关中转与分流:管理多个 API 账号、进行负载均衡(解决频率限制)、隐藏真实 IP、或在国内网络环境下加速 API 访问 总结 正向代理隐藏的是客户端身份,但不是对所有人都隐藏。代理是知道客户端是谁的。 反向代理隐藏的是真实服务端,但也不是绝对隐身。响应头、错误页、日志、证书配置这些地方都可能漏出后端信息。 那么到这一步应该会发现 AI 反代这个词本身不是特别合理,但是这个词的含义已经被泛化和转义了,它不仅包含了网络层面的中转,更核心的功能是协议转换、身份伪装和多账号聚合。 这个称呼的演变主要是因为以下两个历史原因: 最早的刚需是“网络中转”:早期国内开发者无法直接连接 OpenAI 官方 API。大家最开始的做法是用 Cloudflare Workers 或海外 VPS 搭一个 Nginx,把请求直接转发给 OpenAI。这个阶段它确实是标准的网络反向代理。 概念被沿用并扩展:后来,单纯的“网络中转”无法满足需求(比如需要解决多账号限频、网页端 Cookie 登录、异构模型统一输入等问题)。开发者便在“中转服务器”上编写了业务代码(如 Python/Go)。虽然它已经变成了**“网关(Gateway)”或“中间件(Middleware)”**,但大家依然习惯性地称其为“AI 反代”。

June 22, 2026 · 1 min · 69 words · Ray

GLM 到底怎么才能抢到

GLM 5.2 已经上线一周多了,自从 5 出来后,对于国模编程 NO.1 的名号也是听说多次,前面包括 5.1 都浅试过,不过由于 claude 和 GPT 对我而言获得还算容易所以一直没有在意,这次 5.2 出来恰逢 claude 各种波折,可以说几乎很费劲才能维护 claude 的订阅,更何况我需要给团队多位开发同学分发。所以准备看看 5.2 的能力,在 Zcode 浅浅试了两天发现确实还可以,但是 free 的 差不多一个问题二十分钟,reconnect 占用了十五分钟,本以为买个 coding plan 会成为人上人,没想到送钱还得抢着来。整整一周,每一天10AM 准时蹲在浏览器前面。 不曾想,不管是我用任何脚本还是手搓、还是从 zcode 里面订阅,亦或是换不同的网络去订阅,都无济于事,整整一周啊,我抢了七天多都没抢到。 看到有网友讨论国际版能直接买,(囊中也不是很丰腴)关键让我不敢直接买的原因还是在于听网友已有 max 订阅的体验甚至也会因为算力不足而429。 国模加把劲啊。🥹

June 22, 2026 · 1 min · 38 words · Ray

为什么长期主义这么难

你知道长期主义是一个胜率很高的打法,但是为什么无法坚持。因为最终收益被拆分到每个时间段后无法对抗短期诱惑。你知道产品要慢慢打磨,但是市场不会因为你的耐心多给你几个月,你的团队每天都在支出。你知道个人品牌要沉淀,但是平台每天都在用播放量、点赞等数据审判你。 生活不会因为你正在积累就暂停支。 这很痛苦。长期主义的逻辑是对的,但是过程不免费,而且相当贵。 我依稀记得多年前《原子习惯》中的一个观点,被套在马斯克的一次采访画面中,被我看到后深深记住的内容:If you get 1% better each day for one year, you’ll end up 37 times better. 这没错,但是不动脑子也晓得一件事情。如果这件事很简单,那么应该遍地都是成功人士了。好不说这种丧气话。剖析一下为什么。 长期主义的收益在未来(说句不好听的,甚至未必有收益)而它的成本从今天就开始算。所以长期主义 在 “普通人”身上最现实的摩擦就是 成本不足。对于资源充足的人来说,慢是一种选择。对于普通人来讲,慢是一种成本。 什么成本 现金流:收益没有到来之前,成本已经发生,没有现金流缓冲,所有长期计划都会接受审判。 注意力:缺钱的人反复想钱,缺流量的人反复看数据,缺认可的人反复想证明。时间还在,注意力已经被抵押。 情绪、身份、证明、不确定性等等 等等。这都不是一句 慢慢来 能概括的。 人不在真空中做选择,一个人吃饱喝足才能思考未来,饥寒交迫的人只能考虑眼瞎,因为压力下会天然短视,这不是意志力能抵抗的,这是在抗拒老祖宗传下来千年的生存基因,在违抗人性,如果你要压下这一切,就很容易进入长期焦虑状态。 普通人应该做的,不是用坚持长期主义来包装、来逃避。而是正视这一切,来抠出资源存下来。 建立系统 现实不断收费,记得攒点给未来。

June 10, 2026 · 1 min · 35 words · Ray

记录一次 Docker Registry Proxy 的 HTTPS 证书续期排查

记录一次 Docker Registry Proxy 的 HTTPS 证书续期排查 背景 我有一套自建的 Docker Registry Proxy 服务 可看这篇博客docker自建镜像加速 | 安落滢 Blog - 技术分享与生活记录,用来代理 Docker Hub、GHCR、Quay、GCR、K8S、MCR、NVCR 等镜像源。 服务整体跑在 Debian 服务器上,Nginx 运行在 Docker 容器中,由于没有 80、443 端口。对外统一暴露 5050 端口。 假设我的域名是 666.xyz ,访问方式大概是: 1 2 3 4 5 6 7 8 https://hubcmd.666.xyz:5050/ https://ghcr.666.xyz:5050/ https://quay.666.xyz:5050/ https://gcr.666.xyz:5050/ https://k8s.666.xyz:5050/ https://mcr.666.xyz:5050/ https://elastic.666.xyz:5050/ https://nvcr.666.xyz:5050/ 这些域名都在 Cloudflare 做 DNS 解析,并且关闭了小黄云代理,直接解析到服务器公网 IP。 这次问题的起因,是我在服务器通过mirror拉取镜像时遇到报错,报错如下。 1 ERROR: failed to solve: python:3.12-slim: failed to resolve source metadata for docker.io/library/python:3.12-slim: failed to do request: Head "https://hub.666.xyz:5050/v2/library/python/manifests/3.12-slim?ns=docker.io": tls: failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2026-06-02T16:35:32+08:00 is after 2026-05-31T06:13:08Z 好家伙,证书过期,这是第一次纯手工部署的项目证书过期,之前偷懒都是用的宝塔、1panel 这些平台托管,想起来了 certbot 什么的可以用,但我还没试过,刚好试试。 ...

June 2, 2026 · 7 min · 1364 words · Ray

code graph浅尝

看到个项目,code graph,顾名思义应该是把项目代码给构建成图谱,拖延到今天来实测一下效果 仓库地址:GitHub - colbymchenry/codegraph: Pre-indexed code knowledge graph for Claude Code, Codex, Gemini, Cursor, OpenCode, AntiGravity, Kiro, and Hermes Agent — fewer tokens, fewer tool calls, 100% local · GitHub 安装 code graph mac 安装命令 1 curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh 安装 MCP 配置 初始化项目 进入一个最近在开发的目录,开始索引 1 2 cd your-project codegraph init -i 接下来他会扫描仓库的文件并且在本地新建数据库 大概流程是这样的: 显示已折叠代码(21 行) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 你的代码目录 │ ▼ Tree-sitter 解析源码 │ ▼ 抽取符号(Symbol) 函数、类、方法、变量、路由 │ ▼ 分析关系(Edge) 调用关系 继承关系 导入关系 引用关系 │ ▼ 写入 SQLite │ ▼ 生成 .codegraph/ 官方文档里提到,CodeGraph 会把符号、调用图、文件结构等信息存到 SQLite(FTS5)数据库中,并把项目数据放在 .codegraph/ 目录下。 ...

June 2, 2026 · 1 min · 121 words · Ray