Blame
| 023f1c | Ronak Vakharia | 2026-07-06 08:09:16 | 1 | # Using the Enovate IT Local AI Server for Coding |
| 2 | ||||
| 3 | This guide walks you through connecting to our **self-hosted AI server** and wiring it into your favourite coding tools. The server runs locally on our network via **Open WebUI + Ollama**, so your prompts and code never leave our infrastructure. |
|||
| 4 | ||||
| 5 | By the end you'll be able to: |
|||
| 6 | ||||
| 7 | 1. Sign up on the internal Open WebUI portal. |
|||
| 8 | 2. Grab your personal API key. |
|||
| 9 | 3. Use that key with **Aider** (terminal, Claude-Code style) or **Cline** (VS Code / Cursor extension). |
|||
| 10 | ||||
| 11 | --- |
|||
| 12 | ||||
| 13 | ## Prerequisites |
|||
| 14 | ||||
| 15 | Before you start, make sure of the following: |
|||
| 16 | ||||
| 17 | - **You are connected to the office VPN.** The AI server lives on the internal network and is *only* reachable through the VPN. If you're off-VPN, none of the URLs below will resolve. |
|||
| 18 | - You have a terminal (macOS / Linux / WSL) if you plan to use Aider, or **VS Code / Cursor** if you plan to use Cline. |
|||
| 19 | - **Python 3.8+** installed if you'll use Aider. |
|||
| 20 | ||||
| 21 | > The portal is served over plain HTTP on the local domain, so your browser will show a **"Not Secure"** warning in the address bar. That's expected for an internal service — you can safely proceed. |
|||
| 22 | ||||
| 23 | --- |
|||
| 24 | ||||
| 25 | ## Step 1 — Sign Up on Open WebUI |
|||
| 26 | ||||
| 27 | Open your browser and go to: |
|||
| 28 | ||||
| 29 | ``` |
|||
| 30 | http://ai.enovate-it.local:12000 |
|||
| 31 | ``` |
|||
| 32 | ||||
| 33 | You'll land on the **Sign in to Open WebUI** screen. Since you don't have an account yet, click **"Sign up"** at the bottom (circled below). |
|||
| 34 | ||||
| 35 | ||||
| 36 |  |
|||
| 37 | ||||
| 38 | On the sign-up form, enter your **name**, **work email**, and a **password**, then submit. Once registered, sign in with those same credentials. |
|||
| 39 | ||||
| 40 | > **Note:** Depending on the server configuration, new accounts may need to be approved by an admin before they become active. If you sign in and see a "pending approval" message, ping the infra team to activate your account. |
|||
| 41 | ||||
| 42 | --- |
|||
| 43 | ||||
| 44 | ## Step 2 — Open Settings |
|||
| 45 | ||||
| 46 | Once you're signed in, you'll see the main chat interface with the available local models (e.g. **Qwen3-Coder-Next**). |
|||
| 47 | ||||
| 48 | Click your **name / avatar** at the bottom-left of the sidebar, then click **Settings** (circled below). |
|||
| 49 |  |
|||
| 50 | ||||
| 51 | --- |
|||
| 52 | ||||
| 53 | ## Step 3 — Get Your API Key |
|||
| 54 | ||||
| 55 | In the Settings dialog, select **Account** from the left menu (circled). Scroll down to the **API Key** section at the bottom. |
|||
| 56 | ||||
| 57 | Click the field to **reveal and copy** your key. It will look like `sk-xxxxxxxxxxxxxxxxxxxx`. |
|||
| 58 |  |
|||
| 59 | ||||
| 60 | > ⚠️ **Keep this key private.** It is tied to your account. Don't commit it to Git, paste it into shared docs, or share it in chat. Treat it like a password. |
|||
| 61 | ||||
| 62 | If you ever don't see a key, there's usually a small **"+"** / **"Create new key"** control in that section — click it to generate one. |
|||
| 63 | ||||
| 64 | --- |
|||
| 65 | ||||
| 66 | ## Step 4 — This Server *is* Your OpenAI API Platform |
|||
| 67 | ||||
| 68 | Here's the key idea: **Open WebUI exposes an OpenAI-compatible API.** That means any tool that can talk to OpenAI can talk to our local server instead — you just point it at our URL and use your key. |
|||
| 69 | ||||
| 70 | Wherever a tool asks for OpenAI settings, use: |
|||
| 71 | ||||
| 72 | ```bash |
|||
| 73 | OPENAI_API_BASE="http://ai.enovate-it.local:12000/api" |
|||
| 74 | OPENAI_API_KEY="<your api key>" |
|||
| 75 | ``` |
|||
| 76 | ||||
| 77 | - **Base URL:** `http://ai.enovate-it.local:12000/api` |
|||
| 78 | - **API Key:** the `sk-...` token you copied in Step 3. |
|||
| 79 | ||||
| 80 | The rest of this guide shows how to plug that into the two most common coding setups. |
|||
| 81 | ||||
| 82 | --- |
|||
| 83 | ||||
| 84 | ## Option A — Aider (Terminal) |
|||
| 85 | ||||
| 86 | **Best for:** people who like Claude-Code-style, terminal-driven pair programming directly on their repo. |
|||
| 87 | ||||
| 88 | Project site: <https://aider.chat/> |
|||
| 89 | ||||
| 90 | ### 1. Install Aider |
|||
| 91 | ||||
| 92 | Follow the install instructions at <https://aider.chat/docs/install.html>. The quickest way is usually: |
|||
| 93 | ||||
| 94 | ```bash |
|||
| 95 | python -m pip install aider-install |
|||
| 96 | aider-install |
|||
| 97 | ``` |
|||
| 98 | ||||
| 99 | (or `pip install aider-chat` inside a virtualenv). Once done, `aider --version` should work. |
|||
| 100 | ||||
| 101 | ### 2. Point Aider at the local server and run |
|||
| 102 | ||||
| 103 | Open a terminal, go into the repo you want to work on, export the two environment variables, and launch Aider against the local model: |
|||
| 104 | ||||
| 105 | ```bash |
|||
| 106 | # 1. Go to your repo |
|||
| 107 | cd repo |
|||
| 108 | ||||
| 109 | # 2. Point Aider at the local AI server |
|||
| 110 | export OPENAI_API_BASE="http://ai.enovate-it.local:12000/api" |
|||
| 111 | export OPENAI_API_KEY="sk-xxxx" # <-- your key from Step 3 |
|||
| 112 | ||||
| 113 | # 3. Launch Aider on the local model |
|||
| 114 | aider --model openai/qwen3-coder-next:latest |
|||
| 115 | ``` |
|||
| 116 | ||||
| 117 | That's it — Aider will open a chat prompt in your terminal, aware of your repo's files. Describe the change you want and it will propose edits (and commits) directly. |
|||
| 118 | ||||
| 119 | > **Tip:** The `openai/` prefix tells Aider to route through the OpenAI-compatible provider — don't drop it. The part after the slash (`qwen3-coder-next:latest`) is the exact model name as shown in Open WebUI's model dropdown. If a different model is available on the server, swap the name accordingly. |
|||
| 120 | ||||
| 121 | --- |
|||
| 122 | ||||
| 123 | ## Option B — Cline (VS Code / Cursor) |
|||
| 124 | ||||
| 125 | **Best for:** people who prefer an in-IDE assistant with GUI-driven file editing, diffs, and task automation. |
|||
| 126 | ||||
| 127 | ### 1. Install the Cline extension |
|||
| 128 | ||||
| 129 | In **VS Code** (or Cursor), open the Extensions panel, search for **Cline**, and install it. |
|||
| 130 | ||||
| 131 | ### 2. Configure Cline |
|||
| 132 | ||||
| 133 | 1. Open VS Code. |
|||
| 134 | 2. Click the **Cline icon** in the left sidebar (looks like a robotic eye / target symbol). |
|||
| 135 | 3. Click the **Gear icon (⚙️)** in the top-right of the Cline panel to open settings. |
|||
| 136 | 4. Under the **API Provider** dropdown, select **OpenAI Compatible**. |
|||
| 137 | 5. Fill out the fields exactly as follows: |
|||
| 138 | - **Base URL:** `http://ai.enovate-it.local:12000/api` |
|||
| 139 | - **API Key:** paste your `sk-...` token from Step 3. |
|||
| 140 | - **Model ID:** the exact model string, e.g. `openai/qwen3-coder-next:latest` |
|||
| 141 | ||||
| 142 | Save the settings. Cline will now route all requests through our local server, and you can start giving it coding tasks from inside the editor. |
|||
| 143 | ||||
| 144 | --- |
|||
| 145 | ||||
| 146 | ## Quick Reference |
|||
| 147 | ||||
| 148 | | Setting | Value | |
|||
| 149 | |---|---| |
|||
| 150 | | Portal (sign up / chat) | `http://ai.enovate-it.local:12000` | |
|||
| 151 | | API Base URL | `http://ai.enovate-it.local:12000/api` | |
|||
| 152 | | API Key | Your personal `sk-...` (Settings → Account → API Key) | |
|||
| 153 | | Example model ID | `openai/qwen3-coder-next:latest` | |
|||
| 154 | | Access requirement | **Must be on the office VPN** | |
|||
| 155 | ||||
| 156 | --- |
|||
| 157 | ||||
| 158 | ## Troubleshooting |
|||
| 159 | ||||
| 160 | **The URL won't load / "server not found".** |
|||
| 161 | You're almost certainly off the VPN, or the internal DNS isn't resolving `ai.enovate-it.local`. Reconnect to the VPN and try again; if it still fails, contact the infra team. |
|||
| 162 | ||||
| 163 | **Browser says "Not Secure".** |
|||
| 164 | Expected — the internal portal uses plain HTTP. Proceed normally. |
|||
| 165 | ||||
| 166 | **Aider or Cline returns a 401 / auth error.** |
|||
| 167 | Your API key is wrong, expired, or has a stray space. Re-copy it from Settings → Account and make sure `OPENAI_API_KEY` matches exactly. Regenerate the key if needed. |
|||
| 168 | ||||
| 169 | **"Model not found" error.** |
|||
| 170 | The model ID doesn't match what's on the server. Open the model dropdown in Open WebUI, copy the exact name, and use it after the `openai/` prefix (e.g. `openai/<exact-model-name>`). |
|||
| 171 | ||||
| 172 | **My account can't sign in after signup.** |
|||
| 173 | New accounts may require admin approval. Ask the infra team to activate yours. |
|||
| 174 | ||||
| 175 | --- |
|||
| 176 | ||||
| 177 | *Questions or something broken? Reach out to the infra / platform team.* |