feat(settings): 增加实验功能开关,可开启 noa 上下文压缩

系统设置新增「实验功能」区块,内含 noa 模型驱动上下文压缩开关(默认关)。
开启后平台接入的四类 agent(planner / worker / 主 agent / 对话)由 noa 接管
上下文压缩,取代内置 compaction;关闭即恢复内置压缩。

- agent: 新增 enableNoa 共享接入器(noaadapter.Enable 唯一入口,all-or-nothing),
  四类 agent 各加 noaEnabledFn 解析器 + SetNoaEnabled,每 run 读一次,切换只影响
  之后启动的 run,无需重建 agent。归档落在各 agent 本 run 工作目录下(任务级持久),
  session id 与 transcript 同规则。启用失败经 onWarn 上报并回退内置压缩,不中断任务。
- server: settings key noa_compaction + Manager 读写;8 处 agent 装配点注入平台级
  解析器(server 5 + task_llm 3);GET/PUT /api/settings 增加字段。
- web: 系统设置页新增实验功能卡片与开关(乐观更新、失败回滚),类型与 mock 补字段。

官方默认行为不变:开关默认关闭时 noaadapter.Enable 不被调用,内置 compaction
原样工作。
This commit is contained in:
Autumn-27 committed 2026-09-15 09:20:35 -04:00
1 parent 4ae319feca
commit 865d52267d
11 files changed
+177 -1

No files matched your search

+1
View File
@@ -3326,6 +3326,7 @@ export const settings: Settings = {
workers: 3,
llm_pool_enabled: true,
llm_pool_bind_fallback: false,
noa_compaction: false,
};
// ── LLM 轮询(故障转移)──────────────────────────────────────────────────────
+4
View File
@@ -913,6 +913,10 @@ export interface Settings {
// 操作约束注入范围(默认都开):把任务的 allow/deny 约束拼进对应 agent 的系统提示。
constraints_inject_planner?: boolean;
constraints_inject_worker?: boolean;
// 实验功能:noa 模型驱动上下文压缩(默认关)。开启后平台接入的四类 agent(planner/
// worker/主 agent/对话)由 noa 接管上下文压缩,取代内置 compaction;每 run 读一次,对
// 之后启动的 run 生效。
noa_compaction?: boolean;
}
// ---- LLM config ----