Free kit · private · local · 24/7

Your AI, on your machine, running all the time

What you ask stays on your computer, and you can use it from your phone anywhere without opening a port to the internet.

Banner: Your private AI — local, uncensored, and running 24/7
In brief

This is a free kit for running an open AI model on your own computer without sending your data to any company. It is for people who handle sensitive information (medical tests, contracts, finances, logs) or need a model that does not refuse legitimate tasks. One script checks your machine and recommends the best standard and uncensored models that fit. Another measures speed and checks that the port is closed. To use it from anywhere, the kit connects your devices through a private network (Tailscale). You need Python 3.10+, Ollama, and, to use it away from home, a free Tailscale account.

Video

Watch it in 3 minutes

The three levels explained, with the numbers measured in our test (video in Portuguese).

📱 Vertical version (phone)

For first-time users

Your own ChatGPT, running on your computer

In simple terms: what it is, what it does, and what it’s like to use every day.

🌐 How it works today

When you use ChatGPT or Claude, what you write travels over the internet to a company’s computer, where the answer is generated. Did you paste in a test result, a contract, or your company’s spreadsheet? That text has left your hands.

💻 AI on your computer

There are free, open AI models you can download as a program. Ollama is the program that runs them. Once downloaded, the AI can answer even without internet, and nothing you ask leaves your computer.

🔓 “Uncensored”

It’s a version of the same AI that doesn’t refuse to answer. For example, you want to understand an attack on your own website, and the usual AI says, “I can’t help with that.” Since it answers almost anything, you’re responsible for how you use it (see Security).

📱 On your phone, from anywhere

Tailscale creates a private tunnel between your phone and your home computer. You ask a question on your phone while you’re out, and your home computer answers. No one outside can see this tunnel.

🖥️ What if I don’t leave my computer on?

You can rent a computer in a data center that stays on 24 hours a day: this is called a VPS. It doesn’t have a graphics card, so it runs a smaller AI, but still fast enough for reading (about 13 word pieces per second in our measurements). The Tailscale tunnel works the same way: your phone connects to the VPS, and its port stays closed to the rest of the internet.

What it is

Three tiers, from easiest to most open

You do not need a paid “agent operating system.” It is three open tools and a few scripts that prove everything works.

The kit's six blocks: quadrant, right model, local use, Tailscale, GPU-free VPS, and voice

☁️ 1 · API

An uncensored model on another company’s server. Quick to get started, but your prompt leaves your machine. It is in the companion kit Uncensored AI, the right way.

💻 2 · Local

Ollama (a free program that runs models on your computer) with the model that escolhe_modelo.py recommends for your memory. Nothing leaves your machine.

📱 3 · Always on

Tailscale creates a private network between your devices: your phone uses your home GPU (Path A) or a small model on a VPS (Path B).

Quadrant

Two questions determine where the AI runs

Can the data NOT leave your machine? Does the standard model refuse what you need to do? In the script, --dado-sensivel sim means “it cannot leave.” Choose “uncensored” only when the standard model refuses a legitimate task.

The standard model can handle it
The standard model refuses
The data can leave
Standard cloudThe assistant you already subscribe to. A post, a summary of a public article, open source code.
Uncensored cloudAPI or rented GPU. Security research in your lab, accepting that the prompt passes through a provider.
The data CANNOT leave
Standard localMedical tests, client contracts, finances, company logs.
Uncensored localA log from an attack on your server with the actual commands; sensitive medical or legal questions.
python3 kit/scripts/quadrante.py --dado-sensivel sim --recusa nao
LOCAL NORMAL
  quando: Exames, contratos, financas, logs da empresa: nada sai do computador.
  como:   Nivel 2 deste kit: escolhe_modelo.py -> modelo normal.
Measured figures · 11/08/2026

How much speed does the private network cost? Nothing.

Home machine: NVIDIA DGX Spark (128 GB unified memory), not a typical laptop. The selector would recommend the 122B; we measured the 27B because it fits machines with 24 to 99 GB, the most common range. For a laptop without a GPU, the closest reference is the VPS gray bars. Same question, response of up to 160 tokens (word pieces), measured with checa_local.py. Comfortable reading is around 10 tokens/s. The files for each measurement are in kit/verificacao/.

Home GPU, localQwen 3.8 27B uncensored
17.8 tok/s
Path A · VPS calling the home GPU through TailscaleQwen 3.8 27B uncensored
17.6 tok/s
Home GPU, localQwen 3.8 27B standard
15.4 tok/s
Path B · CPU-only VPSQwen 3.5 4B uncensored
13.6 tok/s
Path B over the network · home GPU calling the VPSQwen 3.5 4B uncensored
12.8 tok/s
Path B · CPU-only VPSQwen 3.5 4B standard
12.6 tok/s
Path B · CPU-only VPSQwen 3.5 9B uncensored
8.5 tok/s
27B model on the GPU (128 GB unified memory)4B–9B model on a 4 vCPU / 16 GB VPS, with no GPU

