/ scripts / llm / localcode_quick.sh
localcode_quick.sh
 1  #!/usr/bin/env bash
 2  # Quick wrapper for LocalCode - simplified session management
 3  # Usage: source this file, then use: lc_start, lc_query, lc_end
 4  
 5  SESSIONS_DIR="${HOME}/.localcode/sessions"
 6  
 7  # Start session and store in env variable
 8  lc_start() {
 9      local project_path="${1:-.}"
10      export LOCALCODE_SESSION=$(./scripts/llm/localcode_session.sh start "$project_path" 2>/dev/null | tail -1)
11      echo "✓ Session started: $LOCALCODE_SESSION"
12      echo "  Use: lc_query \"your question\""
13  }
14  
15  # Query current session
16  lc_query() {
17      if [[ -z "$LOCALCODE_SESSION" ]]; then
18          echo "✗ No active session. Run: lc_start" >&2
19          return 1
20      fi
21  
22      # Set timeout via env var (default 180 seconds / 3 minutes for local LLMs)
23      export LLM_TIMEOUT="${LLM_TIMEOUT:-180}"
24  
25      ./scripts/llm/localcode_query.sh "$LOCALCODE_SESSION" "$@"
26  }
27  
28  # Interactive mode
29  lc_interactive() {
30      if [[ -z "$LOCALCODE_SESSION" ]]; then
31          echo "✗ No active session. Run: lc_start" >&2
32          return 1
33      fi
34  
35      ./scripts/llm/localcode_query.sh "$LOCALCODE_SESSION" --interactive
36  }
37  
38  # End session
39  lc_end() {
40      if [[ -z "$LOCALCODE_SESSION" ]]; then
41          echo "✗ No active session" >&2
42          return 1
43      fi
44  
45      ./scripts/llm/localcode_session.sh end "$LOCALCODE_SESSION" 2>/dev/null
46      echo "✓ Session ended: $LOCALCODE_SESSION"
47      unset LOCALCODE_SESSION
48  }
49  
50  # List sessions
51  lc_list() {
52      ./scripts/llm/localcode_session.sh list
53  }
54  
55  # Show current session
56  lc_show() {
57      if [[ -z "$LOCALCODE_SESSION" ]]; then
58          echo "✗ No active session" >&2
59          return 1
60      fi
61  
62      ./scripts/llm/localcode_session.sh show "$LOCALCODE_SESSION"
63  }
64  
65  # Export functions
66  export -f lc_start
67  export -f lc_query
68  export -f lc_interactive
69  export -f lc_end
70  export -f lc_list
71  export -f lc_show
72  
73  echo "LocalCode helper functions loaded:"
74  echo "  lc_start [path]       - Start new session"
75  echo "  lc_query \"question\"   - Query current session"
76  echo "  lc_interactive        - Interactive mode"
77  echo "  lc_end                - End current session"
78  echo "  lc_list               - List all sessions"
79  echo "  lc_show               - Show current session"
80  echo ""
81  echo "Environment variables:"
82  echo "  LLM_TIMEOUT=180       - Query timeout (default: 180 seconds / 3 minutes)"
83  echo "  LLM_MODEL             - Model to use (default: deepseek-coder:6.7b)"