refactor(common-config): extract snippet from editor content instead of active provider

- Change extraction source from current active provider to editor's live content
- Add i18n support for JSON parse error messages via invalid_json_format_error()
- Simplify API by removing unused providerId parameter
- Update button labels and error messages in zh/en/ja locales
This commit is contained in:
Jason
2026-01-04 09:43:46 +08:00
parent 058f86aff3
commit 63bb673bf2
12 changed files with 105 additions and 42 deletions
@@ -246,13 +246,17 @@ export function useCodexCommonConfig({
setUseCommonConfig(hasCommon);
}, [codexConfig, commonConfigSnippet, isLoading]);
// 从当前供应商提取通用配置片段
// 从编辑器当前内容提取通用配置片段
const handleExtract = useCallback(async () => {
setIsExtracting(true);
setCommonConfigError("");
try {
const extracted = await configApi.extractCommonConfigSnippet("codex");
const extracted = await configApi.extractCommonConfigSnippet("codex", {
settingsConfig: JSON.stringify({
config: codexConfig ?? "",
}),
});
if (!extracted || !extracted.trim()) {
setCommonConfigError(t("codexConfig.extractNoCommonConfig"));
@@ -270,7 +274,7 @@ export function useCodexCommonConfig({
} finally {
setIsExtracting(false);
}
}, []);
}, [codexConfig, t]);
return {
useCommonConfig,