Scan my machine.
One read-only command reads your computer's specs. Nothing is uploaded.
The scan command
curl -fsSL https://insidethemachine.ai/scan.sh | sh
# Example, MacBook Air 13"/15" (M5), 16 GB:
Memory: 16 GB
Chip: Apple M5
Your setup: https://insidethemachine.ai/my?os=mac&chip=apple-m5&hw=macbook-air-13-15&ram=16
2Open the link it prints. Or paste it to your AI agent.
What it never does
- Writes nothing
- Installs nothing
- Sends nothing
Read the script firstWhat it reads · scan.sh · 64 lines
It writes no files and changes no settings. It installs no apps or drivers. The only network call is the download.
What it readsmacOS
- 1MemoryHow much RAM
sysctl hw.memsize - 2ChipApple M1 … or Intel
sysctl machdep.cpu.brand_string - 3ModelMac Studio, MacBook Air …
system_profiler SPHardwareDataType - 4SystemmacOS version
sw_vers -productVersion - 5Free diskRoom in your home folder
df -Pk $HOME - 6AI apps14 apps, like Ollama and LM Studio
command -v ollama lms …
Example outputMacBook Air 13"/15" (M5), 16 GB (shortened)
Memory: 16 GB
Chip: Apple M5
Graphics: Apple M5, 16 GB
Your setup: https://insidethemachine.ai/my?os=mac&chip=apple-m5&hw=macbook-air-13-15&ram=16
Setup sheet: https://insidethemachine.ai/start/go?os=mac&chip=apple-m5&hw=macbook-air-13-15&ram=16The scriptscan.sh · plain text
#!/bin/sh
# Inside The Machine: scan my machine (macOS and Linux).
# READ-ONLY. It reads a few facts about this computer. It writes no files,
# installs nothing and sends nothing. The only network call was the curl that
# downloaded it. It prints links. Open one, or paste it to your agent.
SITE="https://insidethemachine.ai"
has() { command -v "$1" >/dev/null 2>&1; }
slug() { printf '%s' "$1" | tr '[:upper:]' '[:lower:]' | tr -cs 'a-z0-9.' '-' | sed 's/^-//; s/-$//' | cut -c1-48; }
RAM=""; CHIP=""; HW=""; GPU=""; VRAM=""; OSV=""
if [ "$(uname -s)" = Darwin ]; then
OS=mac; OSV="macos-$(sw_vers -productVersion)"
RAM=$(( $(sysctl -n hw.memsize) / 1073741824 ))
CHIP=$(sysctl -n machdep.cpu.brand_string 2>/dev/null)
HW=$(system_profiler SPHardwareDataType 2>/dev/null | awk -F': ' '/Model Name/{print $2; exit}')
case "$CHIP" in Apple*) GPU="$CHIP"; VRAM="$RAM";; esac # Apple chips share one memory
else
OS=linux
# shellcheck disable=SC1091
OSV=$(. /etc/os-release 2>/dev/null; echo "${ID:-linux}-${VERSION_ID:-}")
RAM=$(awk '/^MemTotal:/{printf "%d", $2/1048576 + 0.5}' /proc/meminfo)
CHIP=$(awk -F': ' '/^model name/{print $2; exit}' /proc/cpuinfo)
[ -n "$CHIP" ] || CHIP=$(uname -m)
if has nvidia-smi; then
GPU=$(nvidia-smi --query-gpu=name --format=csv,noheader 2>/dev/null | head -n 1)
VRAM=$(nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits 2>/dev/null | awk 'NR==1{printf "%d", $1/1024 + 0.5}')
else
for f in /sys/class/drm/card*/device/mem_info_vram_total; do
[ -r "$f" ] && VRAM=$(awk '{printf "%d", $1/1073741824 + 0.5}' "$f") && break
done
has lspci && GPU=$(lspci 2>/dev/null | awk -F': ' '/VGA|3D|Display/{print $2; exit}')
fi
fi
DISK=$(df -Pk "$HOME" 2>/dev/null | awk 'NR==2{printf "%d", $4/1048576}')
APPS=""
add() { APPS="${APPS:+$APPS,}$1"; }
if has ollama || [ -d /Applications/Ollama.app ]; then add ollama; fi
if has lms || [ -d "/Applications/LM Studio.app" ] || [ -d "$HOME/.lmstudio" ]; then add lm-studio; fi
if has llama-server || has llama-cli || has llama; then add llama-cpp; fi
if has mlx_lm.generate || [ -d "$HOME/.venvs/mlx" ]; then add mlx-lm; fi
if has open-webui || [ -d "$HOME/.venvs/openwebui" ]; then add open-webui; fi
if has jan || [ -d /Applications/Jan.app ]; then add jan; fi
if has vllm; then add vllm; fi
if has whisper-cli || [ -d "$HOME/whisper.cpp" ]; then add whisper-cpp; fi
if has aider; then add aider; fi
if has opencode; then add opencode; fi
if has hermes; then add hermes-agent; fi
if [ -d "/Applications/Draw Things.app" ]; then add draw-things; fi
if [ -d /Applications/ComfyUI.app ] || [ -d "$HOME/ComfyUI" ]; then add comfyui; fi
if has docker; then add docker; fi
Q="ram=$RAM&os=$OS&osv=$(slug "$OSV")&chip=$(slug "$CHIP")"
[ -n "$HW" ] && Q="$Q&hw=$(slug "$HW")"
[ -n "$GPU" ] && Q="$Q&gpu=$(slug "$GPU")"
[ -n "$VRAM" ] && Q="$Q&vram=$VRAM"
[ -n "$DISK" ] && Q="$Q&disk=$DISK"
[ -n "$APPS" ] && Q="$Q&apps=$APPS"
echo "Memory: ${RAM} GB"
echo "Chip: ${CHIP:-unknown} ${HW:+($HW)}"
echo "Graphics: ${GPU:-none found}${VRAM:+, $VRAM GB}"
echo "System: $OSV, ${DISK:-?} GB free"
echo "AI apps: ${APPS:-none found}"
echo
echo "Your setup: $SITE/my?$Q"
echo "Setup sheet: $SITE/start/go?$Q"
echo "For agents: $SITE/my.json?$Q"
curl -fsSL https://insidethemachine.ai/scan.sh -o scan.sh && less scan.sh && sh scan.shOr download it, read it, then run itOr tell us your computer.
No Terminal? Pick your computer.
Pick a machine first. Not in the list? .
Or just pick your memory.
How do I find my memory?
- Mac
- Apple menu → About This Mac
- Windows
- Settings → System → About
- Graphics card
- Task Manager → Performance → GPU → Dedicated memory
Memory alone gives a rough answer. Have a graphics card? Use the list or type your specs.
Scan my machine
URL: https://insidethemachine.ai/my One read-only command reads your computer's specs. Nothing is uploaded. It prints a link to https://insidethemachine.ai/my?... (agents: https://insidethemachine.ai/my.json?...) and a setup sheet link, https://insidethemachine.ai/start/go?... (the same query: it opens the front door with your system and memory filled in, or your setup sheet when the link also has pack= and way=). - macOS / Linux: `curl -fsSL https://insidethemachine.ai/scan.sh | sh` - Windows PowerShell: `irm https://insidethemachine.ai/scan.ps1 | iex` Then open the link it prints, or paste it to your AI agent. What it never does: writes nothing (no files, no settings), installs nothing (no apps, no drivers), sends nothing (the only network call is the download).
Read the script first
Read first: `curl -fsSL https://insidethemachine.ai/scan.sh -o scan.sh && less scan.sh && sh scan.sh` What it reads: memory, chip, Mac model name (macOS), graphics card and its memory, system version, free disk, and which AI apps are installed.
scan.sh
```sh
#!/bin/sh
# Inside The Machine: scan my machine (macOS and Linux).
# READ-ONLY. It reads a few facts about this computer. It writes no files,
# installs nothing and sends nothing. The only network call was the curl that
# downloaded it. It prints links. Open one, or paste it to your agent.
SITE="https://insidethemachine.ai"
has() { command -v "$1" >/dev/null 2>&1; }
slug() { printf '%s' "$1" | tr '[:upper:]' '[:lower:]' | tr -cs 'a-z0-9.' '-' | sed 's/^-//; s/-$//' | cut -c1-48; }
RAM=""; CHIP=""; HW=""; GPU=""; VRAM=""; OSV=""
if [ "$(uname -s)" = Darwin ]; then
OS=mac; OSV="macos-$(sw_vers -productVersion)"
RAM=$(( $(sysctl -n hw.memsize) / 1073741824 ))
CHIP=$(sysctl -n machdep.cpu.brand_string 2>/dev/null)
HW=$(system_profiler SPHardwareDataType 2>/dev/null | awk -F': ' '/Model Name/{print $2; exit}')
case "$CHIP" in Apple*) GPU="$CHIP"; VRAM="$RAM";; esac # Apple chips share one memory
else
OS=linux
# shellcheck disable=SC1091
OSV=$(. /etc/os-release 2>/dev/null; echo "${ID:-linux}-${VERSION_ID:-}")
RAM=$(awk '/^MemTotal:/{printf "%d", $2/1048576 + 0.5}' /proc/meminfo)
CHIP=$(awk -F': ' '/^model name/{print $2; exit}' /proc/cpuinfo)
[ -n "$CHIP" ] || CHIP=$(uname -m)
if has nvidia-smi; then
GPU=$(nvidia-smi --query-gpu=name --format=csv,noheader 2>/dev/null | head -n 1)
VRAM=$(nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits 2>/dev/null | awk 'NR==1{printf "%d", $1/1024 + 0.5}')
else
for f in /sys/class/drm/card*/device/mem_info_vram_total; do
[ -r "$f" ] && VRAM=$(awk '{printf "%d", $1/1073741824 + 0.5}' "$f") && break
done
has lspci && GPU=$(lspci 2>/dev/null | awk -F': ' '/VGA|3D|Display/{print $2; exit}')
fi
fi
DISK=$(df -Pk "$HOME" 2>/dev/null | awk 'NR==2{printf "%d", $4/1048576}')
APPS=""
add() { APPS="${APPS:+$APPS,}$1"; }
if has ollama || [ -d /Applications/Ollama.app ]; then add ollama; fi
if has lms || [ -d "/Applications/LM Studio.app" ] || [ -d "$HOME/.lmstudio" ]; then add lm-studio; fi
if has llama-server || has llama-cli || has llama; then add llama-cpp; fi
if has mlx_lm.generate || [ -d "$HOME/.venvs/mlx" ]; then add mlx-lm; fi
if has open-webui || [ -d "$HOME/.venvs/openwebui" ]; then add open-webui; fi
if has jan || [ -d /Applications/Jan.app ]; then add jan; fi
if has vllm; then add vllm; fi
if has whisper-cli || [ -d "$HOME/whisper.cpp" ]; then add whisper-cpp; fi
if has aider; then add aider; fi
if has opencode; then add opencode; fi
if has hermes; then add hermes-agent; fi
if [ -d "/Applications/Draw Things.app" ]; then add draw-things; fi
if [ -d /Applications/ComfyUI.app ] || [ -d "$HOME/ComfyUI" ]; then add comfyui; fi
if has docker; then add docker; fi
Q="ram=$RAM&os=$OS&osv=$(slug "$OSV")&chip=$(slug "$CHIP")"
[ -n "$HW" ] && Q="$Q&hw=$(slug "$HW")"
[ -n "$GPU" ] && Q="$Q&gpu=$(slug "$GPU")"
[ -n "$VRAM" ] && Q="$Q&vram=$VRAM"
[ -n "$DISK" ] && Q="$Q&disk=$DISK"
[ -n "$APPS" ] && Q="$Q&apps=$APPS"
echo "Memory: ${RAM} GB"
echo "Chip: ${CHIP:-unknown} ${HW:+($HW)}"
echo "Graphics: ${GPU:-none found}${VRAM:+, $VRAM GB}"
echo "System: $OSV, ${DISK:-?} GB free"
echo "AI apps: ${APPS:-none found}"
echo
echo "Your setup: $SITE/my?$Q"
echo "Setup sheet: $SITE/start/go?$Q"
echo "For agents: $SITE/my.json?$Q"
```
scan.ps1
```powershell
# Inside The Machine: scan my machine (Windows PowerShell).
# READ-ONLY. It reads a few facts about this computer. It writes no files,
# installs nothing and sends nothing. The only network call was the irm that
# downloaded it. It prints links. Open one, or paste it to your agent.
& {
$Site = "https://insidethemachine.ai"
function Slug($s) { if (-not $s) { return "" }; $t = ("$s".ToLower() -replace '[^a-z0-9.]+', '-').Trim('-'); if ($t.Length -gt 48) { $t = $t.Substring(0, 48) }; $t }
function Has($n) { [bool](Get-Command $n -ErrorAction SilentlyContinue) }
$ram = [math]::Round((Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory / 1GB)
$chip = "$((Get-CimInstance Win32_Processor | Select-Object -First 1).Name)".Trim()
$os = Get-CimInstance Win32_OperatingSystem
$osv = "$($os.Caption) $($os.BuildNumber)"
$gpu = ""; $vram = ""
if (Has nvidia-smi) {
$l = "$(nvidia-smi --query-gpu=name,memory.total --format=csv,noheader,nounits | Select-Object -First 1)" -split ','
$gpu = $l[0].Trim(); $vram = [math]::Round([double]$l[1].Trim() / 1024)
} else {
# the display driver keys hold the real (64-bit) memory size; Win32_VideoController stops at 4 GB
$key = 'HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}'
$best = Get-ChildItem $key -ErrorAction SilentlyContinue | ForEach-Object { Get-ItemProperty $_.PSPath -ErrorAction SilentlyContinue } |
Where-Object { $_.'HardwareInformation.qwMemorySize' } | Sort-Object { [uint64]$_.'HardwareInformation.qwMemorySize' } -Descending | Select-Object -First 1
if ($best) { $gpu = $best.DriverDesc; $vram = [math]::Round([uint64]$best.'HardwareInformation.qwMemorySize' / 1GB) }
else { $v = Get-CimInstance Win32_VideoController | Select-Object -First 1; if ($v) { $gpu = $v.Name } }
}
$disk = [math]::Floor((Get-PSDrive -Name $env:SystemDrive.TrimEnd(':')).Free / 1GB)
$p = $env:LOCALAPPDATA + '\Programs'
$apps = @()
if ((Has ollama) -or (Test-Path "$p\Ollama")) { $apps += 'ollama' }
if ((Has lms) -or (Test-Path "$p\LM Studio") -or (Test-Path "$HOME\.lmstudio")) { $apps += 'lm-studio' }
if ((Has llama-server) -or (Has llama-cli)) { $apps += 'llama-cpp' }
if (Has open-webui) { $apps += 'open-webui' }
if ((Has jan) -or (Test-Path "$p\Jan")) { $apps += 'jan' }
if (Has whisper-cli) { $apps += 'whisper-cpp' }
if (Has aider) { $apps += 'aider' }
if (Has opencode) { $apps += 'opencode' }
if (Has hermes) { $apps += 'hermes-agent' }
if (Test-Path "$p\ComfyUI") { $apps += 'comfyui' }
if (Has docker) { $apps += 'docker' }
$q = "ram=$ram&os=win&osv=$(Slug $osv)&chip=$(Slug $chip)"
if ($gpu) { $q += "&gpu=$(Slug $gpu)" }
if ($vram) { $q += "&vram=$vram" }
$q += "&disk=$disk"
if ($apps.Count) { $q += "&apps=$($apps -join ',')" }
Write-Host "Memory: $ram GB"
Write-Host "Chip: $chip"
Write-Host "Graphics: $(if ($gpu) { $gpu } else { 'none found' })$(if ($vram) { ", $vram GB" })"
Write-Host "System: $osv, $disk GB free"
Write-Host "AI apps: $(if ($apps.Count) { $apps -join ', ' } else { 'none found' })"
Write-Host ""
Write-Host "Your setup: $Site/my?$q"
Write-Host "Setup sheet: $Site/start/go?$q"
Write-Host "For agents: $Site/my.json?$q"
}
```
Or tell us your computer (no Terminal)
Pick your machine from https://insidethemachine.ai/machines data, type your specs, or open https://insidethemachine.ai/my?ram=<GB>&os=<mac|linux|win> with one of these memory sizes: 8, 16, 24, 32, 48, 64, 96, 128, 192, 256, 512 GB. Memory alone gives a rough answer; a graphics card changes it. Without a chip or graphics card in the link, the page says what it doesn't know (chip, graphics card, or system) instead of guessing. Find your memory: Mac: Apple menu → About This Mac. Windows: Settings → System → About. Graphics card: Task Manager → Performance → GPU → Dedicated memory. Query keys: ram (GB), os (mac|linux|win), osv, chip, hw (Mac model), gpu, vram (GB), disk (GB free), apps (comma list). Stack keys: app, model (models.json id), tools (comma list), saved (YYYY-MM-DD), h (harness), stt, tts, img, vid. Without the scan: https://insidethemachine.ai/my.json?ram=<GB>