refactor: allow model/context_window_tokens override in from_config()

- Pop model and context_window_tokens from extra kwargs before
  forwarding to __init__, allowing callers like _run_gateway to
  pass snapshot-derived values instead of config defaults
- _run_gateway now explicitly passes model/context_window_tokens
  from provider_snapshot to preserve pre-refactor behavior
This commit is contained in:
chengyongru 2026-05-09 14:38:02 +08:00 committed by Xubin Ren
parent 733b34d685
commit ff6b014a07
2 changed files with 6 additions and 2 deletions

View File

@ -360,13 +360,15 @@ class AgentLoop:
bus = MessageBus()
defaults = config.agents.defaults
provider = extra.pop("provider", None) or make_provider(config)
model = extra.pop("model", None) or defaults.model
context_window_tokens = extra.pop("context_window_tokens", None) or defaults.context_window_tokens
return cls(
bus=bus,
provider=provider,
workspace=config.workspace_path,
model=defaults.model,
model=model,
max_iterations=defaults.max_tool_iterations,
context_window_tokens=defaults.context_window_tokens,
context_window_tokens=context_window_tokens,
context_block_limit=defaults.context_block_limit,
max_tool_result_chars=defaults.max_tool_result_chars,
provider_retry_mode=defaults.provider_retry_mode,

View File

@ -655,6 +655,8 @@ def _run_gateway(
agent = AgentLoop.from_config(
config, bus,
provider=provider_snapshot.provider,
model=provider_snapshot.model,
context_window_tokens=provider_snapshot.context_window_tokens,
cron_service=cron,
session_manager=session_manager,
image_generation_provider_configs={