Skip to content

修复写回模式回退逻辑并从 CONTENT_FILTER 起截断流输出#176

Merged
CJackHwang merged 1 commit intodevfrom
codex/fix-fallback-to-file-config-on-json-parse-failure-u32uz8
Mar 30, 2026
Merged

修复写回模式回退逻辑并从 CONTENT_FILTER 起截断流输出#176
CJackHwang merged 1 commit intodevfrom
codex/fix-fallback-to-file-config-on-json-parse-failure-u32uz8

Conversation

@CJackHwang
Copy link
Copy Markdown
Owner

Motivation

  • 修复在启用写回(env writeback)且环境变量 JSON 存在但解析失败时不应直接早退导致丢失已落盘配置的问题。
  • 简化并统一文件加载逻辑以便可靠回退到持久化配置并保留原有 test_status 清理/回写行为。
  • 保证流式 SSE 输出一旦出现 CONTENT_FILTER(大小写无关)时,从该关键词开始到末尾全部截断以匹配线上策略并避免泄露敏感后缀。

Description

  • internal/config/store.go 中增加 loadConfigFromFile(path string) 并在 loadConfig() 中于解析 env JSON 失败且非 Vercel 且写回开启时尝试回退到持久化文件,从而返回 file-backed 模式而不是早退。
  • 将读取/反序列化文件与 test_status 清理与可能的回写集中到 loadConfigFromFile 中,并修复路径写入点为传入的 path
  • internal/sse/content_filter_leak.go 中将 stripLeakedContentFilterSuffix 改为大小写不敏感地查找 CONTENT_FILTER 并从该位置开始截断余下文本(删除了针对特定签名的判定)。
  • 更新并新增单元测试(internal/config/config_test.gointernal/sse/line_test.go)以反映回退行为和新的截断语义。

Testing

  • 运行了 go test ./internal/sse ./internal/config,所有测试均通过(测试套件通过并返回 ok)。
  • 覆盖的关键用例包括 TestEnvBackedStoreWritebackFallsBackToPersistedFileOnInvalidEnvJSON 验证写回+错误 env JSON 时回退到文件,以及多个 ParseDeepSeekContentLine 相关测试验证对 CONTENT_FILTER 的截断行为。

Codex Task

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 30, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ds2api Ready Ready Preview, Comment Mar 30, 2026 5:27pm

@CJackHwang CJackHwang merged commit f55aa75 into dev Mar 30, 2026
3 checks passed
@CJackHwang CJackHwang deleted the codex/fix-fallback-to-file-config-on-json-parse-failure-u32uz8 branch March 30, 2026 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant