docs/exec-plans/completed/2026-08-15-deepl-oneshot-migration.md
Status: completed Created: 2026-08-15 Updated: 2026-08-15 Owner: tisfeng Links: https://github.com/OwO-Network/DLX/issues/216、https://github.com/OwO-Network/DLX/pull/217
将 Easydict 的 DeepL Web 翻译从已失效的 www2.deepl.com/jsonrpc 迁移到
DeepL oneshot JSON 接口,同时保留 DeepL 官方 API Key 路径和现有回退策略。
LMT_handle_texts JSON-RPC 请求,用户报告该路径返回 503。oneshot-free.www.deepl.com/v1/translate,
使用 Authorization: None 和 translations 响应结构。source_lang,并显式规范目标语言代码。deepLTranslate 独立,仅复用响应解析。swiftformat --lint:3 个修改的 Swift 文件均无需格式化。swiftc -typecheck:DeepL Codable 请求/响应模型通过 Xcode beta Swift 编译器类型检查。plutil -lint Easydict.xcodeproj/project.pbxproj:通过。git diff --check:通过。translations[0].text 为“测试”。xcodebuild test -only-testing:EasydictTests/DeepLServiceTests:未完成;Xcode beta
先后受现有 ShortcutManager+Validator.swift 的 KeyCombo Optional 错误和缺失本地
CocoaPods Masonry headers 阻断,未发现 DeepL 文件独立编译诊断。usage_type、app_information
和 x-app-* 请求头;不复制 Go 客户端专用的 TLS 指纹逻辑。