This function starts an interactive session with Trae Agent. Args: console_type: Type of console to use for the interactive session
(
provider: str | None = None,
model: str | None = None,
model_base_url: str | None = None,
api_key: str | None = None,
config_file: str = "trae_config.yaml",
max_steps: int | None = None,
trajectory_file: str | None = None,
console_type: str | None = "simple",
agent_type: str | None = "trae_agent",
)
| 438 | default="trae_agent", |
| 439 | ) |
| 440 | def interactive( |
| 441 | provider: str | None = None, |
| 442 | model: str | None = None, |
| 443 | model_base_url: str | None = None, |
| 444 | api_key: str | None = None, |
| 445 | config_file: str = "trae_config.yaml", |
| 446 | max_steps: int | None = None, |
| 447 | trajectory_file: str | None = None, |
| 448 | console_type: str | None = "simple", |
| 449 | agent_type: str | None = "trae_agent", |
| 450 | ): |
| 451 | """ |
| 452 | This function starts an interactive session with Trae Agent. |
| 453 | Args: |
| 454 | console_type: Type of console to use for the interactive session |
| 455 | """ |
| 456 | # Apply backward compatibility for config file |
| 457 | config_file = resolve_config_file(config_file) |
| 458 | |
| 459 | config = Config.create( |
| 460 | config_file=config_file, |
| 461 | ).resolve_config_values( |
| 462 | provider=provider, |
| 463 | model=model, |
| 464 | model_base_url=model_base_url, |
| 465 | api_key=api_key, |
| 466 | max_steps=max_steps, |
| 467 | ) |
| 468 | |
| 469 | if config.trae_agent: |
| 470 | trae_agent_config = config.trae_agent |
| 471 | else: |
| 472 | console.print("[red]Error: trae_agent configuration is required in the config file.[/red]") |
| 473 | sys.exit(1) |
| 474 | |
| 475 | # Create CLI Console for interactive mode |
| 476 | console_mode = ConsoleMode.INTERACTIVE |
| 477 | if console_type: |
| 478 | selected_console_type = ( |
| 479 | ConsoleType.SIMPLE if console_type.lower() == "simple" else ConsoleType.RICH |
| 480 | ) |
| 481 | else: |
| 482 | selected_console_type = ConsoleFactory.get_recommended_console_type(console_mode) |
| 483 | |
| 484 | cli_console = ConsoleFactory.create_console( |
| 485 | console_type=selected_console_type, |
| 486 | lakeview_config=config.lakeview, |
| 487 | mode=console_mode, |
| 488 | ) |
| 489 | |
| 490 | if not agent_type: |
| 491 | console.print("[red]Error: agent_type is required.[/red]") |
| 492 | sys.exit(1) |
| 493 | |
| 494 | # Create agent |
| 495 | agent = Agent(agent_type, config, trajectory_file, cli_console) |
| 496 | |
| 497 | # Get the actual trajectory file path (in case it was auto-generated) |
nothing calls this directly
no test coverage detected