feat: add --quiet/-Q flag for programmatic single-query mode
Adds -Q/--quiet to `hermes chat` for use by external orchestrators (Paperclip, scripts, CI). When combined with -q, suppresses: - Banner and ASCII art - Spinner animations - Tool preview lines (┊ prefix) Only outputs: - The agent's final response text - A parseable 'session_id: <id>' line for session resumption Usage: hermes chat -q 'Do something' -Q Used by: Paperclip adapter (@nousresearch/paperclip-adapter-hermes)
This commit is contained in:
parent
d502952bac
commit
23270d41b9
2 changed files with 24 additions and 4 deletions
22
cli.py
22
cli.py
|
|
@ -4356,6 +4356,7 @@ def main(
|
|||
base_url: str = None,
|
||||
max_turns: int = None,
|
||||
verbose: bool = False,
|
||||
quiet: bool = False,
|
||||
compact: bool = False,
|
||||
list_tools: bool = False,
|
||||
list_toolsets: bool = False,
|
||||
|
|
@ -4498,10 +4499,23 @@ def main(
|
|||
|
||||
# Handle single query mode
|
||||
if query:
|
||||
cli.show_banner()
|
||||
cli.console.print(f"[bold blue]Query:[/] {query}")
|
||||
cli.chat(query)
|
||||
cli._print_exit_summary()
|
||||
if quiet:
|
||||
# Quiet mode: suppress banner, spinner, tool previews.
|
||||
# Only print the final response and parseable session info.
|
||||
cli.tool_progress_mode = "off"
|
||||
cli.agent = cli._init_agent()
|
||||
if cli.agent:
|
||||
cli.agent.quiet_mode = True
|
||||
result = cli.agent.run_conversation(query)
|
||||
response = result.get("final_response", "") if isinstance(result, dict) else str(result)
|
||||
if response:
|
||||
print(response)
|
||||
print(f"\nsession_id: {cli.session_id}")
|
||||
else:
|
||||
cli.show_banner()
|
||||
cli.console.print(f"[bold blue]Query:[/] {query}")
|
||||
cli.chat(query)
|
||||
cli._print_exit_summary()
|
||||
return
|
||||
|
||||
# Run interactive mode
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue