Saturday, October 24, 2026

Ollama Local Stuff

How to install Ollama with Qwen3:8b

*Trying to keep up with model naming is a moving target so "qwen3-vl:8b" is an example. It's small enough to run with older hardware.

Minimum specs
Component Minimum
RAM 8 GB
CPU Any modern 64-bit with AVX2 (most CPUs from ~2015+) Use CPU-Z to check
GPU None — CPU-only is fine
Disk 10-15 GB free (model ~4.87 GB + Ollama ~3.6 GB + headroom)

open CMD
ollama pull qwen3-vl:8b   
ollama run qwen3-vl:8b   (This command should also install qwenqwen3-vl:8b if not installed.)
ollama --version   
You are in the command prompt
How to really run it
Go to the Ollama taskbar icon, right click, open Ollama
Go to upper left icon and click
Click the model selector and choose qwen3-vl:8b
Now chat away
ollama list                 See what models you have downloaded
ollama run qwen3-vl:8b Start interactive chat
ollama pull qwen3-vl:8b Download (or update) the model
ollama rm qwen3-vl:8b Delete the model to free disk space

The info below was for qwen3:8b but qwen3-vl:8b accepts binaries.
It only accepts submitted text.
You can submit the content with PowerShell prompt or in the Olamma chat prompt.
    This will not work with a binary format (.pdf, .docx, .xlsx)
    Install pdftotext to extract locally.

Example 1: You have several months of credit card statements
Get-Content 'C:\Users\You\Downloads\Chase_Activity.csv' | ollama run qwen3-vl:8b --nowordwrap "Find recurring charges and estimate annual cost:" | Tee-Object -FilePath 'C:\Users\You\Downloads\chase_analysis.txt' 

Example 2:
ollama run qwen3-vl:8b "Here is a legal document. Summarize the charge, key dates, deadlines, and conditions in plain English:`n$(Get-Content 'C:\Users\you\Desktop\document.txt')"   
    Yikes, I hope you don't need this one 🤣

Documents "uploaded" are on the local machine
If you want it truly gone after you're done
Close the Ollama app.
Navigate to C:\Users\<you>\AppData\Local\Ollama\ in File Explorer.
Delete (or overwrite) db.sqlite.

Adding to Open Code
This is my full json with Open Code added
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": [
    "openslimedit@latest",
    "@tarquinen/opencode-dcp@latest",
    "opencode-snip@latest"
  ],
  "permission": {
    "bash": "ask",
    "edit": "ask"
  },
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen3:8b": {
          "name": "Qwen3 8B (local)",
          "tools": true
        }
      }
    }
  }
}

Key points:

"tools": true is what enables OpenCode's agentic tool-calling (running commands, editing files) with the local model. Without it, you get a chat-only experience.

The model key ("qwen3:8b") must match the exact Ollama tag — check with ollama list.

If OpenCode prompts for an API key for the new provider, just enter ollama (it's a local placeholder).

Don't set "model": "ollama/qwen3:8b" at the top level unless you want it as your default. Leave it unset and use /models in-session to switch between Grok and Qwen3. 

Speed Test:
CMD
ollama run qwen3-vl:8b --verbose --think=false "Write a 200-word explanation of TCP congestion control."

While running open new CMD
ollama ps
This shows the usage between CPU and VRAM

Model Benchmark
Enter the model name where llama3:8b is
Open terminal where bench.py exists run py bench.py

import time
import requests

url = "http://localhost:11434/api/generate"
payload = {
    "model": "llama3:8b",  # Replace with your local model name
    "prompt": "Write a detailed 500-word history of the internet.",
    "stream": False
}

start_time = time.time()
response = requests.post(url, json=payload)
end_time = time.time()

if response.status_code == 200:
    data = response.json()
    total_duration = end_time - start_time
    eval_count = data.get("eval_count", 0)  # Number of generated tokens
    eval_duration = data.get("eval_duration", 1) / 1e9  # Convert nanoseconds to seconds
    tokens_per_sec = eval_count / eval_duration if eval_duration > 0 else 0

    print(f"--- Benchmark Results ---")
    print(f"Total Time: {total_duration:.2f} seconds")
    print(f"Generated Tokens: {eval_count}")
    print(f"Speed: {tokens_per_sec:.2f} tokens/second")
else:
    print("Error:", response.text)

Hermes Stuff

I just installed Hermes and connected to Claud 5.5 Haiku Useful Day-One Desktop Shortcuts: Ctrl + T — Open a new chat tab. Ctrl + Shift +...