📶 The network adds little overhead

The home GPU responded at 17.8 tokens/s on the machine itself and 17.6 over the Tailscale network, on the port and with the command taught in this guide.

⏳ The first question takes longer

Loading the model took 16 to 47 seconds on the VPS. Then it stays in memory for 5 minutes and responds directly.

🔓 Uncensored is not slower

The uncensored and standard models of the same size had similar speeds.

Prerequisites

What you need

Everything is free, except for the Path B VPS if you choose that option.

Python 3.10+ and git

The scripts use only the standard library. Mac and Linux already include them; on Windows, install them from python.org and git-scm.com. No git? Download the kit ZIP.

python3 --version
git --version

Ollama

Runs the models. On Linux, use the command below; on Mac and Windows, use the installer from ollama.com/download.

curl -fsSL https://ollama.com/install.sh | sh

Tailscale (Tier 3)

A private network between your devices, free for personal use. Install it at home and on your phone, using the same account.

curl -fsSL https://tailscale.com/install.sh | sh
Guide terms

Each guide term in one sentence

Port 11434

The “window” programs use to talk to Ollama on the computer.

loopback / 127.0.0.1

Only the computer itself can see it. This is the safe state.

Tailscale / tailnet

A private network only for your devices. “tailnet only” means only they can see it.

funnel

A Tailscale option that opens access to the entire internet. Do not use it with Ollama.

VPS / vCPU

A computer rented in a data center and running 24/7. vCPU = one of its processor cores.

API

Using a model that runs on another company's server and paying for usage.

Unified memory

Macs (M chips) and some GPU machines: the same memory is shared by the processor and GPU.

OLLAMA_HOST=0.0.0.0

A setting that opens Ollama to any network. The kit flags it as “open.”

abliterated / huihui_ai

“Abliterated” = an uncensored version of an open model. huihui_ai publishes these versions in the Ollama library.

4B, 9B, 27B

Billions of parameters: the model size. Larger models answer better and need more memory.

35b-a3b (fast)

A large model that uses only 3B per word (“MoE”): it takes up the memory of a large model and responds almost as fast as a small one.

Qwen

A family of open models from Alibaba. The kit uses versions 3.5, 3.6, and 3.8.

Ubuntu / ssh / root

Ubuntu = the VPS's Linux system. ssh = access its terminal from yours (the IP is in the provider's dashboard). root = the VPS administrator.

GPU / sudo

GPU = graphics card. sudo = run a command as an administrator on Linux/Mac (it asks for your password).

Windows: use python instead of python3. The scripts work, but checa_local.py's port check is for Linux and Mac only. Paths A and B use Linux commands: on Windows, run them on a Linux machine (or the VPS) and use Windows only as the accessing device.
User guide · step by step

From scratch to AI on your phone

Run the commands from the project folder. Would you rather have an assistant do it for you? Each step has a ready-to-use prompt in kit/prompts/.

1

Download the kit and run the tests

The tests do not use the internet or Ollama: they only confirm that the scripts are correct. Without git, download the ZIP (prerequisites) and open a terminal inside the folder.

git clone https://github.com/inematds/ia-privada-3-niveis.git
cd ia-privada-3-niveis
python3 -m unittest discover -s kit/testes -v  # ends with OK
2

Find the right model for your machine

The script checks memory (GPU, Mac unified memory, or RAM) and disk space. It shows two models and the command to download them, but does not download anything by itself.

The kit scripts print their messages in Portuguese; the meaning of each line is explained on this page.

python3 kit/scripts/escolhe_modelo.py
Memoria: 16.0 GB (RAM / memoria unificada); util para modelo: 14.0 GB
Disco livre: 80.0 GB

Melhor local (normal):       Qwen 3.5 9B  ->  ollama pull qwen3.5:9b  (6.6 GB)
  uso: bom equilibrio para 16 GB
Melhor local (sem censura):  Qwen 3.5 9B  ->  ollama pull huihui_ai/qwen3.5-abliterated:9b  (6.6 GB)
MemoryStandardUncensoredDownload
4–5 GB (test only)qwen3.5:0.8b / qwen3.5:2b-q4_K_Mhuihui_ai/qwen3.5-abliterated:0.8B / :2B1–1.9 GB
6–9 GBqwen3.5:4bhuihui_ai/qwen3.5-abliterated:4B3.3 GB
10–23 GBqwen3.5:9bhuihui_ai/qwen3.5-abliterated:9b6.6 GB
24–99 GBqwen3.8:27bhuihui_ai/Qwen3.8-abliterated:27b18 GB
31 GB or more (fast alternative)qwen3.6:35b-a3bhuihui_ai/Qwen3.6-abliterated:35b-a3b23–24 GB
100 GB or moreqwen3.5:122bhuihui_ai/qwen3.5-abliterated:122B81 GB
3

