feat: aggiungi TerminalUI con scrollback usando pyte

- Nuovo file terminal_ui.py con emulatore terminale
- Flag --terminal per attivare UI con scrollback
- 10000 righe di scrollback buffer
- Supporta resize automatico del terminale
- Ctrl+C per uscire
This commit is contained in:
opencode committed 2026-03-24 17:23:56 +01:00
1 parent 6cb514ec13
commit c76beb764c
2 files changed
+311 -1

No files matched your search

+25 -1
View File
@@ -105,8 +105,31 @@ def cmd_chat(args):
except Exception as e:
return f"Errore: {str(e)}"
# Default: CLI semplice, EnhancedCLI solo con flag --enhanced
# Default: CLI semplice, EnhancedCLI/TerminalUI con flag
use_enhanced = getattr(args, 'enhanced', False)
use_terminal = getattr(args, 'terminal', False)
if use_terminal:
try:
import shutil
rows = min(40, shutil.get_terminal_size().lines)
columns = min(120, shutil.get_terminal_size().columns)
from terminal_ui import create_terminal_ui
term = create_terminal_ui(
rows=rows,
columns=columns,
scrollback=10000,
prompt="❯ "
)
term.start(agent_callback)
return
except ImportError:
print("⚠️ pyte non installato. Esegui: pip install pyte")
print("📝 Uso CLI semplice...")
except Exception as e:
print(f"⚠️ TerminalUI errore: {e}")
print("📝 Uso CLI semplice...")
if use_enhanced:
import errno
@@ -611,6 +634,7 @@ Esempi:
# === CHAT (default) ===
chat_parser = subparsers.add_parser("chat", help="Avvia l'agent in modalità chat")
chat_parser.add_argument("--enhanced", "-e", action="store_true", help="Usa EnhancedCLI (sperimentale)")
chat_parser.add_argument("--terminal", "-t", action="store_true", help="Usa TerminalUI con scrollback (pyte)")
chat_parser.set_defaults(func=cmd_chat)
# === SERVER ===