mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-07 09:18:41 +00:00
347 lines
8.4 KiB
Plaintext
347 lines
8.4 KiB
Plaintext
---
|
||
title: Wstęp
|
||
description: Zacznij pracę z opencode.
|
||
---
|
||
|
||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||
import config from "../../../../config.mjs"
|
||
export const console = config.console
|
||
|
||
[**opencode**](/) to agent kodujący AI typu open source. Jest dostępny jako interfejs terminalowy, aplikacja desktopowa i rozszerzenie IDE.
|
||
|
||

|
||
|
||
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.
|
||
|
||
---
|
||
|
||
## Instalacja
|
||
|
||
Najłatwiej zainstalować opencode za pomocą skryptu instalacyjnego.
|
||
|
||
```bash
|
||
curl -fsSL https://opencode.ai/install | bash
|
||
```
|
||
|
||
Możesz też użyć poniższych metod instalacji:
|
||
|
||
- **Przy użyciu Node.js**
|
||
|
||
<Tabs>
|
||
|
||
<TabItem label="npm">
|
||
```bash
|
||
npm install -g opencode-ai
|
||
```
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="Bun">
|
||
```bash
|
||
bun install -g opencode-ai
|
||
```
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="pnpm">
|
||
```bash
|
||
pnpm install -g opencode-ai
|
||
```
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="Yarn">
|
||
```bash
|
||
yarn global add opencode-ai
|
||
```
|
||
|
||
</TabItem>
|
||
|
||
</Tabs>
|
||
|
||
- **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
|
||
```
|
||
|
||
#### Windows
|
||
|
||
:::tip[Zalecane: Uruchamianie w WSL]
|
||
Aby najlepiej wykorzystać działanie w systemie Windows, zalecamy włączenie [Podsystemu Windows dla systemu Linux (WSL)](/docs/windows-wsl). Zapewnia to pełną kompatybilność z funkcjami opencode.
|
||
:::
|
||
|
||
- **Używając Chocolatey**
|
||
|
||
```bash
|
||
choco install opencode
|
||
```
|
||
|
||
- **Korzystanie z Scoop**
|
||
|
||
```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 pracujemy nad instalacją opencode w systemie Windows za pomocą Bun.
|
||
|
||
Możesz także pobrać plik binarny z [Releases](https://github.com/anomalyco/opencode/releases).
|
||
|
||
---
|
||
|
||
## Konfiguracja
|
||
|
||
Dzięki opencode możesz korzystać z dowolnego dostawcy LLM, konfigurując jego klucze API.
|
||
|
||
Jeśli będziesz korzystać z wielu dostawców LLM, zalecamy skorzystanie z [OpenCode Zen](/docs/zen).
|
||
Aby uzyskać dostęp do wyselekcjonowanej listy modeli, które zostały zatwierdzone i zweryfikowane przez zespół opencode.
|
||
|
||
1. Uruchom polecenie `/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).
|
||
|
||
---
|
||
|
||
## Inicjalizacja
|
||
|
||
Po skonfigurowaniu dostawcy możesz przejść do projektu, nad którym chcesz pracować.
|
||
|
||
```bash
|
||
cd /path/to/project
|
||
```
|
||
|
||
Uruchom opencode.
|
||
|
||
```bash
|
||
opencode
|
||
```
|
||
|
||
Następnie zainicjuj opencode dla projektu, uruchamiając odpowiednie polecenie.
|
||
|
||
```bash frame="none"
|
||
/init
|
||
```
|
||
|
||
Spowoduje to, że opencode przeanalizuje Twój projekt i utworzy plik `AGENTS.md` w katalogu głównym projektu.
|
||
|
||
:::tip
|
||
Powinieneś zacommitować plik `AGENTS.md` swojego projektu w Git.
|
||
:::
|
||
|
||
Pomaga to opencode zrozumieć strukturę projektu i stosowane wzorce kodowania.
|
||
|
||
---
|
||
|
||
## Użycie
|
||
|
||
Teraz możesz pracować nad swoim projektem. Możesz zapytać o wszystko!
|
||
|
||
Jeśli dopiero zaczynasz korzystać z agenta kodującego AI, oto kilka wskazówek, które mogą być pomocne.
|
||
|
||
---
|
||
|
||
### Zadawaj pytania
|
||
|
||
Możesz poprosić opencode o wyjaśnienie bazy kodu.
|
||
|
||
:::tip
|
||
Użyj `@` 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 poprosić opencode o dodanie nowej funkcji do Twojego projektu. Najpierw zalecamy poproszenie o przygotowanie planu.
|
||
|
||
1. **Stwórz Plan**
|
||
|
||
opencode ma _Plan Mode_, który umożliwia wyłączenie zmian i
|
||
zamiast tego zasugeruje, jak zaimplementować tę funkcję.
|
||
|
||
Przejdź do niego za pomocą klawisza **Tab**. Zobaczysz odpowiedni wskaźnik w prawym dolnym rogu.
|
||
|
||
```bash frame="none" title="Switch to Plan mode"
|
||
<TAB>
|
||
```
|
||
|
||
Opiszmy teraz, co chcemy, żeby zrobił.
|
||
|
||
```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 jest bardzo inteligentna, aby zrozumieć, czego chcesz. To pomaga
|
||
rozmawiaj z nim tak, jakbyś rozmawiał z młodszym programistą w swoim zespole.
|
||
|
||
:::tip
|
||
Podaj opencode kontekst, aby zrozumiał, czego chcesz.
|
||
:::
|
||
|
||
2. **Udoskonalanie planu**
|
||
|
||
Gdy będziesz mieć plan, możesz zostawić go lub dodać 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 zrozumieć je. Możesz to zrobić, przeciągając i upuszczając obraz do terminala.
|
||
|
||
3. **Wprowadź zmiany**
|
||
|
||
Kiedy już będziesz zadowolony z planu, przełącz się z powrotem do _Act Mode_ naciskając klawisz **Tab**.
|
||
|
||
```bash frame="none"
|
||
<TAB>
|
||
```
|
||
|
||
Poproś o wprowadzenie zmian.
|
||
|
||
```bash frame="none"
|
||
Sounds good! Go ahead and make the changes.
|
||
```
|
||
|
||
---
|
||
|
||
### Wprowadź zmiany
|
||
|
||
Aby wprowadzić kolejną zmianę, możesz poprosić opencode lub zrobić to bezpośrednio 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 upewnić się, że dostarczyłeś odpowiednie pliki, aby opencode mógł wprowadzić 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 zdajesz sobie sprawę, że to nie jest to, czego chciałeś. **Możesz cofnąć** 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żesz edytować monit i poprosić opencode o ponowną próbę.
|
||
|
||
:::tip
|
||
Możesz użyć `/undo` wiele razy, aby cofnąć wiele zmian.
|
||
:::
|
||
|
||
Możesz też **przywrócić** zmianę za pomocą polecenia `/redo`.
|
||
|
||
```bash frame="none"
|
||
/redo
|
||
```
|
||
|
||
---
|
||
|
||
## Udostępnianie
|
||
|
||
Rozmowy z opencode można [udostępniać swojemu zespołowi](/docs/share).
|
||
|
||
```bash frame="none"
|
||
/share
|
||
```
|
||
|
||
Spowoduje to, że link do bieżącej rozmowy zostanie skopiowany do schowka.
|
||
|
||
:::note
|
||
Rozmowy nie są ogólnodostępne.
|
||
:::
|
||
|
||
Oto [przykładowa rozmowa](https://opencode.ai/s/4XP1fce5) z opencode.
|
||
|
||
---
|
||
|
||
## Dostosuj
|
||
|
||
To 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 poleceń](/docs/commands) lub zabawę z [konfiguracją opencode](/docs/config).
|