diff --git a/.helloagents/CHANGELOG.md b/.helloagents/CHANGELOG.md index b2a5c67..4e283d8 100644 --- a/.helloagents/CHANGELOG.md +++ b/.helloagents/CHANGELOG.md @@ -9,6 +9,8 @@ ### 变更 +- **[deploy/proxy/settings]**: 调整 stream usage 默认值并避免部署覆盖云端变量 — by lsy + - 方案: [202603170025_runtime-defaults-no-override](archive/2026-03/202603170025_runtime-defaults-no-override/) - **[deploy-workflow]**: 本地部署脚本改为纯本地流程(构建 + 本地迁移) — by lsy - 方案: [202603162008_local-deploy-local-only](archive/2026-03/202603162008_local-deploy-local-only/) - **[settings/admin-ui]**: 设置接口返回运行时配置,管理台只读展示并指引环境变量配置 diff --git a/.helloagents/modules/proxy.md b/.helloagents/modules/proxy.md index 72aba86..a9f1ba1 100644 --- a/.helloagents/modules/proxy.md +++ b/.helloagents/modules/proxy.md @@ -38,7 +38,8 @@ - 映射模型场景失败时同时记录下游模型错误,确保冷却窗口生效 - 上游成功响应会刷新能力表,清空错误并延长可用窗口 - CPU 保护开关(环境变量): `PROXY_STREAM_USAGE_MODE`, `PROXY_STREAM_USAGE_MAX_BYTES`, `PROXY_STREAM_USAGE_MAX_PARSERS`, `PROXY_USAGE_QUEUE_ENABLED` -- `PROXY_STREAM_USAGE_MAX_BYTES` 与 `PROXY_STREAM_USAGE_MAX_PARSERS` 设为 `0` 表示无限制(未配置则使用默认值) +- 默认值: `PROXY_STREAM_USAGE_MODE=full`, `PROXY_STREAM_USAGE_MAX_BYTES=0`, `PROXY_STREAM_USAGE_MAX_PARSERS=0`, `PROXY_USAGE_QUEUE_ENABLED=true` +- `PROXY_STREAM_USAGE_MAX_BYTES` 与 `PROXY_STREAM_USAGE_MAX_PARSERS` 设为 `0` 表示无限制 ## 依赖关系 - `channels` / `tokens` / `usage_logs` 表 diff --git a/.helloagents/modules/settings.md b/.helloagents/modules/settings.md index e094c51..3f40a39 100644 --- a/.helloagents/modules/settings.md +++ b/.helloagents/modules/settings.md @@ -19,6 +19,7 @@ - 模型失败冷却以分钟计(默认 10 分钟),用于跳过最近失败的渠道/模型 - 代理 CPU 降载相关开关使用环境变量(非 DB 设置) - `GET /api/settings` 额外返回 `runtime_config`(环境变量读取结果),用于展示流式 usage 解析与队列状态 +- 运行时配置默认值为 `PROXY_STREAM_USAGE_MODE=full`、`PROXY_STREAM_USAGE_MAX_BYTES=0`、`PROXY_STREAM_USAGE_MAX_PARSERS=0` - 运行时配置中 `PROXY_STREAM_USAGE_MAX_BYTES/PROXY_STREAM_USAGE_MAX_PARSERS` 设为 `0` 表示无限制 ## 依赖关系 diff --git a/apps/worker/src/routes/proxy.ts b/apps/worker/src/routes/proxy.ts index b141f6f..0abdff6 100644 --- a/apps/worker/src/routes/proxy.ts +++ b/apps/worker/src/routes/proxy.ts @@ -80,9 +80,9 @@ type ErrorDetails = { const FAILURE_COUNT_THRESHOLD = 2; -const STREAM_USAGE_DEFAULT_MODE: StreamUsageMode = "lite"; -const STREAM_USAGE_DEFAULT_MAX_BYTES = 256 * 1024; -const STREAM_USAGE_DEFAULT_MAX_PARSERS = 2; +const STREAM_USAGE_DEFAULT_MODE: StreamUsageMode = "full"; +const STREAM_USAGE_DEFAULT_MAX_BYTES = 0; +const STREAM_USAGE_DEFAULT_MAX_PARSERS = 0; let activeStreamUsageParsers = 0; diff --git a/apps/worker/src/services/settings.ts b/apps/worker/src/services/settings.ts index 4fb45e0..39a1083 100644 --- a/apps/worker/src/services/settings.ts +++ b/apps/worker/src/services/settings.ts @@ -6,9 +6,9 @@ const DEFAULT_LOG_RETENTION_DAYS = 30; const DEFAULT_SESSION_TTL_HOURS = 12; const DEFAULT_CHECKIN_SCHEDULE_TIME = "00:10"; const DEFAULT_MODEL_FAILURE_COOLDOWN_MINUTES = 10; -const DEFAULT_PROXY_STREAM_USAGE_MODE = "lite"; -const DEFAULT_PROXY_STREAM_USAGE_MAX_BYTES = 256 * 1024; -const DEFAULT_PROXY_STREAM_USAGE_MAX_PARSERS = 2; +const DEFAULT_PROXY_STREAM_USAGE_MODE = "full"; +const DEFAULT_PROXY_STREAM_USAGE_MAX_BYTES = 0; +const DEFAULT_PROXY_STREAM_USAGE_MAX_PARSERS = 0; const RETENTION_KEY = "log_retention_days"; const SESSION_TTL_KEY = "session_ttl_hours"; const ADMIN_PASSWORD_HASH_KEY = "admin_password_hash"; diff --git a/apps/worker/wrangler.toml b/apps/worker/wrangler.toml index b6bb772..a3d65f2 100644 --- a/apps/worker/wrangler.toml +++ b/apps/worker/wrangler.toml @@ -2,14 +2,6 @@ name = "api-worker" main = "src/index.ts" compatibility_date = "2026-02-14" -[vars] -CORS_ORIGIN = "http://localhost:5173" -PROXY_UPSTREAM_TIMEOUT_MS = "30000" -PROXY_STREAM_USAGE_MODE = "lite" -PROXY_STREAM_USAGE_MAX_BYTES = "262144" -PROXY_STREAM_USAGE_MAX_PARSERS = "2" -PROXY_USAGE_QUEUE_ENABLED = "true" - [[d1_databases]] binding = "DB" database_name = "api-worker"