feat: Enhance AI agent commands and help interface for improved user experience
This commit is contained in:
@@ -60,18 +60,47 @@ void ModernCLI::SetupCommands() {
|
||||
|
||||
commands_["agent"] = {
|
||||
.name = "agent",
|
||||
.description = "Interact with the AI agent",
|
||||
.usage = "z3ed agent <run|plan|diff|test|test-conversation|gui|list|learn|commit|revert|describe> [options]\n"
|
||||
" test run: --prompt \"<description>\" [--host <host>] [--port <port>] [--timeout <sec>]\n"
|
||||
" test status: status --test-id <id> [--follow] [--host <host>] [--port <port>]\n"
|
||||
" test list: list [--category <name>] [--status <state>] [--limit <n>] [--host <host>] [--port <port>]\n"
|
||||
" test results: results --test-id <id> [--include-logs] [--format yaml|json] [--host <host>] [--port <port>]\n"
|
||||
" test suite: suite <run|validate|create> [options]\n"
|
||||
" test-conversation: [--file <json>] [--verbose] [--rom <path>]\n"
|
||||
" gui discover: discover [--window <name>] [--type <widget>] [--path-prefix <path>]\n"
|
||||
" [--include-invisible] [--include-disabled] [--format table|json] [--limit <n>]\n"
|
||||
" describe options: [--resource <name>] [--format json|yaml] [--output <path>]\n"
|
||||
" [--version <value>] [--last-updated <date>]",
|
||||
.description = "🤖 AI-Powered Conversational Agent for ROM Inspection\n"
|
||||
" Interact naturally with Zelda3 ROM data using embedded labels\n"
|
||||
" ✨ Features: Natural language queries, automatic label lookup, context-aware responses",
|
||||
.usage = "\n"
|
||||
"╔═══════════════════════════════════════════════════════════════════════════╗\n"
|
||||
"║ 🤖 AI AGENT COMMANDS ║\n"
|
||||
"╚═══════════════════════════════════════════════════════════════════════════╝\n"
|
||||
"\n"
|
||||
"💬 CONVERSATIONAL MODE (Recommended for testing):\n"
|
||||
" z3ed agent test-conversation [--rom=<path>] [--verbose] [--file=<json>]\n"
|
||||
" → Interactive AI testing with all embedded Zelda3 labels\n"
|
||||
" → Ask about rooms, sprites, entrances, items naturally\n"
|
||||
" → Example: 'What sprites are in room 5?' or 'List all dungeons'\n"
|
||||
"\n"
|
||||
"💡 SIMPLE CHAT MODE:\n"
|
||||
" z3ed agent simple-chat \"<your question>\" [--rom=<path>]\n"
|
||||
" → Quick AI queries with automatic ROM loading\n"
|
||||
" → Example: z3ed agent simple-chat \"describe entrance 0\"\n"
|
||||
"\n"
|
||||
"🎯 ADVANCED CHAT MODE:\n"
|
||||
" z3ed agent chat \"<prompt>\" [--host=<host>] [--port=<port>]\n"
|
||||
" → Full conversational AI with Ollama/Gemini\n"
|
||||
" → Supports multi-turn conversations\n"
|
||||
"\n"
|
||||
"📊 TEST MANAGEMENT:\n"
|
||||
" z3ed agent test run --prompt \"<description>\" [--timeout=<sec>]\n"
|
||||
" z3ed agent test status --test-id=<id> [--follow]\n"
|
||||
" z3ed agent test list [--category=<name>] [--status=<state>]\n"
|
||||
" z3ed agent test results --test-id=<id> [--format=yaml|json]\n"
|
||||
" z3ed agent test suite <run|validate|create>\n"
|
||||
"\n"
|
||||
"🔍 OTHER COMMANDS:\n"
|
||||
" z3ed agent gui discover [--window=<name>] [--type=<widget>]\n"
|
||||
" z3ed agent describe [--resource=<name>] [--format=json|yaml]\n"
|
||||
"\n"
|
||||
"🏰 EMBEDDED LABELS (Always Available):\n"
|
||||
" • 296+ room names • 256 sprite names • 133 entrance names\n"
|
||||
" • 100 item names • 160 overworld maps • 48 music tracks\n"
|
||||
" • 60 tile types • 26 overlord names • 32 graphics sheets\n"
|
||||
"\n"
|
||||
"📚 No separate labels file needed - all names built into z3ed!\n",
|
||||
.handler = [this](const std::vector<std::string>& args) -> absl::Status {
|
||||
return HandleAgentCommand(args);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user