Wingman - AI Coding Assistant
The Wingman-AI extension brings high quality AI assisted coding right to your computer, it's 100% free and data never leaves your machine - meaning it's completely private! Since the current release of this extension relies on running the AI models locally using Ollama, it is recommended you are on a machine with capable graphics card (Apple M series/Nvidia cards) for the best performance. 🚀 Getting StartedWe recommend starting with Ollama with a deepseek model(s), see why here.
FeaturesCode CompletionThe AI will look for natural pauses in typing to decide when to offer code suggestions (keep in mind the AI is limited by your machine speed). Code Completion Disable / HotKeyWe understand that sometimes the code completion feature can be too aggressive, which may strain your system's resources during local development. To address this, we have introduced an option to disable automatic code completion. However, we also recognize the usefulness of on-demand completion. Therefore, we've implemented a hotkey that allows you to manually trigger code completion at your convenience. When you need assistance, simply press Interactive ChatTalk to the AI naturally! It will use open files as context to answer your question, or simply select a section of code to use as context. AI ProvidersOllamaOllama is a free and open-source AI model provider, allowing users to run their own local models. Why Ollama?Ollama was chosen for it's simplicity, allowing users to pull a number of models in different configurations and update them at will. Ollama will pull optimized models based on your system architecture, however if you do not have a GPU accelerated machine, models will be slower. Setting up OllamaFollow the directions on the Ollama website. Ollama has a number of open source models available that are capable of writing high quality code. See getting started for how to pull and customize models. Supported ModelsThe extension uses a separate model for chat and code completion. This is due to the fact that different types of models have different strengths, mixing and matching offers the best result. Supported Models for Code Completion:
Supported Models for Chat:
Hugging FaceHugging Face supports hosting and training models, but also supports running many models (under 10GB) for free! All you have to do is create a free account. NOTE - your data is not private and will not be sanitized prior to being sent. Setting up Hugging FaceOnce you have a Hugging Face account and an API key, all you need to do is open the VSCode settings pane for this extension "Wingman" (see FAQ). Once it's open, select "HuggingFace" as the AI Provider and add your API key under the HuggingFace section:
Supported ModelsThe extension uses a separate model for chat and code completion. This is due to the fact that different types of models have different strengths, mixing and matching offers the best result. Supported Models for Code Completion:
Supported Models for Chat:
OpenAIOpenAI integration is supported for GPT4-Turbo, allowing you to run code completion, chat or other functionality to run on larger and more powerful models. NOTE - your data is not private and will not be sanitized prior to being sent. FAQ
TroubleshootingThis extension leverages Ollama due to it's simplicity and ability to deliver the right container optimized for your running environment. However good AI performance relies on your machine specs, so if you do not have the ability to GPU accelerate, responses may be slow. During startup the extension will verify the models you have configured in the VSCode settings pane for this extension, the extension does have some defaults: Code Model - deepseek-coder:6.7b-base-q8_0 Chat Model - deepseek-coder:6.7b-instruct-q8_0 The models above will require enough RAM to run them correctly, you should have at least 12GB of ram on your machine if you are running these models. If you don't have enough ram, then choose a smaller model but be aware that it won't perform as well. Also see information on model Quantization. Release NotesTo see the latest release notes - check out our releases page. Enjoy! |