File size: 4,457 Bytes
f1dd159
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# 配置标记:
# - [必须修改] 首次启动前必须替换,否则服务会拒绝启动或存在安全风险。
# - [按需修改] 仅在部署方式发生变化时调整。
# - [通常不要修改] 已采用推荐默认值。

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