--- title: Wprowadzenie description: Rozpocznij pracę z OpenCode. --- import { Tabs, TabItem } from "@astrojs/starlight/components" import config from "../../../../config.mjs" export const console = config.console [**OpenCode**](/) do agenta kodującego AI typu open source. Dostępny jest jako interfejs terminalowy, aplikacja komputerowa lub rozszerzenie IDE. ![OpenCode TUI z motywem opencode](../../../assets/lander/screenshot.png) Zacznijmy. --- #### Warunki wstępne Aby uzyskać dostęp do OpenCode w swoim terminalu, będziesz potrzebować: 1. Nowoczesny emulator terminala, taki jak: - [WezTerm](https://wezterm.org), wieloplatformowy - [Alacritty](https://alacritty.org), wieloplatformowy - [Ghostty](https://ghostty.org), Linux i macOS - [Kitty](https://sw.kovidgoyal.net/kitty/), Linux i macOS 2. Klucze API dla dostawców LLM, z których korzystasz. --- ## Zainstalować Najłatwiejszym sposobem instalowania OpenCode jest zastosowanie skryptu instalacyjnego. ```bash curl -fsSL https://opencode.ai/install | bash ``` Można także zalogować się do urządzenia instalacyjnego: - **Przy użyciu Node.js** ```bash npm install -g opencode-ai ``` ```bash bun install -g opencode-ai ``` ```bash pnpm install -g opencode-ai ``` ```bash yarn global add opencode-ai ``` - **Korzystanie z Homebrew na macOS i Linux** ```bash brew install anomalyco/tap/opencode ``` > W celu uzyskania najbardziej aktualnej wersji zalecamy korzystanie z OpenCode. Oficjalna formuła `brew install opencode` jest utrzymywana przez zespół Homebrew i jest aktualizowana. - **Korzystanie z Paru na Arch Linux** ```bash paru -S opencode-bin ``` #### Okna :::tip[Zalecane: prowadzenie WSL] Aby najlepiej wykorzystać działanie w systemie Windows, zalecamy udostępnienie [Podsystemu Windows dla systemu Linux (WSL)](/docs/windows-wsl). pozwolenie na użytkowanie i pełna kompatybilność z funkcjami OpenCode. ::: - **Używając czekolady** ```bash choco install opencode ``` - **Korzystanie z miarki** ```bash scoop install opencode ``` - **Przy użyciu NPM** ```bash npm install -g opencode-ai ``` - **Używając Mise’a** ```bash mise use -g github:anomalyco/opencode ``` - **Korzystanie z Dockera** ```bash docker run -it --rm ghcr.io/anomalyco/opencode ``` Obecnie trwają prace nad instalacją OpenCode w systemie Windows za pomocą Bun. Możesz także otrzymać plik binarny z [Releases](https://github.com/anomalyco/opencode/releases). --- ## Skonfiguruj Dzięki OpenCode możesz korzystać z dowolnego dostawcy LLM, konfigurując jego klucze API. Jeśli nadal będziesz korzystać z dostawców LLM, zalecamy skorzystanie z [OpenCode Zen](/docs/zen). Do wyselekcjonowanej listy modeli, które zostały zatwierdzone i zweryfikowane przez OpenCode zespół. 1. Uruchom opcję `/connect` w TUI, wybierz opencode i przejdź do [opencode.ai/auth](https://opencode.ai/auth). ```txt /connect ``` 2. Zaloguj się, dodaj szczegóły rozliczeniowe i skopiuj klucz API. 3. Wklej swój klucz API. ```txt ┌ API key │ │ └ enter ``` Alternatywnie możesz wybrać jednego z dodatkowych dostawców. [Dowiedz się więcej](/docs/providers#directory). --- ## Zainicjuj Po skonfigurowaniu dostawcy, który może przejść do projektu, który chcesz pracować. ```bash cd /path/to/project ``` Uruchamiam OpenCode. ```bash opencode ``` Następnie zainicjuj OpenCode dla projektu, uruchamiając odpowiednią instrukcję. ```bash frame="none" /init ``` Spowoduje to, że OpenCode przeanalizuje Twój projekt i utworzy plik `AGENTS.md` katalog główny projektu. :::tip Powinieneś zatwierdzić plik `AGENTS.md` swojego projektu w Git. ::: Pomaga w OpenCode zrozumieniu struktury projektu i wzorce kodowania używany. --- ## Stosowanie Teraz możesz pracować nad swoim projektem. Możesz o to zapytać wszystko! Jeśli tylko zaczniesz korzystać z agenta kodującego AI, oto kilka, które mogą być używane pomoc. --- ### Zadawaj pytania Możesz uruchomić OpenCode o wyjaśnienie bazy kodu. :::tip klawisza klawisza `@` do wyszukiwania rozmytego plików w projekcie. ::: ```txt frame="none" "@packages/functions/src/api/index.ts" How is authentication handled in @packages/functions/src/api/index.ts ``` Jest to pomocne, jeśli istnieje część bazy kodu, nad którą nie pracowałeś. --- ### Dodaj funkcje Możesz zastosować OpenCode o nowej funkcji do Twojego projektu. Najpierw zalecamy poproszenie o wypłacenie planu. 1. **Plan Stworza** OpenCode ma _tryb płaski_, który umożliwia wyłączenie zmian i zamiast tego zasugeruj, jak_ zaimplementuje tę funkcję. Przejdź do niego za pomocą klawisza **Tab**. W osobnym dolnym rogu zobacz właściwy wskaźnik. ```bash frame="none" title="Switch to Plan mode" ``` Opiszmy teraz, co chcemy, żeby robił. ```txt frame="none" When a user deletes a note, we'd like to flag it as deleted in the database. Then create a screen that shows all the recently deleted notes. From this screen, the user can undelete a note or permanently delete it. ``` Wersja OpenCode zawiera dużo oprogramowania, aby zrozumieć, czego chcesz. To pomaga rozmawiaj z nim tak, jakbyś rozmawiał z młodszym programistą w swoim zespole. :::tip Podaj OpenCode kontekstu i kontekstu, które można zrozumieć, co Ty chcieć. ::: 2. **Postęp zgodnie z planem** Gdy będziesz mieć plan, możesz pozostawić go lub podłączyć więcej. ```txt frame="none" We'd like to design this new screen using a design I've used before. [Image #1] Take a look at this image and use it as a reference. ``` :::tip Przeciągnij i upuść obrazy do terminala, aby dodać je do monitu. ::: OpenCode może zeskanować obrazy, które mu przekażesz i poprosisz o potwierdzenie. Możesz należy to, przeciągając i upuszczając obraz do terminala. 3. **Stwórz przełącza** Kiedy już jest komfortowo z planem, przełącz się z powrotem do _trybu_ zamknięcie na klawisza **Tab**. ```bash frame="none" ``` Poproszę o wprowadzenie zmian. ```bash frame="none" Sounds good! Go ahead and make the changes. ``` --- ### Wprowadź zmiany Aby zastosować następczą zmianę, można zastosować OpenCode lub bezpośrednio zbudowanie go bez konieczności wcześniejszego przeglądania planu. ```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts" We need to add authentication to the /settings route. Take a look at how this is handled in the /notes route in @packages/functions/src/notes.ts and implement the same logic in @packages/functions/src/settings.ts ``` Musisz mieć dostęp, że pod warunkiem dostępności narzędzia, więc OpenCode ma właściwie zmiany. --- ### Cofnij zmiany Załóżmy, że prosisz OpenCode o wprowadzenie zmian. ```txt frame="none" "@packages/functions/src/api/index.ts" Can you refactor the function in @packages/functions/src/api/index.ts? ``` Ale z sobie sobie sprawę, że to nie jest to, czego chciałeś. **Możesz być** zmiany za pomoc polecenia `/undo`. ```bash frame="none" /undo ``` OpenCode cofnie teraz zmiany i wyświetli wiadomość Ponownie. ```txt frame="none" "@packages/functions/src/api/index.ts" Can you refactor the function in @packages/functions/src/api/index.ts? ``` Można zastosować monit i zastosować OpenCode o próbę próby. :::tip Można `/undo` wiele razy, aby uniknąć wielu zmian. ::: Możesz też **możesz powtórzyć** zmianę za pomocą polecenia `/redo`. ```bash frame="none" /redo ``` --- ## Udział Rozmowy z OpenCode można [udostępniać swoim zespół](/docs/share). ```bash frame="none" /share ``` Spowoduje to, że łącza do bieżących połączeń idą do schowki. :::note Rozmowy nie są ogólnodostępne. ::: Oto [przykładowa rozmowa](https://opencode.ai/s/4XP1fce5) z OpenCode. --- ## Dostosuj tyle! Jesteś teraz profesjonalistą w korzystaniu z OpenCode. Aby dostosować go do potrzeb, zalecamy [wybranie motywu](/docs/themes), [dostosowanie skrótów klawiaturowych](/docs/keybinds), [konfigurowanie programów formatujących kod](/docs/formatters), [tworzenie niestandardowych kodów](/docs/commands) lub grę z [konfiguracją OpenCode](/docs/config).