summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/pl/index.mdx
blob: fc571ec5d9ef2418befd331ba64e296d752592bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
---
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.

![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.

---

## 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
  sudo pacman -S opencode           # Arch Linux (Stable)
  paru -S opencode-bin              # Arch Linux (Latest from AUR)
  ```

#### 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).