开发与测试
后端:
cargo fmtcargo checkcargo clippy --workspace --all-targetscargo test --workspacecargo run -p gproxy前端:
cd apps/gproxy/frontendpnpm installpnpm typecheckpnpm buildProvider 回归脚本
Section titled “Provider 回归脚本”仓库内置脚本:
tests/provider/curl_provider.shtests/provider/run_channel_regression.sh
示例:
API_KEY='<key>' tests/provider/curl_provider.sh \ --provider openai \ --method openai_chat \ --model gpt-4.1API_KEY='<key>' tests/provider/run_channel_regression.sh \ --provider openai \ --model gpt-5-nano \ --embedding-model text-embedding-3-small新增原生渠道贡献指南
Section titled “新增原生渠道贡献指南”如果 custom 模式无法满足你的上游需求(例如自定义鉴权流程、特殊路径规则、定制响应归一化、或更深层转换能力),建议贡献一个原生渠道实现。
后端改造清单
Section titled “后端改造清单”- 在
crates/gproxy-provider/src/channels/<your_channel>/新建渠道模块。 - 按需实现:
settings.rs、credential.rs、dispatch.rs、upstream.rs、mod.rs。 - 在
crates/gproxy-provider/src/channel.rs注册渠道枚举和字符串 id。 - 在
crates/gproxy-provider/src/registry.rs注册渠道能力元信息和默认 dispatch。 - 在
crates/gproxy-provider/src/settings.rs接入 settings 解析/序列化。 - 在
crates/gproxy-provider/src/provider.rs接入渠道执行分发。 - 若支持 OAuth 或上游 usage,同步接入对应 runtime 分支。
管理端前端改造清单
Section titled “管理端前端改造清单”- 在
apps/gproxy/frontend/src/modules/admin/providers/channels/<your_channel>/增加渠道文件。 - 在前端渠道注册表中挂载该渠道,确保管理端可配置。
cargo checkcargo test --workspacetests/provider/curl_provider.shtests/provider/run_channel_regression.sh默认路径:
- 数据目录:
./data - 默认数据库:
sqlite://./data/gproxy.db?mode=rwc - tokenizer 缓存:
./data/tokenizers
dsn 可切换到 mysql/postgres。