build: 将 CLIProxyAPI 纳入 submodule

This commit is contained in:
chuan
2026-08-16 03:07:57 +08:00
parent 6c49500d60
commit be95b6f322
7 changed files with 39 additions and 16 deletions
+16 -8
View File
@@ -66,22 +66,30 @@ billing 在请求拦截阶段创建并发占用,依赖 CPA 后续发送唯一
## 应用
在干净的 CLIProxyAPI 工作区执行
首次克隆主仓库后,先初始化锁定官方基线的 CPA submodule
```bash
git checkout 78f0c4079e3e6273d65d03b5549cffc898703264
git apply --check /path/to/billing/patch/cli-proxy-api-usage-context.patch
git apply /path/to/billing/patch/cli-proxy-api-usage-context.patch
git apply --check /path/to/billing/patch/cli-proxy-api-usage-identity.patch
git apply /path/to/billing/patch/cli-proxy-api-usage-identity.patch
git apply --check /path/to/billing/patch/cli-proxy-api-request-lifecycle-cancel.patch
git apply /path/to/billing/patch/cli-proxy-api-request-lifecycle-cancel.patch
git submodule update --init --recursive
```
然后从主仓库根目录执行:
```bash
git -C .externals/CLIProxyAPI apply --check ../../patch/cli-proxy-api-usage-context.patch
git -C .externals/CLIProxyAPI apply ../../patch/cli-proxy-api-usage-context.patch
git -C .externals/CLIProxyAPI apply --check ../../patch/cli-proxy-api-usage-identity.patch
git -C .externals/CLIProxyAPI apply ../../patch/cli-proxy-api-usage-identity.patch
git -C .externals/CLIProxyAPI apply --check ../../patch/cli-proxy-api-request-lifecycle-cancel.patch
git -C .externals/CLIProxyAPI apply ../../patch/cli-proxy-api-request-lifecycle-cancel.patch
cd .externals/CLIProxyAPI
gofmt -w internal/pluginhost sdk/api/handlers sdk/cliproxy/usage sdk/pluginabi sdk/pluginapi
go test -race ./internal/pluginhost ./sdk/api/handlers ./sdk/cliproxy/usage -count=1
CGO_ENABLED=1 go build -o test-output ./cmd/server
rm test-output
```
应用补丁后 submodule 显示工作区修改是预期状态;主仓库只提交 submodule 的官方基线指针和 `patch/`,不提交官方仓库中的派生提交。
billing 必须使用 RPC schema v4 重新构建;旧 billing 动态库会向下协商到旧 schema,无法获得 Usage 请求身份。
## 验证标准