feat: v0.8.3 工作空间切换链路根治 · 思考强度扩档 — 启动TDZ连锁/继承丢数/回显滞后三修复 · xhigh+true档位单源 · 安全防线ready后注册 · 2217 用例全量回归 + 生产模式E2E
CI / 类型检查 + Lint + 单元测试 (push) Failing after 9m37s
CI / 全量测试 (Electron ABI) (push) Failing after 6m1s
CI / 产物编译验证 (push) Successful in 10m54s

This commit is contained in:
2026-09-08 21:14:59 +08:00
parent 4cd6e997b5
commit 9329df68af
18 changed files with 250 additions and 114 deletions
+8 -3
View File
@@ -14,6 +14,8 @@ import { isSensitiveConfigKey } from '../utils/secure-config';
import { maskSensitiveValue } from '../utils/mask';
// v0.8.1 P2-1: 工具自定义策略解析
import { parseToolPolicy } from '../harness/sandbox/permissions';
// v0.8.3: 思考强度档位单源(新增 xhigh / true 档)
import type { MetonaThinkingEffort } from '../harness/types';
// v0.8.0 P1-5: 配置 URL 深校验(域名真实 DNS 解析,拦"解析到云元数据 IP"绕过)
import {
assertSafeConfigTargetDeep,
@@ -21,6 +23,10 @@ import {
} from '../harness/tools/built-in/ssrf-guard';
// v0.8.1 P0-4: 主进程文案双语
import { setMainLocale, mt } from '../utils/main-locale';
// v0.8.3: 工作空间路径持久化独立成模块 —— 此前动态 import('../main') 与入口模块
// 形成循环依赖,入口求值一旦中断即抛 TDZ "Cannot access 'main' before
// initialization",工作空间切换保存随之失败
import { writeWorkspacePathToFile } from '../utils/workspace-path';
/**
* v0.7.4 P2-9-C: URL 类配置键 —— 写入时须过 assertSafeConfigTarget 高危目标校验。
@@ -149,10 +155,10 @@ export function applyEngineConfigKey(ctx: IPCContext, key: string, value: unknow
break;
case 'agent.thinkingEffort':
agentEngineManager.updateConfigAll({
thinkingEffort: value as 'low' | 'medium' | 'high' | 'max',
thinkingEffort: value as MetonaThinkingEffort,
});
orchestrator.updateDefaultConfig({
thinkingEffort: value as 'low' | 'medium' | 'high' | 'max',
thinkingEffort: value as MetonaThinkingEffort,
});
break;
// v0.7.3 P3-1: enableReflection 接线(此前为死配置)— 引擎 REFLECTING 状态开关
@@ -293,7 +299,6 @@ export async function applyConfigSideEffects(
);
if (workspaceEntry) {
try {
const { writeWorkspacePathToFile } = await import('../main');
writeWorkspacePathToFile(workspaceEntry.value as string);
log.info(`[CONFIG] Workspace path saved (restart required): ${workspaceEntry.value}`);
} catch (err) {