From 3313f37252685e1ca140475d10473c9b05404073 Mon Sep 17 00:00:00 2001 From: JOJO <1498581755@qq.com> Date: Fri, 4 Sep 2026 03:02:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(settings):=20=E9=BB=98=E8=AE=A4=E6=9D=83?= =?UTF-8?q?=E9=99=90=E6=A8=A1=E5=BC=8F=E6=94=B9=E4=B8=BA=E6=89=B9=E5=87=86?= =?UTF-8?q?=E3=80=81=E6=B6=88=E6=81=AF=E6=B5=81=E9=BB=98=E8=AE=A4=E6=9E=81?= =?UTF-8?q?=E7=AE=80=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - personalization_manager:default_permission_mode 默认与 sanitize 兜底 → approval;block_display_mode → minimal - stores/personalization.ts:同步默认值、缓存加载兜底与一次性迁移条件 - 快速模式描述「低思考」→「无思考」(中英 appCore 同步) Co-authored-by: Astrion powered by Kimi-K3 --- modules/personalization_manager.py | 8 ++++---- static/src/locales/en-US/appCore.ts | 2 +- static/src/locales/zh-CN/appCore.ts | 2 +- static/src/stores/personalization.ts | 18 +++++++++--------- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/modules/personalization_manager.py b/modules/personalization_manager.py index d82d4655..20bf8641 100644 --- a/modules/personalization_manager.py +++ b/modules/personalization_manager.py @@ -79,7 +79,7 @@ DEFAULT_PERSONALIZATION_CONFIG: Dict[str, Any] = { "skills_catalog_snapshot": None, "default_run_mode": "thinking", "default_reasoning_effort": None, # 默认推理强度:None=默认(不传参) - "default_permission_mode": "unrestricted", + "default_permission_mode": "approval", "default_work_mode": "plan", # 默认运行模式:plan / ask / execute "auto_generate_title": True, "title_model": "", # 对话标题生成使用的子智能体模型条目名(空=跟随主对话默认模型) @@ -107,7 +107,7 @@ DEFAULT_PERSONALIZATION_CONFIG: Dict[str, Any] = { "hide_tool_approval_panel": True, # 自动审核模式下不自动打开工具审核面板(默认开启) "enhanced_tool_display": True, # 增强工具显示 "compact_message_display": "full", # 简略消息显示:full-完整原始内容 / brief-一行概要 - "block_display_mode": "stacked", # 堆叠块显示模式:traditional-传统列表 / stacked-堆叠动画 / minimal-极简模式 + "block_display_mode": "minimal", # 堆叠块显示模式:traditional-传统列表 / stacked-堆叠动画 / minimal-极简模式 "show_status_avatar": True, # 是否显示助手状态形象 "stacked_hide_borders": False, # 堆叠块隐藏边线 "minimal_expand_height_limited": True, # 极简模式展开摘要行时限制最大高度 @@ -366,7 +366,7 @@ def sanitize_personalization_payload( if isinstance(permission_mode, str) and permission_mode in ALLOWED_PERMISSION_MODES: base["default_permission_mode"] = permission_mode elif base.get("default_permission_mode") not in ALLOWED_PERMISSION_MODES: - base["default_permission_mode"] = "unrestricted" + base["default_permission_mode"] = "approval" work_mode = data.get("default_work_mode", base.get("default_work_mode")) if isinstance(work_mode, str) and work_mode.strip().lower() in ALLOWED_WORK_MODES: @@ -518,7 +518,7 @@ def sanitize_personalization_payload( if isinstance(block_display_mode, str) and block_display_mode.strip().lower() in ALLOWED_BLOCK_DISPLAY_MODES: base["block_display_mode"] = block_display_mode.strip().lower() else: - base["block_display_mode"] = "stacked" + base["block_display_mode"] = "minimal" # 堆叠块隐藏边线 if "stacked_hide_borders" in data: diff --git a/static/src/locales/en-US/appCore.ts b/static/src/locales/en-US/appCore.ts index bfa395d8..f079b40b 100644 --- a/static/src/locales/en-US/appCore.ts +++ b/static/src/locales/en-US/appCore.ts @@ -27,7 +27,7 @@ export default { // Header run mode / model (computed.ts) fastMode: 'Fast mode', - fastModeDesc: 'Low reasoning, faster responses', + fastModeDesc: 'No reasoning, faster responses', thinkingModeDesc: 'Continuous reasoning for complex tasks', modelNotSelected: 'No model selected', // Plural forms in English; callers should pass both {n} and {count}. diff --git a/static/src/locales/zh-CN/appCore.ts b/static/src/locales/zh-CN/appCore.ts index 0bf61c21..e616ac7a 100644 --- a/static/src/locales/zh-CN/appCore.ts +++ b/static/src/locales/zh-CN/appCore.ts @@ -31,7 +31,7 @@ export default { // ── 头部运行模式 / 模型(computed.ts) ── fastMode: '快速模式', - fastModeDesc: '低思考,响应更快', + fastModeDesc: '无思考,响应更快', thinkingModeDesc: '持续推理,适合复杂任务', modelNotSelected: '未选择模型', // 复数:英文用管道(调用方需同时传 {n} 与 {count});中文不区分 diff --git a/static/src/stores/personalization.ts b/static/src/stores/personalization.ts index cd0bdbac..5009e3a5 100644 --- a/static/src/stores/personalization.ts +++ b/static/src/stores/personalization.ts @@ -215,12 +215,12 @@ const loadCachedStackedHideBorders = (): boolean => { const loadCachedBlockDisplayMode = (): BlockDisplayMode => { if (typeof window === 'undefined' || !window.localStorage) { - return 'stacked'; + return 'minimal'; } try { const raw = window.localStorage.getItem(EXPERIMENT_STORAGE_KEY); if (!raw) { - return 'stacked'; + return 'minimal'; } const parsed = JSON.parse(raw); if ( @@ -232,7 +232,7 @@ const loadCachedBlockDisplayMode = (): BlockDisplayMode => { } catch (error) { console.warn('读取堆叠块显示模式缓存失败:', error); } - return 'stacked'; + return 'minimal'; }; const persistStackedHideBorders = (value: boolean) => { @@ -337,7 +337,7 @@ const defaultForm = (): PersonalForm => ({ disabled_tool_categories: [], default_run_mode: null, default_reasoning_effort: null, - default_permission_mode: 'unrestricted', + default_permission_mode: 'approval', default_work_mode: 'plan', versioning_enabled_by_default: true, versioning_backup_mode: 'shallow', @@ -370,7 +370,7 @@ const defaultForm = (): PersonalForm => ({ }); const defaultExperimentState = (): ExperimentState => ({ - blockDisplayMode: 'stacked', + blockDisplayMode: 'minimal', compactMessageDisplay: 'full' }); @@ -543,7 +543,7 @@ export const usePersonalizationStore = defineStore('personalization', { data.block_display_mode === 'stacked' || data.block_display_mode === 'minimal' ? data.block_display_mode - : 'stacked', + : 'minimal', show_status_avatar: data.show_status_avatar !== false, show_git_status_bar: data.show_git_status_bar !== false, auto_open_terminal_panel: data.auto_open_terminal_panel !== false, @@ -593,7 +593,7 @@ export const usePersonalizationStore = defineStore('personalization', { data.default_permission_mode === 'auto_approval' || data.default_permission_mode === 'unrestricted' ? data.default_permission_mode - : 'unrestricted', + : 'approval', default_work_mode: data.default_work_mode === 'plan' || data.default_work_mode === 'ask' || @@ -678,9 +678,9 @@ export const usePersonalizationStore = defineStore('personalization', { this.form = { ...this.form, compact_message_display: 'brief' }; void this.persistCompactMessageDisplay('brief'); } - // 一次性迁移:堆叠块显示模式旧版仅在 localStorage 保存,后端默认 stacked 时回写本地缓存值。 + // 一次性迁移:堆叠块显示模式旧版仅在 localStorage 保存,后端默认 minimal 时回写本地缓存值。 const cachedBlockMode = this.experiments.blockDisplayMode; - if (this.form.block_display_mode === 'stacked' && cachedBlockMode !== 'stacked') { + if (this.form.block_display_mode === 'minimal' && cachedBlockMode !== 'minimal') { this.form = { ...this.form, block_display_mode: cachedBlockMode }; } this.experiments = {