feat(dream): add enabled toggle to skip Dream job registration (#3885)

This commit is contained in:
04cb 2026-05-29 22:07:24 +08:00 committed by Xubin Ren
parent 5fe57f8afa
commit 13ab092cea
2 changed files with 11 additions and 7 deletions

View File

@ -1174,13 +1174,16 @@ def _run_gateway(
agent.dream.max_iterations = dream_cfg.max_iterations agent.dream.max_iterations = dream_cfg.max_iterations
agent.dream.annotate_line_ages = dream_cfg.annotate_line_ages agent.dream.annotate_line_ages = dream_cfg.annotate_line_ages
from nanobot.cron.types import CronJob, CronPayload, CronSchedule from nanobot.cron.types import CronJob, CronPayload, CronSchedule
cron.register_system_job(CronJob( if dream_cfg.enabled:
id="dream", cron.register_system_job(CronJob(
name="dream", id="dream",
schedule=dream_cfg.build_schedule(config.agents.defaults.timezone), name="dream",
payload=CronPayload(kind="system_event"), schedule=dream_cfg.build_schedule(config.agents.defaults.timezone),
)) payload=CronPayload(kind="system_event"),
console.print(f"[green]✓[/green] Dream: {dream_cfg.describe_schedule()}") ))
console.print(f"[green]✓[/green] Dream: {dream_cfg.describe_schedule()}")
else:
console.print("[yellow]○[/yellow] Dream: disabled")
# Register Heartbeat system job (idempotent on restart) # Register Heartbeat system job (idempotent on restart)
if hb_cfg.enabled: if hb_cfg.enabled:

View File

@ -48,6 +48,7 @@ class DreamConfig(Base):
_HOUR_MS = 3_600_000 _HOUR_MS = 3_600_000
enabled: bool = True # Register the periodic Dream consolidation job on startup
interval_h: int = Field(default=2, ge=1) # Every 2 hours by default interval_h: int = Field(default=2, ge=1) # Every 2 hours by default
cron: str | None = Field(default=None, exclude=True) # Legacy compatibility override cron: str | None = Field(default=None, exclude=True) # Legacy compatibility override
model_override: str | None = Field( model_override: str | None = Field(