import sys import argparse from agent import Agent def setup_argparse(): parser = argparse.ArgumentParser(description='Qwen3 Agent CLI') parser.add_argument('--model', default='qwen3:32b', help='Model identifier (default: qwen3:32b)') parser.add_argument('--server', default='http://localhost:11434/v1', help='Model server URL (default: http://localhost:11434/v1)') parser.add_argument('--api-key', default='EMPTY', help='API key for the model server (default: EMPTY)') subparsers = parser.add_subparsers(dest='command', help='Available commands') # Prompt command prompt_parser = subparsers.add_parser('prompt', help='Run agent with a prompt') prompt_parser.add_argument('text', nargs='?', default='-', help='Prompt text or "-" for stdin (default: -)') return parser def read_prompt(text: str) -> str: """Read prompt from argument or stdin if text is '-'""" if text == '-': return sys.stdin.read().strip() return text def main(): parser = setup_argparse() args = parser.parse_args() if args.command == 'prompt': prompt_text = read_prompt(args.text) agent = Agent( model=args.model, server=args.server, api_key=args.api_key ) agent.run(prompt_text) else: parser.print_help() if __name__ == '__main__': main()