from pr.ui import Colors def get_workflow_help(): return f""" {Colors.BOLD}WORKFLOWS - AUTOMATED TASK EXECUTION{Colors.RESET} {Colors.BOLD}Overview:{Colors.RESET} Workflows enable automated execution of multi-step tasks by chaining together tool calls with defined execution logic, error handling, and conditional branching. {Colors.BOLD}Execution Modes:{Colors.RESET} {Colors.CYAN}sequential{Colors.RESET} - Steps execute one after another in order {Colors.CYAN}parallel{Colors.RESET} - All steps execute simultaneously {Colors.CYAN}conditional{Colors.RESET} - Steps execute based on conditions and paths {Colors.BOLD}Workflow Components:{Colors.RESET} {Colors.CYAN}Steps{Colors.RESET} - Individual tool executions with parameters {Colors.CYAN}Variables{Colors.RESET} - Dynamic values available across workflow {Colors.CYAN}Conditions{Colors.RESET} - Boolean expressions controlling step execution {Colors.CYAN}Paths{Colors.RESET} - Success/failure routing between steps {Colors.CYAN}Retries{Colors.RESET} - Automatic retry count for failed steps {Colors.CYAN}Timeouts{Colors.RESET} - Maximum execution time per step (seconds) {Colors.BOLD}Variable Substitution:{Colors.RESET} Reference previous step results: ${{step.step_id}} Reference workflow variables: ${{var.variable_name}} Example: {{"path": "${{step.get_path}}/output.txt"}} {Colors.BOLD}Workflow Commands:{Colors.RESET} {Colors.CYAN}/workflows{Colors.RESET} - List all available workflows {Colors.CYAN}/workflow {Colors.RESET} - Execute a specific workflow {Colors.BOLD}Workflow Structure:{Colors.RESET} Each workflow consists of: - Name and description - Execution mode (sequential/parallel/conditional) - List of steps with tool calls - Optional variables for dynamic values - Optional tags for categorization {Colors.BOLD}Step Configuration:{Colors.RESET} Each step includes: - tool_name: Which tool to execute - arguments: Parameters passed to the tool - step_id: Unique identifier for the step - condition: Optional boolean expression (conditional mode) - on_success: List of step IDs to execute on success - on_failure: List of step IDs to execute on failure - retry_count: Number of automatic retries (default: 0) - timeout_seconds: Maximum execution time (default: 300) {Colors.BOLD}Conditional Execution:{Colors.RESET} Conditions are Python expressions evaluated with access to: - variables: All workflow variables - results: All step results by step_id Example condition: "results['check_file']['status'] == 'success'" {Colors.BOLD}Success/Failure Paths:{Colors.RESET} Steps can define: - on_success: List of step IDs to execute if step succeeds - on_failure: List of step IDs to execute if step fails This enables error recovery and branching logic within workflows. {Colors.BOLD}Workflow Storage:{Colors.RESET} Workflows are stored in the SQLite database and persist across sessions. Execution history and statistics are tracked for each workflow. {Colors.BOLD}Example Workflow Scenarios:{Colors.RESET} - Sequential: Data pipeline (fetch → process → save → validate) - Parallel: Multi-source aggregation (fetch A + fetch B + fetch C) - Conditional: Error recovery (try main → on failure → fallback) {Colors.BOLD}Best Practices:{Colors.RESET} - Use descriptive step_id names (e.g., "fetch_user_data") - Set appropriate timeouts for long-running operations - Add retry_count for network or flaky operations - Use conditional paths for error handling - Keep workflows focused on a single logical task - Use variables for values shared across steps """ def get_agent_help(): return f""" {Colors.BOLD}AGENTS - SPECIALIZED AI ASSISTANTS{Colors.RESET} {Colors.BOLD}Overview:{Colors.RESET} Agents are specialized AI instances with specific roles, capabilities, and system prompts. Each agent maintains its own conversation history and can collaborate with other agents to complete complex tasks. {Colors.BOLD}Available Agent Roles:{Colors.RESET} {Colors.CYAN}coding{Colors.RESET} - Code writing, review, debugging, refactoring Temperature: 0.3 (precise) {Colors.CYAN}research{Colors.RESET} - Information gathering, analysis, documentation Temperature: 0.5 (balanced) {Colors.CYAN}data_analysis{Colors.RESET} - Data processing, statistical analysis, queries Temperature: 0.3 (precise) {Colors.CYAN}planning{Colors.RESET} - Task decomposition, workflow design, coordination Temperature: 0.6 (creative) {Colors.CYAN}testing{Colors.RESET} - Test design, quality assurance, validation Temperature: 0.4 (methodical) {Colors.CYAN}documentation{Colors.RESET} - Technical writing, API docs, user guides Temperature: 0.6 (creative) {Colors.CYAN}orchestrator{Colors.RESET} - Multi-agent coordination and task delegation Temperature: 0.5 (balanced) {Colors.CYAN}general{Colors.RESET} - General purpose assistance across domains Temperature: 0.7 (versatile) {Colors.BOLD}Agent Commands:{Colors.RESET} {Colors.CYAN}/agent {Colors.RESET} - Create agent and assign task {Colors.CYAN}/agents{Colors.RESET} - Show all active agents {Colors.CYAN}/collaborate {Colors.RESET} - Multi-agent collaboration {Colors.BOLD}Single Agent Usage:{Colors.RESET} Create a specialized agent and assign it a task: /agent coding Implement a binary search function in Python /agent research Find latest best practices for API security /agent testing Create test cases for user authentication Each agent: - Maintains its own conversation history - Has access to role-specific tools - Uses specialized system prompts - Tracks task completion count - Integrates with knowledge base {Colors.BOLD}Multi-Agent Collaboration:{Colors.RESET} Use multiple agents to work together on complex tasks: /collaborate Build a REST API with tests and documentation This automatically: 1. Creates an orchestrator agent 2. Spawns coding, research, and planning agents 3. Orchestrator delegates subtasks to specialists 4. Agents communicate results back to orchestrator 5. Orchestrator integrates results and coordinates {Colors.BOLD}Agent Capabilities by Role:{Colors.RESET} {Colors.CYAN}Coding Agent:{Colors.RESET} - Read, write, and modify files - Execute Python code - Run commands and build tools - Index source directories - Code review and refactoring {Colors.CYAN}Research Agent:{Colors.RESET} - Web search and HTTP fetching - Read documentation and files - Query databases for information - Analyze and synthesize findings {Colors.CYAN}Data Analysis Agent:{Colors.RESET} - Database queries and operations - Python execution for analysis - File read/write for data - Statistical processing {Colors.CYAN}Planning Agent:{Colors.RESET} - Task decomposition and organization - Database storage for plans - File operations for documentation - Dependency identification {Colors.CYAN}Testing Agent:{Colors.RESET} - Test execution and validation - Code reading and analysis - Command execution for test runners - Quality verification {Colors.CYAN}Documentation Agent:{Colors.RESET} - Technical writing and formatting - Web research for best practices - File operations for docs - Documentation organization {Colors.BOLD}Agent Session Management:{Colors.RESET} - Each session has a unique ID - Agents persist within a session - View active agents with /agents - Agents share knowledge base access - Communication bus for agent messages {Colors.BOLD}Knowledge Base Integration:{Colors.RESET} When agents execute tasks: - Relevant knowledge entries are automatically retrieved - Top 3 matches are injected into agent context - Knowledge access count is tracked - Agents can update knowledge base {Colors.BOLD}Agent Communication:{Colors.RESET} Agents can send messages to each other: - Request type: Ask another agent for help - Response type: Answer another agent's request - Notification type: Inform about events - Coordination type: Synchronize work {Colors.BOLD}Best Practices:{Colors.RESET} - Use specialized agents for focused tasks - Use collaboration for complex multi-domain tasks - Coding agent: Precise, deterministic code generation - Research agent: Thorough information gathering - Planning agent: Breaking down complex tasks - Testing agent: Comprehensive test coverage - Documentation agent: Clear user-facing docs {Colors.BOLD}Performance Characteristics:{Colors.RESET} - Lower temperature: More deterministic (coding, data_analysis) - Higher temperature: More creative (planning, documentation) - Max tokens: 4096 for all agents - Parallel execution: Multiple agents work simultaneously - Message history: Full conversation context maintained {Colors.BOLD}Example Usage Patterns:{Colors.RESET} Single specialized agent: /agent coding Refactor authentication module for better security Multi-agent collaboration: /collaborate Create a data visualization dashboard with tests Agent inspection: /agents # View all active agents and their stats """ def get_knowledge_help(): return f""" {Colors.BOLD}KNOWLEDGE BASE - PERSISTENT INFORMATION STORAGE{Colors.RESET} {Colors.BOLD}Overview:{Colors.RESET} The knowledge base provides persistent storage for information, facts, and context that can be accessed across sessions and by all agents. {Colors.BOLD}Commands:{Colors.RESET} {Colors.CYAN}/remember {Colors.RESET} - Store information in knowledge base {Colors.CYAN}/knowledge {Colors.RESET} - Search knowledge base {Colors.CYAN}/stats{Colors.RESET} - Show knowledge base statistics {Colors.BOLD}Features:{Colors.RESET} - Automatic categorization of content - TF-IDF based semantic search - Access frequency tracking - Importance scoring - Temporal relevance - Category-based organization {Colors.BOLD}Categories:{Colors.RESET} Content is automatically categorized as: - code: Code snippets and programming concepts - api: API documentation and endpoints - configuration: Settings and configurations - documentation: General documentation - fact: Factual information - procedure: Step-by-step procedures - general: Uncategorized information {Colors.BOLD}Search Capabilities:{Colors.RESET} - Keyword matching with TF-IDF scoring - Returns top relevant entries - Considers access frequency - Factors in recency - Searches across all categories {Colors.BOLD}Integration:{Colors.RESET} - Agents automatically query knowledge base - Top matches injected into agent context - Conversation history can be stored - Facts extracted from interactions - Persistent across sessions """ def get_cache_help(): return f""" {Colors.BOLD}CACHING SYSTEM - PERFORMANCE OPTIMIZATION{Colors.RESET} {Colors.BOLD}Overview:{Colors.RESET} The caching system optimizes performance by storing API responses and tool results, reducing redundant API calls and expensive operations. {Colors.BOLD}Commands:{Colors.RESET} {Colors.CYAN}/cache{Colors.RESET} - Show cache statistics {Colors.CYAN}/cache clear{Colors.RESET} - Clear all caches {Colors.BOLD}Cache Types:{Colors.RESET} {Colors.CYAN}API Cache:{Colors.RESET} - Stores LLM API responses - Key: Hash of messages + model + parameters - Tracks token usage - TTL: Configurable expiration - Reduces API costs and latency {Colors.CYAN}Tool Cache:{Colors.RESET} - Stores tool execution results - Key: Tool name + arguments hash - Per-tool statistics - Hit count tracking - Reduces redundant operations {Colors.BOLD}Cache Statistics:{Colors.RESET} - Total entries (valid + expired) - Valid entry count - Expired entry count - Total cached tokens (API cache) - Cache hits per tool (Tool cache) - Per-tool breakdown {Colors.BOLD}Benefits:{Colors.RESET} - Reduced API costs - Faster response times - Lower rate limit usage - Consistent results for identical queries - Tool execution optimization """ def get_background_help(): return f""" {Colors.BOLD}BACKGROUND SESSIONS - CONCURRENT TASK EXECUTION{Colors.RESET} {Colors.BOLD}Overview:{Colors.RESET} Background sessions allow running long-running commands and processes while continuing to interact with the assistant. Sessions are monitored and can be managed through the assistant. {Colors.BOLD}Commands:{Colors.RESET} {Colors.CYAN}/bg start {Colors.RESET} - Start command in background {Colors.CYAN}/bg list{Colors.RESET} - List all background sessions {Colors.CYAN}/bg status {Colors.RESET} - Show session status {Colors.CYAN}/bg output {Colors.RESET} - View session output {Colors.CYAN}/bg input {Colors.RESET} - Send input to session {Colors.CYAN}/bg kill {Colors.RESET} - Terminate session {Colors.CYAN}/bg events{Colors.RESET} - Show recent events {Colors.BOLD}Features:{Colors.RESET} - Automatic session monitoring - Output capture and buffering - Interactive input support - Event notification system - Session lifecycle management - Background event detection {Colors.BOLD}Event Types:{Colors.RESET} - session_started: New session created - session_ended: Session terminated - output_received: New output available - possible_input_needed: May require user input - high_output_volume: Large amount of output - inactive_session: No activity for period {Colors.BOLD}Status Indicators:{Colors.RESET} The prompt shows background session count: You[2bg]> - Number indicates active background sessions - Updates automatically as sessions start/stop {Colors.BOLD}Use Cases:{Colors.RESET} - Long-running build processes - Web servers and daemons - File watching and monitoring - Batch processing tasks - Test suites execution - Development servers """ def get_full_help(): return f""" {Colors.BOLD}R - PROFESSIONAL AI ASSISTANT{Colors.RESET} {Colors.BOLD}BASIC COMMANDS{Colors.RESET} exit, quit, q - Exit the assistant /help - Show this help message /help workflows - Detailed workflow documentation /help agents - Detailed agent documentation /help knowledge - Knowledge base documentation /help cache - Caching system documentation /help background - Background sessions documentation /reset - Clear message history /dump - Show message history as JSON /verbose - Toggle verbose mode /models - List available models /tools - List available tools {Colors.BOLD}FILE OPERATIONS{Colors.RESET} /review - Review a file /refactor - Refactor code in a file /obfuscate - Obfuscate code in a file {Colors.BOLD}AUTONOMOUS MODE{Colors.RESET} {Colors.CYAN}/auto {Colors.RESET} - Enter autonomous mode for task completion Assistant works continuously until task is complete Max 50 iterations with automatic context management Press Ctrl+C twice to force exit {Colors.BOLD}WORKFLOWS{Colors.RESET} {Colors.CYAN}/workflows{Colors.RESET} - List all available workflows {Colors.CYAN}/workflow {Colors.RESET} - Execute a specific workflow Workflows enable automated multi-step task execution with: - Sequential, parallel, or conditional execution - Variable substitution and step dependencies - Error handling and retry logic - Success/failure path routing For detailed documentation: /help workflows {Colors.BOLD}AGENTS{Colors.RESET} {Colors.CYAN}/agent {Colors.RESET} - Create specialized agent {Colors.CYAN}/agents{Colors.RESET} - Show active agents {Colors.CYAN}/collaborate {Colors.RESET} - Multi-agent collaboration Available roles: coding, research, data_analysis, planning, testing, documentation, orchestrator, general Each agent has specialized capabilities and system prompts. Agents can work independently or collaborate on complex tasks. For detailed documentation: /help agents {Colors.BOLD}KNOWLEDGE BASE{Colors.RESET} {Colors.CYAN}/knowledge {Colors.RESET} - Search knowledge base {Colors.CYAN}/remember {Colors.RESET} - Store information Persistent storage for facts, procedures, and context. Automatic categorization and TF-IDF search. Integrated with agents for context injection. For detailed documentation: /help knowledge {Colors.BOLD}SESSION MANAGEMENT{Colors.RESET} {Colors.CYAN}/history{Colors.RESET} - Show conversation history {Colors.CYAN}/cache{Colors.RESET} - Show cache statistics {Colors.CYAN}/cache clear{Colors.RESET} - Clear all caches {Colors.CYAN}/stats{Colors.RESET} - Show system statistics {Colors.BOLD}BACKGROUND SESSIONS{Colors.RESET} {Colors.CYAN}/bg start {Colors.RESET} - Start background session {Colors.CYAN}/bg list{Colors.RESET} - List active sessions {Colors.CYAN}/bg output {Colors.RESET} - View session output {Colors.CYAN}/bg kill {Colors.RESET} - Terminate session Run long-running processes while maintaining interactivity. Automatic monitoring and event notifications. For detailed documentation: /help background {Colors.BOLD}CONTEXT FILES{Colors.RESET} .rcontext.txt - Local project context (auto-loaded) ~/.rcontext.txt - Global context (auto-loaded) -c, --context FILE - Additional context files (command line) {Colors.BOLD}ENVIRONMENT VARIABLES{Colors.RESET} OPENROUTER_API_KEY - API key for OpenRouter AI_MODEL - Default model to use API_URL - Custom API endpoint USE_TOOLS - Enable/disable tools (default: 1) {Colors.BOLD}COMMAND-LINE FLAGS{Colors.RESET} -i, --interactive - Start in interactive mode -v, --verbose - Enable verbose output --debug - Enable debug logging -m, --model MODEL - Specify AI model --no-syntax - Disable syntax highlighting {Colors.BOLD}DATA STORAGE{Colors.RESET} ~/.assistant_db.sqlite - SQLite database for persistence ~/.assistant_history - Command history ~/.assistant_error.log - Error logs {Colors.BOLD}AVAILABLE TOOLS{Colors.RESET} Tools are functions the AI can call to interact with the system: - File operations: read, write, list, mkdir, search/replace - Command execution: run_command, interactive sessions - Web operations: http_fetch, web_search, web_search_news - Database: db_set, db_get, db_query - Python execution: python_exec with persistent globals - Code editing: open_editor, insert/replace text, diff/patch - Process management: tail, kill, interactive control - Agents: create, execute tasks, collaborate - Knowledge: add, search, categorize entries {Colors.BOLD}GETTING HELP{Colors.RESET} /help - This help message /help workflows - Workflow system details /help agents - Agent system details /help knowledge - Knowledge base details /help cache - Cache system details /help background - Background sessions details /tools - List all available tools /models - List all available models """