Inside The Machine
Your machine · read-only

Scan my machine.

One read-only command reads your computer's specs. Nothing is uploaded.

The scan command

1Paste this in the Terminal app.

scan.shRead-only
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
Open the example

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

  1. 1MemoryHow much RAMsysctl hw.memsize
  2. 2ChipApple M1 … or Intelsysctl machdep.cpu.brand_string
  3. 3ModelMac Studio, MacBook Air …system_profiler SPHardwareDataType
  4. 4SystemmacOS versionsw_vers -productVersion
  5. 5Free diskRoom in your home folderdf -Pk $HOME
  6. 6AI apps14 apps, like Ollama and LM Studiocommand -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=16

The 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.sh
Or download it, read it, then run it
2Other ways

Or tell us your computer.

No Terminal? Pick your computer.

What computer do you have?

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
Not sure?Scan it

Memory alone gives a rough answer. Have a graphics card? Use the list or type your specs.

Agent view · text/markdown · or send Accept: text/markdown

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>