fix: status command now respects workspace from config

The status command was ignoring the workspace setting from the
configuration file and always displaying the default path
(~/.nanobot/workspace). This fix loads the config first and uses
config.workspace_path when available, falling back to the default
only when no config exists.

This brings the status command in line with other commands that
correctly use config.workspace_path.
This commit is contained in:
Cheng Wang 2026-02-03 00:45:52 +08:00
parent 30d6e4b4b6
commit cd20252072

View File

@ -609,17 +609,23 @@ def status():
"""Show nanobot status."""
from nanobot.config.loader import load_config, get_config_path
from nanobot.utils.helpers import get_workspace_path
config_path = get_config_path()
workspace = get_workspace_path()
console.print(f"{__logo__} nanobot Status\n")
console.print(f"Config: {config_path} {'[green]✓[/green]' if config_path.exists() else '[red]✗[/red]'}")
console.print(f"Workspace: {workspace} {'[green]✓[/green]' if workspace.exists() else '[red]✗[/red]'}")
# Load config first to get the correct workspace path
if config_path.exists():
config = load_config()
workspace = config.workspace_path
else:
config = None
workspace = get_workspace_path()
console.print(f"{__logo__} nanobot Status\n")
console.print(f"Config: {config_path} {'[green]✓[/green]' if config_path.exists() else '[red]✗[/red]'}")
console.print(f"Workspace: {workspace} {'[green]✓[/green]' if workspace.exists() else '[red]✗[/red]'}")
if config is not None:
console.print(f"Model: {config.agents.defaults.model}")
# Check API keys