Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
server
command
SPDX-License-Identifier: AGPL-3.0-or-later
|
SPDX-License-Identifier: AGPL-3.0-or-later |
|
internal
|
|
|
auth
Package auth 承载用户认证体系:bcrypt 密码哈希(与 sub2api 同参数)、 JWT 签发/验证(HS256,TTL 24h)与 RBAC 中间件(/user 组 RequireJWT + 快照用户状态校验;/admin = 静态 token OR platform_admin JWT)。
|
Package auth 承载用户认证体系:bcrypt 密码哈希(与 sub2api 同参数)、 JWT 签发/验证(HS256,TTL 24h)与 RBAC 中间件(/user 组 RequireJWT + 快照用户状态校验;/admin = 静态 token OR platform_admin JWT)。 |
|
billing
Package billing 计费核心:service_tier 归一化 + 价格矩阵纯函数 + 余额快照 + 批量扣费 flusher。
|
Package billing 计费核心:service_tier 归一化 + 价格矩阵纯函数 + 余额快照 + 批量扣费 flusher。 |
|
continuation
SPDX-License-Identifier: AGPL-3.0-or-later
|
SPDX-License-Identifier: AGPL-3.0-or-later |
|
credential
Package credential 是账号凭据抽象层:类型注册表 + Provider 分发,为后续 多种号池类型(codex oauth、codex personal_access_token、claude code 等) 打地基。
|
Package credential 是账号凭据抽象层:类型注册表 + Provider 分发,为后续 多种号池类型(codex oauth、codex personal_access_token、claude code 等) 打地基。 |
|
discovery
Package discovery Redis 实例发现(spec 2026-08-25-redis-instance-discovery-design, 基建面见 2026-08-25-redis-foundation-design):单 ZSET 心跳成员协议替换手工 cluster.instances 设置——实例心跳注册、活体计数即多实例预算分摊基数 N。
|
Package discovery Redis 实例发现(spec 2026-08-25-redis-instance-discovery-design, 基建面见 2026-08-25-redis-foundation-design):单 ZSET 心跳成员协议替换手工 cluster.instances 设置——实例心跳注册、活体计数即多实例预算分摊基数 N。 |
|
domain
SPDX-License-Identifier: AGPL-3.0-or-later Dual-licensed: AGPL-3.0-or-later (open source) or commercial license (closed-source deployment exemption); see LICENSE and LICENSE.commercial.
|
SPDX-License-Identifier: AGPL-3.0-or-later Dual-licensed: AGPL-3.0-or-later (open source) or commercial license (closed-source deployment exemption); see LICENSE and LICENSE.commercial. |
|
handler
Package handler provides primitives to interact with the openapi HTTP API.
|
Package handler provides primitives to interact with the openapi HTTP API. |
|
handler/httpface
Package httpface 管理面/用户面 HTTP 边界:响应书写(WriteJSON/WriteErr/ WriteServiceErr,service 错误→HTTP 状态映射表唯一一份)+ 请求参数边界 (ClampLimit——两面包共享的分页上限钳制)。
|
Package httpface 管理面/用户面 HTTP 边界:响应书写(WriteJSON/WriteErr/ WriteServiceErr,service 错误→HTTP 状态映射表唯一一份)+ 请求参数边界 (ClampLimit——两面包共享的分页上限钳制)。 |
|
handler/user
Package user provides primitives to interact with the openapi HTTP API.
|
Package user provides primitives to interact with the openapi HTTP API. |
|
invalidate
Package invalidate 管理面变更的去抖定向失效:
|
Package invalidate 管理面变更的去抖定向失效: |
|
latch
Package latch 是规则失效锁存的一等组件(根因重开):单实例内存 锁存(account+fingerprint+revision)+ 规则失败事件的同步扇出中介。
|
Package latch 是规则失效锁存的一等组件(根因重开):单实例内存 锁存(account+fingerprint+revision)+ 规则失败事件的同步扇出中介。 |
|
notify
Package notify 多实例变更广播(基础层):PG LISTEN/NOTIFY 定向刷新。
|
Package notify 多实例变更广播(基础层):PG LISTEN/NOTIFY 定向刷新。 |
|
protoconv
Package protoconv 提供网关级协议转换(只补差语义):客户端协议请求体 → 模板协议请求体(ConvertRequest)、模板协议响应 → 客户端协议响应 (ConvertResponse 非流式 JSON / StreamMapper 流式 SSE 事件映射)。
|
Package protoconv 提供网关级协议转换(只补差语义):客户端协议请求体 → 模板协议请求体(ConvertRequest)、模板协议响应 → 客户端协议响应 (ConvertResponse 非流式 JSON / StreamMapper 流式 SSE 事件映射)。 |
|
proxy
SPDX-License-Identifier: AGPL-3.0-or-later
|
SPDX-License-Identifier: AGPL-3.0-or-later |
|
quality
SPDX-License-Identifier: AGPL-3.0-or-later
|
SPDX-License-Identifier: AGPL-3.0-or-later |
|
repository
SPDX-License-Identifier: AGPL-3.0-or-later Dual-licensed: AGPL-3.0-or-later (open source) or commercial license (closed-source deployment exemption); see LICENSE and LICENSE.commercial.
|
SPDX-License-Identifier: AGPL-3.0-or-later Dual-licensed: AGPL-3.0-or-later (open source) or commercial license (closed-source deployment exemption); see LICENSE and LICENSE.commercial. |
|
rule
Package rule 实现规则引擎(可编排状态管理):事件 → 有界 channel → 规则 worker (priority 首中匹配)→ typed 动作(Throttle→RuntimeHealth / FailAccount→latch+CAS) + 响应整形。
|
Package rule 实现规则引擎(可编排状态管理):事件 → 有界 channel → 规则 worker (priority 首中匹配)→ typed 动作(Throttle→RuntimeHealth / FailAccount→latch+CAS) + 响应整形。 |
|
scheduler
SPDX-License-Identifier: AGPL-3.0-or-later
|
SPDX-License-Identifier: AGPL-3.0-or-later |
|
sdkbridge
Package sdkbridge 是 SDK 适配层与网关之间的契约面(零 SDK 依赖——SDK 调用从此后):统一失效回调 + 失效处理链装配(写失效字段 / 调度摘除 / 审计)、网关侧信封错误与凭据传递形态(AccountCredential 派生在 internal/domain)。
|
Package sdkbridge 是 SDK 适配层与网关之间的契约面(零 SDK 依赖——SDK 调用从此后):统一失效回调 + 失效处理链装配(写失效字段 / 调度摘除 / 审计)、网关侧信封错误与凭据传递形态(AccountCredential 派生在 internal/domain)。 |
|
server
Package server 装配 chi 路由:/api/admin/*(静态 token OR platform_admin JWT)+ /api/user/*(JWT 保护,register/login 公开)+ 三个 AI 端点 + /healthz。
|
Package server 装配 chi 路由:/api/admin/*(静态 token OR platform_admin JWT)+ /api/user/*(JWT 保护,register/login 公开)+ 三个 AI 端点 + /healthz。 |
|
service
SPDX-License-Identifier: AGPL-3.0-or-later Dual-licensed: AGPL-3.0-or-later (open source) or commercial license (closed-source deployment exemption); see LICENSE and LICENSE.commercial.
|
SPDX-License-Identifier: AGPL-3.0-or-later Dual-licensed: AGPL-3.0-or-later (open source) or commercial license (closed-source deployment exemption); see LICENSE and LICENSE.commercial. |
|
service/errors
Package serviceerr 定义 service 层错误哨兵(单一真相)。
|
Package serviceerr 定义 service 层错误哨兵(单一真相)。 |
|
settingssnap
Package settingssnap 是 settings 全量内存快照的唯一事实源(根因重开): Service 与 MailWorker 同源共享单个 *Snapshot(单指针,无双快照分叉)。
|
Package settingssnap 是 settings 全量内存快照的唯一事实源(根因重开): Service 与 MailWorker 同源共享单个 *Snapshot(单指针,无双快照分叉)。 |
|
snapshot
Package snapshot 统一网关各内存快照的生命周期:启动就绪(ReloadAll 全量首刷) + NOTIFY 事件分发(按 scope 精确重载)+ 状态可观测(Status)。
|
Package snapshot 统一网关各内存快照的生命周期:启动就绪(ReloadAll 全量首刷) + NOTIFY 事件分发(按 scope 精确重载)+ 状态可观测(Status)。 |
|
usage
归属说明:retention worker 放 usage 包——原 Recorder.janitorLoop(逐行 DELETE)已删除,保留策略整体移交本 worker;保留天数与 Recorder 配置同源 (config usage.log_retention_days),故与 Recorder 同包管理。
|
归属说明:retention worker 放 usage 包——原 Recorder.janitorLoop(逐行 DELETE)已删除,保留策略整体移交本 worker;保留天数与 Recorder 配置同源 (config usage.log_retention_days),故与 Recorder 同包管理。 |
|
verification
Package verification 邮箱验证码的 Redis 存储(spec 2026-08-25-emailcode-redis-migration §2):一个 (purpose,email) 一个 HASH,四命令直映 service.EmailCodeStore,零 Lua。
|
Package verification 邮箱验证码的 Redis 存储(spec 2026-08-25-emailcode-redis-migration §2):一个 (purpose,email) 一个 HASH,四命令直映 service.EmailCodeStore,零 Lua。 |
|
worker
Package worker 提供统一后台任务抽象(Global Constraints):顺序启动、 反向排空、panic 捕获(进程不崩)。
|
Package worker 提供统一后台任务抽象(Global Constraints):顺序启动、 反向排空、panic 捕获(进程不崩)。 |
|
pkg
|
|
|
aiclient
Package aiclient 是 openai/anthropic 官方 SDK 的唯一引用点:客户端懒构建 + 鉴权头注入 + 非流式超时策略。
|
Package aiclient 是 openai/anthropic 官方 SDK 的唯一引用点:客户端懒构建 + 鉴权头注入 + 非流式超时策略。 |
|
httpx
Package httpx 构造共享的上游 HTTP 客户端(规格 §10.2 连接层参数)。
|
Package httpx 构造共享的上游 HTTP 客户端(规格 §10.2 连接层参数)。 |
|
logx
Package logx 是 zap 的薄包装:业务代码只允许经本包取日志,禁止直接 import zap。
|
Package logx 是 zap 的薄包装:业务代码只允许经本包取日志,禁止直接 import zap。 |
|
redisx
Package redisx 全仓唯一 Redis 客户端构造点(spec 2026-08-25-redis-foundation-design §2.2):cmd/server/main.go 调 Open,产物 *redis.Client 以构造注入分发。
|
Package redisx 全仓唯一 Redis 客户端构造点(spec 2026-08-25-redis-foundation-design §2.2):cmd/server/main.go 调 Open,产物 *redis.Client 以构造注入分发。 |
|
sserelay
Package sserelay 提供原始字节级 SSE relay:从 io.Reader 增量读取 SSE 帧, 原样转发给 http.ResponseWriter,自适应批量 Flush,并以 Observer 旁路暴露 事件信息(仅用于 usage 提取,不参与转发决策)。
|
Package sserelay 提供原始字节级 SSE relay:从 io.Reader 增量读取 SSE 帧, 原样转发给 http.ResponseWriter,自适应批量 Flush,并以 Observer 旁路暴露 事件信息(仅用于 usage 提取,不参与转发决策)。 |
|
tools
|
|
|
fakeupstream
command
fakeupstream 模拟 OpenAI chat/completions 上游:支持流式(chunks 个事件 + usage + [DONE])。
|
fakeupstream 模拟 OpenAI chat/completions 上游:支持流式(chunks 个事件 + usage + [DONE])。 |
|
loadtest
command
loadtest 对网关打压测:固定并发 goroutine 持续请求,支持流式首字节和非流式完整响应延迟。
|
loadtest 对网关打压测:固定并发 goroutine 持续请求,支持流式首字节和非流式完整响应延迟。 |
|
loadtest/setup
command
setup 构造多租户压测数据(数据模型 + 计费字段 + intelligent routing 新契约):模板(四格式 × 随机模型池 + loadtest 固定请求模型必含)→ 公开组 → 账号(分散模板/组/上游,可选采购成本倍率 + 共享缓存域)→ 用户(可选 余额/并发区间)→ 逐个登录建 key(可选多 key/并发/额度区间),key 明文写文件 (loadtest -keys 用)。
|
setup 构造多租户压测数据(数据模型 + 计费字段 + intelligent routing 新契约):模板(四格式 × 随机模型池 + loadtest 固定请求模型必含)→ 公开组 → 账号(分散模板/组/上游,可选采购成本倍率 + 共享缓存域)→ 用户(可选 余额/并发区间)→ 逐个登录建 key(可选多 key/并发/额度区间),key 明文写文件 (loadtest -keys 用)。 |
Click to show internal directories.
Click to hide internal directories.
