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:
1 parent
4ae319feca
commit
865d52267d
11 files changed
+177
-1
No files matched your search
@@ -566,6 +566,7 @@ func (s *Server) agentsForTask(t *Task) *taskAgentBundle {
|
||||
wk.SetCompactionWindowResolver(workerRuntime.CompactionWindow)
|
||||
wk.SetNonStreaming(workerRuntime.nonStreaming) // 按任务当前激活 profile 的流式开关(每轮读)
|
||||
wk.SetMaxTokens(workerRuntime.maxTokens) // 同上,输出上限也跟随当前激活 profile
|
||||
wk.SetNoaEnabled(s.m.NoaCompactionEnabled) // 实验功能:noa 上下文压缩(平台级开关,每 run 读)
|
||||
wk.SetRunTimeout(time.Duration(s.agentRunSeconds("worker")) * time.Second)
|
||||
wk.SetProxy(s.m.ProxyAddr(), s.m.ProxyCACert())
|
||||
wk.SetWebSearch(s.webSearchFor("worker"))
|
||||
@@ -575,6 +576,7 @@ func (s *Server) agentsForTask(t *Task) *taskAgentBundle {
|
||||
pl.SetCompactionWindowResolver(plannerRuntime.CompactionWindow)
|
||||
pl.SetNonStreaming(plannerRuntime.nonStreaming)
|
||||
pl.SetMaxTokens(plannerRuntime.maxTokens)
|
||||
pl.SetNoaEnabled(s.m.NoaCompactionEnabled) // 实验功能:noa 上下文压缩(平台级开关,每 run 读)
|
||||
pl.SetKillWork(s.engine.KillWork)
|
||||
pl.SetSteerWork(s.engine.SteerWork)
|
||||
pl.SetProxy(s.m.ProxyAddr(), s.m.ProxyCACert())
|
||||
@@ -585,6 +587,7 @@ func (s *Server) agentsForTask(t *Task) *taskAgentBundle {
|
||||
main.SetCompactionWindowResolver(mainRuntime.CompactionWindow)
|
||||
main.SetNonStreaming(mainRuntime.nonStreaming)
|
||||
main.SetMaxTokens(mainRuntime.maxTokens)
|
||||
main.SetNoaEnabled(s.m.NoaCompactionEnabled) // 实验功能:noa 上下文压缩(平台级开关,每 run 读)
|
||||
main.SetProxy(s.m.ProxyAddr(), s.m.ProxyCACert())
|
||||
main.SetWebSearch(s.webSearchFor("mainagent"))
|
||||
main.SetSteerWork(s.engine.SteerWork) // steer_work:人对运行中 work 实时纠偏
|
||||
|
||||
Reference in new issue
Block a user