From fcf9d110ddc4583a34705c2d0c153b8c786daea8 Mon Sep 17 00:00:00 2001 From: Alfredo Arenas Date: Sun, 10 May 2026 15:15:24 -0600 Subject: [PATCH] feat(schema): add bot_name and bot_icon to AgentDefaults (#3650) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two new fields with safe defaults that preserve current branding: - bot_name: str = "nanobot" - bot_icon: str = "🐈" Empty string for bot_icon is allowed and lets users opt out of the leading icon. camelCase keys (botName, botIcon) bind via the existing to_camel alias generator. --- nanobot/config/schema.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nanobot/config/schema.py b/nanobot/config/schema.py index a3c003b35..a99cdc570 100644 --- a/nanobot/config/schema.py +++ b/nanobot/config/schema.py @@ -90,6 +90,8 @@ class AgentDefaults(Base): ) # Max characters for tool hint display (e.g. "$ cd …/project && npm test") reasoning_effort: str | None = None # low / medium / high / adaptive - enables LLM thinking mode timezone: str = "UTC" # IANA timezone, e.g. "Asia/Shanghai", "America/New_York" + bot_name: str = "nanobot" # Display name shown in CLI prompts (e.g. "{name} is thinking...") + bot_icon: str = "🐈" # Short icon (emoji or text) shown next to the bot name in CLI; "" to omit unified_session: bool = False # Share one session across all channels (single-user multi-device) disabled_skills: list[str] = Field(default_factory=list) # Skill names to exclude from loading (e.g. ["summarize", "skill-creator"]) session_ttl_minutes: int = Field(