# 配置标记: # - [必须修改] 首次启动前必须替换,否则服务会拒绝启动或存在安全风险。 # - [按需修改] 仅在部署方式发生变化时调整。 # - [通常不要修改] 已采用推荐默认值。 server: # [通常不要修改] Docker 镜像会通过启动参数覆盖为 0.0.0.0:8000。 listen: "127.0.0.1:8000" # [通常不要修改] 单次请求体上限 32 MiB。 maxBodyBytes: 33554432 # [通常不要修改] 仅限制客户端上传完整请求体的时间,不限制推理或流式响应。 readTimeout: 15m # [通常不要修改] 管理 API 和非流式请求的最长生命周期。 requestTimeout: 2h # [按需修改] 仅在本地或受信任环境开启,生产环境保持 false。 swaggerEnabled: false auth: # [通常不要修改] 管理端访问与刷新令牌有效期。 accessTokenTTL: 15m refreshTokenTTL: 720h # [按需修改] 外部地址使用 HTTPS 时必须设为 true。 secureCookies: false secrets: # [必须修改] 至少 32 个字符。快速生成:openssl rand -hex 32 jwtSecret: "replace-with-at-least-32-characters" # [必须修改] Base64 编码的 32 字节密钥。快速生成:openssl rand -base64 32 # 首次写入账号后必须长期保留,后续更换会导致已有凭据无法解密。 credentialEncryptionKey: "replace-with-base64-key" bootstrapAdmin: # [按需修改] 仅在数据库中没有管理员时使用。 username: "admin" # [必须修改] 首次启动前替换为强密码;管理员创建成功后建议删除本段。 password: "replace-with-a-strong-password" frontend: # [通常不要修改] Go 服务同源托管的前端构建目录。 staticPath: "./frontend/dist" database: # [按需修改] 单实例使用 sqlite;多实例改为 postgres。 driver: sqlite # sqlite | postgres sqlite: # [通常不要修改] 相对路径以本配置文件所在目录为基准。 path: "./data/backend.db" postgres: # [必须修改:仅 driver=postgres] 填写真实 DSN,并按需启用 sslmode。 dsn: "postgres://user:password@127.0.0.1:5432/grok2api?sslmode=disable" # [按需修改] 根据数据库连接容量调整。 maxOpenConns: 50 maxIdleConns: 10 runtimeStore: # [按需修改] 单实例使用 memory;多实例改为 redis。 driver: memory # memory | redis redis: # [必须修改:仅 driver=redis] 填写 Redis 连接信息。 address: "127.0.0.1:6379" username: "" password: "" database: 0 # [通常不要修改] 同一 Redis 中部署多个实例组时才需要更换。 keyPrefix: "grok2api:" # [按需修改] Redis 使用 TLS 时设为 true。 tls: false deployment: # [通常不要修改] 单实例保持 1;多实例必须同时使用 PostgreSQL、Redis 和共享媒体目录。 replicas: 1 # [必须修改:仅 replicas>1] 每个实例使用不同的稳定标识。 instanceID: "" # [必须修改:仅 replicas>1] 同一实例组和共享媒体目录必须使用相同标识。 clusterID: "grok2api" # [必须修改:仅 replicas>1] 确认 media.local.path 已挂载为所有实例共享且可读写的存储。 sharedMedia: false media: # [通常不要修改] 当前仅支持 local;容量和清理策略在管理端设置。 driver: local local: # [按需修改] 图片二进制目录;数据库只保存资源元数据。 path: "./data/media" routing: # [按需修改] 服务端推理回放缓存:多轮时自动补回客户端未携带的 encrypted_content。 reasoningReplayEnabled: true reasoningReplayTTL: 1h reasoningReplayMaxEntries: 10240 # [通常不要修改] 大账号池分段选号默认关闭;启用后仍保留完整池回退和原子并发门禁。 segmentedSelectorEnabled: false segmentedSelectorMinCandidates: 3000 segmentedSelectorWindowSize: 64 audit: # [通常不要修改] 审计批量写入参数;bufferSize 的修改需重启生效。 bufferSize: 16384 batchSize: 256 flushInterval: 250ms # [通常不要修改] 需要调用方确认提交的审计最多聚合等待该时长;建议保持 1ms–50ms。 commitDelay: 5ms # [通常不要修改] enforce 会在异常持续超过宽限期后暂停新的推理请求;确认发生数据丢失时会立即暂停。 ledgerMode: enforce # observe | enforce ledgerFailureThreshold: 1 ledgerUnhealthyGrace: 10s ledgerQueueHighWatermarkPercent: 90