
codex-proxy 的 v2.1.19 只把离线包挂回发行页、源码与上一版逐文件相同;CLIProxyAPI 新报的插件身份解析会把带 -v 的版本号切错,装上却选不中。
-v 时,装完会被认成另一个插件,配置里按原名引用就选不中。-v。package.json 与 lock 文件。2push 且 ref 是 tag;稳定版走的是 workflow_dispatch --ref <tag>,条件永远不成立,步骤被静默跳过。
npm-publish.yml 第 365–388 行,v2.1.19:触发条件从「事件是 push 且 ref 是 tag」改成只看 ref。if: startsWith(github.ref, 'refs/tags/') 是这一版唯一的功能性改动,注释里写明了原因。3codex-proxy-npm.zip 附件创建于 05:05:58,离发行 7 分 44 秒。4/releases/latest/download/codex-proxy-npm.zip 会跳到 v2.1.19 的这个附件。5package.json 写的是 2.1.18;往前两个 tag 也一样,v2.1.18 里写 2.1.17,v2.1.17 里写 2.1.16。7chore(version): sync package.json version to 2.1.19 就是它。8install.mjs,安装时不需要连 npm 仓库。内网、离线机、以及被 GitHub Packages 的私有默认卡住的场景,走的都是它。install.mjs。-v,装上了但不会被认出来alpha 的 1.0.0-preview-v2,安装成功;发现侧报回来的是 ID alpha-v1.0.0-preview、版本 2。1.0.0-preview 正常;1.0.0-preview-vnext 得到空版本;上面那个 -v2 被切成两半。<id>-v<version>.so,发现侧拿同一个名字找最后一个 -v 当分隔符。alpha-v1.0.0-preview 本身是合法 ID,切出来的 2 也是合法版本,两道校验都放行。
internal/pluginhost/platform.go 第 78–93 行,v8.0.35:切分点之后两道校验都会放行切歪的结果。continue,直接不选。11alpha 引用自然找不到。表现就是「装完了,插件列表里没有」。-v 也不行,alpha-v2 这种合法 ID 会被切坏。要修得换一个不含歧义的文件名格式。-v。1.0.0-preview.2 这种写法切分点唯一,装完能被认回来。GET /v8/management/plugins,列出来的就是发现侧的 ID 与版本。名字里多出一截 -v1.0.0-preview 的,就是被切歪的那一个。plugins/<goos>/<goarch>/,落盘名固定是 <id>-v<version> 加扩展名。两边对不上,配置里再怎么写也选不中。DialContext 收下上下文,然后丢掉,直接调 dialer.Dial。
sdk/proxyutil/proxy.go 第 130–142 行,v8.0.35:上下文被丢掉,拨号走的是不带取消的 Dial。proxy.ContextDialer 的 DialContext。x/net/proxy 的 SOCKS5 dialer 本来就实现了这个接口,一行类型断言就够。socks5 与 socks5h 这一支。同一函数里 http 与 https 代理走的是另外两条分支,不受影响。main 与 v8.0.35 在这一段逐字相同。16github.com
github.com
github.com
api.github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
github.com
status.openai.com
status.anthropic.com
status.cloud.google.com
codex-reset.com
opentherank.com
github.com
github.com
github.com
community.openai.com
reddit.com
github.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.