Konfiguracja Continue + Ollama (Hybrid Setup)

Dokumentacja kroków niezbędnych do uruchomienia zaawansowanego asystenta AI działającego w 100% lokalnie, z wykorzystaniem podziału zadań na GPU i RAM.

1. Przygotowanie modeli (Ollama)

Zanim skonfigurujesz Continue, musisz pobrać odpowiednie modele do swojego lokalnego serwera Ollama. Wykonaj poniższe komendy w terminalu:

# Model do rozmów i refaktoryzacji (Duży, inteligentny)
ollama pull qwen2.5-coder:32b

# Model do autouzupełniania (Mały, błyskawiczny)
ollama pull qwen2.5-coder:1.5b

# Model do indeksowania kodu (Embeddings)
ollama pull nomic-embed-text

2. Lokalizacja pliku konfiguracyjnego

Continue przechowuje swoje ustawienia w formacie JSON. Plik ten znajdziesz w:

  • Linux/macOS: ~/.continue/config.json
  • Windows: %USERPROFILE%\.continue\config.json

3. Kompletny plik config.json

Skopiuj poniższą treść i zastąp nią zawartość swojego pliku config.json. Konfiguracja jest dostosowana do pracy hybrydowej (GPU + RAM).

{
  "models": [
    {
      "title": "Qwen 2.5 Coder (32B) - Mózg",
      "provider": "ollama",
      "model": "qwen2.5-coder:32b",
      "apiBase": "http://localhost:11434"
    },
    {
      "title": "Qwen 2.5 Coder (14B) - Szybki",
      "provider": "ollama",
      "model": "qwen2.5-coder:14b",
      "apiBase": "http://localhost:11434"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Autocomplete",
    "provider": "ollama",
    "model": "qwen2.5-coder:1.5b",
    "apiBase": "http://localhost:11434"
  },
  "embeddingsProvider": {
    "provider": "ollama",
    "model": "nomic-embed-text"
  },
  "slashCommands": [
    {
      "name": "security",
      "description": "Audyt bezpieczeństwa kodu",
      "prompt": "Act as a Senior Security Auditor. Your ONLY goal is to find security vulnerabilities in the selected code. Look for: SQL Injection, XSS, CSRF, Hardcoded Secrets. For each issue, provide: 1. Vulnerability Type, 2. Risk Explanation, 3. Secure Code Fix."
    },
    {
      "name": "arch",
      "description": "Analiza architektury i wzorców",
      "prompt": "Act as a Software Architect. Analyze the selected code from a high-level perspective. Evaluate: SOLID principles adherence, Design Patterns usage, Scalability, and Code Smells."
    },
    {
      "name": "qa",
      "description": "Generowanie testów krawędziowych",
      "prompt": "Act as a QA Automation Engineer. Your goal is to break this code. Identify edge cases, null/undefined inputs, type errors, and boundary conditions. Generate comprehensive unit tests."
    },
    {
      "name": "refactor",
      "description": "Refaktoryzacja dla czystości kodu",
      "prompt": "Act as a Refactoring Specialist. Refactor the selected code to improve readability and reduce complexity. Ensure logic remains EXACTLY the same."
    }
  ],
  "mcpServers": [
    {
      "name": "fetch",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-fetch"
      ]
    }
  ],
  "contextProviders": [
    { "name": "code", "params": {} },
    { "name": "terminal", "params": {} },
    { "name": "codebase", "params": {} },
    { "name": "open", "params": {} },
    { "name": "diff", "params": {} },
    { "name": "docs", "params": {} }
  ],
  "rules": [
    "Role: Act as a Staff Software Engineer.",
    "Language: Use English for code. Use Polish for explanations if requested.",
    "Principles: Follow SOLID, DRY, and KISS principles."
  ],
  "allowAnonymousTelemetry": false
}

4. Definicje komend (Slash Commands)

Po zapisaniu konfiguracji, w oknie czatu Continue możesz używać następujących skrótów:

Komenda Działanie
/security Przeprowadza audyt bezpieczeństwa zaznaczonego fragmentu kodu.
/arch Sprawdza zgodność kodu z zasadami SOLID i wzorcami projektowymi.
/qa Generuje zestaw testów jednostkowych dla trudnych przypadków (edge cases).
/refactor Sugeruje zmiany poprawiające czytelność bez zmiany logiki działania.
/test (Wbudowana) Pisze standardowe testy jednostkowe.

5. Korzystanie z MCP (Model Context Protocol)

Serwer fetch pozwala modelowi na pobieranie treści ze stron internetowych w czasie rzeczywistym.

Przykład użycia:

  1. Otwórz czat w Continue.
  2. Wklej link: https://docs.python.org/3/library/asyncio.html
  3. Napisz: "Wyjaśnij jak użyć funkcji z tego linku w moim aktualnym pliku"
  4. Model automatycznie użyje narzędzia fetch, aby przeczytać dokumentację.

Wskazówka: Jeśli po zmianie pliku config.json wtyczka nie reaguje, użyj komendy Continue: Reload Config z palety komend VS Code (Ctrl+Shift+P).