fix: 三端联调测试 2 P0 + 6 P1 + 2 P2 修复
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

P0-1: SaaS relay 模型别名解析 — "glm-4-flash" → "glm-4-flash-250414" (resolve_model)
P0-2: config.rs interpolate_env_vars UTF-8 修复 (chars 迭代器替代 bytes as char)
      + DB 启动编码检查 + docker-compose UTF-8 编码参数

P1-3: UI 模型选择器覆盖 Agent 默认模型 (model_override 全链路: TS→Tauri→Rust kernel)
P1-6: 知识搜索管道修复 — seed_knowledge 创建 chunks + 默认分类 (seed/uploaded/distillation)
P1-7: 用量限额从当前 Plan 读取 (非 stale usage 表)
P1-8: relay 双维度配额检查 (relay_requests + input_tokens)

P2-9: SSE 路径 token 计数修复 — 流结束检测替代固定 500ms sleep + billing increment
This commit is contained in:
iven
2026-04-14 00:17:08 +08:00
parent 0903a0d652
commit 4c3136890b
13 changed files with 234 additions and 49 deletions

View File

@@ -303,6 +303,9 @@ export const useStreamStore = create<StreamState>()(
.map(m => ({ role: m.role, content: m.content }))
.slice(-20);
// UI 模型选择器应覆盖 Agent 默认模型
const currentModel = useConversationStore.getState().currentModel;
const result = await client.chatStream(
content,
{
@@ -534,6 +537,7 @@ export const useStreamStore = create<StreamState>()(
set({ isStreaming: false, activeRunId: null });
},
},
// eslint-disable-next-line @typescript-eslint/no-explicit-any
{
sessionKey: effectiveSessionKey,
agentId: effectiveAgentId,
@@ -542,7 +546,8 @@ export const useStreamStore = create<StreamState>()(
plan_mode: get().getChatModeConfig().plan_mode,
subagent_enabled: get().getChatModeConfig().subagent_enabled,
history,
}
model: currentModel || undefined,
} as Parameters<typeof client.chatStream>[2]
);
if (result?.runId) {