✨
Agent Constructor — Brand-new visual workflow editor with PyQt6 QGraphicsScene canvas, node drag-drop, bezier edge rendering, zoom/pan, and minimap.
New
✨
WorkflowRuntimeEngine — Full async execution engine: retries with exponential backoff, auto-skill loading, output validation, self-patching, and LLM router.
Engine
✨
ProjectExecutionManager — Thread pool for running N projects simultaneously. Per-project start/stop, cooldown, stop conditions, and dashboard status widget.
New
✨
Browser Automation Module — 7-node browser suite: launch profiles, click, type, screenshot, click-by-template-image, close, and full AI DOM agent.
Browser
✨
SkillRegistry — Centralized skill store: 10 built-in skills, user JSON skills, LLM-powered skill recommendation, prompt injection, project-scoped skills.
New
✨
WorkflowDebugger — Step-by-step executor: pause/step/resume, breakpoints on nodes, path history, variable inspection, and logger callbacks.
New
✨
HistoryManager + Command pattern — Full undo/redo with 50-item stack, legacy tuple format support, and recursion guard via _is_undoing flag.
UI
✨
WorkflowView — Ctrl+Scroll zoom, Shift+Scroll horizontal pan, Middle-click drag pan, edge-zone auto-scroll during node drag.
UI
✨
AgentWorkflow serialization — Complete JSON save/load for workflows including all node properties, edges with priority/conditions, and execution metadata.
Core
✨
Planner preprocessing mode — Browser Agent can auto-split AI plan output into sequential subtasks with configurable separators (numbered, bullet, header, regex).
Browser
✨
Verification system — Three modes: self-check, another model, custom agent. Configurable strictness (stop-on-fail or warn-and-continue).
Engine
🔧
AgentNode extended fields — Added reasoning_model_id, fast_model_id, auto_improve, auto_test, backoff_strategy, conditional_branches, and more.
API
🔧
EdgeCondition enum — Four edge conditions: ALWAYS, ON_SUCCESS, ON_FAILURE, ON_CONDITION. Edges carry priority for deterministic multi-path sorting.
Core
🔧
Cycle detection — add_edge() validates node existence, duplicate conditions, and self-loops. Intentional cycles (ScriptRunner↔Patcher) are explicitly allowed.
Logic
🔧
Autosave — Canvas state auto-saved to temp file on changes; recovered on next launch. Prevents work loss on crash or accidental close.
UX