about summary refs log tree commit diff stats
path: root/bash/computer
diff options
context:
space:
mode:
Diffstat (limited to 'bash/computer')
-rwxr-xr-xbash/computer295
1 files changed, 0 insertions, 295 deletions
diff --git a/bash/computer b/bash/computer
deleted file mode 100755
index e5aa36d..0000000
--- a/bash/computer
+++ /dev/null
@@ -1,295 +0,0 @@
-#!/bin/bash
-
-# Get the directory where this script is located
-SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-
-# Computer Dispatch System
-# This script intelligently routes prompts to the most appropriate thinking mechanism
-# or directly to Ollama based on complexity, question type, and user intent.
-#
-# APPLICATION LOGIC:
-# The computer dispatch system implements an intelligent routing mechanism that
-# analyzes user prompts and determines the optimal response strategy. The system
-# operates through three distinct phases designed to maximize response quality:
-#
-# PHASE 1 - PROMPT ANALYSIS:
-#   - Analyzes prompt complexity, length, and question type
-#   - Identifies user intent and specific keywords
-#   - Determines if direct Ollama response is appropriate
-#   - Classifies prompts into response categories
-#
-# PHASE 2 - MECHANISM SELECTION:
-#   - Routes to appropriate thinking mechanism based on classification
-#   - Uses decision tree with keywords for clear cases
-#   - Considers prompt complexity and user intent
-#   - Falls back to direct Ollama for simple cases
-#
-# PHASE 3 - RESPONSE EXECUTION:
-#   - Executes the selected mechanism or direct Ollama call
-#   - Maintains transparency about the routing decision
-#   - Provides consistent output format regardless of mechanism
-#   - Logs the decision process for analysis
-#
-# DISPATCH MODELING:
-# The system applies intelligent routing principles to AI response generation:
-#   - Prompt classification helps match complexity to appropriate mechanism
-#   - Keyword analysis identifies specific user needs and intent
-#   - Decision tree provides consistent, predictable routing logic
-#   - Direct Ollama routing handles simple cases efficiently
-#   - Transparency shows users how their prompt was processed
-#   - The system may improve response quality by using specialized mechanisms
-#
-# The dispatch process emphasizes efficiency and appropriateness,
-# ensuring users get the best possible response for their specific needs.
-# The system balances speed with depth based on prompt characteristics.
-
-# --- Model Configuration ---
-DEFAULT_MODEL="gemma3n:e2b"
-
-# --- Defaults ---
-DEFAULT_ROUNDS=2
-
-# --- Argument Validation ---
-if [ "$#" -lt 1 ]; then
-    echo -e "\n\tComputer"
-    echo -e "\tThis script intelligently routes prompts to the most appropriate thinking mechanism"
-    echo -e "\tor directly to Ollama based on complexity, question type, and user intent."
-    echo -e "\n\tUsage: $0 [-f <file_path>] [-d] \"<your prompt>\" [number_of_rounds]"
-    echo -e "\n\tExample: $0 -f ./input.txt \"Please analyze this text\" 2"
-    echo -e "\n\tIf number_of_rounds is not provided, the program will default to $DEFAULT_ROUNDS rounds."
-    echo -e "\n\t-f <file_path> (optional): Append the contents of the file to the prompt."
-    echo -e "\n\t-d (optional): Force direct Ollama response (bypass thinking mechanisms)."
-    echo -e "\n"
-    exit 1
-fi
-
-# --- Argument Parsing ---
-FILE_PATH=""
-FORCE_DIRECT=false
-while getopts "f:d" opt; do
-  case $opt in
-    f)
-      FILE_PATH="$OPTARG"
-      ;;
-    d)
-      FORCE_DIRECT=true
-      ;;
-    *)
-      echo "Invalid option: -$OPTARG" >&2
-      exit 1
-      ;;
-  esac
-done
-shift $((OPTIND -1))
-
-PROMPT="$1"
-if [ -z "$2" ]; then
-    ROUNDS=$DEFAULT_ROUNDS
-else
-    ROUNDS=$2
-fi
-
-# If file path is provided, append its contents to the prompt
-if [ -n "$FILE_PATH" ]; then
-    if [ ! -f "$FILE_PATH" ]; then
-        echo "File not found: $FILE_PATH" >&2
-        exit 1
-    fi
-    FILE_CONTENTS=$(cat "$FILE_PATH")
-    PROMPT="$PROMPT\n[FILE CONTENTS]\n$FILE_CONTENTS\n[END FILE]"
-fi
-
-# Source the logging system using absolute path
-source "${SCRIPT_DIR}/logging.sh"
-
-# --- File Initialization ---
-# Create a temporary directory if it doesn't exist
-mkdir -p ~/tmp
-# Create a unique file for this session based on the timestamp
-SESSION_FILE=~/tmp/computer_$(date +%Y%m%d_%H%M%S).txt
-
-# Initialize timing
-SESSION_ID=$(generate_session_id)
-start_timer "$SESSION_ID" "computer"
-
-echo "Computer Dispatch Session Log: ${SESSION_FILE}"
-echo "---------------------------------"
-
-# Store the initial user prompt in the session file
-echo "USER PROMPT: ${PROMPT}" >> "${SESSION_FILE}"
-echo "FORCE DIRECT: ${FORCE_DIRECT}" >> "${SESSION_FILE}"
-echo "" >> "${SESSION_FILE}"
-
-# --- Prompt Analysis Function ---
-analyze_prompt() {
-    local prompt="$1"
-    local analysis=""
-    
-    # Check for direct Ollama requests
-    if [[ "$prompt" =~ (direct|simple|quick|fast|straight) ]]; then
-        analysis="DIRECT"
-        return
-    fi
-    
-    # Check prompt length (simple heuristic for complexity)
-    local word_count=$(echo "$prompt" | wc -w)
-    
-    # Very short prompts (likely simple questions)
-    if [ "$word_count" -le 5 ]; then
-        analysis="DIRECT"
-        return
-    fi
-    
-    # Keyword-based classification
-    if [[ "$prompt" =~ (consensus|agree|disagree|vote|multiple|perspectives|opinions) ]]; then
-        analysis="CONSENSUS"
-    elif [[ "$prompt" =~ (synthesize|combine|integrate|unify|merge|consolidate) ]]; then
-        analysis="SYNTHESIS"
-    elif [[ "$prompt" =~ (explore|paths|alternatives|options|compare|strategies|approaches) ]]; then
-        analysis="EXPLORATION"
-    elif [[ "$prompt" =~ (analyze|examine|explore|investigate|deep|thorough|comprehensive) ]]; then
-        analysis="SOCRATIC"
-    elif [[ "$prompt" =~ (improve|refine|edit|revise|better|enhance|polish|fix) ]]; then
-        analysis="CRITIQUE"
-    elif [[ "$prompt" =~ (review|feedback|peer|collaborate|suggest|advice) ]]; then
-        analysis="PEER_REVIEW"
-    else
-        # Default to direct for unclear cases
-        analysis="DIRECT"
-    fi
-    
-    echo "$analysis"
-}
-
-# --- Mechanism Selection ---
-echo "Analyzing prompt and selecting mechanism..."
-echo "PROMPT ANALYSIS:" >> "${SESSION_FILE}"
-
-if [ "$FORCE_DIRECT" = true ]; then
-    MECHANISM="DIRECT"
-    REASON="User requested direct response with -d flag"
-else
-    MECHANISM=$(analyze_prompt "$PROMPT")
-    case "$MECHANISM" in
-        "DIRECT")
-            REASON="Simple prompt or direct request"
-            ;;
-        "CONSENSUS")
-            REASON="Multiple perspectives or consensus needed"
-            ;;
-        "SYNTHESIS")
-            REASON="Integration of multiple approaches needed"
-            ;;
-        "EXPLORATION")
-            REASON="Systematic exploration of alternatives needed"
-            ;;
-        "SOCRATIC")
-            REASON="Deep analysis or exploration required"
-            ;;
-        "CRITIQUE")
-            REASON="Improvement or refinement requested"
-            ;;
-        "PEER_REVIEW")
-            REASON="Collaborative review or feedback needed"
-            ;;
-        *)
-            REASON="Default fallback"
-            MECHANISM="DIRECT"
-            ;;
-    esac
-fi
-
-echo "Selected mechanism: ${MECHANISM}" >> "${SESSION_FILE}"
-echo "Reason: ${REASON}" >> "${SESSION_FILE}"
-echo "" >> "${SESSION_FILE}"
-
-echo "Selected mechanism: ${MECHANISM}"
-echo "Reason: ${REASON}"
-echo "---------------------------------"
-
-# --- Response Execution ---
-echo "Executing selected mechanism..."
-echo "RESPONSE EXECUTION:" >> "${SESSION_FILE}"
-
-case "$MECHANISM" in
-    "DIRECT")
-        echo "Using direct Ollama response..."
-        echo "DIRECT OLLAMA RESPONSE:" >> "${SESSION_FILE}"
-        
-        DIRECT_PROMPT="You are an expert assistant. You always flag if you don't know something. Please provide a clear, helpful response to the following prompt: ${PROMPT}"
-        
-        RESPONSE=$(ollama run "${DEFAULT_MODEL}" "${DIRECT_PROMPT}")
-        
-        echo "${RESPONSE}" >> "${SESSION_FILE}"
-        echo "" >> "${SESSION_FILE}"
-        
-        echo "---------------------------------"
-        echo "Direct response:"
-        echo "---------------------------------"
-        echo "${RESPONSE}"
-        ;;
-        
-    "CONSENSUS")
-        echo "Delegating to consensus mechanism..."
-        echo "DELEGATING TO CONSENSUS:" >> "${SESSION_FILE}"
-        
-        # Execute consensus script and display output directly
-        "${SCRIPT_DIR}/consensus" "${PROMPT}" "${ROUNDS}" 2>&1 | tee -a "${SESSION_FILE}"
-        ;;
-        
-    "SOCRATIC")
-        echo "Delegating to Socratic mechanism..."
-        echo "DELEGATING TO SOCRATIC:" >> "${SESSION_FILE}"
-        
-        # Execute Socratic script and display output directly
-        "${SCRIPT_DIR}/socratic" "${PROMPT}" "${ROUNDS}" 2>&1 | tee -a "${SESSION_FILE}"
-        ;;
-        
-    "CRITIQUE")
-        echo "Delegating to critique mechanism..."
-        echo "DELEGATING TO CRITIQUE:" >> "${SESSION_FILE}"
-        
-        # Execute critique script and display output directly
-        "${SCRIPT_DIR}/critique" "${PROMPT}" "${ROUNDS}" 2>&1 | tee -a "${SESSION_FILE}"
-        ;;
-        
-        "PEER_REVIEW")
-        echo "Delegating to peer-review mechanism..."
-        echo "DELEGATING TO PEER_REVIEW:" >> "${SESSION_FILE}"
-        
-        # Execute peer-review script and display output directly
-        "${SCRIPT_DIR}/peer-review" "${PROMPT}" "${ROUNDS}" 2>&1 | tee -a "${SESSION_FILE}"
-        ;;
-        
-        "SYNTHESIS")
-        echo "Delegating to synthesis mechanism..."
-        echo "DELEGATING TO SYNTHESIS:" >> "${SESSION_FILE}"
-        
-        # Execute synthesis script and display output directly
-        "${SCRIPT_DIR}/synthesis" "${PROMPT}" "${ROUNDS}" 2>&1 | tee -a "${SESSION_FILE}"
-        ;;
-        
-        "EXPLORATION")
-        echo "Delegating to exploration mechanism..."
-        echo "DELEGATING TO EXPLORATION:" >> "${SESSION_FILE}"
-        
-        # Execute exploration script and display output directly
-        "${SCRIPT_DIR}/exploration" "${PROMPT}" "${ROUNDS}" 2>&1 | tee -a "${SESSION_FILE}"
-        ;;
-esac
-
-# --- Final Summary ---
-echo "" >> "${SESSION_FILE}"
-echo "DISPATCH SUMMARY:" >> "${SESSION_FILE}"
-echo "================" >> "${SESSION_FILE}"
-echo "Original Prompt: ${PROMPT}" >> "${SESSION_FILE}"
-echo "Selected Mechanism: ${MECHANISM}" >> "${SESSION_FILE}"
-echo "Reason: ${REASON}" >> "${SESSION_FILE}"
-echo "Rounds: ${ROUNDS}" >> "${SESSION_FILE}"
-
-# End timing
-duration=$(end_timer "$SESSION_ID" "computer")
-
-echo ""
-echo "Execution time: ${duration} seconds"
-echo "Full dispatch log: ${SESSION_FILE}" 
\ No newline at end of file