Konfiguracja MacBooka do pracy z AI: narzędzia i workflow w macOS
Tłumaczenie automatyczne
Ten artykuł został automatycznie przetłumaczony z angielskiego oryginału.
To konfiguracja, którą stosuję na nowym MacBooku, zanim zacznę pracę inżynierską z AI. Jest przeznaczona dla inżynierów, którzy przygotowują Maca z Apple Silicon do pracy z Pythonem i AI. Obejmuje narzędzia wiersza poleceń, których macOS nie ma, Homebrew, Pythona z uv, powłokę, wybór terminala i edytora, agentów do kodowania, Dockera oraz narzędzia do lokalnych modeli.
Część kroków jest obowiązkowa, a część to moje preferencje. Xcode Command Line Tools, Homebrew, Git i workflow dla Pythona to podstawy. Warp, iTerm2, Powerlevel10k, Cursor i narzędzia do uruchamiania lokalnych modeli to kwestia wyboru. Poniższe polecenia instalują podstawy, a dalsze sekcje opisują wybory, których dokonuję na ich bazie.
Kroki wykonuję w tej kolejności:
- Narzędzia wiersza poleceń Xcode.
- Homebrew.
- uv i Python.
- Oh My Zsh.
- Pluginy i Powerlevel10k.
Terminal, edytor, kontenery i lokalne modele to niezależne wybory. Możesz pominąć każdy z nich, a powyższe kroki nadal będą działać.
Narzędzia wiersza poleceń i Homebrew
Zacznij od narzędzi wiersza poleceń Apple:
xcode-select --install
macOS otworzy okno dialogowe, które przeprowadzi cię przez instalację.
Homebrew to menedżer pakietów, którego używam w dalszej części tej konfiguracji. Jego oficjalny instalator to jedno polecenie:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Instalator wyjaśnia, co zmieni, i prosi o potwierdzenie. Przewodnik instalacji Homebrew wymienia te zmiany i domyślne prefiksy.
Aby uruchomić sprawdzoną rewizję instalatora, pobierz skrypt, sprawdź jego
SHA-256 i uruchom lokalną kopię. Ten blok używa
commita 150c69d:
(
set -e
homebrew_installer="$(mktemp)"
trap 'rm -f "$homebrew_installer"' EXIT
curl --proto '=https' --tlsv1.2 --fail --location --show-error https://raw.githubusercontent.com/Homebrew/install/150c69df1e54b0b74c9fcca5a201410a2300816a/install.sh -o "$homebrew_installer"
printf '%s %s\n' 12479a24be3f5307eecac7cde670fad7118640f031229e964f544b1367b52a41 "$homebrew_installer" | shasum -a 256 --check
less "$homebrew_installer"
/bin/bash "$homebrew_installer"
)
Commit i SHA-256 ustalają skrypt instalacyjny, który uruchamiasz. Ten skrypt nadal instaluje najnowszą wersję Homebrew, a późniejsze polecenia instalują aktualne wersje pakietów. Przypięcie commita nie dowodzi, kto go napisał.
Na Apple Silicon Homebrew instaluje się w /opt/homebrew, którego nie ma w
domyślnym PATH. Instalator wypisuje polecenia, które to naprawiają, ale ich nie
uruchamia. Uruchom je samodzielnie:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
Pierwsza linia udostępnia brew w każdej nowej powłoce logowania. Druga udostępnia
go w bieżącej. Artykuł .zprofile a .zshrc
wyjaśnia, dlaczego ta linia trafia do .zprofile.
Zainstaluj narzędzia wiersza poleceń, których regularnie używam:
brew install uv htop gitmoji pandoc ncdu tmux
- uv zarządza wersjami Pythona, środowiskami, zależnościami, poleceniami i plikami lock. Konfiguruje go następna sekcja.
- htop to graficzny monitor systemu i procesów.
- tmux utrzymuje kilka sesji terminala w jednym oknie.
- ncdu pokazuje zajętość dysku według katalogów.
- gitmoji dodaje emoji do komunikatów commitów.
- pandoc konwertuje dokumenty między formatami.
Python z uv i pyenv
Zanim przeszedłem na uv, zarządzałem środowiskami Pythona za pomocą pyenv. Dziś uv obsługuje mój codzienny workflow. Zainstaluj najnowszą wersję Pythona zarządzaną przez uv:
uv python install
To polecenie instaluje najnowszą wersję dostępną w uv w chwili konfiguracji.
Uruchamiaj ją przez uv run python albo zacznij projekt od uv init. Jeśli projekt
potrzebuje konkretnej wersji, użyj sposobu przypinania z mojego krótkiego
przewodnika po zarządzaniu Pythonem w macOS za pomocą uv.
Po pyenv sięgam, gdy potrzebuję interpretera zbudowanego ze źródeł albo własnych opcji kompilacji CPythona, których nie dają gotowe dystrybucje uv. pyenv kompiluje Pythona ze źródeł, więc najpierw potrzebuje tych bibliotek. Lista opiera się na zalecanym środowisku kompilacji pyenv:
brew install pyenv openssl@3 readline sqlite3 xz tcl-tk@8 libb2 zstd zlib pkgconfig
- openssl zapewnia obsługę SSL/TLS dla modułu
sslPythona. - readline dodaje edycję linii i historię do interaktywnego interpretera.
- sqlite3 to wbudowana baza danych, na której opiera się
moduł
sqlite3Pythona. - xz, zlib i zstd zapewniają kompresję danych.
tcl-tk@8buduje moduł GUItkinter,libb2zapewnia haszowanie BLAKE2, apkgconfigpomaga kompilacji znaleźć pozostałe biblioteki.
uv nie potrzebuje żadnego z tych pakietów. Pomiń ten blok, jeśli nie używasz pyenv.
Terminal
Domyślny Terminal w macOS w zupełności wystarcza. Przez lata używałem iTerm2, a niedawno przeszedłem na Warp, terminal napisany w Rust z wbudowanymi funkcjami AI. Opisany dalej motyw Powerlevel10k zmienia prompt. W każdym terminalu wymaga jednej zmiany: ustaw czcionkę MesloLGS NF. W Warp otwórz też Settings → Appearance i w sekcji Input ustaw Input type na Shell (PS1). Warp domyślnie rysuje własny prompt, więc bez tej zmiany nie zobaczysz, jak wygląda prompt Powerlevel10k (dokumentacja Warp: prompt).
Jeśli zostajesz przy iTerm2, oto dwa ustawienia, które w nim zmieniam:
Włącz naturalną edycję tekstu
- Otwórz Preferences → Profiles → Keys → Key Mappings.
- Rozwiń listę Presets…
- Wybierz „Natural Text Editing”.
Wybierz motyw kolorystyczny
- Przejrzyj motywy w iTerm2-Color-Schemes.
- Otwórz Preferences → Profiles → Colors → Color Presets…
- Wybierz Import i wskaż pobrany motyw.
Zsh i Oh My Zsh
macOS używa Zsh jako domyślnej powłoki logowania.
Korzystam z dołączonego /bin/zsh;
Zsh z Homebrew instaluj tylko wtedy, gdy
potrzebujesz konkretnej, nowszej wersji upstream.
Sprawdź zainstalowany Zsh i bieżącą powłokę logowania:
echo "$SHELL"
command -v zsh
zsh --version
Jeśli Zsh jest zainstalowany, ale nie jest ustawiony jako powłoka logowania, przełącz się na dołączoną kopię:
chsh -s /bin/zsh
Po zmianie powłoki logowania otwórz nowy terminal.
Oh My Zsh dodaje ustawienia domyślne i system pluginów, których używam. Jego oficjalny instalator to:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Instalator zmienia nazwę istniejącego ~/.zshrc na ~/.zshrc.pre-oh-my-zsh i
tworzy nowy plik z własnego szablonu. Przenieś ze starego pliku do nowego
ustawienia, które chcesz zachować. Uruchom omz update, gdy chcesz nowszą wersję
Oh My Zsh. Domyślnie co 13 dni pyta też, czy przeprowadzić aktualizację.
Dwie kolejne sekcje dodają pluginy i motyw, i obie edytują ~/.zshrc. Rysunek
pokazuje, który plik zawiera którą linię, które linie zmieniasz i dokąd każda linia prowadzi na dysku.
Dodaj pluginy
Zainstaluj zsh-autosuggestions i zsh-syntax-highlighting w katalogu własnych pluginów Oh My Zsh:
git clone https://github.com/zsh-users/zsh-autosuggestions "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions"
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting"
zsh-autosuggestions podpowiada polecenia z historii w trakcie pisania. zsh-syntax-highlighting koloruje każde polecenie w trakcie pisania, więc literówki widać, zanim naciśniesz Enter.
W ~/.zshrc zastąp linię plugins=(git) z szablonu pluginami dla narzędzi z tego
artykułu:
plugins=(
git brew docker docker-compose macos python tmux vscode
zsh-autosuggestions zsh-syntax-highlighting
)
Jeśli zainstalowałeś pyenv, dodaj do listy pyenv. zsh-syntax-highlighting musi
pozostać ostatnim elementem tablicy. Moja lista zawiera też aws, gcloud,
kubectl i pre-commit. Dodawaj takie pluginy tylko wtedy, gdy używasz danego
narzędzia, bo każdy plugin wydłuża start powłoki. Wiki pluginów Oh My
Zsh opisuje dołączone pluginy.
Powerlevel10k i jego czcionka
Powerlevel10k to motyw Zsh, którego używam. Jego prompt pokazuje katalog roboczy, status Gita i aktywne środowisko Pythona. Motyw ma też interaktywny kreator konfiguracji. Zainstaluj go dla Oh My Zsh:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
W ~/.zshrc zastąp linię ZSH_THEME="robbyrussell" tą:
ZSH_THEME="powerlevel10k/powerlevel10k"
Otwórz nową powłokę i uruchom p10k configure. Kreator zapisuje twoje wybory w
~/.p10k.zsh.
Ikony Powerlevel10k wymagają czcionki MesloLGS NF. W iTerm2 p10k configure może
zainstalować ją automatycznie. W innych terminalach i edytorach pobierz i zainstaluj
cztery pliki TTF z przewodnika po czcionkach
Powerlevel10k, a
potem wybierz tę czcionkę. W Warp otwórz Settings → Appearance → Text i ustaw
Terminal font na MesloLGS NF. W VS Code lub Cursorze ustaw czcionkę
zintegrowanego terminala:
- Otwórz ustawienia edytora.
- Wyszukaj
terminal.integrated.fontFamily. - Ustaw wartość
MesloLGS NF.
Edytory i agenci do kodowania
Mam otwarty jeden edytor, a obok niego uruchamiam jednego lub dwóch agentów do kodowania. Obecnie używam Cursora, a równolegle działają Codex i Claude Code.
- Cursor to fork VS Code z wbudowanym programowaniem w parze z AI. Wybierz go, gdy chcesz, żeby model edytował kod w edytorze.
- VS Code ma większy katalog rozszerzeń. Wybierz go, gdy potrzebujesz rozszerzenia, którego Cursor nie obsługuje.
- Claude Code i Codex CLI to agenci do kodowania działający w terminalu. Czytają repozytorium, edytują pliki i uruchamiają polecenia. Używaj ich do zmian w wielu plikach albo do zadań, które wymagają uruchomienia testów.
- GitHub Desktop to klient Gita na sytuacje, w których nie chcę przechodzić do CLI.
Wszystkie można zainstalować jako pakiety cask w Homebrew:
brew install --cask cursor visual-studio-code claude-code codex github
Homebrew nie aktualizuje Claude Code samodzielnie; uruchom brew upgrade claude-code.
Jeśli wolisz automatyczne aktualizacje, użyj zamiast tego natywnego instalatora
Anthropic: curl -fsSL https://claude.ai/install.sh | bash.
Kontenery i lokalne modele
Pozostałe narzędzia zależą od pracy, którą planuję wykonywać na tej maszynie. Konfiguracja powłoki i Pythona nie zależy od kontenerów ani lokalnych modeli.
- Docker Desktop to środowisko uruchomieniowe kontenerów, którego używam. Jego licencja jest bezpłatna do użytku osobistego i dla małych firm, które mają mniej niż 250 pracowników i mniej niż $10 mln rocznych przychodów. Większe firmy potrzebują płatnego planu (licencja Docker Desktop).
- Podman Desktop jest open source i nie ma takiego warunku licencyjnego. Wybierz go, gdy twoja firma przekracza te progi i nie płaci za Dockera.
- Ollama działa jako usługa w tle z lokalnym API. Wybierz ją, gdy model wywołują skrypty albo aplikacja.
- LM Studio to aplikacja desktopowa do wyszukiwania, ładowania i porównywania modeli. Wybierz ją, gdy chcesz testować modele ręcznie. Może też udostępniać lokalne API.
Je również można zainstalować jako pakiety cask:
brew install --cask docker-desktop # or podman-desktop
brew install --cask ollama-app # or lm-studio
Lokalne LLMs w macOS szczegółowo porównuje Ollamę, LM Studio, llama.cpp i MLX-LM.
Powtórz konfigurację na kolejnym Macu
Homebrew potrafi zapisać formuły i pakiety cask z tej konfiguracji w pliku Brewfile i zainstalować je na nowej maszynie:
brew bundle dump --file ~/Brewfile
brew bundle --file ~/Brewfile
Pierwsze polecenie uruchom na starym Macu; dodaj --force, aby nadpisać istniejący Brewfile. Na nowym Macu zainstaluj Xcode Command Line Tools i Homebrew, wykonaj krok brew shellenv, a potem uruchom drugie polecenie.
Przechowuj Brewfile i kopie .zprofile, .zshrc oraz .p10k.zsh bez sekretów w repozytorium dotfiles. Powtórz instalację Pythona zarządzanego przez uv oraz ręczne kroki dla Oh My Zsh, pluginów, Powerlevel10k i czcionki. Przywróć pliki konfiguracji powłoki po instalacji Oh My Zsh, ponieważ jego instalator nadpisuje .zshrc. Ponownie zastosuj ustawienia terminala i edytora.
Brewfile zapisuje nazwy pakietów bez blokowania ich wersji. Przywrócone pakiety mogą być nowsze; dokumentacja Homebrew Bundle wyjaśnia to ograniczenie.
Materiały źródłowe
- Podręcznik Terminala Apple: zmiana domyślnej powłoki
- Instalacja Homebrew i formuła Zsh w Homebrew
- Instalacja Oh My Zsh i konfiguracja Zsh w macOS
- Instalacja Powerlevel10k
- Instalacja pyenv i konfiguracja powłoki
- Zarządzanie Pythonem w uv
- Warp: konfiguracja opcji prompt
- Konfiguracja Claude Code i Codex CLI
- Docker Desktop dla Maca i licencja Docker Desktop
- Dokumentacja Ollama