Download and measure

checa_local.py asks a question, measures speed, checks the port, and saves a new file named after the model in kit/verificacao/, alongside this guide's measurements. The port line should say loopback (it does not appear on Windows; that is normal). If it says “Ollama did not respond” (“o Ollama não respondeu”), open the Ollama app or run ollama serve.

ollama pull huihui_ai/qwen3.5-abliterated:9b
python3 kit/scripts/checa_local.py --modelo huihui_ai/qwen3.5-abliterated:9b
# Porta 11434 nesta maquina: loopback ['127.0.0.1']
# Velocidade: ... tokens/s
4

Chat with it

To exit, type /bye. In the terminal, paste the document text into your prompt. Prefer a window? The Ollama app (Mac and Windows) chats with downloaded models and lets you drag in files. Standard and uncensored models can be downloaded side by side: switch by calling a different model name.

ollama run huihui_ai/qwen3.5-abliterated:9b

PDF document: convert it to text and send it along with your request. pdftotext is included in the poppler-utils package (Linux) or brew install poppler (Mac). On Windows, the easiest option is the Ollama app: choose a model and drag the file into the chat; everything runs on your computer. A very long document (dozens of pages) may exceed the model's text limit: split it into parts.

pdftotext contrato.pdf contrato.txt
cat contrato.txt | ollama run huihui_ai/qwen3.5-abliterated:9b "Summarize in 2 lines: amount, due date and late fee."
5

Path A: use your home GPU from anywhere

First sign in to your Tailscale account on this machine: on Linux, sudo tailscale up shows a link to open in your browser; on Mac and Windows, the app asks you to sign in when it opens. Then make Ollama available only on your private network. The status should say “tailnet only.” If you see “Access denied,” run sudo tailscale set --operator=$USER once.

sudo tailscale up
tailscale serve --bg --tcp 11434 tcp://127.0.0.1:11434
tailscale serve status   # must show "tailnet only"
tailscale ip -4          # the 100.x.y.z address to use on your phone

On your phone, install the Tailscale app and sign in to the same account. Then install an app that works with Ollama, such as Ollama App (Android) or Enchanted (iPhone), and enter http://100.x.y.z:11434 as the server address. On your laptop, the same address works with checa_local.py:

python3 kit/scripts/checa_local.py --base-url http://100.x.y.z:11434 --modelo huihui_ai/Qwen3.8-abliterated:27b --nome casa-pelo-tailscale

To turn it off: tailscale serve --tcp 11434 off.

6

Path B: a small model running 24/7 on a VPS

For anyone who does not leave a computer on. A typical VPS has no GPU: up to 9B, at the speed shown in the chart above. Rent an Ubuntu VPS with at least 8 GB and open its terminal (using ssh root@<IP> or the provider's web terminal). As root, run:

curl -fsSL https://ollama.com/install.sh | sh
ss -ltn | grep 11434          # only 127.0.0.1:11434
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up                  # open the link it prints in your browser and sign in
tailscale serve --bg --tcp 11434 tcp://127.0.0.1:11434
ollama pull huihui_ai/qwen3.5-abliterated:4B
git clone https://github.com/inematds/ia-privada-3-niveis.git
cd ia-privada-3-niveis
python3 kit/scripts/checa_local.py --so-porta

Proof that it is closed: from your computer, http://<VPS public IP>:11434 should fail, and http://<VPS Tailscale IP>:11434 should respond. With tailscale serve running, --so-porta on the VPS shows tailscale; when it is off, it shows loopback. Both are safe; open never is. If you do not log in as root, add sudo before tailscale up and tailscale serve.

7

Optional: talk to it

The free Jarvis Local kit already supports fully local voice chat. Add the sem_censura and casa entries from kit/config/jarvis-cerebros.exemplo.json to its list of brains and say “switch to the uncensored brain.” Voice needs a GPU: on the Path B VPS, text only.

Ready-to-use promptWhat the assistant does
01 · Install and choose (in Portuguese)Installs Ollama with your OK, runs the selector, downloads your choice, and measures it.
02 · Home through Tailscale (in Portuguese)Path A, checking for “tailnet only” and never using funnel.
03 · Always-on VPS (in Portuguese)Path B, with proof that the public port is closed.
Safety

Uncensored models put the responsibility on you

An abliterated model is an open model with its reflex to refuse removed. It answers almost anything, so the rules below act as guardrails.