feat: add poseidon/sisyphus/charizard skins + banner logo support
Adds 3 new built-in skins (poseidon, sisyphus, charizard) with full customization — colors, spinner faces/verbs/wings, branding text, and custom ASCII art banner logos. Total: 7 built-in skins. Also adds banner_logo and banner_hero fields to SkinConfig, allowing any skin to replace the HERMES-AGENT ASCII art logo and the caduceus hero art with custom artwork. The CLI now renders the skin's logo when available, falling back to the default Hermes logo. Skins with custom logos: ares, poseidon, sisyphus, charizard Skins using default logo: default, mono, slate
This commit is contained in:
parent
f6bc620d39
commit
4945240fc3
2 changed files with 169 additions and 3 deletions
9
cli.py
9
cli.py
|
|
@ -854,11 +854,13 @@ def build_welcome_banner(console: Console, model: str, cwd: str, tools: List[dic
|
|||
_border_c = _bskin.get_color("banner_border", "#CD7F32")
|
||||
_agent_name = _bskin.get_branding("agent_name", "Hermes Agent")
|
||||
except Exception:
|
||||
_bskin = None
|
||||
_accent, _dim, _text = "#FFBF00", "#B8860B", "#FFF8DC"
|
||||
_session_c, _title_c, _border_c = "#8B8682", "#FFD700", "#CD7F32"
|
||||
_agent_name = "Hermes Agent"
|
||||
|
||||
left_lines = ["", HERMES_CADUCEUS, ""]
|
||||
_hero = _bskin.banner_hero if hasattr(_bskin, 'banner_hero') and _bskin.banner_hero else HERMES_CADUCEUS
|
||||
left_lines = ["", _hero, ""]
|
||||
|
||||
# Shorten model name for display
|
||||
model_short = model.split("/")[-1] if "/" in model else model
|
||||
|
|
@ -982,11 +984,12 @@ def build_welcome_banner(console: Console, model: str, cwd: str, tools: List[dic
|
|||
padding=(0, 2),
|
||||
)
|
||||
|
||||
# Print the big HERMES-AGENT logo — skip if terminal is too narrow
|
||||
# Print the big logo — use skin's custom logo if available
|
||||
console.print()
|
||||
term_width = shutil.get_terminal_size().columns
|
||||
if term_width >= 95:
|
||||
console.print(HERMES_AGENT_LOGO)
|
||||
_logo = _bskin.banner_logo if hasattr(_bskin, 'banner_logo') and _bskin.banner_logo else HERMES_AGENT_LOGO
|
||||
console.print(_logo)
|
||||
console.print()
|
||||
|
||||
# Print the panel with caduceus and info
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue