diff --git a/console.py b/console.py new file mode 100644 index 0000000..46ee668 --- /dev/null +++ b/console.py @@ -0,0 +1,75 @@ +"""Консольный интерфейс для управления агентом BroJS. + +Использование: + python console.py + +Команды: + tasks — показать все задания и статусы + solve — решить конкретное задание по ID + run — решить все todo-задания автоматически + exit — выйти +""" +import asyncio +import os + +os.environ["NO_PROXY"] = "openrouter.ai,platform.brojs.ru,git.brojs.ru," + os.environ.get("NO_PROXY", "") + +from dotenv import load_dotenv +load_dotenv() + +from solve_task import fetch_todo_tasks, solve, run_all + +HELP = """ +Команды: + tasks — список заданий и их статусы + solve — решить задание по полному ID + run — решить все todo-задания автоматически + help — показать это сообщение + exit — выйти +""" + + +async def main(): + print("=" * 50) + print(" BroJS Agent Console") + print("=" * 50) + print(HELP) + + while True: + try: + cmd = input(">> ").strip() + except (EOFError, KeyboardInterrupt): + print("\nВыход.") + break + + if not cmd: + continue + + if cmd in ("exit", "quit", "выход"): + print("Выход.") + break + + elif cmd in ("help", "?"): + print(HELP) + + elif cmd == "tasks": + tasks = await fetch_todo_tasks() + if not tasks: + print(" Нет активных заданий.") + + elif cmd.startswith("solve "): + task_id = cmd.split(" ", 1)[1].strip() + if not task_id: + print(" Укажи ID задания: solve ") + else: + await solve(task_id) + + elif cmd == "run": + await run_all() + + else: + print(f" Неизвестная команда: '{cmd}'. Введи 'help' для справки.") + + +if __name__ == "__main__": + asyncio.run(main())