mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-08 17:59:09 +00:00
wip(docs): i18n (#12681)
This commit is contained in:
67
packages/web/src/content/docs/pl/1-0.mdx
Normal file
67
packages/web/src/content/docs/pl/1-0.mdx
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
title: Migracja do wersji 1.0
|
||||
description: Co nowego w OpenCode 1.0.
|
||||
---
|
||||
|
||||
OpenCode 1.0 do całkowitej przeróbki TUI.
|
||||
|
||||
Przeszliśmy z TUI na go+bubbletea, który miał problemy z wydajnością i możliwościami, do wewnętrznego frameworka (OpenTUI) obciążającego w zig+solidjs.
|
||||
|
||||
Nowy TUI działa jak stary, łączy się z tym samym serwerem opencode.
|
||||
|
||||
---
|
||||
|
||||
## Aktualizacja
|
||||
|
||||
Nie automatyczna aktualizacja do wersji 1.0, która jest dostępna w wersji 1.0
|
||||
wersja. Starsze wersje OpenCode zawsze pobierają najnowszą wersję.
|
||||
|
||||
Aby móc, móc
|
||||
|
||||
```bash
|
||||
$ opencode upgrade 1.0.0
|
||||
```
|
||||
|
||||
Aby uruchomić wersję 0.x, uruchom
|
||||
|
||||
```bash
|
||||
$ opencode upgrade 0.15.31
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Zmiany UX
|
||||
|
||||
Historia sesji jest bardziej skompresowana i znaleziono pełne szczegóły narzędzia do edycji w bash.
|
||||
|
||||
Dodaliśmy pasek kontrolny, przez który przepływa prawie wszystko. działanie nie ctrl+p, aby przejść do zdarzenia, które zawiera wszystko, co można regenerować.
|
||||
|
||||
Dodano pasek boczny sesji (możliwość przejścia do urządzenia) z odłączonym dostępem.
|
||||
|
||||
Usunęliśmy pewne funkcje, z których nie ma pewności, czy ktoś faktycznie korzystał. Jeśli brakuje czegoś ważnego, otwórz problem, a my szybko dodamy.
|
||||
|
||||
---
|
||||
|
||||
## Przełomowe zmiany
|
||||
|
||||
### Zmieniono skrótów klawiszowych
|
||||
|
||||
- wiadomości_przywróć -> wiadomości_cofnij
|
||||
- uruchomienie_agent -> cykl_agent
|
||||
- switch_agent_reverse -> agent_cycle_reverse
|
||||
- tryb_przełączenie -> cykl_agenta
|
||||
- switch_mode_reverse -> agent_cycle_reverse
|
||||
|
||||
### Usunięto klawisze
|
||||
|
||||
- Przegrzewanie_układu_wiadomości
|
||||
- wiadomości_następne
|
||||
- wiadomości_poprzednie
|
||||
- plik_diff_toggle
|
||||
- wyszukiwanie_pliku
|
||||
- plik_zamknij
|
||||
- lista_plików
|
||||
- pomoc_aplikacji
|
||||
- projekt_init
|
||||
- szczegóły_narzędzia
|
||||
- myślenie_bloki
|
||||
156
packages/web/src/content/docs/pl/acp.mdx
Normal file
156
packages/web/src/content/docs/pl/acp.mdx
Normal file
@@ -0,0 +1,156 @@
|
||||
---
|
||||
title: Wsparcie AKP
|
||||
description: przetwarzanie OpenCode w procesorze komunikatu z ACP.
|
||||
---
|
||||
|
||||
OpenCode obsługi [Protokół klienta agenta](https://agentclientprotocol.com) lub (ACP), dzięki któremu można przejść do oprogramowania bezpośrednio w zainstalowanych edytorach i środowisku IDE.
|
||||
|
||||
:::tip
|
||||
Lista edytorów i narzędzi obsługujących ACP w [raportu sprzętu ACP](https://zed.dev/blog/acp-progress-report#available-now).
|
||||
:::
|
||||
|
||||
ACP do otwierania dokumentów, które standaryzują treść między edytorami kodu a agentem kodującym AI.
|
||||
|
||||
---
|
||||
|
||||
## Skonfiguruj
|
||||
|
||||
Aby wybrać OpenCode przez ACP, skonfiguruj edytor tak, aby wybrać opcję `opencode acp`.
|
||||
|
||||
Uruchomienie OpenCode jako podproces oprogramowania z ACP, który komunikuje się z edytorem poprzez JSON-RPC poprzez stdio.
|
||||
|
||||
Poniżej znajdują się przykłady procesorów obsługujących ACP.
|
||||
|
||||
---
|
||||
|
||||
### Zeda
|
||||
|
||||
Dodaj do konstrukcji [Zed](https://zed.dev) (`~/.config/zed/settings.json`):
|
||||
|
||||
```json title="~/.config/zed/settings.json"
|
||||
{
|
||||
"agent_servers": {
|
||||
"OpenCode": {
|
||||
"command": "opencode",
|
||||
"args": ["acp"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Aby przejść do akcji, `agent: new thread` w **Palecie redakcji**.
|
||||
|
||||
Można także po skrócie skrótowym, edytując `keymap.json`:
|
||||
|
||||
```json title="keymap.json"
|
||||
[
|
||||
{
|
||||
"bindings": {
|
||||
"cmd-alt-o": [
|
||||
"agent::NewExternalAgentThread",
|
||||
{
|
||||
"agent": {
|
||||
"custom": {
|
||||
"name": "OpenCode",
|
||||
"command": {
|
||||
"command": "opencode",
|
||||
"args": ["acp"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### IDE JetBrains
|
||||
|
||||
Dodaj do swojego [JetBrains IDE](https://www.jetbrains.com/) acp.json zgodnie z [dokumentacją](https://www.jetbrains.com/help/ai-assistant/acp.html):
|
||||
|
||||
```json title="acp.json"
|
||||
{
|
||||
"agent_servers": {
|
||||
"OpenCode": {
|
||||
"command": "/absolute/path/bin/opencode",
|
||||
"args": ["acp"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Aby przejść do nowego agenta „OpenCode” w selektorze agenta AI Chat.
|
||||
|
||||
---
|
||||
|
||||
### Avante.nvim
|
||||
|
||||
Dodaj do konstrukcji [Avante.nvim](https://github.com/yetone/avante.nvim):
|
||||
|
||||
```lua
|
||||
{
|
||||
acp_providers = {
|
||||
["opencode"] = {
|
||||
command = "opencode",
|
||||
args = { "acp" }
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli chcesz zachować bezpieczeństwo:
|
||||
|
||||
```lua {6-8}
|
||||
{
|
||||
acp_providers = {
|
||||
["opencode"] = {
|
||||
command = "opencode",
|
||||
args = { "acp" },
|
||||
env = {
|
||||
OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### CodeCompanion.nvim
|
||||
|
||||
Aby OpenCode jako agenta ACP w [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim), dodaj dodatkowe elementy, aby otrzymać konstrukcje Neovim:
|
||||
|
||||
```lua
|
||||
require("codecompanion").setup({
|
||||
interactions = {
|
||||
chat = {
|
||||
adapter = {
|
||||
name = "opencode",
|
||||
model = "claude-sonnet-4",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
Ta konfiguracja CodeCompanion wymaga OpenCode jako agenta ACP dla czatu.
|
||||
|
||||
Jeśli jesteś zarejestrowany jako `OPENCODE_API_KEY`, zapoznaj się z sekcją [Konfigurowanie adapterów: Zmienne przebieg](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) w dokumentacji CodeCompanion.nvim, aby uzyskać szczegółowe informacje.
|
||||
|
||||
## Wsparcie
|
||||
|
||||
OpenCode działa tak samo przez ACP, jak w terminalu. Obsługiwane są wszystkie funkcje:
|
||||
|
||||
:::note
|
||||
początek źródła ukośnikowego, takie jak `/undo` i `/redo`, nie są aktualne pobierane.
|
||||
:::
|
||||
|
||||
- Wbudowane narzędzie (operacje na plikach, rozwiązanie terminala itp.)
|
||||
- Niestandardowe narzędzie i polecenie ukośnikowe
|
||||
- Serwery MCP skonfigurowane w konfiguracji OpenCode
|
||||
- Zasady dotyczące projektu od `AGENTS.md`
|
||||
- Niestandardowe formatory i lintery
|
||||
- Agentów systemowych i uprawnień
|
||||
747
packages/web/src/content/docs/pl/agents.mdx
Normal file
747
packages/web/src/content/docs/pl/agents.mdx
Normal file
@@ -0,0 +1,747 @@
|
||||
---
|
||||
title: Agencja
|
||||
description: Konfiguruj i używaj funkcjonalnych agentów.
|
||||
---
|
||||
|
||||
Agencje do urządzeń asystenci AI, które można podłączyć do gniazd zasilania i przepływów pracy. Umożliwiają tworzenie ukierunkowanych narzędzi z niestandardowymi monitami, modelami i udostępnianiem narzędzi.
|
||||
|
||||
:::tip
|
||||
Skorzystaj z agenta planu, aby uzyskać dostęp do kodu i przeglądać informacje bez dodatkowych zmian w kodzie.
|
||||
:::
|
||||
|
||||
Możesz przełączać się między agentami podczas sesji lub wywoływać ich za pomocą wzmianki `@`.
|
||||
|
||||
---
|
||||
|
||||
## Typowe
|
||||
|
||||
W OpenCode zasada dwóch charakterystycznych agentów; Najpierw pierwotni i subagenci.
|
||||
|
||||
---
|
||||
|
||||
### Agencja Pierwsi
|
||||
|
||||
Główne zasady asystenci, z podstawowym kontaktem. Możesz je mieć za pomocą klawisza **Tab** lub podwójnego skrótu klawiszowego `switch_agent`. Ci agenci obsługujący urządzenie główne. Dostęp do narzędzia jest konfigurowany za pomocą uprawnień — na przykład w programie Build wszystkie narzędzia są dostępne, a plan jest ograniczony.
|
||||
|
||||
:::tip
|
||||
Twój klawisz klawisza **Tab**, aby wyłączyć się między agentami podczas sesji.
|
||||
:::
|
||||
|
||||
OpenCode zawiera dwa puste agenty główne: **Build** i **Plan**. Dobrze
|
||||
spójrz na te poniżej.
|
||||
|
||||
---
|
||||
|
||||
### Podagencje
|
||||
|
||||
Podagenci do pomocniczych asystenci, których można przywoływać agenci główni w celu wykonania podstawowych zadań. Możesz także wytwarzać je, **@ wspominając** o nich w swoich wiadomościach.
|
||||
|
||||
OpenCode ma dwóch subagentów: **Ogólne** i **Eksploruj**. Przyjrzymy się temu poniżej.
|
||||
|
||||
---
|
||||
|
||||
## Wbudowany
|
||||
|
||||
OpenCode ma dwa główne agenty i dwa główne agenty podrzędne.
|
||||
|
||||
---
|
||||
|
||||
### korzystać z pracy
|
||||
|
||||
_Tryb_: `primary`
|
||||
|
||||
Kompilacja jest **domyślnym** agentem zastosowania z ukrytymi narzędziami. Jest to standardowy agent do prac programistycznych, którego dostęp jest udostępniony do operacji na plikach i podstawowych systemowych.
|
||||
|
||||
---
|
||||
|
||||
### założenie z planu
|
||||
|
||||
_Tryb_: `primary`
|
||||
|
||||
Zastrzeżony agent do analizy. Używamy systemu, aby włączyć Ci większe ryzyko i zapobiec niezamierzonym zmianom.
|
||||
Domyślnie są wybrane na `ask`:
|
||||
|
||||
- `file edits`: Wszystkie zapisy, transkrypcja i edycje
|
||||
- `bash`: Wszystkie polecam bash
|
||||
|
||||
Ten agent jest podłączony, gdy chcesz, aby LLM był kompatybilny z kodem, który wymaga zastosowania lub wersji plastikowej bez konieczności stosowania innej wersji bazy kodu.
|
||||
|
||||
---
|
||||
|
||||
### miejsce
|
||||
|
||||
_Tryb_: `subagent`
|
||||
|
||||
Rozwiązanie rozwiązania złożone z zadań wieloetapowych. Pełny dostęp do narzędzia (z funkcjonalnymi funkcjami do wykonania), dzięki czemu może w razie potrzeby zostać dostarczone w plikach. Przewoźnik dziesięć, aby określić wiele jednostek roboczych.
|
||||
|
||||
---
|
||||
|
||||
### eksploracji
|
||||
|
||||
_Tryb_: `subagent`
|
||||
|
||||
Szybki agent tylko do odczytu do eksploracji baz kodu. Nie można modyfikować plików. Użycie tej opcji, jeśli chcesz szybko uzyskać dostęp do plików według wzorców, wyszukać w kodzie słowa kluczowe lub rozwiązania dotyczące zapytań dotyczących bazy kodu.
|
||||
|
||||
---
|
||||
|
||||
### zagęszczanie danych
|
||||
|
||||
_Tryb_: `primary`
|
||||
|
||||
Ukryty agent systemowy, który jest kontekstem kontekstowym w dużym podsumowaniu. W razie działania nie można przejść do interfejsu użytkownika.
|
||||
|
||||
---
|
||||
|
||||
### jako tytuł
|
||||
|
||||
_Tryb_: `primary`
|
||||
|
||||
Ukryty agent systemowy, krótki tytuł sesji. Działa automatycznie i nie można przejść do interfejsu użytkownika.
|
||||
|
||||
---
|
||||
|
||||
### Podsumowanie podsumowania
|
||||
|
||||
_Tryb_: `primary`
|
||||
|
||||
Ukryty agent systemowy, który stanowi podsumowanie podsumowania sesji. Działa automatycznie i nie można przejść do interfejsu użytkownika.
|
||||
|
||||
---
|
||||
|
||||
## Stosowanie
|
||||
|
||||
1. W przypadku agentów głównych klawisza **Tab**, aby przełączać się między nimi podczas sesji. Można również podać z skrótu klawiszowego `switch_agent`.
|
||||
|
||||
2. Subagent można wytwarzać:
|
||||
- **Automatycznie** przez głównych agentów do specjalistycznych zadań na podstawie ich opisów.
|
||||
- Ręcznie, **@ wspomnienie** o subagencji w Twoich wiadomościach. Na przykład.
|
||||
|
||||
```txt frame="none"
|
||||
@general help me search for this function
|
||||
```
|
||||
|
||||
3. **Nawigacja pomiędzy sesjami**: Kiedy można mieć własne sesje podrzędne, można nawigować pomiędzy sesjami nadrzędnymi a określonymi podrzędnymi, dostępnymi z:
|
||||
- **\<Lider>+Prawo** (lub skonfigurowane przez Ciebie klawisze `session_child_cycle`), aby przełączać się między jednostkami nadrzędnymi → podrzędnymi 1 → podrzędnymi 2 → ... → nadrzędnymi
|
||||
- **\<Leader>+Left** (lub skrót klawiszowy `session_child_cycle_reverse`), aby przejść dalej między macierzym ← podnośnik1 ← podnośnik2 ← ... ← prowadzącym
|
||||
|
||||
Dostępna możliwość płynnego przełączania pomiędzy rozmową główną a pracą specjalistyczną subagentę.
|
||||
|
||||
---
|
||||
|
||||
## Skonfiguruj
|
||||
|
||||
Możliwość zastosowania agentów lub urządzeń poprzez zastosowanie. Agentów można zidentyfikować na dwóch systemach:
|
||||
|
||||
---
|
||||
|
||||
### JSON
|
||||
|
||||
Skonfiguruj agenta w pliku konfiguracyjnym `opencode.json`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"agent": {
|
||||
"build": {
|
||||
"mode": "primary",
|
||||
"model": "anthropic/claude-sonnet-4-20250514",
|
||||
"prompt": "{file:./prompts/build.txt}",
|
||||
"tools": {
|
||||
"write": true,
|
||||
"edit": true,
|
||||
"bash": true
|
||||
}
|
||||
},
|
||||
"plan": {
|
||||
"mode": "primary",
|
||||
"model": "anthropic/claude-haiku-4-20250514",
|
||||
"tools": {
|
||||
"write": false,
|
||||
"edit": false,
|
||||
"bash": false
|
||||
}
|
||||
},
|
||||
"code-reviewer": {
|
||||
"description": "Reviews code for best practices and potential issues",
|
||||
"mode": "subagent",
|
||||
"model": "anthropic/claude-sonnet-4-20250514",
|
||||
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
|
||||
"tools": {
|
||||
"write": false,
|
||||
"edit": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Obniżka cen
|
||||
|
||||
Można także definiować agentów za pomocą plików przecen. Trzymaj je w:
|
||||
|
||||
- Globalnie: `~/.config/opencode/agents/`
|
||||
- Na projekt: `.opencode/agents/`
|
||||
|
||||
```markdown title="~/.config/opencode/agents/review.md"
|
||||
---
|
||||
description: Reviews code for quality and best practices
|
||||
mode: subagent
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
temperature: 0.1
|
||||
tools:
|
||||
write: false
|
||||
edit: false
|
||||
bash: false
|
||||
---
|
||||
|
||||
You are in code review mode. Focus on:
|
||||
|
||||
- Code quality and best practices
|
||||
- Potential bugs and edge cases
|
||||
- Performance implications
|
||||
- Security considerations
|
||||
|
||||
Provide constructive feedback without making direct changes.
|
||||
```
|
||||
|
||||
Nazwa pliku przecen staje się nazwą agenta. Na przykład `review.md` tworzy agenta `review`.
|
||||
|
||||
---
|
||||
|
||||
## Opcje
|
||||
|
||||
Przyjrzyjmy się szczegółowo tym opcjom konfiguracji.
|
||||
|
||||
---
|
||||
|
||||
### Opis
|
||||
|
||||
miejsce `description`, aby krótko tego, co robi agent i kiedy go stosować.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"review": {
|
||||
"description": "Reviews code for best practices and potential issues"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jest to **wymagana** opcja konfiguracji.
|
||||
|
||||
---
|
||||
|
||||
### Temperatura
|
||||
|
||||
Kontroluj losowość i kreatywność odpowiedzi LLM za pomocą konfiguracji `temperature`.
|
||||
|
||||
Niższe wartości, że odpowiedzi są bardziej skupione i deterministyczne, gdy wartość jest innowacyjna i złożona.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"plan": {
|
||||
"temperature": 0.1
|
||||
},
|
||||
"creative": {
|
||||
"temperature": 0.8
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Wartość temperatury zwykle waha się od 0,0 do 1,0:
|
||||
|
||||
- **0,0-0,2**: Bardzo skoncentrowane i deterministyczne odpowiedzi, idealne do analizy i kodu źródłowego
|
||||
- **0,3-0,5**: Zrównoważona odpowiedź z chwilą powstania, dobre do ogólnych zadań rozwojowych
|
||||
- **0,6–1,0**: Bardziej kreatywne i odpowiedzi, rozstrzygnięte podczas burzy mózgów i eksploracji
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"analyze": {
|
||||
"temperature": 0.1,
|
||||
"prompt": "{file:./prompts/analysis.txt}"
|
||||
},
|
||||
"build": {
|
||||
"temperature": 0.3
|
||||
},
|
||||
"brainstorm": {
|
||||
"temperature": 0.7,
|
||||
"prompt": "{file:./prompts/creative.txt}"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli nie ma wpływu na kontrolę, OpenCode używa narzędzia do analizy danych dla modelu; 0 dla określonych modeli, 0,55 dla modeli Qwen.
|
||||
|
||||
---
|
||||
|
||||
### Maksymalna liczba kroków
|
||||
|
||||
Kontroluj funkcjonowanie iteracji agenta, jaki agent może być, zanim będzie dostępny wyłącznie z tekstem. Dzięki temu użytkownicy kontrolujący koszty mogą mieć wpływ na działanie agentów.
|
||||
|
||||
Jeśli ta opcja nie zostanie skonfigurowana, agent będzie obowiązywał iterację, jeśli model nie zostanie wydany lub użytkownik nie będzie regularnie używany.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"quick-thinker": {
|
||||
"description": "Fast reasoning with limited iterations",
|
||||
"prompt": "You are a quick thinker. Solve problems with minimal steps.",
|
||||
"steps": 5
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Po tym, jak agent limitu otrzymuje specjalny monit systemowy nakazujący podsumowanie swojej pracy i rekomendowanych do wykonywania zadań.
|
||||
|
||||
:::caution
|
||||
Starsze pole `maxSteps` jest przestarzałe. Zamiast tego nadzoru `steps`.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### Wymienne
|
||||
|
||||
Ustaw na `true`, aby wyłączyć agenta.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"review": {
|
||||
"disable": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Podpowiedź
|
||||
|
||||
niestandardowy plik podpowiedzi systemowych dla tego agenta z konfiguracją `prompt`. Plik informacyjny powinien zawierać dla celu agenta.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"review": {
|
||||
"prompt": "{file:./prompts/code-review.txt}"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ścieżka ta zależy od miejsca, w którym znajduje się plik konfiguracyjny. Działa również w przypadku globalnej konstrukcji OpenCode, jak i funkcjonalnej dla projektu.
|
||||
|
||||
---
|
||||
|
||||
### Model
|
||||
|
||||
konstrukcja nośna `model`, aby mieć model dla tego agenta. Przydatne przy różnych modelach konfiguracji w różnych zadaniach. Na przykład zastosowania modelu, skuteczne wykonanie modelu.
|
||||
|
||||
:::tip
|
||||
Jeśli nie ma wpływu na model, główne są [modelu skonfigurowanego globalnie](/docs/config#models), agenci podrzędni podmiotem modelu agenta, który wywołał subagentę.
|
||||
:::
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"plan": {
|
||||
"model": "anthropic/claude-haiku-4-20250514"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Identyfikator modelu w konfiguracji OpenCode w `provider/model-id`. Na koniec, [OpenCode Zen](/docs/zen), przestrzeganie `opencode/gpt-5.1-codex` dla kodeksu GPT 5.1.
|
||||
|
||||
---
|
||||
|
||||
### Narzędzia
|
||||
|
||||
Kontroluj, które narzędzia są dostępne w tej agencji, za pomocą konfiguracji `tools`. Można włączyć lub dostępne narzędzie, ustawiając je na `true` lub `false`.
|
||||
|
||||
```json title="opencode.json" {3-6,9-12}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"tools": {
|
||||
"write": true,
|
||||
"bash": true
|
||||
},
|
||||
"agent": {
|
||||
"plan": {
|
||||
"tools": {
|
||||
"write": false,
|
||||
"bash": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
:::note
|
||||
Konfiguracja specjalna dla agenta globalnego.
|
||||
:::
|
||||
|
||||
Można także zastosować symboli wieloznacznych do kontrolowanych wielu narzędzi jednocześnie. Na przykład, aby wyłączyć wszystkie narzędzia z serwera MCP:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"agent": {
|
||||
"readonly": {
|
||||
"tools": {
|
||||
"mymcp_*": false,
|
||||
"write": false,
|
||||
"edit": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Dowiedz się więcej o narzędziach](/docs/tools).
|
||||
|
||||
---
|
||||
|
||||
### Uprawnienia
|
||||
|
||||
Może wystąpić możliwość działania, które może pozostać ostateczne przez agenta. Obecnie proste dla narzędzia `edit`, `bash` i `webfetch` można znaleźć w drodze:
|
||||
|
||||
- `"ask"` — Monituj o zatwierdzenie przed użyciem narzędzia
|
||||
- `"allow"` — Zezwalaj na wszystkie operacje bez zatwierdzenia
|
||||
- `"deny"` — Wyłączenie narzędzia
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "deny"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Można mieć odpowiedni dla każdego agenta.
|
||||
|
||||
```json title="opencode.json" {3-5,8-10}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "deny"
|
||||
},
|
||||
"agent": {
|
||||
"build": {
|
||||
"permission": {
|
||||
"edit": "ask"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Można także istnieć w agentach Markdown.
|
||||
|
||||
```markdown title="~/.config/opencode/agents/review.md"
|
||||
---
|
||||
description: Code review without edits
|
||||
mode: subagent
|
||||
permission:
|
||||
edit: deny
|
||||
bash:
|
||||
"*": ask
|
||||
"git diff": allow
|
||||
"git log*": allow
|
||||
"grep *": allow
|
||||
webfetch: deny
|
||||
---
|
||||
|
||||
Only analyze code and suggest changes.
|
||||
```
|
||||
|
||||
Można podłączyć do gniazda bash.
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"agent": {
|
||||
"build": {
|
||||
"permission": {
|
||||
"bash": {
|
||||
"git push": "ask",
|
||||
"grep *": "allow"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Może być przestrzegany globalnym.
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"agent": {
|
||||
"build": {
|
||||
"permission": {
|
||||
"bash": {
|
||||
"git *": "ask"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Możesz także uzyskać symbolu wieloznacznego `*` do zarządzania uprawnieniami dla wszystkich użytkowników.
|
||||
Ostatnie dostępne źródło pierwszeństwo, symbol wieloznaczny `*` na pierwszym miejscu, wyodrębnione na końcu.
|
||||
|
||||
```json title="opencode.json" {8}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"agent": {
|
||||
"build": {
|
||||
"permission": {
|
||||
"bash": {
|
||||
"*": "ask",
|
||||
"git status *": "allow"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Dowiedz się więcej o prawach](/docs/permissions).
|
||||
|
||||
---
|
||||
|
||||
### Tryb
|
||||
|
||||
Kontroluj tryb agenta za pomocą konfiguracji `mode`. Opcja `mode` umożliwiająca użycie środka.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"review": {
|
||||
"mode": "subagent"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Opcję `mode` można ustawić na `primary`, `subagent` lub `all`. Jeśli nie dotyczy `mode`, jest to `all`.
|
||||
|
||||
---
|
||||
|
||||
### Ukryty
|
||||
|
||||
Ukryj subagenta w menu autouzupełniania `@` za pomocą `hidden: true`. Przydatne w postępowaniu sądowym podagenci, potencjalnie być wywoływani programowo przez innych agentów, którzy korzystają z pomocy jako narzędzia.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"internal-helper": {
|
||||
"mode": "subagent",
|
||||
"hidden": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Wpływ tylko na użytkownika w menu autouzupełniania. Model może nadal wywoływać ukrytych agentów za pomocą narzędzi do zadań, funkcji użytkowych.
|
||||
|
||||
:::note
|
||||
Dotyczy tylko agentów `mode: subagent`.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### Uprawnienia do zadań
|
||||
|
||||
Kontroluj, których agenci podawców mogą wywołać za pomocą narzędzia zadanie za pomocą `permission.task`. Używa wzorców globalnych do elastycznego dopasowywania.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"orchestrator": {
|
||||
"mode": "primary",
|
||||
"permission": {
|
||||
"task": {
|
||||
"*": "deny",
|
||||
"orchestrator-*": "allow",
|
||||
"code-reviewer": "ask"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Po ustawieniu wartości `deny` podagent zostanie usunięty z opisu narzędzia Zadania, więc model nie będzie gotowy do uruchomienia.
|
||||
|
||||
:::tip
|
||||
Reguły są następujące w kolejności i **ostatnia reguła wygrywająca**. W zasadzie `orchestrator-planner` jest konfiguracją `*` (odmową), jak i `orchestrator-*` (zezwolenie), ale ponieważ `orchestrator-*` użytkownika po `*`, postać jest `allow`.
|
||||
:::
|
||||
|
||||
:::tip
|
||||
Zawsze można rozwiązać rozwiązanie, bezpośrednio poprzez menu autouzupełnieniania `@`, nawet jeśli wystąpią zadania agenta temu naprawiające.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### Kolor
|
||||
|
||||
Dostosuj wygląd agenta w interfejsie użytkownika za pomocą opcji `color`. Wpływ na wygląd agenta w interfejsie.
|
||||
|
||||
Narodziny kościoła szesnastkowego (np. `#FF5733`) lub koloru motywu: `primary`, `secondary`, `accent`, `success`, `warning`, `error`, `info`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"creative": {
|
||||
"color": "#ff6b6b"
|
||||
},
|
||||
"code-reviewer": {
|
||||
"color": "accent"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Góra P
|
||||
|
||||
Kontroluj różnorodność odpowiedzi za pomocą opcji `top_p`. Alternatywa dla temperatury w celu kontrolowanej braku wartości.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"agent": {
|
||||
"brainstorm": {
|
||||
"top_p": 0.9
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Wartość mieszkalna obejmuje zakres od 0,0 do 1,0. Niższe wartości są bardziej skoncentrowane, wyższe wartości są bardziej zaawansowane.
|
||||
|
||||
---
|
||||
|
||||
### nadal
|
||||
|
||||
Wszelkie inne konfiguracje w agentach **przekazane bezpośrednio** jako model sprzedawcy. Dostęp do funkcji i parametrów dostarczanych dla dostawcy.
|
||||
|
||||
Na przykład dzięki modelowi rozumowania OpenAI może kontrolować rozumowanie:
|
||||
|
||||
```json title="opencode.json" {6,7}
|
||||
{
|
||||
"agent": {
|
||||
"deep-thinker": {
|
||||
"description": "Agent that uses high reasoning effort for complex problems",
|
||||
"model": "openai/gpt-5",
|
||||
"reasoningEffort": "high",
|
||||
"textVerbosity": "low"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Te dodatkowe cechy można zidentyfikować od modelu i dostawcy. Sprawdź swoje dostawcę pod kątem parametrów.
|
||||
|
||||
:::tip
|
||||
Uruchomione `opencode models`, aby wyłączyć modele.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Utwórz agentów
|
||||
|
||||
Możesz stworzyć nowych agentów za pomocą innego polecenia:
|
||||
|
||||
```bash
|
||||
opencode agent create
|
||||
```
|
||||
|
||||
Wykonaj decyzję:
|
||||
|
||||
1. Zapytaj, gdzie zapisać agenta; globalne lub szczegółowe dla projektu.
|
||||
2. Opisz tego, co agent powinien.
|
||||
3. Wygeneruj właściwy monit systemowy i identyfikator.
|
||||
4. Wejście do wybrania narzędzia, do którego agenta może być dostęp.
|
||||
5. Na koniec pliku pliku przecen z konfiguracją agenta.
|
||||
|
||||
---
|
||||
|
||||
## Przypadki użycia
|
||||
|
||||
Oto kilka typowych zastosowań różnych agentów.
|
||||
|
||||
- **Agent użyciai**: Pełne prace programistyczne z dostępnymi narzędziami
|
||||
- **Plan agenta**: Analiza i planowanie bez zmian
|
||||
- **Agent recenzujący**: Przegląd kodu z odczytu i narzędzia do dokumentacji
|
||||
- **Agent debugujący**: Koncentruje się na urządzeniu z dostępnymi narzędziami bash i odczytu
|
||||
- **Agent Dokumentów**: Zapisywanie dokumentacji za pomocą operacji na plikach, ale bez konieczności posiadania kopii systemowych
|
||||
|
||||
---
|
||||
|
||||
## Przykład
|
||||
|
||||
Oto kilka przykładowych agentów, którzy mogą się przydatni.
|
||||
|
||||
:::tip
|
||||
Czy masz agenta, który jest osobą towarzyszącą? [Prześlij PR](https://github.com/anomalyco/opencode).
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### Dokumentacja agenta
|
||||
|
||||
```markdown title="~/.config/opencode/agents/docs-writer.md"
|
||||
---
|
||||
description: Writes and maintains project documentation
|
||||
mode: subagent
|
||||
tools:
|
||||
bash: false
|
||||
---
|
||||
|
||||
You are a technical writer. Create clear, comprehensive documentation.
|
||||
|
||||
Focus on:
|
||||
|
||||
- Clear explanations
|
||||
- Proper structure
|
||||
- Code examples
|
||||
- User-friendly language
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Audytor bezpieczeństwa
|
||||
|
||||
```markdown title="~/.config/opencode/agents/security-auditor.md"
|
||||
---
|
||||
description: Performs security audits and identifies vulnerabilities
|
||||
mode: subagent
|
||||
tools:
|
||||
write: false
|
||||
edit: false
|
||||
---
|
||||
|
||||
You are a security expert. Focus on identifying potential security issues.
|
||||
|
||||
Look for:
|
||||
|
||||
- Input validation vulnerabilities
|
||||
- Authentication and authorization flaws
|
||||
- Data exposure risks
|
||||
- Dependency vulnerabilities
|
||||
- Configuration security issues
|
||||
```
|
||||
601
packages/web/src/content/docs/pl/cli.mdx
Normal file
601
packages/web/src/content/docs/pl/cli.mdx
Normal file
@@ -0,0 +1,601 @@
|
||||
---
|
||||
title: interfejs wiersza polecany
|
||||
description: Opcje i interfejs interfejsu CLI OpenCode.
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
|
||||
Interfejs CLI OpenCode uruchamia się [TUI](/docs/tui), gdy jest uruchamiany bez żadnych argumentów.
|
||||
|
||||
```bash
|
||||
opencode
|
||||
```
|
||||
|
||||
Ale także instalacja przez tę stronę. pełni przed programową interakcją z OpenCode.
|
||||
|
||||
```bash
|
||||
opencode run "Explain how closures work in JavaScript"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### tui
|
||||
|
||||
Uruchomienie interfejsu użytkownika terminala OpenCode.
|
||||
|
||||
```bash
|
||||
opencode [project]
|
||||
```
|
||||
|
||||
#### Flagi
|
||||
|
||||
| Flaga | Krótkie | Opis |
|
||||
| ------------ | ----- | ------------------------------------------ |
|
||||
| `--continue` | `-c` | Kontynuuj ostatnią datę |
|
||||
| `--session` | `-s` | Identyfikator sesji, aby kontynuować |
|
||||
| `--prompt` | | Monituj o zastosowanie |
|
||||
| `--model` | `-m` | Model wykorzystania w postaci dostawcy/modelu |
|
||||
| `--agent` | | Agent do użycia |
|
||||
| `--port` | | Port do słuchania |
|
||||
| `--hostname` | | Nazwa hosta, która jest częścią składową |
|
||||
|
||||
---
|
||||
|
||||
## Polecenia
|
||||
|
||||
Interfejs CLI OpenCode zawiera także szczegółowe polecenie.
|
||||
|
||||
---
|
||||
|
||||
### agent
|
||||
|
||||
Zarządzaj agentami OpenCode.
|
||||
|
||||
```bash
|
||||
opencode agent [command]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### przytwierdzić
|
||||
|
||||
Dołącz terminal do już działającego serwera zaplecza OpenCode uruchomionego za pomocą oprogramowania `serve` lub `web`.
|
||||
|
||||
```bash
|
||||
opencode attach [url]
|
||||
```
|
||||
|
||||
Możliwość zabezpieczenia z TUI ze zdalnym backendem OpenCode. Na przykład:
|
||||
|
||||
```bash
|
||||
# Start the backend server for web/mobile access
|
||||
opencode web --port 4096 --hostname 0.0.0.0
|
||||
|
||||
# In another terminal, attach the TUI to the running backend
|
||||
opencode attach http://10.20.30.40:4096
|
||||
```
|
||||
|
||||
#### Flagi
|
||||
|
||||
| Flaga | Krótkie | Opis |
|
||||
| ----------- | ----- | --------------------------------- |
|
||||
| `--dir` | | Katalog roboczy do uruchomienia TUI w |
|
||||
| `--session` | `-s` | Identyfikator sesji, aby kontynuować |
|
||||
|
||||
---
|
||||
|
||||
#### co
|
||||
|
||||
Utwórz nowego agenta z niestandardową konfiguracją.
|
||||
|
||||
```bash
|
||||
opencode agent create
|
||||
```
|
||||
|
||||
To działanie poprowadził Cię przez proces tworzenia nowego agenta z niestandardowym monitem systemowym i konfiguracją narzędzia.
|
||||
|
||||
---
|
||||
|
||||
#### lista
|
||||
|
||||
Lista wszystkich agentów.
|
||||
|
||||
```bash
|
||||
opencode agent list
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### autoryzacja
|
||||
|
||||
Polecenie do zarządzania danymi uwierzytelniającymi i logowaniem dla dostawców.
|
||||
|
||||
```bash
|
||||
opencode auth [command]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### login
|
||||
|
||||
OpenCode jest dostępny przez listę dostawców w [Models.dev](https://models.dev), więc można użyć `opencode auth login` do skonfigurowania klucza API dla dowolnego dostawcy, który może być kontrolowany. Jest to możliwe w `~/.local/share/opencode/auth.json`.
|
||||
|
||||
```bash
|
||||
opencode auth login
|
||||
```
|
||||
|
||||
Po uruchomieniu OpenCode ładuje dostawców z pliku poświadczeń. A jeśli twoje siedliskiem są jakieś klucze lub plik `.env` w twoim projekcie.
|
||||
|
||||
---
|
||||
|
||||
#### lista
|
||||
|
||||
Wyświetlanie list wszystkich uwierzytelnionych dostawców przechowywanych w pliku poświadczeń.
|
||||
|
||||
```bash
|
||||
opencode auth list
|
||||
```
|
||||
|
||||
Lub krótka wersja.
|
||||
|
||||
```bash
|
||||
opencode auth ls
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### wyloguj się
|
||||
|
||||
Wylogowuje Cię z dostawcy poprzez usunięcie go z pliku poświadczeń.
|
||||
|
||||
```bash
|
||||
opencode auth logout
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### githubie
|
||||
|
||||
Zarządzaj agentem GitHub w celu automatyzacji repozytorium.
|
||||
|
||||
```bash
|
||||
opencode github [command]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### Dowiedz się
|
||||
|
||||
Zainstaluj agenta GitHub w swoim repozytorium.
|
||||
|
||||
```bash
|
||||
opencode github install
|
||||
```
|
||||
|
||||
Spowoduje to konieczność uruchomienia akcji GitHub i przeprowadzi cię przez proces tworzenia. [Dowiedz się więcej](/docs/github).
|
||||
|
||||
---
|
||||
|
||||
#### chcesz
|
||||
|
||||
Uruchom agenta na GitHubie. Jest to zwykły użytkownik w akcjach GitHub.
|
||||
|
||||
```bash
|
||||
opencode github run
|
||||
```
|
||||
|
||||
##### Flagi
|
||||
|
||||
| Flaga | Opis |
|
||||
| --------- | -------------------------------------- |
|
||||
| `--event` | Zdarzenie próbne GitHub, aby sprawdzić agenta dla |
|
||||
| `--token` | Osobisty token dostępu GitHub |
|
||||
|
||||
---
|
||||
|
||||
### mcp
|
||||
|
||||
Zarządzaj serwerem kluczowego modelu kontekstowego.
|
||||
|
||||
```bash
|
||||
opencode mcp [command]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### zaproponować
|
||||
|
||||
Dodaj serwer MCP do swojej konfiguracji.
|
||||
|
||||
```bash
|
||||
opencode mcp add
|
||||
```
|
||||
|
||||
To polecenie poprowadzić Cię przez proces dodawania lokalnego lub zdalnego serwera MCP.
|
||||
|
||||
---
|
||||
|
||||
#### lista
|
||||
|
||||
Wyświetlanie list wszystkich skonfigurowanych serwerów MCP i ich awarii.
|
||||
|
||||
```bash
|
||||
opencode mcp list
|
||||
```
|
||||
|
||||
Lub skrót krótkiej wersji.
|
||||
|
||||
```bash
|
||||
opencode mcp ls
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### autoryzacja
|
||||
|
||||
Uwierzytelnij się za pomocą serwera MCP z włączoną funkcją OAuth.
|
||||
|
||||
```bash
|
||||
opencode mcp auth [name]
|
||||
```
|
||||
|
||||
Jeśli nie poddasz nazwy serwera, zostaniesz poproszony o wybranie jednego z serwerów obsługujących OAuth.
|
||||
|
||||
Możesz także uruchomić serwery obsługujące OAuth i ich status uwierzytelnienia.
|
||||
|
||||
```bash
|
||||
opencode mcp auth list
|
||||
```
|
||||
|
||||
Lub skrót krótkiej wersji.
|
||||
|
||||
```bash
|
||||
opencode mcp auth ls
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### wyloguj się
|
||||
|
||||
Usuń doświadczenie OAuth dla serwera MCP.
|
||||
|
||||
```bash
|
||||
opencode mcp logout [name]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### odpluskwić
|
||||
|
||||
Debuguj problemy z połączeniem OAuth dla serwera MCP.
|
||||
|
||||
```bash
|
||||
opencode mcp debug <name>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### modele
|
||||
|
||||
Wyświetlanie list modeli wszystkich skonfigurowanych dostawców.
|
||||
|
||||
```bash
|
||||
opencode models [provider]
|
||||
```
|
||||
|
||||
Do sterowania dostępnymi modelami u dostawców w `provider/model`.
|
||||
|
||||
Jest to wydanie do nazwy modelu, który jest używany w [twoja] (./config/).
|
||||
|
||||
Opcjonalnie możesz udostępnić identyfikator dostawcy, aby filtrować modele według tego dostawcy.
|
||||
|
||||
```bash
|
||||
opencode models anthropic
|
||||
```
|
||||
|
||||
#### Flagi
|
||||
|
||||
| Flaga | Opis |
|
||||
| ----------- | ------------------------------------------------------------ |
|
||||
| `--refresh` | Odśwież pamięć podręczną modele z models.dev |
|
||||
| `--verbose` | Bardziej szczegółowe dane wyjściowe modelu (zawiera metadane, takie jak koszty) |
|
||||
|
||||
flagi `--refresh`, aby znaleźć listę modeli w pamięci podręcznej. Jest to wymagane, gdy dostawca dodano nowe modele, które chcesz zobaczyć w OpenCode.
|
||||
|
||||
```bash
|
||||
opencode models --refresh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### chcesz
|
||||
|
||||
Uruchomiony opencode w trybie nieinteraktywnym, przekazując bezpośrednio monit.
|
||||
|
||||
```bash
|
||||
opencode run [message..]
|
||||
```
|
||||
|
||||
Jest to wymagane w przypadku tworzenia skryptów, automatyzacji lub gdy zostanie wysłane natychmiastowe przesłanie bez uruchomienia TUI. Na przykład.
|
||||
|
||||
```bash "opencode run"
|
||||
opencode run Explain the use of context in Go
|
||||
```
|
||||
|
||||
Można również zastosować, uruchamiając `opencode serve`, aby wyłączyć zimne uruchamianie serwera MCP przy każdym uruchomieniu:
|
||||
|
||||
```bash
|
||||
# Start a headless server in one terminal
|
||||
opencode serve
|
||||
|
||||
# In another terminal, run commands that attach to it
|
||||
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
|
||||
```
|
||||
|
||||
#### Flagi
|
||||
|
||||
| Flaga | Krótkie | Opis |
|
||||
| ------------ | ----- | ------------------------------------------------------------------ |
|
||||
| `--command` | | Polecenie do uruchomienia, komunikatu dla argumentów |
|
||||
| `--continue` | `-c` | Kontynuuj ostatnią datę |
|
||||
| `--session` | `-s` | Identyfikator sesji, aby kontynuować |
|
||||
| `--share` | | Udostępnij sesję |
|
||||
| `--model` | `-m` | Model wykorzystania w postaci dostawcy/modelu |
|
||||
| `--agent` | | Agent do użycia |
|
||||
| `--file` | `-f` | Pliki do załączenia do wiadomości |
|
||||
| `--format` | | Format: domyślny (sformatowany) lub json (surowe rozwiązanie JSON) |
|
||||
| `--title` | | Tytuł sesji (używany skróconego monitu, jeśli nie podano wartości) |
|
||||
| `--attach` | | Dołącz do skutecznego serwera opencode (np. http://localhost:4096) |
|
||||
| `--port` | | Port dla serwera lokalnego (domyślnie jest do portu losowego) |
|
||||
|
||||
---
|
||||
|
||||
### podawać
|
||||
|
||||
Uruchom bezgłowy serwer OpenCode w celu uzyskania dostępu do API. Pełny interfejs HTTP w [dokumentacji serwera](/docs/server).
|
||||
|
||||
```bash
|
||||
opencode serve
|
||||
```
|
||||
|
||||
Spowoduje dostęp do serwera HTTP, który zapewnia dostęp do API opencode bez interfejsu TUI. Ustaw `OPENCODE_SERVER_PASSWORD`, aby włączyć podstawowe uwierzytelnianie HTTP (domyślna nazwa użytkownika do `opencode`).
|
||||
|
||||
#### Flagi
|
||||
|
||||
| Flaga | Opis |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` | Port do słuchania |
|
||||
| `--hostname` | Nazwa hosta, która jest częścią składową |
|
||||
| `--mdns` | Włącz wykrywanie mDNS |
|
||||
| `--cors` | Dodatkowe źródło użytkownika CORS |
|
||||
|
||||
---
|
||||
|
||||
### Sesja
|
||||
|
||||
Zarządzaj sesją OpenCode.
|
||||
|
||||
```bash
|
||||
opencode session [command]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### lista
|
||||
|
||||
Lista wszystkich sesji OpenCode.
|
||||
|
||||
```bash
|
||||
opencode session list
|
||||
```
|
||||
|
||||
##### Flagi
|
||||
|
||||
| Flaga | Krótkie | Opis |
|
||||
| ------------- | ----- | ------------------------------------ |
|
||||
| `--max-count` | `-n` | Ograniczony do ostatniego sesji |
|
||||
| `--format` | | Format wyjściowy: tabela lub json (tabela) |
|
||||
|
||||
---
|
||||
|
||||
### statystyki
|
||||
|
||||
Pokaż statystyki wykorzystania tokenów i sesji szkoleniowych OpenCode.
|
||||
|
||||
```bash
|
||||
opencode stats
|
||||
```
|
||||
|
||||
#### Flagi
|
||||
|
||||
| Flaga | Opis |
|
||||
| ----------- | --------------------------------------------------------------------------- |
|
||||
| `--days` | Pokaż statystyki z ostatnich N dni (cały czas) |
|
||||
| `--tools` | Liczba narzędzi do po specyfikacji (wszystkie) |
|
||||
| `--models` | Pokaż podział modelu wykorzystania (domyślnie ukryty). Podajnik usługowy, aby górne N |
|
||||
| `--project` | Filtruj według projektu (wszystkie projekty, pusty ciąg: dostęp projekt) |
|
||||
|
||||
---
|
||||
|
||||
### eksport
|
||||
|
||||
Eksportuj dane sesji jako JSON.
|
||||
|
||||
```bash
|
||||
opencode export [sessionID]
|
||||
```
|
||||
|
||||
Jeśli nie poddasz identyfikatora sesji, zostaniesz poproszony o wybranie jednego z sesji.
|
||||
|
||||
---
|
||||
|
||||
### import
|
||||
|
||||
Importuj dane sesji z pliku JSON lub adresu URL udostępniania OpenCode.
|
||||
|
||||
```bash
|
||||
opencode import <file>
|
||||
```
|
||||
|
||||
Możesz importować z lokalnego lub adresu URL OpenCode.
|
||||
|
||||
```bash
|
||||
opencode import session.json
|
||||
opencode import https://opncd.ai/s/abc123
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### sieć
|
||||
|
||||
Uruchomiony bezgłowy serwer OpenCode z interfejsem internetowym.
|
||||
|
||||
```bash
|
||||
opencode web
|
||||
```
|
||||
|
||||
Spowoduje dostęp do serwera HTTP i otwarcie dostępu do OpenCode przez interfejs sieciowy. Ustaw `OPENCODE_SERVER_PASSWORD`, aby włączyć podstawowe uwierzytelnianie HTTP (domyślna nazwa użytkownika do `opencode`).
|
||||
|
||||
#### Flagi
|
||||
|
||||
| Flaga | Opis |
|
||||
| ------------ | ------------------------------------------ |
|
||||
| `--port` | Port do słuchania |
|
||||
| `--hostname` | Nazwa hosta, która jest częścią składową |
|
||||
| `--mdns` | Włącz wykrywanie mDNS |
|
||||
| `--cors` | Dodatkowe źródło użytkownika CORS |
|
||||
|
||||
---
|
||||
|
||||
### akp
|
||||
|
||||
Uruchomiony serwer ACP (Agent Client Protocol).
|
||||
|
||||
```bash
|
||||
opencode acp
|
||||
```
|
||||
|
||||
Aby udostępnić serwer ACP, który komunikuje się poprzez stdin/stdout przy użyciu nd-JSON.
|
||||
|
||||
#### Flagi
|
||||
|
||||
| Flaga | Opis |
|
||||
| ------------ | --------------------- |
|
||||
| `--cwd` | Katalog roboczy |
|
||||
| `--port` | Port do słuchania |
|
||||
| `--hostname` | Nazwa hosta, która jest częścią składową |
|
||||
|
||||
---
|
||||
|
||||
### odinstaluj
|
||||
|
||||
Odinstaluj OpenCode i usuń wszystkie pliki powiązane.
|
||||
|
||||
```bash
|
||||
opencode uninstall
|
||||
```
|
||||
|
||||
#### Flagi
|
||||
|
||||
| Flaga | Krótkie | Opis |
|
||||
| --------------- | ----- | ------------------------------------------- |
|
||||
| `--keep-config` | `-c` | Zachowaj pliki konfiguracyjne |
|
||||
| `--keep-data` | `-d` | Przechowuj dane sesji i szczepionek |
|
||||
| `--dry-run` | | Pokaż, wykluczy bez usuwania |
|
||||
| `--force` | `-f` | Pomiń monity o potwierdzenie |
|
||||
|
||||
---
|
||||
|
||||
### aktualizacja
|
||||
|
||||
Aktualizuje opencode do oryginalnej wersji lub oryginalnej wersji.
|
||||
|
||||
```bash
|
||||
opencode upgrade [target]
|
||||
```
|
||||
|
||||
Aby zachować ostatnią wersję.
|
||||
|
||||
```bash
|
||||
opencode upgrade
|
||||
```
|
||||
|
||||
Aby zobaczyć wersję pierwotną.
|
||||
|
||||
```bash
|
||||
opencode upgrade v0.1.48
|
||||
```
|
||||
|
||||
#### Flagi
|
||||
|
||||
| Flaga | Krótkie | Opis |
|
||||
| ---------- | ----- | ----------------------------------------------------------------- |
|
||||
| `--method` | `-m` | Zastosowana metoda instalacji; curl, npm, pnpm, kok, napar |
|
||||
|
||||
---
|
||||
|
||||
## Flagi globalne
|
||||
|
||||
Interfejs CLI kod opencode przyjmuje flagi globalne.
|
||||
|
||||
| Flaga | Krótkie | Opis |
|
||||
| -------------- | ----- | ------------------------------------ |
|
||||
| `--help` | `-h` | Wyświetl pomoc |
|
||||
| `--version` | `-v` | Drukuj numer wersji |
|
||||
| `--print-logs` | | Wydrukuj logi na stderr |
|
||||
| `--log-level` | | Poziom dziennika (DEBUG, INFO, OSTRZEŻ, BŁĄD) |
|
||||
|
||||
---
|
||||
|
||||
## Zmienne warunki
|
||||
|
||||
OpenCode można wykryć za pomocą czyszczenia alternatywnych.
|
||||
|
||||
| Zmienna | Wpisz | Opis |
|
||||
| ------------------------------------- | ------- | ------------------------------------------------- |
|
||||
| `OPENCODE_AUTO_SHARE` | wartość logiczna | Automatycznie udostępniaj sesje |
|
||||
| `OPENCODE_GIT_BASH_PATH` | ciąg | Ścieżka do pliku wykonywalnego Git Bash w systemie Windows |
|
||||
| `OPENCODE_CONFIG` | ciąg | Ścieżka do pliku konfiguracyjnego |
|
||||
| `OPENCODE_CONFIG_DIR` | ciąg | Ścieżka do katalogu konfiguracyjnego |
|
||||
| `OPENCODE_CONFIG_CONTENT` | ciąg | Wbudowana treść konstrukcji JSON |
|
||||
| `OPENCODE_DISABLE_AUTOUPDATE` | wartość logiczna | Wyłącz automatyczne sprawdzanie aktualizacji |
|
||||
| `OPENCODE_DISABLE_PRUNE` | wartość logiczna | Wyłączenie regulowane |
|
||||
| `OPENCODE_DISABLE_TERMINAL_TITLE` | wartość logiczna | Wyłącz automatycznie tytuł terminala |
|
||||
| `OPENCODE_PERMISSION` | ciąg | Wbudowane prawo JSON |
|
||||
| `OPENCODE_DISABLE_DEFAULT_PLUGINS` | wartość logiczna | Wyłączenie wtyczki |
|
||||
| `OPENCODE_DISABLE_LSP_DOWNLOAD` | wartość logiczna | Wyłącz automatyczne pobieranie z serwera LSP |
|
||||
| `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` | wartość logiczna | Włącz modele eksperymentalne |
|
||||
| `OPENCODE_DISABLE_AUTOCOMPACT` | wartość logiczna | Wyłącz automatyczne zagęszczanie kontekstu |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE` | wartość logiczna | Wyłączenie gry z `.claude` (podpowiedź + podłączenie) |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` | wartość logiczna | Wyłącz czytanie `~/.claude/CLAUDE.md` |
|
||||
| `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` | wartość logiczna | Wyłącz ładowanie `.claude/skills` |
|
||||
| `OPENCODE_DISABLE_MODELS_FETCH` | wartość logiczna | Wyłączenie modeli pobierania ze źródeł niedostępnych |
|
||||
| `OPENCODE_FAKE_VCS` | ciąg | Fałszywy sprzedawca VCS do celów testowych |
|
||||
| `OPENCODE_DISABLE_FILETIME_CHECK` | wartość logiczna | Wyłączone sprawdzanie pliku w celu optymalizacji |
|
||||
| `OPENCODE_CLIENT` | ciąg | Identyfikator klienta (domyślnie `cli`) |
|
||||
| `OPENCODE_ENABLE_EXA` | wartość logiczna | Włącz narzędzie wyszukiwania internetowego Exa |
|
||||
| `OPENCODE_SERVER_PASSWORD` | ciąg | Włącz uwierzytelnianie podstawowe dla `serve`/`web` |
|
||||
| `OPENCODE_SERVER_USERNAME` | ciąg | Zakończenie stosowania użytkownika z autoryzacją (domyślnie `opencode`) |
|
||||
| `OPENCODE_MODELS_URL` | ciąg | Niestandardowy adres URL do pobrania konfiguracji modeli |
|
||||
|
||||
---
|
||||
|
||||
### Eksperymentalny
|
||||
|
||||
Te zmienne możliwości użycia funkcji eksperymentalnych, które mogą zostać lub usunięte.
|
||||
|
||||
| Zmienna | Wpisz | Opis |
|
||||
| ----------------------------------------------- | ------- | --------------------------------------- |
|
||||
| `OPENCODE_EXPERIMENTAL` | wartość logiczna | Włącz wszystkie funkcje eksperymentalne |
|
||||
| `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` | wartość logiczna | Włącz wykrywanie ikon |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` | wartość logiczna | Wyłączenie kopiowania przy wyborze w TUI |
|
||||
| `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` | numer | Domyślny limit czasu dla ukrytego bash w ms |
|
||||
| `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` | numer | Maksymalne tokeny wyjściowe dla odpowiedzi LLM |
|
||||
| `OPENCODE_EXPERIMENTAL_FILEWATCHER` | wartość logiczna | Włącz obserwatora plików dla całego katalogu |
|
||||
| `OPENCODE_EXPERIMENTAL_OXFMT` | wartość logiczna | Włącz formater oxfmt |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TOOL` | wartość logiczna | Włącz eksperymentalne narzędzie LSP |
|
||||
| `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` | wartość logiczna | Wyłącz obserwatora plików |
|
||||
| `OPENCODE_EXPERIMENTAL_EXA` | wartość logiczna | Włącz funkcje eksperymentalne Exa |
|
||||
| `OPENCODE_EXPERIMENTAL_LSP_TY` | wartość logiczna | Włącz eksperymentalne sprawdzanie typu LSP |
|
||||
| `OPENCODE_EXPERIMENTAL_MARKDOWN` | wartość logiczna | Włącz funkcje eksperymentalne przecen |
|
||||
| `OPENCODE_EXPERIMENTAL_PLAN_MODE` | wartość logiczna | Włącz tryb planu |
|
||||
323
packages/web/src/content/docs/pl/commands.mdx
Normal file
323
packages/web/src/content/docs/pl/commands.mdx
Normal file
@@ -0,0 +1,323 @@
|
||||
---
|
||||
title: Polecenia
|
||||
description: Tworz polecany dla powtarzalnych zadań.
|
||||
---
|
||||
|
||||
Polecenia ustawienia monitu, które może zostać uruchomione po uruchomieniu tego polecenia w TUI.
|
||||
|
||||
```bash frame="none"
|
||||
/my-command
|
||||
```
|
||||
|
||||
Polecenia stanowią dodatek do dostarczonych, takich jak `/init`, `/undo`, `/redo`, `/share`, `/help`. [Dowiedz się więcej](/docs/tui#commands).
|
||||
|
||||
---
|
||||
|
||||
## Utwórz źródło plikówwe
|
||||
|
||||
Utwórz pliki przecen w katalogu `commands/`, aby móc korzystać z usług polecanych.
|
||||
|
||||
Utwórz `.opencode/commands/test.md`:
|
||||
|
||||
```md title=".opencode/commands/test.md"
|
||||
---
|
||||
description: Run tests with coverage
|
||||
agent: build
|
||||
model: anthropic/claude-3-5-sonnet-20241022
|
||||
---
|
||||
|
||||
Run the full test suite with coverage report and show any failures.
|
||||
Focus on the failing tests and suggest fixes.
|
||||
```
|
||||
|
||||
Frontmatter posiada właściwości. Treść staje się szablonem.
|
||||
|
||||
polecany, w rejestrze `/`, a następnie polecany.
|
||||
|
||||
```bash frame="none"
|
||||
"/test"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Skonfiguruj
|
||||
|
||||
Dostęp do sieci przez połączenie OpenCode lub udostępnia pliki w katalogu `commands/`.
|
||||
|
||||
---
|
||||
|
||||
### JSON
|
||||
|
||||
opcja opcja `command` w swoim OpenCode [config](/docs/config):
|
||||
|
||||
```json title="opencode.jsonc" {4-12}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"command": {
|
||||
// This becomes the name of the command
|
||||
"test": {
|
||||
// This is the prompt that will be sent to the LLM
|
||||
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.",
|
||||
// This is shown as the description in the TUI
|
||||
"description": "Run tests with coverage",
|
||||
"agent": "build",
|
||||
"model": "anthropic/claude-3-5-sonnet-20241022"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Teraz możesz wybrać opcję w TUI:
|
||||
|
||||
```bash frame="none"
|
||||
/test
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Obniżka cen
|
||||
|
||||
Można także definiować polecenia za pomocą plików Markdown. Trzymaj je w:
|
||||
|
||||
- Globalnie: `~/.config/opencode/commands/`
|
||||
- Na projekt: `.opencode/commands/`
|
||||
|
||||
```markdown title="~/.config/opencode/commands/test.md"
|
||||
---
|
||||
description: Run tests with coverage
|
||||
agent: build
|
||||
model: anthropic/claude-3-5-sonnet-20241022
|
||||
---
|
||||
|
||||
Run the full test suite with coverage report and show any failures.
|
||||
Focus on the failing tests and suggest fixes.
|
||||
```
|
||||
|
||||
Nazwa pliku przecen staje się nazwą referencyjną. Na przykład `test.md` pozwala
|
||||
biegniesz:
|
||||
|
||||
```bash frame="none"
|
||||
/test
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Szybko kliknij
|
||||
|
||||
Monity dotyczące niestandardowych urządzeń obsługujących kilka specjalnych symboli zastępczych i składni.
|
||||
|
||||
---
|
||||
|
||||
### Argumentacja
|
||||
|
||||
Przekazuj argumentację do ręki, używając symbolu zastępczego `$ARGUMENTS`.
|
||||
|
||||
```md title=".opencode/commands/component.md"
|
||||
---
|
||||
description: Create a new component
|
||||
---
|
||||
|
||||
Create a new React component named $ARGUMENTS with TypeScript support.
|
||||
Include proper typing and basic structure.
|
||||
```
|
||||
|
||||
Uruchomienie reakcji z argumentami:
|
||||
|
||||
```bash frame="none"
|
||||
/component Button
|
||||
```
|
||||
|
||||
A `$ARGUMENTS` pozostanie pozostawione przez `Button`.
|
||||
|
||||
Dostępność do poszczególnych argumentów można również uzyskać za pomocą parametrów funkcjonalnych:
|
||||
|
||||
- `$1` - Pierwszy argument
|
||||
- `$2` - Drugi argument
|
||||
- `$3` - Trzeci argument
|
||||
- Biorę dalej...
|
||||
|
||||
Na przykład:
|
||||
|
||||
```md title=".opencode/commands/create-file.md"
|
||||
---
|
||||
description: Create a new file with content
|
||||
---
|
||||
|
||||
Create a file named $1 in the directory $2
|
||||
with the following content: $3
|
||||
```
|
||||
|
||||
Uruchomienie decyzji:
|
||||
|
||||
```bash frame="none"
|
||||
/create-file config.json src "{ \"key\": \"value\" }"
|
||||
```
|
||||
|
||||
Aby przechowywać:
|
||||
|
||||
- `$1` z `config.json`
|
||||
- `$2` z `src`
|
||||
- `$3` z `{ "key": "value" }`
|
||||
|
||||
---
|
||||
|
||||
### Wyjście z pamięci
|
||||
|
||||
urządzenie __!`command`_, aby wstawić dane wyjściowe [polecenie bash](/docs/tui#bash-commands) wykonaj obciążenie.
|
||||
|
||||
Na przykład, aby sprawdzić narzędzie analityczne:
|
||||
|
||||
```md title=".opencode/commands/analyze-coverage.md"
|
||||
---
|
||||
description: Analyze test coverage
|
||||
---
|
||||
|
||||
Here are the current test results:
|
||||
!`npm test`
|
||||
|
||||
Based on these results, suggest improvements to increase coverage.
|
||||
```
|
||||
|
||||
Lub aby ostatnia zmiana:
|
||||
|
||||
```md title=".opencode/commands/review-changes.md"
|
||||
---
|
||||
description: Review recent changes
|
||||
---
|
||||
|
||||
Recent git commits:
|
||||
!`git log --oneline -10`
|
||||
|
||||
Review these changes and suggest any improvements.
|
||||
```
|
||||
|
||||
Polecenia są uruchamiane w systemie wyjściowym, a ich dane wyjściowe są uruchamiane.
|
||||
|
||||
---
|
||||
|
||||
### Referencje plików
|
||||
|
||||
Dołącz pliki do swojego polecenia, używając `@`, zawierającego plik.
|
||||
|
||||
```md title=".opencode/commands/review-component.md"
|
||||
---
|
||||
description: Review component
|
||||
---
|
||||
|
||||
Review the component in @src/components/Button.tsx.
|
||||
Check for performance issues and suggest improvements.
|
||||
```
|
||||
|
||||
Zawartość pliku jest automatycznie umieszczana w pliku.
|
||||
|
||||
---
|
||||
|
||||
## Opcje
|
||||
|
||||
Przyjrzyjmy się szczegółowo opcjom konfiguracji.
|
||||
|
||||
---
|
||||
|
||||
### Szablon
|
||||
|
||||
Opcja `template` została rozstrzygnięta, która została wysłana do LLM po wykonaniu polecenia.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"command": {
|
||||
"test": {
|
||||
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes."
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jest to **wymagana** opcja konfiguracji.
|
||||
|
||||
---
|
||||
|
||||
### Opis
|
||||
|
||||
Możliwość użycia `description`, aby skrócony opis działania polecenia.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"command": {
|
||||
"test": {
|
||||
"description": "Run tests with coverage"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jest podany jako opis w TUI po wpisaniu polecenia.
|
||||
|
||||
---
|
||||
|
||||
### Agent
|
||||
|
||||
Zastosowanie zastosowania `agent`, aby określić, który [agent] (./agents) powinien zostać naprawiony do wyboru.
|
||||
Jeśli jest to [podagent](/docs/agents/#subagents), rozwiązanie to ujawnione, podagenta.
|
||||
Aby móc, ustawa `subtask` na `false`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"command": {
|
||||
"review": {
|
||||
"agent": "plan"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jest to **opcjonalna** opcja konfiguracji. Jeśli nie jest dostępny, dostępny jest agentem.
|
||||
|
||||
---
|
||||
|
||||
### Podzadanie
|
||||
|
||||
Użyj wartości logicznej `subtask`, aby wymusić wywołanie [podagenta](/docs/agents/#subagents) polecenia.
|
||||
Jest to narzędzie, jeśli chcesz, aby decyzja nie zanieczyszczała kontekstu i **zmusiło** agenta do działania jako subagent,
|
||||
nawet jeśli `mode` jest podłączony na `primary` w konfiguracji [agent](/docs/agents).
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"command": {
|
||||
"analyze": {
|
||||
"subtask": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jest to **opcjonalna** opcja konfiguracji.
|
||||
|
||||
---
|
||||
|
||||
### Model
|
||||
|
||||
Używając konstrukcji `model`, aby znaleźć ukryty model dla tego polecenia.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"command": {
|
||||
"analyze": {
|
||||
"model": "anthropic/claude-3-5-sonnet-20241022"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jest to **opcjonalna** opcja konfiguracji.
|
||||
|
||||
---
|
||||
|
||||
## Wbudowany
|
||||
|
||||
opencode zawiera kilka istniejących urządzeń, takich jak `/init`, `/undo`, `/redo`, `/share`, `/help`; [dowiedz się więcej](/docs/tui#commands).
|
||||
|
||||
:::note
|
||||
Polecenia mogą zostać usunięte.
|
||||
:::
|
||||
|
||||
Jeśli zdefiniujesz tę samą nazwę, nastąpi decyzja.
|
||||
685
packages/web/src/content/docs/pl/config.mdx
Normal file
685
packages/web/src/content/docs/pl/config.mdx
Normal file
@@ -0,0 +1,685 @@
|
||||
---
|
||||
title: Konfig
|
||||
description: Korzystanie z konstrukcji OpenCode JSON.
|
||||
---
|
||||
|
||||
Możesz zagrać z OpenCode za pomocą pliku konfiguracyjnego JSON.
|
||||
|
||||
---
|
||||
|
||||
## Format
|
||||
|
||||
OpenCode obsługa formaty **JSON** i **JSONC** (JSON z komentarzami).
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
// Theme configuration
|
||||
"theme": "opencode",
|
||||
"model": "anthropic/claude-sonnet-4-5",
|
||||
"autoupdate": true,
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Lokalizacje
|
||||
|
||||
Możesz umieścić swoją instalację w kilku różnych lokalizacjach i jednym pliku
|
||||
inne porządki pierwszeństwa.
|
||||
|
||||
:::note
|
||||
Pliki konfiguracyjne są **łączone**, a nie zastępowane.
|
||||
:::
|
||||
|
||||
Pliki konfiguracyjne są łączone ze sobą, a nie zastępowane. Ustawienia z lokalizacji konfiguracyjnych są konfigurowalne. Ewentualne konfiguracje zaistnieją tylko w przypadku sprzecznych kluczy. Niekonfliktowe ustawienia ze wszystkich zasobów zachowanych.
|
||||
|
||||
Na zestawie, przygotowana globalna ustawi `theme: "opencode"` i `autoupdate: true`, zestaw zestawu `model: "anthropic/claude-sonnet-4-5"`, ostateczna zestaw będzie zawierał wszystkie trzy ustawienia.
|
||||
|
||||
---
|
||||
|
||||
### Kolejność pierwszeństwa
|
||||
|
||||
Źródła konfiguracji są ładowane w kolejności (później źródła występują wcześniej):
|
||||
|
||||
1. **Zdalna konfiguracja** (od `.well-known/opencode`) – ustawienia stosowane w organizacji
|
||||
2. **Konfiguracja globalna** (`~/.config/opencode/opencode.json`) – przestrzeganie użytkownika
|
||||
3. **Konfiguracja niestandardowa** (`OPENCODE_CONFIG` env var) — zastosowanie zastąpienie
|
||||
4. **Konfiguracja projektu** (`opencode.json` w projekcie) - ustawienia dla projektu specjalnego
|
||||
5. **`.opencode` katalogi** - agent, poleca, półki
|
||||
6. **Konfiguracja wbudowana** (`OPENCODE_CONFIG_CONTENT` env var) — zastąpienie środowiska wykonawczego
|
||||
|
||||
to, że konfiguracje projektu mogą być dostępne na poziomie globalnym konfiguracji, a konfiguracje globalne mogą być zdalne, zdalne konfiguracja organizacji.
|
||||
|
||||
:::note
|
||||
W katalogach `.opencode` i `~/.config/opencode` użytkownicy są **nazwy w zwykłej mnogiej** dla podkatalogów: `agents/`, `commands/`, `modes/`, `plugins/`, `skills/`, `tools/` i `themes/`. Nazwy wydane (np. `agent/`) są również objęte gwarancją kompatybilności wstecznej.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### Zdalny
|
||||
|
||||
Organizacje mogą być podłączone do łączy końcowych `.well-known/opencode`. Jest pobierane automatycznie po uwierzytelnieniu u dostawcy, który obsługuje.
|
||||
|
||||
Zdalna jest ładowana jako pierwsza i podstawowa. Wszystkie inne źródła konfiguracji (globalne, projektowe) mogą zostać udostępnione menu.
|
||||
|
||||
Na przykład, jeśli Twoja organizacja udostępnia serwery MCP, które są siecią internetową:
|
||||
|
||||
```json title="Remote config from .well-known/opencode"
|
||||
{
|
||||
"mcp": {
|
||||
"jira": {
|
||||
"type": "remote",
|
||||
"url": "https://jira.example.com/mcp",
|
||||
"enabled": false
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Możesz udostępnić serwery w szczegółach:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mcp": {
|
||||
"jira": {
|
||||
"type": "remote",
|
||||
"url": "https://jira.example.com/mcp",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Światowy
|
||||
|
||||
Umieść swoją globalną konfigurację OpenCode w `~/.config/opencode/opencode.json`. przestrzeganie funkcji globalnej, aby uzyskać dostęp do całego użytkownika, takie jak motywy, dostawca lub skróty klawiszowe.
|
||||
|
||||
Konfiguracja globalna zaawansowana, zdalne ustawienie konfiguracji.
|
||||
|
||||
---
|
||||
|
||||
### muszę zrobić projekt
|
||||
|
||||
Dodaj `opencode.json` w katalogu głównym projektu. Konfiguracja projektu ma priorytet wśród plików konfiguracyjnych — zaawansowane konfiguracje globalne i zdalne.
|
||||
|
||||
:::tip
|
||||
Instalacja wstępna dla katalogu w katalogu.
|
||||
:::
|
||||
|
||||
Kiedy OpenCode się uruchomi, szuka pliku konfiguracyjnego w katalogu Git.
|
||||
|
||||
Można również sprawdzić w Git i tego samego schematu, co globalny.
|
||||
|
||||
---
|
||||
|
||||
### Niestandardowa ścieżka
|
||||
|
||||
Niestandardowe rozwiązanie konfiguracyjne, różne opcje `OPENCODE_CONFIG`.
|
||||
|
||||
```bash
|
||||
export OPENCODE_CONFIG=/path/to/my/custom-config.json
|
||||
opencode run "Hello world"
|
||||
```
|
||||
|
||||
Konfiguracja niestandardowa jest ładowana z konfiguracją globalną i konfiguracją projektu w kolejności pierwszych.
|
||||
|
||||
---
|
||||
|
||||
### Katalog niestandardowy
|
||||
|
||||
niestandardowy katalog konfiguracyjny za pomocą `OPENCODE_CONFIG_DIR`
|
||||
zmienna środowiskowa. Katalog ten będzie przeszukiwany pod kątem agentów, ukryty,
|
||||
tryby i wtyczki, tak jak standardowy katalog `.opencode` i powinienem
|
||||
podążaj tą samą strukturą.
|
||||
|
||||
```bash
|
||||
export OPENCODE_CONFIG_DIR=/path/to/my/config-directory
|
||||
opencode run "Hello world"
|
||||
```
|
||||
|
||||
Katalog niestandardowy jest ładowany po katalogach global config i `.opencode`, więc **może być połączony** z ich urządzeniami.
|
||||
|
||||
---
|
||||
|
||||
## Schemat
|
||||
|
||||
Plik konfiguracyjny ma schemat końcowy w [**`opencode.ai/config.json`**](https://opencode.ai/config.json).
|
||||
|
||||
Twój edytor powinien mieć możliwość sprawdzania poprawności i autouzupełniania na podstawie schematu.
|
||||
|
||||
---
|
||||
|
||||
### TUI
|
||||
|
||||
Możliwość podłączenia urządzenia dla TUI za pomocą opcji `tui`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"tui": {
|
||||
"scroll_speed": 3,
|
||||
"scroll_acceleration": {
|
||||
"enabled": true
|
||||
},
|
||||
"diff_style": "auto"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Dostępna opcja:
|
||||
|
||||
- `scroll_acceleration.enabled` - Włącz przyspieszenie przewijania w rysiku macOS. **Ma pierwszeństwo przed `scroll_speed`.**
|
||||
- `scroll_speed` - Niestandardowy mnożnik szybkości przewijania (domyślnie: `3`, minimalnie: `1`). Ignorowane, jeśli `scroll_acceleration.enabled` do `true`.
|
||||
- `diff_style` – Sterowanie renderowaniem różnicowym. `"auto"` dostępny jest do szerokości terminala, `"stacked"` zawsze pojawia się pojedyncza kolumna.
|
||||
|
||||
[Dowiedz się więcej o korzystaniu z TUI tutaj](/docs/tui).
|
||||
|
||||
---
|
||||
|
||||
### Serwer
|
||||
|
||||
Możliwość ustawienia serwera dla źródeł `opencode serve` i `opencode web` za pomocą opcji `server`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"server": {
|
||||
"port": 4096,
|
||||
"hostname": "0.0.0.0",
|
||||
"mdns": true,
|
||||
"mdnsDomain": "myproject.local",
|
||||
"cors": ["http://localhost:5173"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Dostępna opcja:
|
||||
|
||||
- `port` - Port do nasłuchiwania.
|
||||
- `hostname` — nazwa hosta, która jest przeznaczona dla Ciebie. Gdy `mdns` jest połączony i nie jest ułożony inną nazwą hosta, jest połączony z `0.0.0.0`.
|
||||
- `mdns` - Włącz wykrywanie usług mDNS. Dzięki temu zewnętrznemu urządzeniu w sieci może być przesyłany Twój serwer OpenCode.
|
||||
- `mdnsDomain` - Niestandardowa nazwa domeny dla usług mDNS. Wartość domyślna do `opencode.local`. Przydatne do uruchomienia wielu zastosowań w tej samej sieci.
|
||||
- `cors` - Dodatkowe źródło CORS podczas korzystania z serwera HTTP z punktu końcowego. Wartość musi być dostępna dla źródeł (schemat + host + port opcjonalny), np. `https://app.example.com`.
|
||||
|
||||
[Dowiedz się więcej o tutaj](/docs/server).
|
||||
|
||||
---
|
||||
|
||||
### Narzędzia
|
||||
|
||||
Dostępne narzędzia, z których można korzystać LLM, dostęp do opcji `tools`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"tools": {
|
||||
"write": false,
|
||||
"bash": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Dowiedz się więcej o narzędziach tutaj](/docs/tools).
|
||||
|
||||
---
|
||||
|
||||
### Modele
|
||||
|
||||
Możesz mieć dostawców i modele, które chcesz mieć w konfiguracji OpenCode, za pomocą opcji `provider`, `model` i `small_model`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {},
|
||||
"model": "anthropic/claude-sonnet-4-5",
|
||||
"small_model": "anthropic/claude-haiku-4-5"
|
||||
}
|
||||
```
|
||||
|
||||
Opcja `small_model` konfiguruje oddzielny model do lekkich zadań, takich jak generowanie tytułów. Domyślnie OpenCode wyparte przez dostępny model, jeśli jest dostępny u dostawcy, w razie potrzeby powróć do innego modelu.
|
||||
|
||||
Opcje dostawcy mogą być zainstalowane `timeout` i `setCacheKey`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"anthropic": {
|
||||
"options": {
|
||||
"timeout": 600000,
|
||||
"setCacheKey": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- `timeout` - Limit czasu trwania w milisekundach (domyślnie: 300000). Ustaw na `false`, aby wyłączyć.
|
||||
- `setCacheKey` — wkrótce, że klucz pamięci podręcznej jest zawsze gotowy dla dostawcy.
|
||||
|
||||
Możesz także mieć [model lokalny](/docs/models#local). [Dowiedz się więcej](/docs/models).
|
||||
|
||||
---
|
||||
|
||||
#### Opcje dostawcy dla dostawcy
|
||||
|
||||
inne udostępnienie dodatkowych możliwości wyposażenia poza urządzeniami `timeout` i `apiKey`.
|
||||
|
||||
##### Podłoże Amazonki
|
||||
|
||||
Amazon Bedrock umożliwia podłączenie wyłącznika dla AWS:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"amazon-bedrock": {
|
||||
"options": {
|
||||
"region": "us-east-1",
|
||||
"profile": "my-aws-profile",
|
||||
"endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- `region` — region AWS dla Bedrock (domyślnie jest do `AWS_REGION` env var lub `us-east-1`)
|
||||
- `profile` - profil nazwany AWS z `~/.aws/credentials` (domyślnie `AWS_PROFILE` env var)
|
||||
- `endpoint` — niestandardowy adres URL punktu końcowego dla punktów końcowych VPC. Jest to alias dla opcji ogólnej `baseURL` przy użyciu terminologii specjalnej dla AWS. Jeśli oba, pierwszeństwo ma `endpoint`.
|
||||
|
||||
:::note
|
||||
Token okaziciela (`AWS_BEARER_TOKEN_BEDROCK` lub `/connect`) ma pierwszeństwo przed uwierzytelnianiem opartym na profilu. Aby uzyskać szczegółowe informacje, zobacz [pierwszeństwo uwierzytelniania](/docs/providers#authentication-precedence).
|
||||
:::
|
||||
|
||||
[Dowiedz się więcej o budowie Amazon Bedrock](/docs/providers#amazon-bedrock).
|
||||
|
||||
---
|
||||
|
||||
### Motywy
|
||||
|
||||
Urządzenie zachęcające do korzystania z urządzeń OpenCode, za pomocą sieci `theme`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"theme": ""
|
||||
}
|
||||
```
|
||||
|
||||
[Dowiedz się więcej tutaj](/docs/themes).
|
||||
|
||||
---
|
||||
|
||||
### Agencja
|
||||
|
||||
Możliwość dostępności agentów do gniazd za pomocą opcji `agent`.
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"agent": {
|
||||
"code-reviewer": {
|
||||
"description": "Reviews code for best practices and potential issues",
|
||||
"model": "anthropic/claude-sonnet-4-5",
|
||||
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
|
||||
"tools": {
|
||||
// Disable file modification tools for review-only agent
|
||||
"write": false,
|
||||
"edit": false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Możesz także uniknąć agentów przy użyciu plików przecen w `~/.config/opencode/agents/` lub `.opencode/agents/`. [Dowiedz się więcej tutaj](/docs/agents).
|
||||
|
||||
---
|
||||
|
||||
### Domyślny agent
|
||||
|
||||
Domyślnego agenta można ustawić za pomocą opcji `default_agent`. Wykrywacz, który jest używany, jeśli nie został ujawniony.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"default_agent": "plan"
|
||||
}
|
||||
```
|
||||
|
||||
Agent domyślny musi być agentem (nie subagentem). Może być agentem aplikacji, taki jak `"build"` lub `"plan"`, albo ukryty przez Ciebie [agent niestandardowy](/docs/agents). Jeśli agent nie istnieje lub jest podagentem, OpenCode powróć do `"build"` z ostrzeżeniem.
|
||||
|
||||
Dotyczy urządzeń wszystkich interfejsów: TUI, CLI (`opencode run`), aplikacji komputerowej i akcji GitHub.
|
||||
|
||||
---
|
||||
|
||||
### Partycypujący
|
||||
|
||||
Możesz udostępnić [udostępnij](/docs/share) za pomocą opcji `share`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"share": "manual"
|
||||
}
|
||||
```
|
||||
|
||||
Działaj:
|
||||
|
||||
- `"manual"` – Zezwalaj na ręczne korzystanie z pomocy narzędzi (domyślnie)
|
||||
- `"auto"` - Automatycznie udostępniaj nowe rozmowy
|
||||
- `"disabled"` - Całkowicie udostępnienie
|
||||
|
||||
Domyślnie jest rozwiązaniem na tryb medyczny, w którym należy jawnie udostępniać rozmowy za pomocą polecenia `/share`.
|
||||
|
||||
---
|
||||
|
||||
### Polecenia
|
||||
|
||||
Możesz korzystać z usług polecanych dla powtarzalnych zadań za pomocą opcji `command`.
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"command": {
|
||||
"test": {
|
||||
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.",
|
||||
"description": "Run tests with coverage",
|
||||
"agent": "build",
|
||||
"model": "anthropic/claude-haiku-4-5",
|
||||
},
|
||||
"component": {
|
||||
"template": "Create a new React component named $ARGUMENTS with TypeScript support.\nInclude proper typing and basic structure.",
|
||||
"description": "Create a new component",
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Można także definiować polecenia przy użyciu plików Markdown w `~/.config/opencode/commands/` lub `.opencode/commands/`. [Dowiedz się więcej tutaj](/docs/commands).
|
||||
|
||||
---
|
||||
|
||||
### Krótki kluczowy
|
||||
|
||||
Możliwość zmiany skrótu klawiszowego za pomocą opcji `keybinds`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"keybinds": {}
|
||||
}
|
||||
```
|
||||
|
||||
[Dowiedz się więcej tutaj](/docs/keybinds).
|
||||
|
||||
---
|
||||
|
||||
### Automatyczna aktualizacja
|
||||
|
||||
OpenCode automatycznie pobierze każde nowe uruchomienie. Można skorzystać z opcji `autoupdate`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"autoupdate": false
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli nie chcesz aktualizacji, ale chcesz podłączyć nową wersję, ustaw `autoupdate` na `"notify"`.
|
||||
Działa tylko wtedy, gdy nie jest uruchamiana przy użyciu menedżera pakietów, jak Homebrew.
|
||||
|
||||
---
|
||||
|
||||
### Formacja
|
||||
|
||||
Można podać kod formacyjny za pomocą opcji `formatter`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": {
|
||||
"prettier": {
|
||||
"disabled": true
|
||||
},
|
||||
"custom-prettier": {
|
||||
"command": ["npx", "prettier", "--write", "$FILE"],
|
||||
"environment": {
|
||||
"NODE_ENV": "development"
|
||||
},
|
||||
"extensions": [".js", ".ts", ".jsx", ".tsx"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Dowiedz się więcej o formaterach tutaj](/docs/formatters).
|
||||
|
||||
---
|
||||
|
||||
### Uprawnienia
|
||||
|
||||
Domyślnie opencode **zezwala na wszystkie działania** bez konieczności posiadania zgody. Można zmienić opcję `permission`.
|
||||
|
||||
Na przykład, aby można było wykryć, że narzędzie `edit` i `bash` wymaga zgody użytkownika:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "ask",
|
||||
"bash": "ask"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Dowiedz się więcej o prawach tutaj](/docs/permissions).
|
||||
|
||||
---
|
||||
|
||||
### Zagęszczanie
|
||||
|
||||
Możesz kontrolować zachowanie zagęszczania kontekstu za pomocą opcji `compaction`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"compaction": {
|
||||
"auto": true,
|
||||
"prune": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- `auto` - Automatycznie kompaktuj, gdy kontekst jest pełny (domyślnie: `true`).
|
||||
- `prune` - Usuń stare dane narzędzia, aby zapisać tokeny (domyślnie: `true`).
|
||||
|
||||
---
|
||||
|
||||
### Obserwator
|
||||
|
||||
Rejestracja wzorca plików za pomocą `watcher`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"watcher": {
|
||||
"ignore": ["node_modules/**", "dist/**", ".git/**"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Wzorce są zgodne ze składnią glob. Dostęp tej opcji, aby móc zaszumione katalogi z plikami do przeglądania.
|
||||
|
||||
---
|
||||
|
||||
### Serwer MPK
|
||||
|
||||
Dostęp do serwerów MCP, których chcesz używać, za pośrednictwem sieci `mcp`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {}
|
||||
}
|
||||
```
|
||||
|
||||
[Dowiedz się więcej tutaj](/docs/mcp-servers).
|
||||
|
||||
---
|
||||
|
||||
### Wtyki
|
||||
|
||||
[Wtyczki](/docs/plugins) rozszerzają OpenCode o podstawowe narzędzia, hooki i integracje.
|
||||
|
||||
Pliki plików wtyczek w `.opencode/plugins/` lub `~/.config/opencode/plugins/`. Można także włączyć wtyczkę z npm poprzez opcję `plugin`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"plugin": ["opencode-helicone-session", "@my-org/custom-plugin"]
|
||||
}
|
||||
```
|
||||
|
||||
[Dowiedz się więcej tutaj](/docs/plugins).
|
||||
|
||||
---
|
||||
|
||||
### Instrukcja
|
||||
|
||||
Instrukcja dla modelu, w której można zastosować opcję `instructions`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
|
||||
}
|
||||
```
|
||||
|
||||
Pobierana do schematów i wzorców globalnych do plików graficznych. [Dowiedz się więcej
|
||||
o zasadach tutaj](/docs/rules).
|
||||
|
||||
---
|
||||
|
||||
### Niepełnosprawny sprzedawca
|
||||
|
||||
Zasilacz ładowany automatycznie za pomocą zasilacza `disabled_providers`. Jest to możliwe, gdy istnieje możliwość podłączenia ładowania niektórych dostawców, nawet jeśli dane uwierzytelniające są dostępne.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"disabled_providers": ["openai", "gemini"]
|
||||
}
|
||||
```
|
||||
|
||||
:::note
|
||||
`disabled_providers` pierwszeństwo przed `enabled_providers`.
|
||||
:::
|
||||
|
||||
Opcja `disabled_providers` analiza tablica identyfikatorów dostawców. Gdy dostawca jest wyłączony:
|
||||
|
||||
- Nie istnieje możliwość wystąpienia zagrożenia, które jest możliwe do zastosowania.
|
||||
- Nie nastąpi uruchomienie, nawet jeśli klucz API zostanie uruchomiony za pomocą polecenia `/connect`.
|
||||
- Model dostawcy nie pojawia się na liście wyboru modeli.
|
||||
|
||||
---
|
||||
|
||||
### Włączeni dostawcy
|
||||
|
||||
Można znaleźć dostawców za pomoc `enabled_providers`. Po ustawieniu włączeni tylko dostawcy, a wszyscy będą obecni.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"enabled_providers": ["anthropic", "openai"]
|
||||
}
|
||||
```
|
||||
|
||||
Jest to urządzenie, gdy urządzenie OpenCode jest używane tylko z urządzeniami, zamiast odłączać ich jedno po drugim.
|
||||
|
||||
:::note
|
||||
`disabled_providers` pierwszeństwo przed `enabled_providers`.
|
||||
:::
|
||||
|
||||
Jeśli obowiązująsz w `enabled_providers`, jak i `disabled_providers`, `disabled_providers` pierwszeństwo ze względu na kompatybilność wsteczną.
|
||||
|
||||
---
|
||||
|
||||
### Eksperymentalny
|
||||
|
||||
Klucz `experimental` zawiera opcje, które są początkiem rozwoju.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"experimental": {}
|
||||
}
|
||||
```
|
||||
|
||||
:::caution
|
||||
Opcje eksperymentalne nie są awaryjne. Jedna zmiana lub zmiana bez zniszczenia.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Zmienne
|
||||
|
||||
Możliwość wykorzystania danych zmiennych w plikach konfiguracyjnych, aby odwoływać się do zmiennych zewnętrznych i zawartości plików.
|
||||
|
||||
---
|
||||
|
||||
### Kop. zm
|
||||
|
||||
zastosowanie `{env:VARIABLE_NAME}`, aby zakończyć zmiennego przebiegu:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "{env:OPENCODE_MODEL}",
|
||||
"provider": {
|
||||
"anthropic": {
|
||||
"models": {},
|
||||
"options": {
|
||||
"apiKey": "{env:ANTHROPIC_API_KEY}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jeżeli zmienna kontrolna nie jest skonfigurowana, należy zastosować do niej pusty ciąg znaków.
|
||||
|
||||
---
|
||||
|
||||
### Akta
|
||||
|
||||
źródło `{file:path/to/file}`, aby znaleźć zawartość pliku:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"instructions": ["./custom-instructions.md"],
|
||||
"provider": {
|
||||
"openai": {
|
||||
"options": {
|
||||
"apiKey": "{file:~/.secrets/openai-key}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ścieżki plików mogą być:
|
||||
|
||||
- Względem katalogu konfiguracyjnego
|
||||
- Lub nadrzędne kierowane się od `/` lub `~`
|
||||
|
||||
Sądzimy, że:
|
||||
|
||||
- Przechowywanie wrażliwych danych, takich jak klucze API, w oddzielnych plikach.
|
||||
- Do udostępnienia dużych plików bez zaśmiecania konstrukcji.
|
||||
- Udostępnianie fragmentów konfiguracji w wielu plikach konfiguracyjnych.
|
||||
170
packages/web/src/content/docs/pl/custom-tools.mdx
Normal file
170
packages/web/src/content/docs/pl/custom-tools.mdx
Normal file
@@ -0,0 +1,170 @@
|
||||
---
|
||||
title: Narzędzia specjalistyczne
|
||||
description: Twórz narzędzi, które LLM mogą być uruchamiane w otwartym kodzie.
|
||||
---
|
||||
|
||||
Narzędzia stosowane do funkcji, z których LLM może korzystać podczas rozmów. Współpracują z [wbudowanymi narzędziami] (./tools) opencode, wtyczka jak `read`, `write` i `bash`.
|
||||
|
||||
---
|
||||
|
||||
## Narzędzie do tworzenia
|
||||
|
||||
Narzędzia tworzą pliki **TypeScript** lub **JavaScript**. Definicja narzędzia może być odwoływana do skryptów napisanych w **dowolnym języku** — TypeScript lub JavaScript są używane tylko w tym samym narzędziu.
|
||||
|
||||
---
|
||||
|
||||
### Lokalizacja
|
||||
|
||||
Można je uruchomić:
|
||||
|
||||
- Lokalnie, umieszczając je w katalogu `.opencode/tools/` swojego projektu.
|
||||
- Lub globalnie, umieszczając je w `~/.config/opencode/tools/`.
|
||||
|
||||
---
|
||||
|
||||
### Struktura
|
||||
|
||||
Najłatwiejszym sposobem tworzenia narzędzia jest pomocnika `tool()`, który zapewnia bezpieczeństwo i sprawdzanie poprawności.
|
||||
|
||||
```ts title=".opencode/tools/database.ts" {1}
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
|
||||
export default tool({
|
||||
description: "Query the project database",
|
||||
args: {
|
||||
query: tool.schema.string().describe("SQL query to execute"),
|
||||
},
|
||||
async execute(args) {
|
||||
// Your database logic here
|
||||
return `Executed query: ${args.query}`
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
**Nazwa pliku** staje się **nazwą narzędzia**. Pierwotne narzędzie `database`.
|
||||
|
||||
---
|
||||
|
||||
#### Wiele narzędzi na plik
|
||||
|
||||
Można także eksportować wiele narzędzi z jednego pliku. Każdy eksport staje się **oddzielnym językiem** o nazwie **`<filename>_<exportname>`**:
|
||||
|
||||
```ts title=".opencode/tools/math.ts"
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
|
||||
export const add = tool({
|
||||
description: "Add two numbers",
|
||||
args: {
|
||||
a: tool.schema.number().describe("First number"),
|
||||
b: tool.schema.number().describe("Second number"),
|
||||
},
|
||||
async execute(args) {
|
||||
return args.a + args.b
|
||||
},
|
||||
})
|
||||
|
||||
export const multiply = tool({
|
||||
description: "Multiply two numbers",
|
||||
args: {
|
||||
a: tool.schema.number().describe("First number"),
|
||||
b: tool.schema.number().describe("Second number"),
|
||||
},
|
||||
async execute(args) {
|
||||
return args.a * args.b
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
Tworzy do dwóch narzędzi: `math_add` i `math_multiply`.
|
||||
|
||||
---
|
||||
|
||||
### Argumentacja
|
||||
|
||||
Do zdefiniowania argumentów można zastosować `tool.schema`, czyli po prostu [Zod](https://zod.dev).
|
||||
|
||||
```ts "tool.schema"
|
||||
args: {
|
||||
query: tool.schema.string().describe("SQL query to execute")
|
||||
}
|
||||
```
|
||||
|
||||
Można także bezpośrednio zaimportować [Zod](https://zod.dev) i zwyczajowo zwykły obiekt:
|
||||
|
||||
```ts {6}
|
||||
import { z } from "zod"
|
||||
|
||||
export default {
|
||||
description: "Tool description",
|
||||
args: {
|
||||
param: z.string().describe("Parameter description"),
|
||||
},
|
||||
async execute(args, context) {
|
||||
// Tool implementation
|
||||
return "result"
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Kontekst
|
||||
|
||||
Narzędzia kontekstowe charakterystycznej sesji:
|
||||
|
||||
```ts title=".opencode/tools/project.ts" {8}
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
|
||||
export default tool({
|
||||
description: "Get project information",
|
||||
args: {},
|
||||
async execute(args, context) {
|
||||
// Access context information
|
||||
const { agent, sessionID, messageID, directory, worktree } = context
|
||||
return `Agent: ${agent}, Session: ${sessionID}, Message: ${messageID}, Directory: ${directory}, Worktree: ${worktree}`
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
`context.directory` jako katalogowy pracodawczy.
|
||||
`context.worktree` dla katalogu głównego zwalczającego git.
|
||||
|
||||
---
|
||||
|
||||
## Przykład
|
||||
|
||||
### Napisz narzędzie w Pythonie
|
||||
|
||||
Napisz swoje narzędzie w języku angielskim. Oto przykład dodania dwóch liczb przy użyciu języka Python.
|
||||
|
||||
Fragment utworu jako skrypt w języku Python:
|
||||
|
||||
```python title=".opencode/tools/add.py"
|
||||
import sys
|
||||
|
||||
a = int(sys.argv[1])
|
||||
b = int(sys.argv[2])
|
||||
print(a + b)
|
||||
```
|
||||
|
||||
Utwór instrumentalny, który jest ukryty:
|
||||
|
||||
```ts title=".opencode/tools/python-add.ts" {10}
|
||||
import { tool } from "@opencode-ai/plugin"
|
||||
import path from "path"
|
||||
|
||||
export default tool({
|
||||
description: "Add two numbers using Python",
|
||||
args: {
|
||||
a: tool.schema.number().describe("First number"),
|
||||
b: tool.schema.number().describe("Second number"),
|
||||
},
|
||||
async execute(args, context) {
|
||||
const script = path.join(context.worktree, ".opencode/tools/add.py")
|
||||
const result = await Bun.$`python3 ${script} ${args.a} ${args.b}`.text()
|
||||
return result.trim()
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
Tutaj istnieje narzędzie [`Bun.$`](https://bun.com/docs/runtime/shell) uruchamiające skryptu w języku Python.
|
||||
76
packages/web/src/content/docs/pl/ecosystem.mdx
Normal file
76
packages/web/src/content/docs/pl/ecosystem.mdx
Normal file
@@ -0,0 +1,76 @@
|
||||
---
|
||||
title: Ekosystem
|
||||
description: Projekty i integracje zbudowane w OpenCode.
|
||||
---
|
||||
|
||||
Zgromadzenie stowarzyszenia organizacji na OpenCode.
|
||||
|
||||
:::note
|
||||
Chcesz zadać swój projekt badawczy z OpenCode do tej listy? Prześlij PR.
|
||||
:::
|
||||
|
||||
Możesz także sprawdzić [awesome-opencode](https://github.com/awesome-opencode/awesome-opencode) i [opencode.cafe](https://opencode.cafe), grupę skupiającą ekosystem i społeczność.
|
||||
|
||||
---
|
||||
|
||||
## Wtyki
|
||||
|
||||
| Imię | Opis |
|
||||
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
|
||||
| [opencode-daytona](https://github.com/jamesmurdza/daytona/blob/main/guides/typescript/opencode/README.md) | Automatycznie uruchamiaj sesje OpenCode w izolowanych piaskownicach Daytona z synchronizacją git i podglądami na żywo |
|
||||
| [sesja-helicone-opencode](https://github.com/H2Shami/opencode-helicone-session) | Automatycznie wstawiaj nagłówki sesji Helicone w celu grupowania urządzeń |
|
||||
| [wstrzykiwanie typu opencode](https://github.com/nick-vi/opencode-type-inject) | Automatyczne wstrzykiwacze TypeScript/Svelte do odczytania plików za pomocą narzędzi wyszukiwania |
|
||||
| [opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) | wykorzystać do wykorzystania ChatGPT Plus/Pro zamiast kredytu API |
|
||||
| [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) | korzystać z planu Gemini zamiast rozliczeń API |
|
||||
| [auth-antygrawitacja-opencode](https://github.com/NoeFabris/opencode-antigravity-auth) | Wykorzystanie z bezpłatnych modeli Antigravity zamiast rozliczeń API |
|
||||
| [opencode-devcontainers](https://github.com/athal7/opencode-devcontainers) | Izolacja wielooddziałowych kontenerów deweloperskich z płytkami klonami i automatycznie przypisywanymi portami |
|
||||
| [opencode-google-antigravity-auth](https://github.com/shekohex/opencode-google-antigravity-auth) | Wtyczka Google Antigravity OAuth z obsługą obsługi Google i bardziej niezawodną obsługą API |
|
||||
| [czyszczenie-dynamiczne-kontekstu opencode](https://github.com/Tarquinen/opencode-dynamic-context-pruning) | Zoptymalizuj wykorzystanie tokena, usuwając przestarzałe dane wyjściowe narzędzia |
|
||||
| [cytowane w opencode-websearch](https://github.com/ghoulr/opencode-websearch-cited.git) | Dodaj natywną obsługę wyszukiwania w sieci dla dostawców w stylu opartym na Google |
|
||||
| [opencode-pty](https://github.com/shekohex/opencode-pty.git) | Uruchomienie agenta AI uruchamiającego się w tle w PTY i wytwarzanie ich interaktywnych danych. |
|
||||
| [strategia-powłoki-opencode](https://github.com/JRedeker/opencode-shell-strategy) | Instrukcje dla nieinteraktywnych obowiązków - zaniechanie zawieszenia operacji zależnych od TTY |
|
||||
| [opencode-wakatime](https://github.com/angristan/opencode-wakatime) | Śledź udostępnić OpenCode za pomocą Wakatime |
|
||||
| [formatujący tabelę opencode-md](https://github.com/franlol/opencode-md-table-formatter/tree/main) | Oczyść tabelę przecenioną przez LLM |
|
||||
| [opencode-szybkie-zastosowanie-morficzne](https://github.com/JRedeker/opencode-morph-fast-apply) | 10x szybsza edycja kodu dzięki Morph Fast Apply API i znacznikom leniwej edycji |
|
||||
| [oh-mój-opencode](https://github.com/code-yeongyu/oh-my-opencode) | Agencje odpowiedzialne w tle, gotowe narzędzia LSP/AST/MCP, wyselekcjonowani agenci, kompatybilni z Claude Code |
|
||||
| [powiadamiacz opencode](https://github.com/panta82/opencode-notificator) | Powiadomienia na pulpicie i alerty dźwiękowe dotyczące sesji OpenCode |
|
||||
| [powiadamiający o opencode](https://github.com/mohak34/opencode-notifier) | Powiadomienia na pulpicie i alerty dźwiękowe dotyczące uprawnień, wyników i zdarzeń o błędach |
|
||||
| [nazwa-opencode-zellij](https://github.com/24601/opencode-zellij-namer) | Automatyczne nazewnictwo sesji Zellij oparte na sztucznej inteligencji w oparciu o kontekst OpenCode |
|
||||
| [umiejętność obsługi opencode](https://github.com/zenobi-us/opencode-skillful) | Zezwalaj agentom OpenCode na leniwe ładowanie podpowiedzi na podstawie odkrywania możliwości i wstrzykiwania |
|
||||
| [superpamięć opencode](https://github.com/supermemoryai/opencode-supermemory) | Trwała pamięć w sesjach przy użyciu Supermemory |
|
||||
| [@plannotator/opencode](https://github.com/backnotprop/plannotator/tree/main/apps/opencode-plugin) | Interaktywny przegląd planu z adnotacją wizualną i użytkową prywatną/offline |
|
||||
| [@openspoon/podzadanie2](https://github.com/spoons-and-mirrors/subtask2) | Rozszerzony kod otwarty/polecenia do połączenia sieciowego ze szczegółową kontrolą bezpieczeństwa |
|
||||
| [program planujący opencode](https://github.com/different-ai/opencode-scheduler) | Zaplanuj powtarzające się zadania, używając launchd (Mac) lub systemd (Linux) ze składaną cron |
|
||||
| [mikod](https://github.com/vtemian/micode) | Ustrukturyzowana burza mózgów → Plan → Wdrożenie wyjścia z ciągłością sesji |
|
||||
| [okto](https://github.com/vtemian/octto) | Interaktywny interfejs do burzy mózgów AI z formularzami kontrolnymi wielu pytań |
|
||||
| [agencja-w tle opencode](https://github.com/kdcokenny/opencode-background-agents) | Agencje krytyczne w tle w stylu Claude Code z delegowaniem asynchronicznym i trwałością kontekstu |
|
||||
| [powiadomienie o opencode](https://github.com/kdcokenny/opencode-notify) | Natywne uruchomienie systemu dla OpenCode – wiesz, kiedy zadania zostaną zakończone |
|
||||
| [obszar roboczy opencode](https://github.com/kdcokenny/opencode-workspace) | Lista wiązek orkiestracji wieloagentowej – 16 dostępna, jedna instalacja |
|
||||
| [drzewo robocze opencode](https://github.com/kdcokenny/opencode-worktree) | Drzewa robocze Git o zerowym tarciu dla OpenCode |
|
||||
|
||||
---
|
||||
|
||||
## Projektowanie
|
||||
|
||||
| Imię | Opis |
|
||||
| ------------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
|
||||
| [kimaki](https://github.com/remorses/kimaki) | Bot Discord do kontrolowania sesji OpenCode, zbudowany na SDK |
|
||||
| [opencode.nvim](https://github.com/NickvanDyke/opencode.nvim) | Wtyczka Neovim do podpowiedzi, zbudowana w oparciu o API |
|
||||
| [portal](https://github.com/hosenur/portal) | Interfejs sieciowy do urządzeń mobilnych dla OpenCode poprzez Tailscale/VPN |
|
||||
| [szablon wtyczki opencode](https://github.com/zenobi-us/opencode-plugin-template/) | Szablon do budowy wtyczek OpenCode |
|
||||
| [opencode.nvim](https://github.com/sudo-tee/opencode.nvim) | Frontend Neovim dla opencode - agent kodujący AI oparty na terminalu |
|
||||
| [ai-sdk-provider-opencode-sdk](https://github.com/ben-vargas/ai-sdk-provider-opencode-sdk) | Stosowanie Vercel AI SDK do użytku z OpenCode poprzez @opencode-ai/sdk |
|
||||
| [OpenChamber](https://github.com/btriapitsyn/openchamber) | Aplikacja internetowa/stacjonarna i rozszerzenie VS Code dla OpenCode |
|
||||
| [OpenCode-Obsydian](https://github.com/mtymek/opencode-obsidian) | Wtyczka Obsidian osadzająca OpenCode w interfejsie użytkownika Obsidian |
|
||||
| [OpenWork](https://github.com/different-ai/openwork) | Alternatywa typu open source dla Claude Cowork, obsługa przez OpenCode |
|
||||
| [ocx](https://github.com/kdcokenny/ocx) | Menedżer rozszerzony OpenCode z przenośnymi, izolowanymi profilami. |
|
||||
| [CodeNomad](https://github.com/NeuralNomadsAI/CodeNomad) | Aplikacja komputerowa, internetowa, mobilna i zdalna dla OpenCode |
|
||||
|
||||
---
|
||||
|
||||
## Agencja
|
||||
|
||||
| Imię | Opis |
|
||||
| ----------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| [Agent](https://github.com/Cluster444/agentic) | Modułowi agencje i polecenia AI do rozwoju strukturalnego |
|
||||
| [agencja-opencode](https://github.com/darrenhinde/opencode-agents) | Konfiguracje, podpowiedzi, agencje i wtyczki usprawniające przepływ pracy |
|
||||
170
packages/web/src/content/docs/pl/enterprise.mdx
Normal file
170
packages/web/src/content/docs/pl/enterprise.mdx
Normal file
@@ -0,0 +1,170 @@
|
||||
---
|
||||
title: Przedsiębiorstwo
|
||||
description: Bezpieczne korzystanie z OpenCode w Twojej organizacji.
|
||||
---
|
||||
|
||||
import config from "../../../../config.mjs"
|
||||
export const email = `mailto:${config.email}`
|
||||
|
||||
OpenCode Przedsiębiorstwo jest przeznaczone dla organizacji, która ma dostęp do zasobów, że ich kod i dane nigdy nie opuszczą infrastruktury. Może zostać zarejestrowany za pomocą zapachuralizowanej konfiguracji, która integruje się z logowaniem jednokrotnym i uruchomieniem bramą AI.
|
||||
|
||||
:::note
|
||||
OpenCode nie przechowuje żadnego kodu ani danych kontekstowych.
|
||||
:::
|
||||
|
||||
Aby skorzystać z pracy z OpenCode Przedsiębiorstwo:
|
||||
|
||||
1. Przeprowadź próbę wewnętrzną ze swoim systemem.
|
||||
2. **<a href={email}>Skontaktuj się z nami</a>**, aby omówić ceny i opcję konfiguracji.
|
||||
|
||||
---
|
||||
|
||||
## Test
|
||||
|
||||
OpenCode jest oprogramowaniem typu open source i nie przechowuje żadnego kodu ani danych kontekstowych, więc programiści mogą po prostu [zacząć](/docs/) i próbować próbną.
|
||||
|
||||
---
|
||||
|
||||
### Obsługa danych
|
||||
|
||||
**OpenCode nie dotyczy kodu źródłowego ani danych kontekstowych.** Całe zdarzenie odbywa się lokalnie lub poprzez bezpośrednio wywołane API do twojego dostawcy AI.
|
||||
|
||||
to, że korzystasz z usług dostawcy, lub dostawcy zaufania
|
||||
Brama AI, możesz bezpłatnie korzystać z OpenCode.
|
||||
|
||||
Zastrzeżeniem jest opcjonalna funkcja `/share`.
|
||||
|
||||
---
|
||||
|
||||
#### Dzielenie się rozmowami
|
||||
|
||||
Jeśli użytkownicy są połączeni z `/share`, połączenie jest połączone z danymi, które zostały przesłane do usług, które są udostępniane przez hosty tych użytkowników w opencode.ai.
|
||||
|
||||
Dane są aktualnie dostępne przez sieć brzegową naszego CDN i są buforowane na brzegu w pobliżu Twoich użytkowników.
|
||||
|
||||
Zalecamy tę opcję na okres próbny.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"share": "disabled"
|
||||
}
|
||||
```
|
||||
|
||||
[Więcej informacji o udostępnianiu](/docs/share).
|
||||
|
||||
---
|
||||
|
||||
### Własność kodu
|
||||
|
||||
**Jesteś właścicielem całości kodu źródłowego przez OpenCode.** Nie ma żadnych ograniczeń licencyjnych ani należących do własności.
|
||||
|
||||
---
|
||||
|
||||
## Wycena
|
||||
|
||||
W przypadku OpenCode Enterprise model per-seat. Jeśli posiadasz własną bramkę LLM, nie pobieramy opłat za korzystanie z tokenów. Aby uzyskać więcej informacji na temat, jeśli jest możliwe, **<a href={email}>skontaktuj się z nami</a>**.
|
||||
|
||||
---
|
||||
|
||||
## Zastosowanie
|
||||
|
||||
Gdy zasięgsz okres próbny i nadzorujesz użytkowanie z OpenCode na
|
||||
swoją organizację, możesz **<a href={email}>skontaktować się z nami</a>**, aby omówić te dźwięki
|
||||
opcja cenowa i wdrożeniowa.
|
||||
|
||||
---
|
||||
|
||||
### Konfiguracja centralna
|
||||
|
||||
Możliwości wykorzystania OpenCode tak, aby skorzystać z jednego zastosowania dla całej organizacji.
|
||||
|
||||
Tę zapachową konfigurację można zintegrować z dostawcą SSO i specyfikacje wszyscy użytkownicy mają dostęp wyłącznie do bram wewnętrznych AI.
|
||||
|
||||
---
|
||||
|
||||
### Integracja SSO
|
||||
|
||||
Dzięki zastosowaniu konfiguracji OpenCode może zostać włączone z dostawcą SSO Twojej organizacji w celu uwierzytelnienia.
|
||||
|
||||
Dzięki temu OpenCode może uzyskać dane uwierzytelniające dla wewnętrznej bramy AI za pośrednictwem transmisji systemu zarządzania tożsamością.
|
||||
|
||||
---
|
||||
|
||||
### Wewnętrzna bramka AI
|
||||
|
||||
Dzięki zastosowaniu konfiguracji OpenCode można również skorzystać z tego, że można korzystać tylko z wewnętrznych bram AI.
|
||||
|
||||
Możesz także dołączyć do wszystkich innych dostawców sztucznej inteligencji, upewniając się, że wszystkie elementy przechodzą przez zatwierdzenie wykorzystania Twojej organizacji.
|
||||
|
||||
---
|
||||
|
||||
### Hosting własny
|
||||
|
||||
Zalecamy, aby można było je udostępnić, aby Twoje dane nigdy nie zostały opuszczone
|
||||
Twoja organizacja może być pomocna w utrzymaniu ich w Twojej infrastrukturze.
|
||||
|
||||
Jest to obecnie w naszym planie działania. Jeśli jesteś zainteresowany, **<a href={email}>daj nam znać</a>**.
|
||||
|
||||
---
|
||||
|
||||
## Często zadawane pytania
|
||||
|
||||
<details>
|
||||
<summary>What is OpenCode Enterprise?</summary>
|
||||
|
||||
OpenCode Przedsiębiorstwo jest przeznaczone dla organizacji, która ma dostęp do zasobów, że ich kod i dane nigdy nie opuszczą infrastruktury. Może zostać zarejestrowany za pomocą zapachuralizowanej konfiguracji, która integruje się z logowaniem jednokrotnym i uruchomieniem bramą AI.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>How do I get started with OpenCode Enterprise?</summary>
|
||||
|
||||
Po prostu uruchom wersję próbną ze swoim. OpenCode urządzenia niezabezpieczone kodu ani danych kontekstowych, co ułatwia uruchomienie pracy.
|
||||
|
||||
**<a href={email}>skontaktuj się z nami</a>**, aby omówić ceny i wybrać opcję.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>How does enterprise pricing work?</summary>
|
||||
|
||||
Oferujemy ceny korporacyjne za jedno stanowisko. Jeśli posiadasz własną bramkę LLM, nie pobieramy opłat za korzystanie z tokenów. Aby uzyskać więcej informacji, **<a href={email}>skontaktuj się z nami</a>**, aby uzyskać wynik określony dla potrzeb Twojej organizacji.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Is my data secure with OpenCode Enterprise?</summary>
|
||||
|
||||
Tak. OpenCode nie przechowuje kodu ani danych kontekstowych. Całe zdarzenie odbywa się lokalnie lub poprzez bezpośrednie wywołanie API przez dostawcę AI. Dostęp do konfiguracji i integracji z logowaniem jednokrotnym Twoje dane pozostają bezpieczne w infrastrukturze organizacji.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Can we use our own private NPM registry?</summary>
|
||||
|
||||
OpenCode obsługuje prywatny rejestry npm poprzez natywną usługę plików `.npmrc` Buna. Jeśli Twoja organizacja korzysta z rejestru prywatnego, takiego jak JFrog Artifactory, Nexus lub wylot, przed uruchomieniem OpenCode się, że programiści zostali uwierzytelnieni.
|
||||
|
||||
Aby zapewnić uwierzytelnianie w rejestrze prywatnym:
|
||||
|
||||
```bash
|
||||
npm login --registry=https://your-company.jfrog.io/api/npm/npm-virtual/
|
||||
```
|
||||
|
||||
Spowoduje to do `~/.npmrc` ze szczegółami uwierzytelniania. OpenCode zrobi to automatycznie
|
||||
podniesc do.
|
||||
|
||||
:::caution
|
||||
Przed uruchomieniem OpenCode musisz być zalogowany do rejestru prywatnego.
|
||||
:::
|
||||
|
||||
Alternatywnie możesz skorzystać z pliku `.npmrc`:
|
||||
|
||||
```bash title="~/.npmrc"
|
||||
registry=https://your-company.jfrog.io/api/npm/npm-virtual/
|
||||
//your-company.jfrog.io/api/npm/npm-virtual/:_authToken=${NPM_AUTH_TOKEN}
|
||||
```
|
||||
|
||||
Programiści muszą się zgłosić do rejestru prywatnego przed uruchomieniem OpenCode, aby mieć dostęp, że pakiety będą dostępne z rejestru przedsiębiorstwa.
|
||||
|
||||
</details>
|
||||
130
packages/web/src/content/docs/pl/formatters.mdx
Normal file
130
packages/web/src/content/docs/pl/formatters.mdx
Normal file
@@ -0,0 +1,130 @@
|
||||
---
|
||||
title: Formatery
|
||||
description: OpenCode używa formaterów specyficznych dla języka.
|
||||
---
|
||||
|
||||
OpenCode automatycznie formatuje pliki po ich zapisaniu lub edycję przy użyciu formaterów przesyłanych dla języka. Dzięki temu wygenerowany kod będzie używany ze stylami kodu Twojego projektu.
|
||||
|
||||
---
|
||||
|
||||
## Wbudowany
|
||||
|
||||
OpenCode zawiera kilka wbudowanych formaterów dla nauki języków i frameworków. Zawiera listę formaterów, rozszerzonych plików oraz rozszerzenia i konfiguratory, których potrzebujesz.
|
||||
|
||||
| Formater | Rozszerzenia | Wymagania |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| gofmt | .idź | Komenda `gofmt` dostępna |
|
||||
| ryzyko | .ex, .exs, .eex, .heex, .leex, .neex, .sface | Komenda `mix` dostępna |
|
||||
| ładniejsza | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml i [więcej](https://prettier.io/docs/en/index.html) | Zależność `prettier` w `package.json` |
|
||||
| biom | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml i [więcej](https://biomejs.dev/) | `biome.json(c)` plik konfiguracyjny |
|
||||
| zyg | .zig, .zon | Komenda `zig` dostępna |
|
||||
| formatuj brzęk | .c, .cpp, .h, .hpp, .ino i [więcej](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` plik konfiguracyjny |
|
||||
| ktlint | .kt, .kts | Komenda `ktlint` dostępna |
|
||||
| kryza | .py, .pyi | Komenda `ruff` dostępna w konstrukcji |
|
||||
| rustfmt | .rs | Komenda `rustfmt` dostępna |
|
||||
| załadunek | .rs | Komenda `cargo fmt` dostępna |
|
||||
| UV | .py, .pyi | Komenda `uv` dostępna |
|
||||
| rubocop | .rb, .rake, .gemspec, .ru | Komenda `rubocop` dostępna |
|
||||
| standardowe | .rb, .rake, .gemspec, .ru | Komenda `standardrb` dostępna |
|
||||
| htmlupiększacz | .erb, .html.erb | Komenda `htmlbeautifier` dostępna |
|
||||
| powietrze | .R | Komenda `air` dostępna |
|
||||
| strzałka | .dart | Komenda `dart` dostępna |
|
||||
| formatuj ocaml | .ml, .mli | Dostępna opcja `ocamlformat` i plik konfiguracyjny `.ocamlformat` |
|
||||
| terraforma | .tf, .tfvars | Komenda `terraform` dostępna |
|
||||
| blask | .blask | Komenda `gleam` dostępna |
|
||||
| nixfmt | .nix | Komenda `nixfmt` dostępna |
|
||||
| shfmt | .sh, .bash | Komenda `shfmt` dostępna |
|
||||
| kufel | .php | Zależność `laravel/pint` w `composer.json` |
|
||||
| oxfmt (eksperymentalny) | .js, .jsx, .ts, .tsx | wykonanie `oxfmt` w `package.json` i [flaga eksperymentalna zmienna env](/docs/cli/#experimental) |
|
||||
| ormolu | .hs | Komenda `ormolu` dostępna |
|
||||
|
||||
Jeśli więc Twój projekt zawiera `prettier` w `package.json`, OpenCode automatycznie przejdź do podmiote.
|
||||
|
||||
---
|
||||
|
||||
## Jak to działa
|
||||
|
||||
Kiedy OpenCode zapisuje lub edytuje plik:
|
||||
|
||||
1. Badanie pliku dotyczącego wszystkich danych formaterów.
|
||||
2. Uruchamia decyzje wykonawcze formatujące na plik.
|
||||
3. Automatycznie stosuje zmiany formatowania.
|
||||
|
||||
Dziesięć procesów zachodzi w tle, konieczne jest zachowanie stylów kodu bez konieczności wykonania czynności czynnościowych.
|
||||
|
||||
---
|
||||
|
||||
## Skonfiguruj
|
||||
|
||||
Można dostosować formatery za pomocą sekcji `formatter` w konstrukcji OpenCode.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": {}
|
||||
}
|
||||
```
|
||||
|
||||
obsługiwane formatyzator Zobacz elementy:
|
||||
|
||||
| Nieruchomość | Wpisz | Opis |
|
||||
| ------------- | -------- | ------------------------------------------------------- |
|
||||
| `disabled` | wartość logiczna | Ustaw tę opcję na `true`, aby wyłączyć formater |
|
||||
| `command` | ciąg[] | Polecenie uruchomienia formatowania |
|
||||
| `environment` | obiekt | Zmienne ustawienia do ustawień podczas uruchamiania programu formatującego |
|
||||
| `extensions` | ciąg[] | Rozszerzenia plików, które powinny opuścić ten formater |
|
||||
|
||||
Spójrzmy na kilka przykładów.
|
||||
|
||||
---
|
||||
|
||||
### Wyłączanie formaterów
|
||||
|
||||
Aby globalnie wyłączyć **wszystkie** formatery, ustaw `formatter` na `false`:
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": false
|
||||
}
|
||||
```
|
||||
|
||||
Aby wyłączyć **określony** formater, ustaw `disabled` na `true`:
|
||||
|
||||
```json title="opencode.json" {5}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": {
|
||||
"prettier": {
|
||||
"disabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Niestandardowe formatery
|
||||
|
||||
Może wystąpić, gdyby nastąpiło nowe, uruchomienie, zmienne udostępnienie i udostępnienie plików:
|
||||
|
||||
```json title="opencode.json" {4-14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": {
|
||||
"prettier": {
|
||||
"command": ["npx", "prettier", "--write", "$FILE"],
|
||||
"environment": {
|
||||
"NODE_ENV": "development"
|
||||
},
|
||||
"extensions": [".js", ".ts", ".jsx", ".tsx"]
|
||||
},
|
||||
"custom-markdown-formatter": {
|
||||
"command": ["deno", "fmt", "$FILE"],
|
||||
"extensions": [".md"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Symbol zastępczy **`$FILE`** w poleceniu pochodziony z formatowanego pliku.
|
||||
321
packages/web/src/content/docs/pl/github.mdx
Normal file
321
packages/web/src/content/docs/pl/github.mdx
Normal file
@@ -0,0 +1,321 @@
|
||||
---
|
||||
title: GitHub
|
||||
description: Użyj OpenCode w problemach z GitHubem i zastosujch ściągnięcia.
|
||||
---
|
||||
|
||||
OpenCode integruje się z przepływem pracy w GitHub. Wspomnij o `/opencode` lub `/oc` w swoim komentarzu, a OpenCode wykonaj zadania w ramach modułu uruchamiającego GitHub Actions.
|
||||
|
||||
---
|
||||
|
||||
## Cechy
|
||||
|
||||
- **Problem związany z segregacją**: Poproś OpenCode o szczegółowe wyjaśnienie problemu i wyjaśnienie go.
|
||||
- **Napraw i zaimplementuj**: Poproś OpenCode o naprawienie problemu lub zaimplementowanie funkcji. Będzie dostępny w następnym oddziale i wysyłać PR ze stosowaniem dodatku.
|
||||
- **Bezpieczny**: OpenCode działa w modułach sprzętowych GitHuba.
|
||||
|
||||
---
|
||||
|
||||
## Instalacja
|
||||
|
||||
Uruchomione dalsze postępowanie w przypadku wystąpienia w repozytorium GitHub:
|
||||
|
||||
```bash
|
||||
opencode github install
|
||||
```
|
||||
|
||||
Aby przeprowadzić Cię przez proces instalacji aplikacji GitHub, utwórz działanie i skonfiguruj wpisy tajnych.
|
||||
|
||||
---
|
||||
|
||||
### Konfiguracja ręczna
|
||||
|
||||
Można też uszkodzić to rozwiązanie.
|
||||
|
||||
1. **Zainstaluj aplikację GitHub**
|
||||
|
||||
Wejdź na [**github.com/apps/opencode-agent**](https://github.com/apps/opencode-agent). wystąpienie się, że jest natychmiastowe w repozytorium usuwam.
|
||||
|
||||
2. **Dodaj przepływ pracy**
|
||||
|
||||
Dodaj zdalny plik pracy do `.github/workflows/opencode.yml` w swoim repozytorium. wystąpił, że ustawiłeś sędziego `model` i wymagany klucz API w `env`.
|
||||
|
||||
```yml title=".github/workflows/opencode.yml" {24,26}
|
||||
name: opencode
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
pull_request_review_comment:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
opencode:
|
||||
if: |
|
||||
contains(github.event.comment.body, '/oc') ||
|
||||
contains(github.event.comment.body, '/opencode')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
|
||||
- name: Run OpenCode
|
||||
uses: anomalyco/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
# share: true
|
||||
# github_token: xxxx
|
||||
```
|
||||
|
||||
3. **Przechowuj klucze API w tajemnicy**
|
||||
|
||||
W **ustawieniach** swojej organizacji lub projektu rozwiń **Sekretne i zmienne** po lewej stronie i wybierz **Działania**. Dodałem wymagane klucze API.
|
||||
|
||||
---
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
- `model`: Model używany z OpenCode. Przyjmuje format `provider/model`. To **wymagane**.
|
||||
- `agent`: Agent, którego należy używać. Musi być odległym agentem. Wraca do `default_agent` z konfiguracją lub `"build"`, jeśli nie został znaleziony.
|
||||
- `share`: Czyć funkcję sesji OpenCode. Domyślnie **true** dla repozytoriów publicznych.
|
||||
- `prompt`: Opcjonalny niestandardowy monit o zastąpienie przestrzegania zachowania. Wykorzystanie tego, aby dostosować sposób przetwarzania przez OpenCode.
|
||||
- `token`: opcjonalny token dostępu GitHub podstawowe operacje, takie jak tworzenie komentarzy, zatwierdzanie zmian i otwieranie zastosowania ściągnięcia. Domyślnie OpenCode używa tokena dostępu do instalacji z aplikacji OpenCode GitHub, więc zatwierdzenia, komentarze i zasady ściągnięcia widoczne jako źródło z aplikacji.
|
||||
|
||||
Alternatywnie możesz użyć [wbudowanego `GITHUB_TOKEN`](https://docs.github.com/en/actions/tutorials/authenticate-with-github_token) modułu uruchamiającego GitHub Action bez instalacji aplikacji OpenCode GitHub. Pamiętaj tylko o przyznaniu wymaganych mocy w przepływie pracy:
|
||||
|
||||
```yaml
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
```
|
||||
|
||||
Jeśli chcesz, możesz także użyć [osobistych tokenów dostępu](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)(PAT).
|
||||
|
||||
---
|
||||
|
||||
## Obsługiwane wydarzenia
|
||||
|
||||
OpenCode może zostać wywołany przez zdarzenie GitHub:
|
||||
|
||||
| Typ zdarzenia | Wywołane przez | Szczegóły |
|
||||
| ----------------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| `issue_comment` | Skomentuj problem lub PR | Wspomnij o `/opencode` lub `/oc` w swoim komentarzu. OpenCode odczytuje kontekst i może być częścią składową, otwieraną przez PR lub odpowiedzialną. |
|
||||
| `pull_request_review_comment` | Komentarz określonym kodem w PR | Wspomnij o `/opencode` lub `/oc` podczas przeglądania kodu. OpenCode źródło pochodzenia, numery linii i kontekst różnicowy. |
|
||||
| `issues` | Wydanie otwarte lub edytowane | Automatycznie wyzwalaj OpenCode po utworzeniu lub zmodyfikowaniu problemów. Wymaga wejścia `prompt`. |
|
||||
| `pull_request` | PR otwarty lub zaktualizowany | Automatycznie wyzwalaj OpenCode, gdy PR są otwierane, synchronizowane lub ponownie otwierane. Przydatne w przypadku automatycznych znajomych. |
|
||||
| `schedule` | Harmonogram oparty na Cron | Uruchom OpenCode zgodnie z harmonogramem. Wymagane wejście `prompt`. Dane wejściowe trafiają do dzienników i trafiań PR (nie ma problemu z recenzją). |
|
||||
| `workflow_dispatch` | Ręczny wyłącznik z interfejsu użytkownika GitHub | Uruchom OpenCode na karcie Akcje. Wymagane wejście `prompt`. Dane wejściowe trafiają do dzienników i odbiorców PR. |
|
||||
|
||||
### Przykład harmonogramu
|
||||
|
||||
Uruchamiaj OpenCode zgodnie z harmonogramem, aby wykonać zautomatyzowane zadania:
|
||||
|
||||
```yaml title=".github/workflows/opencode-scheduled.yml"
|
||||
name: Scheduled OpenCode Task
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 9 * * 1" # Every Monday at 9am UTC
|
||||
|
||||
jobs:
|
||||
opencode:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Run OpenCode
|
||||
uses: anomalyco/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
prompt: |
|
||||
Review the codebase for any TODO comments and create a summary.
|
||||
If you find issues worth addressing, open an issue to track them.
|
||||
```
|
||||
|
||||
W przypadku wystąpienia danych wyjściowych `prompt` są **wymagane**, które nie są dostarczane, z których można wyodrębnić instrukcje. Zaplanowane przepływomierze pracy bez kontekstu użytkownika, który został uruchomiony, więc przepływ pracy musi `contents: write` i `pull-requests: write`, wystąpisz, że OpenCode utworzył główne lub PR.
|
||||
|
||||
---
|
||||
|
||||
### Przykład żądania ściągnięcia
|
||||
|
||||
Automatycznie przeglądaj żądania ściągnięcia po ich otwarciu lub aktualizacji:
|
||||
|
||||
```yaml title=".github/workflows/opencode-review.yml"
|
||||
name: opencode-review
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened, ready_for_review]
|
||||
|
||||
jobs:
|
||||
review:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: read
|
||||
pull-requests: read
|
||||
issues: read
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
persist-credentials: false
|
||||
- uses: anomalyco/opencode/github@latest
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
use_github_token: true
|
||||
prompt: |
|
||||
Review this pull request:
|
||||
- Check for code quality issues
|
||||
- Look for potential bugs
|
||||
- Suggest improvements
|
||||
```
|
||||
|
||||
W przypadku zdarzenia `pull_request`, jeśli nie podano `prompt`, OpenCode użytkownika przeglądającego ściągnięcie.
|
||||
|
||||
---
|
||||
|
||||
### Przykład segregacji problemów
|
||||
|
||||
Automatycznie segreguj nowe problemy. Dziesięć przykładów filtruje do kont starszych niż 30 dni w celu ograniczenia spamu:
|
||||
|
||||
```yaml title=".github/workflows/opencode-triage.yml"
|
||||
name: Issue Triage
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
pull-requests: write
|
||||
issues: write
|
||||
steps:
|
||||
- name: Check account age
|
||||
id: check
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
const user = await github.rest.users.getByUsername({
|
||||
username: context.payload.issue.user.login
|
||||
});
|
||||
const created = new Date(user.data.created_at);
|
||||
const days = (Date.now() - created) / (1000 * 60 * 60 * 24);
|
||||
return days >= 30;
|
||||
result-encoding: string
|
||||
|
||||
- uses: actions/checkout@v6
|
||||
if: steps.check.outputs.result == 'true'
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- uses: anomalyco/opencode/github@latest
|
||||
if: steps.check.outputs.result == 'true'
|
||||
env:
|
||||
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
prompt: |
|
||||
Review this issue. If there's a clear fix or relevant docs:
|
||||
- Provide documentation links
|
||||
- Add error handling guidance for code examples
|
||||
Otherwise, do not comment.
|
||||
```
|
||||
|
||||
W przypadku zdarzenia `issues` wprowadzenie `prompt` jest **wymagane**, ponieważ nie ma komentarza, z którego można wyodrębnić instrukcje.
|
||||
|
||||
---
|
||||
|
||||
## Niestandardowe monity
|
||||
|
||||
Zastąp domyślne monit, aby zastosować zachowanie OpenCode do twojego własnego pracy.
|
||||
|
||||
```yaml title=".github/workflows/opencode.yml"
|
||||
- uses: anomalyco/opencode/github@latest
|
||||
with:
|
||||
model: anthropic/claude-sonnet-4-5
|
||||
prompt: |
|
||||
Review this pull request:
|
||||
- Check for code quality issues
|
||||
- Look for potential bugs
|
||||
- Suggest improvements
|
||||
```
|
||||
|
||||
Jest to przepis wykonawczy, który podlega przepisom kodowania lub zakresów tematycznych dla twojego projektu.
|
||||
|
||||
---
|
||||
|
||||
## Przykłady
|
||||
|
||||
Oto kilka możliwości wykorzystania OpenCode w GitHubie.
|
||||
|
||||
- **Wyjaśnij problem**
|
||||
|
||||
Dodaj dziesięć komentarzy w numerze GitHub.
|
||||
|
||||
```
|
||||
/opencode explain this issue
|
||||
```
|
||||
|
||||
OpenCode przeczytaj całość, zawierając dodatek z komentarzami i odpowiedzią z jasnym wyjaśnieniem.
|
||||
|
||||
- **Napraw problem**
|
||||
|
||||
W numerze GitHub powiedz:
|
||||
|
||||
```
|
||||
/opencode fix this
|
||||
```
|
||||
|
||||
A OpenCode utworzy nową podstawę, wdroży zmiany i zastąpi PR ze zmiany.
|
||||
|
||||
- **Przegląd zmiany PR i wprowadzenie zmiany**
|
||||
|
||||
Zostaw komentarz w PR GitHub.
|
||||
|
||||
```
|
||||
Delete the attachment from S3 when the note is removed /oc
|
||||
```
|
||||
|
||||
OpenCode zaimplementuje uruchomioną zmianę i zatwierdzi ją do tego samego PR.
|
||||
|
||||
- **Przejrzyj konkretne linie kodu**
|
||||
|
||||
Zostaw komentarz bezpośrednio w wierszu kodu w dodatku „Pliki” PR. OpenCode automatyczne wykrywanie pliku, numery linii i kontekst różnicowy, aby sprawdzić odpowiedzi.
|
||||
|
||||
```
|
||||
[Comment on specific lines in Files tab]
|
||||
/oc add error handling here
|
||||
```
|
||||
|
||||
Komentując określone linie, OpenCode otrzymuje:
|
||||
- Dokładny plik, który jest sprawdzany
|
||||
- Konkretne linie kodu
|
||||
- Otaczający kontekst różnicowy
|
||||
- Informacje o numerze linii
|
||||
|
||||
Dostępne na bardziej szczegółowe rozwiązanie bez konieczności stosowania ręcznego określania plików lub numerów wierszy.
|
||||
195
packages/web/src/content/docs/pl/gitlab.mdx
Normal file
195
packages/web/src/content/docs/pl/gitlab.mdx
Normal file
@@ -0,0 +1,195 @@
|
||||
---
|
||||
title: GitLab
|
||||
description: użyj OpenCode w problemach z GitLabem i zastosujch scalania.
|
||||
---
|
||||
|
||||
OpenCode integruje się z przepływem pracy GitLab poprzez potok GitLab CI/CD lub z GitLab Duo.
|
||||
|
||||
W obu przypadkach OpenCode będzie modułem GitLab.
|
||||
|
||||
---
|
||||
|
||||
## GitLab CI
|
||||
|
||||
OpenCode działa w zwykłym potoku GitLab. Możesz wbudować go w potok jako [komponent CI](https://docs.gitlab.com/ee/ci/components/)
|
||||
|
||||
Tutaj obowiązkowego przez społeczność komponentu CI/CD dla OpenCode — [nagyv/gitlab-opencode](https://gitlab.com/nagyv/gitlab-opencode).
|
||||
|
||||
---
|
||||
|
||||
### Cechy
|
||||
|
||||
- **Użyj konfiguracji dla każdego zadania**: Skonfiguruj OpenCode z niestandardowym katalogiem konfiguracyjnym, na przykładzie `./config/#custom-directory`, aby włączyć lub funkcjonalności na każde wywołanie OpenCode.
|
||||
- **Konfiguracja minimalna**: Komponent CI konfiguruje OpenCode w tle, wystarczy skonfigurować OpenCode i początkowy monit.
|
||||
- **Elastyczny**: Komponent CI obsługuje kilka danych, które są stosowane w celu dostosowania jego zachowania
|
||||
|
||||
---
|
||||
|
||||
### Organizować coś
|
||||
|
||||
1. Przechowuj dane uwierzytelniające OpenCode w formacie JSON jako zmienne parametry CI typu pliku w specyfikacji **Ustawienia** > **CI/CD** > **Zmienne**. Zachowaj, aby być oznaczony jako „Zamaskowane i ukryte”.
|
||||
2. Dodaj elementy do swojego pliku `.gitlab-ci.yml`.
|
||||
|
||||
```yaml title=".gitlab-ci.yml"
|
||||
include:
|
||||
- component: $CI_SERVER_FQDN/nagyv/gitlab-opencode/opencode@2
|
||||
inputs:
|
||||
config_dir: ${CI_PROJECT_DIR}/opencode-config
|
||||
auth_json: $OPENCODE_AUTH_JSON # The variable name for your OpenCode authentication JSON
|
||||
command: optional-custom-command
|
||||
message: "Your prompt here"
|
||||
```
|
||||
|
||||
Więcej danych dotyczących użycia [sprawdź opis](https://gitlab.com/explore/catalog/nagyv/gitlab-opencode) tego komponentu.
|
||||
|
||||
---
|
||||
|
||||
## Duet GitLab
|
||||
|
||||
OpenCode integruje się z przepływem pracy GitLab.
|
||||
Wspomnij o `@opencode` w komentarzu, a OpenCode wykonaj zadania w ramach swojego potoku GitLab CI.
|
||||
|
||||
---
|
||||
|
||||
### Cechy
|
||||
|
||||
- **Problem związany z segregacją**: Poproś OpenCode o szczegółowe wyjaśnienie problemu i wyjaśnienie go.
|
||||
- **Napraw i zaimplementuj**: Poproś OpenCode o naprawienie problemu lub zaimplementowanie funkcji.
|
||||
Utworzył nowy oddział i zgłosi ataku ze sobą.
|
||||
- **Bezpieczny**: OpenCode działa na modułach GitLab.
|
||||
|
||||
---
|
||||
|
||||
### Organizować coś
|
||||
|
||||
OpenCode działa w potoku CI/CD GitLab. Oto, czego potrzebujesz, aby przejść do:
|
||||
|
||||
:::tip
|
||||
Aktualne instrukcje dotyczące [**dokumentacji GitLab**](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/).
|
||||
:::
|
||||
|
||||
1. Skonfiguruj swoje środowisko GitLab
|
||||
2. Skonfiguruj CI/CD
|
||||
3. Uzyskaj klucz API dostawca modelu AI
|
||||
4. Utwórz konto usługi
|
||||
5. Skonfiguruj zmienne CI/CD
|
||||
6. Utwórz plik konfiguracyjny, oto przykład:
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Flow configuration</summary>
|
||||
|
||||
```yaml
|
||||
image: node:22-slim
|
||||
commands:
|
||||
- echo "Installing opencode"
|
||||
- npm install --global opencode-ai
|
||||
- echo "Installing glab"
|
||||
- export GITLAB_TOKEN=$GITLAB_TOKEN_OPENCODE
|
||||
- apt-get update --quiet && apt-get install --yes curl wget gpg git && rm --recursive --force /var/lib/apt/lists/*
|
||||
- curl --silent --show-error --location "https://raw.githubusercontent.com/upciti/wakemeops/main/assets/install_repository" | bash
|
||||
- apt-get install --yes glab
|
||||
- echo "Configuring glab"
|
||||
- echo $GITLAB_HOST
|
||||
- echo "Creating OpenCode auth configuration"
|
||||
- mkdir --parents ~/.local/share/opencode
|
||||
- |
|
||||
cat > ~/.local/share/opencode/auth.json << EOF
|
||||
{
|
||||
"anthropic": {
|
||||
"type": "api",
|
||||
"key": "$ANTHROPIC_API_KEY"
|
||||
}
|
||||
}
|
||||
EOF
|
||||
- echo "Configuring git"
|
||||
- git config --global user.email "opencode@gitlab.com"
|
||||
- git config --global user.name "OpenCode"
|
||||
- echo "Testing glab"
|
||||
- glab issue list
|
||||
- echo "Running OpenCode"
|
||||
- |
|
||||
opencode run "
|
||||
You are an AI assistant helping with GitLab operations.
|
||||
|
||||
Context: $AI_FLOW_CONTEXT
|
||||
Task: $AI_FLOW_INPUT
|
||||
Event: $AI_FLOW_EVENT
|
||||
|
||||
Please execute the requested task using the available GitLab tools.
|
||||
Be thorough in your analysis and provide clear explanations.
|
||||
|
||||
<important>
|
||||
Please use the glab CLI to access data from GitLab. The glab CLI has already been authenticated. You can run the corresponding commands.
|
||||
|
||||
If you are asked to summarize an MR or issue or asked to provide more information then please post back a note to the MR/Issue so that the user can see it.
|
||||
You don't need to commit or push up changes, those will be done automatically based on the file changes you make.
|
||||
</important>
|
||||
"
|
||||
- git checkout --branch $CI_WORKLOAD_REF origin/$CI_WORKLOAD_REF
|
||||
- echo "Checking for git changes and pushing if any exist"
|
||||
- |
|
||||
if ! git diff --quiet || ! git diff --cached --quiet || [ --not --zero "$(git ls-files --others --exclude-standard)" ]; then
|
||||
echo "Git changes detected, adding and pushing..."
|
||||
git add .
|
||||
if git diff --cached --quiet; then
|
||||
echo "No staged changes to commit"
|
||||
else
|
||||
echo "Committing changes to branch: $CI_WORKLOAD_REF"
|
||||
git commit --message "Codex changes"
|
||||
echo "Pushing changes up to $CI_WORKLOAD_REF"
|
||||
git push https://gitlab-ci-token:$GITLAB_TOKEN@$GITLAB_HOST/gl-demo-ultimate-dev-ai-epic-17570/test-java-project.git $CI_WORKLOAD_REF
|
||||
echo "Changes successfully pushed"
|
||||
fi
|
||||
else
|
||||
echo "No git changes detected, skipping push"
|
||||
fi
|
||||
variables:
|
||||
- ANTHROPIC_API_KEY
|
||||
- GITLAB_TOKEN_OPENCODE
|
||||
- GITLAB_HOST
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
Szczegółowe instrukcje w [dokumentacji agentów GitLab CLI](https://docs.gitlab.com/user/duo_agent_platform/agent_assistant/).
|
||||
|
||||
---
|
||||
|
||||
### Przykłady
|
||||
|
||||
Oto kilka możliwości wykorzystania OpenCode w GitLabie.
|
||||
|
||||
:::tip
|
||||
Można zastosować inną metodę ograniczającą niż `@opencode`.
|
||||
:::
|
||||
|
||||
- **Wyjaśnij problem**
|
||||
|
||||
Dodaj dziesięć komentarzy w numerze GitLab.
|
||||
|
||||
```
|
||||
@opencode explain this issue
|
||||
```
|
||||
|
||||
OpenCode przeczytaj problem i odpowiedź z wyjaśnieniem.
|
||||
|
||||
- **Napraw problem**
|
||||
|
||||
W numerze GitLab powiedz:
|
||||
|
||||
```
|
||||
@opencode fix this
|
||||
```
|
||||
|
||||
OpenCode utworzy nową podstawę, zaimplementuje zmiany i spowoduje, że skalowanie będzie możliwe.
|
||||
|
||||
- **Przejrzyj prośby o połączenie**
|
||||
|
||||
Zostaw komentarz w sprawie rozwiązania połączenia GitLab.
|
||||
|
||||
```
|
||||
@opencode review this merge request
|
||||
```
|
||||
|
||||
OpenCode sprawdzenie rozwiązania i przepuszczenie.
|
||||
48
packages/web/src/content/docs/pl/ide.mdx
Normal file
48
packages/web/src/content/docs/pl/ide.mdx
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: IDE
|
||||
description: Rozszerzenie OpenCode dla VS Code, Cursor i innych IDE
|
||||
---
|
||||
|
||||
OpenCode integruje się z VS Code, Cursorem lub obsługującym terminal IDE. Aby uruchomić, po prostu uruchom `opencode` w terminalu.
|
||||
|
||||
---
|
||||
|
||||
## Stosowanie
|
||||
|
||||
- **Szybkie uruchomienie**: użycie `Cmd+Esc` (Mac) lub `Ctrl+Esc` (Windows/Linux), aby uruchomić OpenCode w uruchamianiu terminala lub skoncentruj się na uruchamianiu terminala, jeśli jest już uruchomiony.
|
||||
- **Nowa sesja**: `Cmd+Shift+Esc` (Mac) lub `Ctrl+Shift+Esc` (Windows/Linux), aby została nowa konfiguracja terminala OpenCode, nawet jeśli jest już otwarta. Możesz także kliknąć przycisk OpenCode w interfejsie użytkownika.
|
||||
- **Świadomość kontekstu**: Automatycznie udostępnia wybór lub kartę za pomocą OpenCode.
|
||||
- **Skróty do odwołania do plików**: `Cmd+Option+K` (Mac) lub `Alt+Ctrl+K` (Linux/Windows), aby wstawić odnośnik do plików. Na przykład `@File#L37-42`.
|
||||
|
||||
---
|
||||
|
||||
## Instalacja
|
||||
|
||||
Aby poznać OpenCode na VS Code w forkach, takich jak Cursor, Windsurf, VSCodium:
|
||||
|
||||
1. Otwórz kod VS
|
||||
2. Otwórz innowacyjny terminal
|
||||
3. Uruchom `opencode` — rozszerzenie instaluje się automatycznie
|
||||
|
||||
Jeśli z drugiej strony chcesz zainstalować własne IDE po uruchomieniu `/editor` lub `/export` z TUI, należy zainstalować `export EDITOR="code --wait"`. [Dowiedz się więcej](/docs/tui/#editor-setup).
|
||||
|
||||
---
|
||||
|
||||
### Instalacja ręczna
|
||||
|
||||
Wyszukaj **OpenCode** na rynku rozszerzonym i kliknij **Zainstaluj**.
|
||||
|
||||
---
|
||||
|
||||
### Rozwiązywanie problemów
|
||||
|
||||
Jeśli rozwiązanie nie zostanie zainstalowane automatycznie:
|
||||
|
||||
- zastosowanie się, że użycie `opencode` w terminalu.
|
||||
- zadziałanie, że CLI dla Twojego IDE jest zainstalowane:
|
||||
- Dla kodu VS: polecenie `code`
|
||||
- Dla kura: polecenie `cursor`
|
||||
- Dla windsurfingu: decyzja `windsurf`
|
||||
- Dla VSCodium: decyzja `codium`
|
||||
- Jeśli nie, uruchom `Cmd+Shift+P` (Mac) lub `Ctrl+Shift+P` (Windows/Linux) i wyszukaj „Polecenie: zastosowanie decyzji„ kod ”w PATH” (lub właściwyk dla twojego IDE)
|
||||
- zadziałanie, że VS Code ma pozwolenie na instalację rozszerzoną
|
||||
359
packages/web/src/content/docs/pl/index.mdx
Normal file
359
packages/web/src/content/docs/pl/index.mdx
Normal file
@@ -0,0 +1,359 @@
|
||||
---
|
||||
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.
|
||||
|
||||

|
||||
|
||||
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**
|
||||
|
||||
<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
|
||||
```
|
||||
|
||||
#### 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"
|
||||
<TAB>
|
||||
```
|
||||
|
||||
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"
|
||||
<TAB>
|
||||
```
|
||||
|
||||
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).
|
||||
192
packages/web/src/content/docs/pl/keybinds.mdx
Normal file
192
packages/web/src/content/docs/pl/keybinds.mdx
Normal file
@@ -0,0 +1,192 @@
|
||||
---
|
||||
title: Skróty klawiszowe
|
||||
description: Dostosuj swoje skróty klawiszowe.
|
||||
---
|
||||
|
||||
OpenCode zawiera listę skrótów klawiszowych, które można zastosować poprzez OpenCode.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"keybinds": {
|
||||
"leader": "ctrl+x",
|
||||
"app_exit": "ctrl+c,ctrl+d,<leader>q",
|
||||
"editor_open": "<leader>e",
|
||||
"theme_list": "<leader>t",
|
||||
"sidebar_toggle": "<leader>b",
|
||||
"scrollbar_toggle": "none",
|
||||
"username_toggle": "none",
|
||||
"status_view": "<leader>s",
|
||||
"tool_details": "none",
|
||||
"session_export": "<leader>x",
|
||||
"session_new": "<leader>n",
|
||||
"session_list": "<leader>l",
|
||||
"session_timeline": "<leader>g",
|
||||
"session_fork": "none",
|
||||
"session_rename": "none",
|
||||
"session_share": "none",
|
||||
"session_unshare": "none",
|
||||
"session_interrupt": "escape",
|
||||
"session_compact": "<leader>c",
|
||||
"session_child_cycle": "<leader>right",
|
||||
"session_child_cycle_reverse": "<leader>left",
|
||||
"session_parent": "<leader>up",
|
||||
"messages_page_up": "pageup,ctrl+alt+b",
|
||||
"messages_page_down": "pagedown,ctrl+alt+f",
|
||||
"messages_line_up": "ctrl+alt+y",
|
||||
"messages_line_down": "ctrl+alt+e",
|
||||
"messages_half_page_up": "ctrl+alt+u",
|
||||
"messages_half_page_down": "ctrl+alt+d",
|
||||
"messages_first": "ctrl+g,home",
|
||||
"messages_last": "ctrl+alt+g,end",
|
||||
"messages_next": "none",
|
||||
"messages_previous": "none",
|
||||
"messages_copy": "<leader>y",
|
||||
"messages_undo": "<leader>u",
|
||||
"messages_redo": "<leader>r",
|
||||
"messages_last_user": "none",
|
||||
"messages_toggle_conceal": "<leader>h",
|
||||
"model_list": "<leader>m",
|
||||
"model_cycle_recent": "f2",
|
||||
"model_cycle_recent_reverse": "shift+f2",
|
||||
"model_cycle_favorite": "none",
|
||||
"model_cycle_favorite_reverse": "none",
|
||||
"variant_cycle": "ctrl+t",
|
||||
"command_list": "ctrl+p",
|
||||
"agent_list": "<leader>a",
|
||||
"agent_cycle": "tab",
|
||||
"agent_cycle_reverse": "shift+tab",
|
||||
"input_clear": "ctrl+c",
|
||||
"input_paste": "ctrl+v",
|
||||
"input_submit": "return",
|
||||
"input_newline": "shift+return,ctrl+return,alt+return,ctrl+j",
|
||||
"input_move_left": "left,ctrl+b",
|
||||
"input_move_right": "right,ctrl+f",
|
||||
"input_move_up": "up",
|
||||
"input_move_down": "down",
|
||||
"input_select_left": "shift+left",
|
||||
"input_select_right": "shift+right",
|
||||
"input_select_up": "shift+up",
|
||||
"input_select_down": "shift+down",
|
||||
"input_line_home": "ctrl+a",
|
||||
"input_line_end": "ctrl+e",
|
||||
"input_select_line_home": "ctrl+shift+a",
|
||||
"input_select_line_end": "ctrl+shift+e",
|
||||
"input_visual_line_home": "alt+a",
|
||||
"input_visual_line_end": "alt+e",
|
||||
"input_select_visual_line_home": "alt+shift+a",
|
||||
"input_select_visual_line_end": "alt+shift+e",
|
||||
"input_buffer_home": "home",
|
||||
"input_buffer_end": "end",
|
||||
"input_select_buffer_home": "shift+home",
|
||||
"input_select_buffer_end": "shift+end",
|
||||
"input_delete_line": "ctrl+shift+d",
|
||||
"input_delete_to_line_end": "ctrl+k",
|
||||
"input_delete_to_line_start": "ctrl+u",
|
||||
"input_backspace": "backspace,shift+backspace",
|
||||
"input_delete": "ctrl+d,delete,shift+delete",
|
||||
"input_undo": "ctrl+-,super+z",
|
||||
"input_redo": "ctrl+.,super+shift+z",
|
||||
"input_word_forward": "alt+f,alt+right,ctrl+right",
|
||||
"input_word_backward": "alt+b,alt+left,ctrl+left",
|
||||
"input_select_word_forward": "alt+shift+f,alt+shift+right",
|
||||
"input_select_word_backward": "alt+shift+b,alt+shift+left",
|
||||
"input_delete_word_forward": "alt+d,alt+delete,ctrl+delete",
|
||||
"input_delete_word_backward": "ctrl+w,ctrl+backspace,alt+backspace",
|
||||
"history_previous": "up",
|
||||
"history_next": "down",
|
||||
"terminal_suspend": "ctrl+z",
|
||||
"terminal_title_toggle": "none",
|
||||
"tips_toggle": "<leader>h",
|
||||
"display_thinking": "none"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Klucz lidera
|
||||
|
||||
OpenCode używa klucza `leader` dla głównych skrótów klawiszowych. Rozwiązanie problemu konfliktów w terminalu.
|
||||
|
||||
Domyślnie `ctrl+x` jest klawiszem głównym i główną akcją wymaga najpierw naciśnięcia klawisza lidera, a następnie skrótu. Na przykład, aby ponownie zastosować, następnie następuje `ctrl+x`, a następnie następuje `n`.
|
||||
|
||||
Nie musisz mieć klawisza wiodącego do skrótów klawiszowych, ale zalecamy to Reg.
|
||||
|
||||
---
|
||||
|
||||
## Wyłącz powiązanie klawiszy
|
||||
|
||||
Możesz podłączyć powiązanie klawiszy, dodając klucz do swojej konfiguracji z wartością „none”.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"keybinds": {
|
||||
"session_compact": "none"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Skróty monitów na pulpicie
|
||||
|
||||
Pole sprawdzania aplikacji komputerowej OpenCode obsługuje popularne skróty w stylu Readline/Emacs do edycji tekstu. Są one dostępne i obecnie nie można ich skonfigurować za pomocą `opencode.json`.
|
||||
|
||||
| Skrót | Akcja |
|
||||
| -------- | ---------------------------------------- |
|
||||
| `ctrl+a` | Przejdź do źródła regularnej linii |
|
||||
| `ctrl+e` | Przejdź na koniec bieżącej linii |
|
||||
| `ctrl+b` | Przesuń kursor do tyłu o jeden znak |
|
||||
| `ctrl+f` | Przesuń kursor o jeden znak do przodu |
|
||||
| `alt+b` | Przesuń kursor o jedno słowo wstecz |
|
||||
| `alt+f` | Przesuń kursor do przodu o jedno słowo |
|
||||
| `ctrl+d` | Usuń znak pod kursorem |
|
||||
| `ctrl+k` | Zabij do końca linii |
|
||||
| `ctrl+u` | Zabij na początek linii |
|
||||
| `ctrl+w` | Zabij poprzednie słowo |
|
||||
| `alt+d` | Zabij następne słowo |
|
||||
| `ctrl+t` | Transponuj znaki |
|
||||
| `ctrl+g` | Anuluj wyskakujące okienka / przerwij uruchamianie odpowiedzi |
|
||||
|
||||
---
|
||||
|
||||
## Shift+Enter
|
||||
|
||||
Istnieją terminale, które nie wysyłają klawiszy modyfikujących z Enterem. Może być konieczne skonfigurowanie terminala tak, aby wysłać `Shift+Enter` jako przerwanie zakończenia.
|
||||
|
||||
### Terminal Windowsowy
|
||||
|
||||
Otwórz swój `settings.json` pod adresem:
|
||||
|
||||
```
|
||||
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
|
||||
```
|
||||
|
||||
Dodaj do tablicy `actions` na poziomie wyższym:
|
||||
|
||||
```json
|
||||
"actions": [
|
||||
{
|
||||
"command": {
|
||||
"action": "sendInput",
|
||||
"input": "\u001b[13;2u"
|
||||
},
|
||||
"id": "User.sendInput.ShiftEnterCustom"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
Dodaj do tablicy `keybindings` na poziomie wyższym:
|
||||
|
||||
```json
|
||||
"keybindings": [
|
||||
{
|
||||
"keys": "shift+enter",
|
||||
"id": "User.sendInput.ShiftEnterCustom"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
Zapisz plik i uruchom ponownie terminal Windows lub otwórz nową kartę.
|
||||
188
packages/web/src/content/docs/pl/lsp.mdx
Normal file
188
packages/web/src/content/docs/pl/lsp.mdx
Normal file
@@ -0,0 +1,188 @@
|
||||
---
|
||||
title: Serwery LSP
|
||||
description: OpenCode integruje się z serwerem LSP.
|
||||
---
|
||||
|
||||
OpenCode integruje się z protokołem serwera językowego (LSP), aby pomóc LLM w korzystaniu z bazowego kodu. Wykorzystuje diagnostykę, aby otrzymać odpowiedź zwrotną do LLM.
|
||||
|
||||
---
|
||||
|
||||
## Wbudowany
|
||||
|
||||
OpenCode posiada kilka wbudowanych serwerów LSP dla języków:
|
||||
|
||||
| Serwer LSP | Rozszerzenie | Wymagania |
|
||||
| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------ |
|
||||
| astro | .astro | Automatyczne instalacje dla Astro |
|
||||
| bash | .sh, .bash, .zsh, .ksh | Automatycznie instaluje serwer języka bash |
|
||||
| brzęk | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Automatyczne instalacje dla C/C++ |
|
||||
| csharp | .cs | `.NET SDK` zainstalowany |
|
||||
| clojure-lsp | .clj, .cljs, .cljc, .edn | Komenda `clojure-lsp` dostępna |
|
||||
| strzałka | .dart | Komenda `dart` dostępna |
|
||||
| nie | .ts, .tsx, .js, .jsx, .mjs | Dostępne rozwiązanie `deno` (automatyczne wykrywanie deno.json/deno.jsonc) |
|
||||
| eliksir-ls | .ex, .exs | Komenda `elixir` dostępna |
|
||||
| eslin | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` zależność w projekcie |
|
||||
| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` zainstalowany |
|
||||
| blask | .blask | Komenda `gleam` dostępna |
|
||||
| gopls | .idź | Komenda `go` dostępna |
|
||||
| hl | .hs, .lhs | Komenda `haskell-language-server-wrapper` dostępna |
|
||||
| jdtl | .java | `Java SDK (version 21+)` zainstalowany |
|
||||
| kotlin-ls | .kt, .kts | Automatyczne instalacje dla Kotlin |
|
||||
| lua-ls | .lua | Automatyczne instalacje dla Lua |
|
||||
| nixd | .nix | Komenda `nixd` dostępna |
|
||||
| ocaml-lsp | .ml, .mli | Komenda `ocamllsp` dostępna |
|
||||
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` zależność w projekcie |
|
||||
| php inteligentny | .php | Automatyczne instalacje dla PHP |
|
||||
| pryzma | .prysma | Komenda `prisma` dostępna |
|
||||
| pirat | .py, .pyi | Zainstalowana zależność `pyright` |
|
||||
| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | Dostępne polecenie `ruby` i `gem` |
|
||||
| rdza | .rs | Komenda `rust-analyzer` dostępna |
|
||||
| sourcekit-lsp | .swift, .objc, .objcpp | `swift` zainstalowany (`xcode` na macOS) |
|
||||
| smukły | smukły | Automatyczne instalacje dla aplikacji Svelte |
|
||||
| terraforma | .tf, .tfvars | Automatyczne instalacje z wydań GitHub |
|
||||
| malutka | .typ, .typc | Automatyczne instalacje z wydań GitHub |
|
||||
| maszynopis | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` zależność w projekcie |
|
||||
| vue | .vue | Automatyczne instalacje dla Vue |
|
||||
| yaml-ls | .yaml, .yml | Automatycznie instaluje serwer języka yaml Red Hat |
|
||||
| zł | .zig, .zon | Komenda `zig` dostępna |
|
||||
|
||||
Serwery LSP są automatycznie włączane po wykryciu jednego z rozszerzonych plików i wymagań.
|
||||
|
||||
:::note
|
||||
Możliwość automatycznego pobierania z serwera LSP, ustawianie zmiennej środowiska `OPENCODE_DISABLE_LSP_DOWNLOAD` na `true`.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Jak to działa
|
||||
|
||||
Gdy opencode otwiera plik, to:
|
||||
|
||||
1. Sprawdzanie pliku na wszystkich dostępnych serwerach LSP.
|
||||
2. Uruchamia właściwy serwer LSP, jeśli jeszcze nie działa.
|
||||
|
||||
---
|
||||
|
||||
## Skonfiguruj
|
||||
|
||||
Możesz dostosować serwery LSP poprzez sekcję `lsp` w konfiguracji opencode.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": {}
|
||||
}
|
||||
```
|
||||
|
||||
Każdy serwer LSP obsługuje szczegółowe elementy:
|
||||
|
||||
| Nieruchomość | Wpisz | Opis |
|
||||
| ---------------- | -------- | ------------------------------------------------- |
|
||||
| `disabled` | wartość logiczna | Ustaw tę opcję na `true`, aby włączyć serwer LSP |
|
||||
| `command` | ciąg[] | Polecenie uruchomienia serwera LSP |
|
||||
| `extensions` | ciąg[] | Rozszerzenia plików, które powinny mieć ten serwer LSP |
|
||||
| `env` | obiekt | Zmienne ustawienia podczas uruchamiania serwera |
|
||||
| `initialization` | obiekt | Opcje inicjalizacji do wysłania na serwer LSP |
|
||||
|
||||
Spójrzmy na kilka przykładów.
|
||||
|
||||
---
|
||||
|
||||
### Zmienne środowiskowe
|
||||
|
||||
Zastosowanie `env`, aby ustawić zmienne parametry transmisji podczas uruchamiania serwera LSP:
|
||||
|
||||
```json title="opencode.json" {5-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": {
|
||||
"rust": {
|
||||
"env": {
|
||||
"RUST_LOG": "debug"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Opcje inicjalizacji
|
||||
|
||||
właściwości `initialization`, aby mieć możliwość inicjalizacji na serwerze LSP. Są to ustawienia dla serwera wysyłającego podczas przełączania LSP `initialize`:
|
||||
|
||||
```json title="opencode.json" {5-9}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": {
|
||||
"typescript": {
|
||||
"initialization": {
|
||||
"preferences": {
|
||||
"importModuleSpecifierPreference": "relative"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
:::note
|
||||
Opcje inicjalizacji różnią się w zależności od serwera LSP. Sprawdź swój serwer LSP pod gniazdem.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### Wyłączanie serwerów LSP
|
||||
|
||||
Aby wyłączyć **wszystkie** serwery LSP globalnie, ustaw `lsp` na `false`:
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": false
|
||||
}
|
||||
```
|
||||
|
||||
Aby wyłączyć **określony** serwer LSP, ustawa `disabled` na `true`:
|
||||
|
||||
```json title="opencode.json" {5}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": {
|
||||
"typescript": {
|
||||
"disabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Niestandardowe serwery LSP
|
||||
|
||||
Serwer udostępniający serwery LSP, mechanizmy sterujące i udostępniane pliki:
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"lsp": {
|
||||
"custom-lsp": {
|
||||
"command": ["custom-lsp-server", "--stdio"],
|
||||
"extensions": [".custom"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Dodatkowe informacje
|
||||
|
||||
### PHP Intelefense
|
||||
|
||||
PHP Intelephense oferuje funkcje premium poprzez klucz licencyjny. Możesz przechowywać klucz licencyjny umieszczając (tylko) klucz w pliku tekstowym pod adresem:
|
||||
|
||||
- W systemie macOS/Linux: `$HOME/intelephense/licence.txt`
|
||||
- W systemie Windows: `%USERPROFILE%/intelephense/licence.txt`
|
||||
|
||||
Plik powinien zawierać wyłącznie klucz licencyjny, bez udostępniania treści.
|
||||
511
packages/web/src/content/docs/pl/mcp-servers.mdx
Normal file
511
packages/web/src/content/docs/pl/mcp-servers.mdx
Normal file
@@ -0,0 +1,511 @@
|
||||
---
|
||||
title: Serwery MPK
|
||||
description: Dodaj lokalne i zdalne narzędzie MCP.
|
||||
---
|
||||
|
||||
Możesz dodać dodatkowe informacje do OpenCode za pomocą _Model Context Protocol_, w skrócie MCP. OpenCode obsługuje zarówno serwery lokalne, jak i zdalne.
|
||||
|
||||
Po dodaniu narzędzi MCP są automatycznie dostępne dla LLM wraz z narzędziami narzędziowymi.
|
||||
|
||||
---
|
||||
|
||||
#### Zastrzeżenia
|
||||
|
||||
Kiedy używasz serwera MCP, zmieniając kontekst. Może szybko się sumować, jeśli masz dużo narzędzia. Zalecamy ostrożność, z jakich serwerów MCP korzystasz.
|
||||
|
||||
:::tip
|
||||
Serwery MCP dodają do twojego kontekstu, dlatego należy zachować ostrożność przy wyłączaniu tych serwerów.
|
||||
:::
|
||||
|
||||
Niektóre serwery MCP, takie jak serwer MCP GitHub, mają szerokie możliwości dodawania wielu tokenów i mogą łatwo przekraczać limit kontekstu.
|
||||
|
||||
---
|
||||
|
||||
## Włączać
|
||||
|
||||
Dostępny serwery MCP w [OpenCode Config](https://opencode.ai/docs/config/) w `mcp`. Dodaj każdy MCP z unikalną nazwą. Możesz zgłosić się do tego MCP po nazwie, pytając LLM.
|
||||
|
||||
```jsonc title="opencode.jsonc" {6}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"name-of-mcp-server": {
|
||||
// ...
|
||||
"enabled": true,
|
||||
},
|
||||
"name-of-other-mcp-server": {
|
||||
// ...
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Możesz także wyłączyć serwer, ustawiając `enabled` na `false`. Jest to urządzenie, które jest urządzeniem biologicznym, bez usuwania z urządzenia.
|
||||
|
||||
---
|
||||
|
||||
### Zastępowanie zdalnych ustawień domyślnych
|
||||
|
||||
Organizacje mogą udostępniać serwery MCP za pośrednictwem punktu końcowego `.well-known/opencode`. Serwer może być podłączony, dzięki czemu użytkownicy mogą wybrać te, których.
|
||||
|
||||
Aby włączyć serwer ze zdalnej konfiguracji organizacji, dodaj go do wyłączenia za pomocą `enabled: true`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"jira": {
|
||||
"type": "remote",
|
||||
"url": "https://jira.example.com/mcp",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Lokalne wartości konfiguracyjne za występujące zdalne wartości. Aby uzyskać więcej informacji, zobacz [pierwszeństwo konfiguracji](/docs/config#precedence-order).
|
||||
|
||||
---
|
||||
|
||||
## Lokalny
|
||||
|
||||
Dodaj lokalne serwery MCP za pomocą `type` do `"local"` w obiekcie MCP.
|
||||
|
||||
```jsonc title="opencode.jsonc" {15}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-local-mcp-server": {
|
||||
"type": "local",
|
||||
// Or ["bun", "x", "my-mcp-command"]
|
||||
"command": ["npx", "-y", "my-mcp-command"],
|
||||
"enabled": true,
|
||||
"environment": {
|
||||
"MY_ENV_VAR": "my_env_var_value",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Polecenie sposobu uruchamiania lokalnego serwera MCP. Można także zainstalować listę konfiguracyjną.
|
||||
|
||||
Oto przykładowy sposób dodania testowego serwera MCP [`@modelcontextprotocol/server-everything`](https://www.npmjs.com/package/@modelcontextprotocol/server-everything).
|
||||
|
||||
```jsonc title="opencode.jsonc"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"mcp_everything": {
|
||||
"type": "local",
|
||||
"command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Aby z niego skorzystać, można dodać `use the mcp_everything tool` do moich podpowiedzi.
|
||||
|
||||
```txt "mcp_everything"
|
||||
use the mcp_everything tool to add the number 3 and 4
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### Opcje
|
||||
|
||||
Oto wszystkie opcje lokalnego serwera MCP.
|
||||
|
||||
| Opcja | Wpisz | Wymagane | Opis |
|
||||
| ------------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | Ciąg | Y | Typ połączenia z serwerem MCP musi być `"local"`. |
|
||||
| `command` | Tablica | Y | Polecenie i argumenty uruchamiające serwer MCP. |
|
||||
| `environment` | Obiekt | | Zmienne ustawienia podczas uruchamiania serwera. |
|
||||
| `enabled` | Wartość logiczna | | Włącz lub wyłącz serwer MCP podczas uruchamiania. |
|
||||
| `timeout` | Numer | | Limit czasu w ms na pobieranie narzędzia z serwera MCP. Wartość domyślna do 5000 (5 sekund). |
|
||||
|
||||
---
|
||||
|
||||
## Zdalny
|
||||
|
||||
Dodaj zdalne serwery MCP, ustawiając `type` na `"remote"`.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-remote-mcp": {
|
||||
"type": "remote",
|
||||
"url": "https://my-mcp-server.com",
|
||||
"enabled": true,
|
||||
"headers": {
|
||||
"Authorization": "Bearer MY_API_KEY"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`url` na adres URL zdalnego serwera MCP i za pomocą opcji `headers` można znaleźć listę nagłówków.
|
||||
|
||||
---
|
||||
|
||||
#### Opcje
|
||||
|
||||
| Opcja | Wpisz | Wymagane | Opis |
|
||||
| --------- | ------- | -------- | ----------------------------------------------------------------------------------- |
|
||||
| `type` | Ciąg | Y | Typ połączenia z serwerem MCP musi być `"remote"`. |
|
||||
| `url` | Ciąg | Y | Adres URL zdalnego serwera MCP. |
|
||||
| `enabled` | Wartość logiczna | | Włącz lub wyłącz serwer MCP podczas uruchamiania. |
|
||||
| `headers` | Obiekt | | Nagłówki do wysłania z wprowadzenia. |
|
||||
| `oauth` | Obiekt | | Konfiguracja uwierzytelniania OAuth. Zobacz sekcję [OAuth](#oauth) poniżej. |
|
||||
| `timeout` | Numer | | Limit czasu w ms na pobieranie narzędzia z serwera MCP. Wartość domyślna do 5000 (5 sekund). |
|
||||
|
||||
---
|
||||
|
||||
## OAuth
|
||||
|
||||
OpenCode automatyczne uwierzytelnianie OAuth dla zdalnych serwerów MCP. Gdy serwer wymaga uwierzytelnienia, OpenCode:
|
||||
|
||||
1. Wykryj odpowiedź 401 i zainijuj przepływ OAuth
|
||||
2. używa **Dynamicznej rejestracji klienta (RFC 7591)**, jeśli jest obsługiwana przez serwer
|
||||
3. Bezpiecznie przechowuj tokeny na wypadek ewentualnego zastosowania
|
||||
|
||||
---
|
||||
|
||||
### Automatyczny
|
||||
|
||||
W innym serwerze MCP z włączoną funkcją OAuth nie jest wymagana specjalna funkcja. Dostępny serwer bezprzewodowy:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-oauth-server": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.example.com/mcp"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli serwer wymaga uwierzytelnienia, OpenCode poprosi Cię o uwierzytelnienie przy próbie jego użycia. Jeśli nie, możesz [ręcznie podłączyć przepływ] (#authenticating) za pomocą `opencode mcp auth <server-name>`.
|
||||
|
||||
---
|
||||
|
||||
### Wstępnie zarejestrowany
|
||||
|
||||
Jeśli posiadasz dostęp do klienta od dostawcy serwera MCP, możesz je udostępnić:
|
||||
|
||||
```json title="opencode.json" {7-11}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-oauth-server": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.example.com/mcp",
|
||||
"oauth": {
|
||||
"clientId": "{env:MY_MCP_CLIENT_ID}",
|
||||
"clientSecret": "{env:MY_MCP_CLIENT_SECRET}",
|
||||
"scope": "tools:read tools:execute"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Uwierzytelnianie
|
||||
|
||||
Możesz podać potwierdzenie lub potwierdzenie poświadczenia.
|
||||
|
||||
Uwierzytelnij się za pomocą standardowego serwera MCP:
|
||||
|
||||
```bash
|
||||
opencode mcp auth my-oauth-server
|
||||
```
|
||||
|
||||
Lista wszystkich serwerów MCP i ich status uwierzytelnienia:
|
||||
|
||||
```bash
|
||||
opencode mcp list
|
||||
```
|
||||
|
||||
Usuń zapisane dane uwierzytelniające:
|
||||
|
||||
```bash
|
||||
opencode mcp logout my-oauth-server
|
||||
```
|
||||
|
||||
Komenda `mcp auth` została udostępniona w celu autoryzacji. Po autoryzacji OpenCode bezpieczne przechowa tokeny w `~/.local/share/opencode/mcp-auth.json`.
|
||||
|
||||
---
|
||||
|
||||
#### Wyłączanie OAuth
|
||||
|
||||
Jeśli chcesz włączyć automatyczne OAuth dla serwera (np. dla serwerów, które zamiast tego używać kluczy API), ustaw `oauth` na `false`:
|
||||
|
||||
```json title="opencode.json" {7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-api-key-server": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.example.com/mcp",
|
||||
"oauth": false,
|
||||
"headers": {
|
||||
"Authorization": "Bearer {env:MY_API_KEY}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### Opcje OAuth
|
||||
|
||||
| Opcja | Wpisz | Opis |
|
||||
| -------------- | --------------- | -------------------------------------------------------------------------------- |
|
||||
| `oauth` | Obiekt \| fałszywe | Obiekt konfiguracyjny OAuth lub `false`, aby wyłączyć automatyczne wykrywanie OAuth. |
|
||||
| `clientId` | Ciąg | Identyfikator klienta OAuth. Jeżeli nie zostanie podany, zostanie podjęta próba dynamicznej rejestracji klienta. |
|
||||
| `clientSecret` | Ciąg | Sekret klienta OAuth, plik jest wymagany przez serwer autoryzacji. |
|
||||
| `scope` | Ciąg | Zakresy protokołu OAuth, których należy żądać podczas autoryzacji. |
|
||||
|
||||
#### Debugowanie
|
||||
|
||||
Jeśli serwer MCP nie może zostać uwierzytelniony, możesz zdiagnozować problemy z:
|
||||
|
||||
```bash
|
||||
# View auth status for all OAuth-capable servers
|
||||
opencode mcp auth list
|
||||
|
||||
# Debug connection and OAuth flow for a specific server
|
||||
opencode mcp debug my-oauth-server
|
||||
```
|
||||
|
||||
Komenda `mcp debug` wyświetlanie stanu uwierzytelniania, testuje sprawdzanie protokołu HTTP i sprawdzenie sprawdzenia procesu OAuth.
|
||||
|
||||
---
|
||||
|
||||
## Zarządzać
|
||||
|
||||
Twoje MCP są dostępne jako narzędzie w OpenCode, obok narzędzi dodatkowych. Można to zrobić poprzez podłączenie OpenCode, jak również w innym przypadku.
|
||||
|
||||
---
|
||||
|
||||
### Światowy
|
||||
|
||||
Możesz to włączyć lub wyłączyć globalnie.
|
||||
|
||||
```json title="opencode.json" {14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-mcp-foo": {
|
||||
"type": "local",
|
||||
"command": ["bun", "x", "my-mcp-command-foo"]
|
||||
},
|
||||
"my-mcp-bar": {
|
||||
"type": "local",
|
||||
"command": ["bun", "x", "my-mcp-command-bar"]
|
||||
}
|
||||
},
|
||||
"tools": {
|
||||
"my-mcp-foo": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Dostępne są również wzorca globu, aby wyłączyć wszystkie dyski MCP.
|
||||
|
||||
```json title="opencode.json" {14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-mcp-foo": {
|
||||
"type": "local",
|
||||
"command": ["bun", "x", "my-mcp-command-foo"]
|
||||
},
|
||||
"my-mcp-bar": {
|
||||
"type": "local",
|
||||
"command": ["bun", "x", "my-mcp-command-bar"]
|
||||
}
|
||||
},
|
||||
"tools": {
|
||||
"my-mcp*": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Tutaj znajdziesz wzorca globalnego `my-mcp*`, aby wyłączyć wszystkie MCP.
|
||||
|
||||
---
|
||||
|
||||
### Na agenta
|
||||
|
||||
Jeśli masz największe serwery MCP, możesz włączyć je tylko dla poszczególnych agentów i być globalnie. Aby to zrobić:
|
||||
|
||||
1. Wyłącz go jako narzędzie globalnie.
|
||||
2. W [konfiguracji agenta](/docs/agents#tools) włącz serwer MCP jako narzędzie.
|
||||
|
||||
```json title="opencode.json" {11, 14-18}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"my-mcp": {
|
||||
"type": "local",
|
||||
"command": ["bun", "x", "my-mcp-command"],
|
||||
"enabled": true
|
||||
}
|
||||
},
|
||||
"tools": {
|
||||
"my-mcp*": false
|
||||
},
|
||||
"agent": {
|
||||
"my-agent": {
|
||||
"tools": {
|
||||
"my-mcp*": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### Wzory globusów
|
||||
|
||||
Wzorzec glob wykorzystuje proste wzorce globowania regularnych:
|
||||
|
||||
- `*` dopasowuje zero lub więcej dowolnego znaku (np. `"my-mcp*"` dopasowuje `my-mcp_search`, `my-mcp_list` itd.)
|
||||
- `?` odpowiada dokładnie jednemu znakowi
|
||||
- Wszystkie pozostałe znaki pasują dosłownie
|
||||
|
||||
:::note
|
||||
Narzędzia serwera MCP są rejestrowane z nazwą serwera jako prefiksem, więc aby uzyskać dostęp do wszystkich narzędzi dla serwera, po prostu dostęp do:
|
||||
|
||||
```
|
||||
"mymcpservername_*": false
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Przykłady
|
||||
|
||||
Poniżej znajdują się przykłady niektórych serwerów MCP. Twój prywatny PR, udostępniany przez inne serwery.
|
||||
|
||||
---
|
||||
|
||||
### Wartownik
|
||||
|
||||
Dodaj [serwer Sentry MCP](https://mcp.sentry.dev), aby móc wejść w interakcję z projektem i udostępnić Sentry.
|
||||
|
||||
```json title="opencode.json" {4-8}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"sentry": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.sentry.dev/mcp",
|
||||
"oauth": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Po dodaniu konfiguracji uwierzytelnij się za pomocą Sentry:
|
||||
|
||||
```bash
|
||||
opencode mcp auth sentry
|
||||
```
|
||||
|
||||
Spowoduje otwarcie okna konfiguracji, w którym można zakończyć proces OAuth i połączyć OpenCode z kontem Sentry.
|
||||
|
||||
Po uwierzytelnieniu oprogramowania Sentry w swoich monitach, aby rozprzestrzeniać zagrożenia, dane i błędy.
|
||||
|
||||
```txt "use sentry"
|
||||
Show me the latest unresolved issues in my project. use sentry
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Kontekst7
|
||||
|
||||
Dodaj [serwer Context7 MCP](https://github.com/upstash/context7), aby przeszukać dokumenty.
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"context7": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.context7.com/mcp"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli założyłeś darmowe konto, możesz użyć klucza API i uzyskać wyższy limit stawek.
|
||||
|
||||
```json title="opencode.json" {7-9}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"context7": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.context7.com/mcp",
|
||||
"headers": {
|
||||
"CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Załóż tutaj, że masz ustawioną zmienną środowiskową `CONTEXT7_API_KEY`.
|
||||
|
||||
Dodaj `use context7` do swoich podpowiedzi, aby skorzystać z serwera Context7 MCP.
|
||||
|
||||
```txt "use context7"
|
||||
Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7
|
||||
```
|
||||
|
||||
Alternatywnie możesz zadać coś takiego do pliku [AGENTS.md](/docs/rules/).
|
||||
|
||||
```md title="AGENTS.md"
|
||||
When you need to search docs, use `context7` tools.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Grep firmy Vercel
|
||||
|
||||
Dodaj serwer MCP [Grep by Vercel](https://grep.app), aby przeszukać fragmenty kodu w serwisie GitHub.
|
||||
|
||||
```json title="opencode.json" {4-7}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mcp": {
|
||||
"gh_grep": {
|
||||
"type": "remote",
|
||||
"url": "https://mcp.grep.app"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Nazwaliśmy nasz serwer MCP `gh_grep`, możesz dodać `use the gh_grep tool` do swoich podpowiedzi, aby agent mógł z niego korzystać.
|
||||
|
||||
```txt "use the gh_grep tool"
|
||||
What's the right way to set a custom domain in an SST Astro component? use the gh_grep tool
|
||||
```
|
||||
|
||||
Alternatywnie możesz zadać coś takiego do pliku [AGENTS.md](/docs/rules/).
|
||||
|
||||
```md title="AGENTS.md"
|
||||
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.
|
||||
```
|
||||
223
packages/web/src/content/docs/pl/models.mdx
Normal file
223
packages/web/src/content/docs/pl/models.mdx
Normal file
@@ -0,0 +1,223 @@
|
||||
---
|
||||
title: Modele
|
||||
description: Konfigurowanie dostawcy i modelu LLM.
|
||||
---
|
||||
|
||||
OpenCode używa [AI SDK](https://ai-sdk.dev/) i [Models.dev](https://models.dev) do obsługi **ponad 75 dostawców LLM** i obsługi uruchamiania modeli pierwszych.
|
||||
|
||||
---
|
||||
|
||||
## Dostawcy
|
||||
|
||||
Dostępna usługa dostawcy jest dostępna. Jeśli otrzymasz poświadczenie dostawcy za pomocą polecenia `/connect`, będzie on dostępny po uruchomieniu OpenCode.
|
||||
|
||||
Dowiedz się więcej o [dostawcach](/docs/providers).
|
||||
|
||||
---
|
||||
|
||||
## Wybierz model
|
||||
|
||||
Po skonfigurowaniu dostawcy możesz wybrać dostępny model, wpisując:
|
||||
|
||||
```bash frame="none"
|
||||
/models
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Polecane modele
|
||||
|
||||
Na rynku jest mnóstwo modeli, co tydzień pojawia się nowe.
|
||||
|
||||
:::tip
|
||||
Rozważ skorzystanie z jednego z rekomendowanych przez nas modeli.
|
||||
:::
|
||||
|
||||
Jednak tylko kilka z nich jest dobrych przy generowaniu kodu, jak i wywołaniu narzędzia.
|
||||
|
||||
Oto kilka modeli, które dobrze współpracują z OpenCode, w kolejności. (Nie jest to lista wyczerpująca i nie jest konieczna aktualna):
|
||||
|
||||
- GPT 5.2
|
||||
- Kodeks GPT 5.1
|
||||
- Klaudiusz Opus 4.5
|
||||
- Claude Sonnet 4.5
|
||||
- Minimax M2.1
|
||||
- Bliźnięta 3Pro
|
||||
|
||||
---
|
||||
|
||||
## Ustaw wartość domyślną
|
||||
|
||||
Aby zainstalować jeden z nich jako model domyślny, możesz zainstalować klucz `model` w swoim
|
||||
OpenCode konfiguracja
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "lmstudio/google/gemma-3n-e4b"
|
||||
}
|
||||
```
|
||||
|
||||
Tutaj pełny identyfikator do `provider_id/model_id`. Na przykład, użycie [OpenCode Zen](/docs/zen), przestrzeganie `opencode/gpt-5.1-codex` dla Kodeksu GPT 5.1.
|
||||
|
||||
Jeśli skonfigurowałeś [dostawcę zwykłegogo] (./providers#custom), `provider_id` jest kluczem z części `provider` twojej konfiguracji, a `model_id` jest kluczem z `provider.models`.
|
||||
|
||||
---
|
||||
|
||||
## Skonfiguruj modele
|
||||
|
||||
Można globalnie skorzystać z opcji modelu poprzez plik config.
|
||||
|
||||
```jsonc title="opencode.jsonc" {7-12,19-24}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"openai": {
|
||||
"models": {
|
||||
"gpt-5": {
|
||||
"options": {
|
||||
"reasoningEffort": "high",
|
||||
"textVerbosity": "low",
|
||||
"reasoningSummary": "auto",
|
||||
"include": ["reasoning.encrypted_content"],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
"anthropic": {
|
||||
"models": {
|
||||
"claude-sonnet-4-5-20250929": {
|
||||
"options": {
|
||||
"thinking": {
|
||||
"type": "enabled",
|
||||
"budgetTokens": 16000,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Tutaj konfigurujemy urządzenia globalne dla dwóch modeli: `gpt-5` w przypadku dostępu za pośrednictwem dostawcy `openai` i `claude-sonnet-4-20250514` w przypadku dostępu za pośrednictwem dostawcy `anthropic`.
|
||||
Wbudowane nazwy dostawców i modele można znaleźć na [Models.dev](https://models.dev).
|
||||
|
||||
Można także skorzystać z opcji dla dowolnych agentów, których używa się. Konfiguracja agenta jest dostępna jako opcja globalna. [Dowiedz się więcej](/docs/agents/#additional).
|
||||
|
||||
Można również zastosować alternatywne warianty, które wykluczają. Warianty konfiguracji ustawień konfiguracyjnych dla tego samego modelu bez tworzenia duplikatów wpisów:
|
||||
|
||||
```jsonc title="opencode.jsonc" {6-21}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"opencode": {
|
||||
"models": {
|
||||
"gpt-5": {
|
||||
"variants": {
|
||||
"high": {
|
||||
"reasoningEffort": "high",
|
||||
"textVerbosity": "low",
|
||||
"reasoningSummary": "auto",
|
||||
},
|
||||
"low": {
|
||||
"reasoningEffort": "low",
|
||||
"textVerbosity": "low",
|
||||
"reasoningSummary": "auto",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Warianty
|
||||
|
||||
Wiele modeli obsługuje wiele wariantów lub różnych wybranych. OpenCode jest dostarczany z podstawowymi wariantami wariantów dla dostawców.
|
||||
|
||||
### Wbudowane warianty
|
||||
|
||||
OpenCode jest dostarczany z domyślnymi wariantami dla wielu dostawców:
|
||||
|
||||
**Antropiczny**:
|
||||
|
||||
- `high` – Wysoki budżet na przemyślenie (domyślnie)
|
||||
- `max` - Maksymalny budżet na myślenie
|
||||
|
||||
**OpenAI**:
|
||||
|
||||
Różni się zależnością od modelu, ale mniej więcej:
|
||||
|
||||
- `none` – Brak uzasadnienia
|
||||
- `minimal` - Minimalny wysiłek rozumowania
|
||||
- `low` - Niewielki wysiłek w zakresie rozumowania
|
||||
- `medium` – Średni wysiłek rozumowania
|
||||
- `high` - Duży wysiłek w zakresie rozumowania
|
||||
- `xhigh` - Bardzo duży wysiłek w zakresie rozumowania
|
||||
|
||||
**Google**:
|
||||
|
||||
- `low` — Mniejszy nakład pracy/budżet tokena
|
||||
- `high` — Większy nakład pracy/budżet tokena
|
||||
|
||||
:::tip
|
||||
Lista ta nie jest kompletna. Wielu innych dostawców oferuje także opcję odchylenia ustawień.
|
||||
:::
|
||||
|
||||
### Warianty niestandardowe
|
||||
|
||||
Można uwzględnić warianty lub dodać własne:
|
||||
|
||||
```jsonc title="opencode.jsonc" {7-18}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"openai": {
|
||||
"models": {
|
||||
"gpt-5": {
|
||||
"variants": {
|
||||
"thinking": {
|
||||
"reasoningEffort": "high",
|
||||
"textVerbosity": "low",
|
||||
},
|
||||
"fast": {
|
||||
"disabled": true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
### Warianty cyklu
|
||||
|
||||
Naciśnij klawisza `variant_cycle`, aby szybko przełączać się między wariantami. [Dowiedz się więcej](/docs/keybinds).
|
||||
|
||||
---
|
||||
|
||||
## Ładowanie modeli
|
||||
|
||||
Po uruchomieniu OpenCode sprawdzanie modeli w następującej kolejności:
|
||||
|
||||
1. Flaga wiersza autora `--model` lub `-m`. Format jest taki sam jak w pliku konfiguracyjnym: `provider_id/model_id`.
|
||||
|
||||
2. Lista modeli w konstrukcji OpenCode.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "anthropic/claude-sonnet-4-20250514"
|
||||
}
|
||||
```
|
||||
|
||||
Sformatuj tutaj na `provider/model`.
|
||||
|
||||
3. Ostatni używany model.
|
||||
|
||||
4. Pierwszy model sterujący priorytetem wewnętrznym.
|
||||
331
packages/web/src/content/docs/pl/modes.mdx
Normal file
331
packages/web/src/content/docs/pl/modes.mdx
Normal file
@@ -0,0 +1,331 @@
|
||||
---
|
||||
title: Tryby
|
||||
description: Różne tryby dla różnych zastosowań.
|
||||
---
|
||||
|
||||
:::caution
|
||||
Tryby są teraz konfigurowane za pomocą opcji `agent` w konfiguracji opencode.
|
||||
Opcja `mode` jest obecnie przestarzała. [Dowiedz się więcej](/docs/agents).
|
||||
:::
|
||||
|
||||
Tryb udostępniania możliwości stosowania, narzędzie i podpowiedzi do różnych zastosowań.
|
||||
|
||||
Posiadanie dwa tryby: **budowanie** i **planowanie**. Można dostosować
|
||||
te lub skonfiguruj własne za pomocą konfiguracji opencode.
|
||||
|
||||
Można przełączać się między trybami podczas sesji lub konfigurować je w pliku konfiguracyjnym.
|
||||
|
||||
---
|
||||
|
||||
## Wbudowany
|
||||
|
||||
opencode ma dwa puste tryby.
|
||||
|
||||
---
|
||||
|
||||
### Zbudować
|
||||
|
||||
Kompilacja jest trybem **domyślnym** z dostępnymi narzędziami. Jest to standardowy tryb pracy programistycznej, który jest dostępny z pełnym dostępem do operacji na plikach i oryginalnych systemach systemowych.
|
||||
|
||||
---
|
||||
|
||||
### Plan
|
||||
|
||||
Tryb ograniczony do analizy. W urządzeniu planowym narzędzia są przydatne:
|
||||
|
||||
- `write` - Nie można stworzyć nowych plików
|
||||
- `edit` — Nie można zastosować naruszenia plików, z naruszeniem praw autorskich w `.opencode/plans/*.md` w celu uszczegółowienia samego planu
|
||||
- `patch` - Nie można zastosować poprawek
|
||||
- `bash` - Nie można wykonać poleceń powłoki
|
||||
|
||||
Ten tryb jest alternatywny, gdy chcesz, aby sztuczna inteligencja analizowała kod, sugerowała zmianę lub tworzyła projekty bez źródła zewnętrznego, które stanowi bazę kodu.
|
||||
|
||||
---
|
||||
|
||||
## Przełączanie
|
||||
|
||||
Możesz przełączać się między trybami podczas sesji za pomocą klawisza _Tab_. Lub skrót klawiszowy `switch_mode`.
|
||||
|
||||
Zobacz także: [Formaterzy](/docs/formatters), aby uzyskać informacje na temat konfiguracji formatowania kodu.
|
||||
|
||||
---
|
||||
|
||||
## Skonfiguruj
|
||||
|
||||
Możliwość dostosowania alternatywnego trybu lub konfiguracji poprzez własną konfigurację. Tryb można skonfigurować na dwa systemy:
|
||||
|
||||
### Konfiguracja JSON-a
|
||||
|
||||
Skonfiguruj tryb w pliku konfiguracyjnym `opencode.json`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mode": {
|
||||
"build": {
|
||||
"model": "anthropic/claude-sonnet-4-20250514",
|
||||
"prompt": "{file:./prompts/build.txt}",
|
||||
"tools": {
|
||||
"write": true,
|
||||
"edit": true,
|
||||
"bash": true
|
||||
}
|
||||
},
|
||||
"plan": {
|
||||
"model": "anthropic/claude-haiku-4-20250514",
|
||||
"tools": {
|
||||
"write": false,
|
||||
"edit": false,
|
||||
"bash": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Konfiguracja przecen
|
||||
|
||||
Można także definiować tryby za pomocą plików przecen. Trzymaj je w:
|
||||
|
||||
- Globalnie: `~/.config/opencode/modes/`
|
||||
- Projekt: `.opencode/modes/`
|
||||
|
||||
```markdown title="~/.config/opencode/modes/review.md"
|
||||
---
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
temperature: 0.1
|
||||
tools:
|
||||
write: false
|
||||
edit: false
|
||||
bash: false
|
||||
---
|
||||
|
||||
You are in code review mode. Focus on:
|
||||
|
||||
- Code quality and best practices
|
||||
- Potential bugs and edge cases
|
||||
- Performance implications
|
||||
- Security considerations
|
||||
|
||||
Provide constructive feedback without making direct changes.
|
||||
```
|
||||
|
||||
Nazwa pliku przecen staje się kluczem trybunału (np. `review.md` tworzy tryb `review`).
|
||||
|
||||
Przyjrzyjmy się szczegółowo tym opcjom konfiguracji.
|
||||
|
||||
---
|
||||
|
||||
### Model
|
||||
|
||||
Zastosowanie konstrukcji `model`, aby zastosować domyślny model dla tego trybunału. Przydatne przy wykorzystaniu różnych modeli dostępnych w różnych zadaniach. Na przykład zastosowanie modelu, skuteczniejsze wykonanie modelu.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
"plan": {
|
||||
"model": "anthropic/claude-haiku-4-20250514"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Temperatura
|
||||
|
||||
Kontroluj losowość i kreatywność reakcji AI za pomocą konstrukcji `temperature`. Niższe wartości, że odpowiedzi są bardziej skupione i deterministyczne, podczas gdy najwyższa wartość jest innowacyjna i złożona.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
"plan": {
|
||||
"temperature": 0.1
|
||||
},
|
||||
"creative": {
|
||||
"temperature": 0.8
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Wartości temperatury zazwyczaj wahają się od 0,0 do 1,0:
|
||||
|
||||
- **0,0-0,2**: Bardzo skoncentrowane i deterministyczne odpowiedzi, idealne do analizy i kodu źródłowego
|
||||
- **0,3-0,5**: Zrównoważona odpowiedź z chwilą powstania, dobre do ogólnych zadań rozwojowych
|
||||
- **0,6–1,0**: Bardziej kreatywne i odpowiedzi, rozstrzygnięte podczas burzy mózgów i eksploracji
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
"analyze": {
|
||||
"temperature": 0.1,
|
||||
"prompt": "{file:./prompts/analysis.txt}"
|
||||
},
|
||||
"build": {
|
||||
"temperature": 0.3
|
||||
},
|
||||
"brainstorm": {
|
||||
"temperature": 0.7,
|
||||
"prompt": "{file:./prompts/creative.txt}"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli nie ma wpływu na temperaturę, opencode stosuje się narzędzia badawcze dla modelu (zwykle 0 dla największych modeli, 0,55 dla modeli Qwen).
|
||||
|
||||
---
|
||||
|
||||
### Podpowiedź
|
||||
|
||||
niestandardowy plik podpowiedzi systemowych dla tej procedury za pomocą konfiguracji `prompt`. Plik informacyjny powinien zawierać instrukcje dotyczące przeznaczenia trybunału.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"mode": {
|
||||
"review": {
|
||||
"prompt": "{file:./prompts/code-review.txt}"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Ścieżka ta zależy od miejsca, w którym znajduje się plik konfiguracyjny. Więc to dla działa
|
||||
zarówno globalna opencode, jak i specjalna dla projektu.
|
||||
|
||||
---
|
||||
|
||||
### Narzędzia
|
||||
|
||||
Kontroluj, które narzędzia są dostępne w tym urządzeniu, za pomocą konfiguracji `tools`. Można włączyć lub dostępne narzędzie, ustawiając je na `true` lub `false`.
|
||||
|
||||
```json
|
||||
{
|
||||
"mode": {
|
||||
"readonly": {
|
||||
"tools": {
|
||||
"write": false,
|
||||
"edit": false,
|
||||
"bash": false,
|
||||
"read": true,
|
||||
"grep": true,
|
||||
"glob": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli nie ma żadnych narzędzi, wszystkie narzędzia są wyłączone.
|
||||
|
||||
---
|
||||
|
||||
#### Dostępne narzędzie
|
||||
|
||||
Oto wszystkie narzędzia, które można sterować za pomocą konfiguracji trybunałów.
|
||||
|
||||
| Narzędzie | Opis |
|
||||
| ----------- | ------------------------------------- |
|
||||
| `bash` | Wykonaj polecenia powłoki |
|
||||
| `edit` | Modyfikuj istniejące pliki |
|
||||
| `write` | Utwórz nowe pliki |
|
||||
| `read` | Przeczytaj zawartość pliku |
|
||||
| `grep` | Wyszukaj zawartość pliku |
|
||||
| `glob` | Znajdź pliki według wzorca |
|
||||
| `list` | Lista zawartości katalogu |
|
||||
| `patch` | Zastosuj poprawki do plików |
|
||||
| `todowrite` | Zarządzaj listami rzeczy do wykonania |
|
||||
| `todoread` | Przeczytaj listy rzeczy do zrobienia |
|
||||
| `webfetch` | Pobierz zawartość internetową |
|
||||
|
||||
---
|
||||
|
||||
## Tryby niestandardowe
|
||||
|
||||
Możesz stworzyć własny tryb prywatny, dodając je do konfiguracji. Oto zastosowanie obu rozwiązań:
|
||||
|
||||
### Korzystanie z konfiguracji JSON
|
||||
|
||||
```json title="opencode.json" {4-14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"mode": {
|
||||
"docs": {
|
||||
"prompt": "{file:./prompts/documentation.txt}",
|
||||
"tools": {
|
||||
"write": true,
|
||||
"edit": true,
|
||||
"bash": false,
|
||||
"read": true,
|
||||
"grep": true,
|
||||
"glob": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Korzystanie z plików Markdown
|
||||
|
||||
Utwórz pliki trybów w `.opencode/modes/` dla trybów zapisanych dla projektu lub `~/.config/opencode/modes/` dla trybów globalnych:
|
||||
|
||||
```markdown title=".opencode/modes/debug.md"
|
||||
---
|
||||
temperature: 0.1
|
||||
tools:
|
||||
bash: true
|
||||
read: true
|
||||
grep: true
|
||||
write: false
|
||||
edit: false
|
||||
---
|
||||
|
||||
You are in debug mode. Your primary goal is to help investigate and diagnose issues.
|
||||
|
||||
Focus on:
|
||||
|
||||
- Understanding the problem through careful analysis
|
||||
- Using bash commands to inspect system state
|
||||
- Reading relevant files and logs
|
||||
- Searching for patterns and anomalies
|
||||
- Providing clear explanations of findings
|
||||
|
||||
Do not make any changes to files. Only investigate and report.
|
||||
```
|
||||
|
||||
```markdown title="~/.config/opencode/modes/refactor.md"
|
||||
---
|
||||
model: anthropic/claude-sonnet-4-20250514
|
||||
temperature: 0.2
|
||||
tools:
|
||||
edit: true
|
||||
read: true
|
||||
grep: true
|
||||
glob: true
|
||||
---
|
||||
|
||||
You are in refactoring mode. Focus on improving code quality without changing functionality.
|
||||
|
||||
Priorities:
|
||||
|
||||
- Improve code readability and maintainability
|
||||
- Apply consistent naming conventions
|
||||
- Reduce code duplication
|
||||
- Optimize performance where appropriate
|
||||
- Ensure all tests continue to pass
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Przypadki użycia
|
||||
|
||||
Oto kilka typowych zastosowań dla różnych trybów.
|
||||
|
||||
- **Tryb stosowania**: Pełne prace programistyczne z dostępnymi narzędziami
|
||||
- **Tryb planowania**: Analiza i planowanie bez zmian
|
||||
- **Wypróbuj**: Przegląd kodu z możliwością odczytu i narzędzi do dokumentacji
|
||||
- **Spróbuj debugowania**: Koncentruje się na urządzeniu z dostępnymi narzędziami bash i odczytu
|
||||
- **Tryb Dokumenty**: Zapisywanie dokumentacji przy użyciu operacji na plikach, ale bez oryginalnych systemów systemowych
|
||||
|
||||
Może się również zdarzyć, że różne modele są dobre w różnych wersjach użycia.
|
||||
57
packages/web/src/content/docs/pl/network.mdx
Normal file
57
packages/web/src/content/docs/pl/network.mdx
Normal file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
title: Sieć
|
||||
description: Skonfiguruj serwery proxy i certyfikaty uwierzytelniające.
|
||||
---
|
||||
|
||||
OpenCode obsługa standardowego zmiennego proxy i certyfikatów dla usług sieciowych przedsiębiorstw.
|
||||
|
||||
---
|
||||
|
||||
## Pełnomocnik
|
||||
|
||||
OpenCode respektuje standardowe zmienne środowiskowe proxy.
|
||||
|
||||
```bash
|
||||
# HTTPS proxy (recommended)
|
||||
export HTTPS_PROXY=https://proxy.example.com:8080
|
||||
|
||||
# HTTP proxy (if HTTPS not available)
|
||||
export HTTP_PROXY=http://proxy.example.com:8080
|
||||
|
||||
# Bypass proxy for local server (required)
|
||||
export NO_PROXY=localhost,127.0.0.1
|
||||
```
|
||||
|
||||
:::caution
|
||||
TUI komunikuje się z popularnym serwerem HTTP. Aby zapobiec łączem routingu, należy ominąć serwer proxy dla tego połączenia.
|
||||
:::
|
||||
|
||||
Możesz pozostawić port serwera i hosta za pomocą [flaga CLI](/docs/cli#run).
|
||||
|
||||
---
|
||||
|
||||
### Uwierzytelniać
|
||||
|
||||
Jeśli Twój serwer proxy wymaga podstawowego uwierzytelniania, dołącz dane uwierzytelniające w adresie URL.
|
||||
|
||||
```bash
|
||||
export HTTPS_PROXY=http://username:password@proxy.example.com:8080
|
||||
```
|
||||
|
||||
:::caution
|
||||
Unikaj kodowania haseł na stałe. Użyj testów kontrolnych lub oprogramowania poświadczeń.
|
||||
:::
|
||||
|
||||
W przypadku serwera proxy zaawansowanego uwierzytelniania, jak NTLM lub Kerberos, dostęp do bram LLM, który umożliwia uwierzytelnianie.
|
||||
|
||||
---
|
||||
|
||||
## Certyfikaty niestandardowe
|
||||
|
||||
Jeśli Twoje przedsiębiorstwo korzysta z niestandardowych usług, urzędów dostępu do HTTPS, skonfiguruj OpenCode tak, aby im ufać.
|
||||
|
||||
```bash
|
||||
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem
|
||||
```
|
||||
|
||||
Działają tylko w przypadku proxy, jak i bezpośredniego dostępu do API.
|
||||
237
packages/web/src/content/docs/pl/permissions.mdx
Normal file
237
packages/web/src/content/docs/pl/permissions.mdx
Normal file
@@ -0,0 +1,237 @@
|
||||
---
|
||||
title: Uprawnienia
|
||||
description: Kontroluj, które Akcje wymagają zatwierdzenia do uruchomienia.
|
||||
---
|
||||
|
||||
OpenCode używa `permission`, aby uniknąć, czy dana akcja została wykonana automatycznie, zachowana monit lub została zablokowana.
|
||||
|
||||
Od `v1.1.1` starsza stworzona logiczna `tools` jest przestarzała i została stworzona scalona z `permission`. Stara wersja `tools` jest nadal obsługiwana w celu zapewnienia zgodności wstecznej.
|
||||
|
||||
---
|
||||
|
||||
## Działania
|
||||
|
||||
Każda reguła uprawnień skutkuje jedną z:
|
||||
|
||||
- `"allow"` — uruchamiany bez zgody
|
||||
- `"ask"` — monit o zatwierdzenie
|
||||
- `"deny"` — zablokuj akcję
|
||||
|
||||
---
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
Możesz zainstalować uprawnienia globalnie (za pomocą `*`) i znajdującego się w nim narzędzia.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"*": "ask",
|
||||
"bash": "allow",
|
||||
"edit": "deny"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Możesz także zainstalować wszystkie uprawnienia na raz:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": "allow"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Szczegółowe reguły (składnia obiektu)
|
||||
|
||||
Można skorzystać z różnych działań, które zależą od danych użytkowych.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"bash": {
|
||||
"*": "ask",
|
||||
"git *": "allow",
|
||||
"npm *": "allow",
|
||||
"rm *": "deny",
|
||||
"grep *": "allow"
|
||||
},
|
||||
"edit": {
|
||||
"*": "deny",
|
||||
"packages/web/src/content/docs/*.mdx": "allow"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Reguły są zalecane na podstawie odpowiedniego wzorca, przy czym **ostatnia wynikaca reguła wygrywa**. Powszechnym wzorcem jest umieszczenie na pierwszym miejscu odpowiedniego catch-all `"*"`, a po bardziej szczegółowe zasady.
|
||||
|
||||
### Symbole wieloznaczne
|
||||
|
||||
Wzorce uprawnień z prostych dopasowywania symboli wieloznacznych:
|
||||
|
||||
- `*` dopasowuje zero lub więcej dowolnego znaku
|
||||
- `?` odpowiada dokładnie jednemu znakowi
|
||||
- Wszystkie pozostałe znaki pasują dosłownie
|
||||
|
||||
### Rozszerzenie katalogu domowego
|
||||
|
||||
Możesz używać `~` lub `$HOME` na początku wzorca, aby zastosować się do swojego katalogu domowego. Jest to szczególnie szczególne w przypadku reguły [`external_directory`](#external-directories).
|
||||
|
||||
- `~/projects/*` -> `/Users/username/projects/*`
|
||||
- `$HOME/projects/*` -> `/Users/username/projects/*`
|
||||
- `~` -> `/Users/username`
|
||||
|
||||
### Katalogi zewnętrzne
|
||||
|
||||
Użycie `external_directory`, aby zezwolić na wywołanie narzędzia, które obsługuje obsługę poza katalogiem roboczym, z uruchomieniem OpenCode. Dotyczy każdego narzędzia, które jako dane wejściowe zostało przyjęte (na przykład `read`, `edit`, `list`, `glob`, `grep` i wiele założycieli `bash`).
|
||||
|
||||
Rozszerzenie domu (jak `~/...`) wpływa tylko na sposób za zwyczajowy wzorca. Nie powoduje to, że strategie zewnętrzne stają się stosowane przez `external_directory`.
|
||||
|
||||
Na przykład umożliwia dostęp do wszystkiego pod `~/projects/personal/`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"external_directory": {
|
||||
"~/projects/personal/**": "allow"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Każdy dopuszczony tutaj katalog jest dziedziczy tych samych ustawień, co dostęp do obszaru roboczego. Ponieważ [`read` ma wartość domyślną `allow`](#defaults), odczyty są również dostępne dla wpisów poniżej `external_directory`, chyba że zagłębione. Dodaj dodatkowe rozwiązanie, kiedy narzędzie powinno być rozwiązaniem w tych ścieżkach, np. blokowanie edycji przy zachowaniu odczytów:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"external_directory": {
|
||||
"~/projects/personal/**": "allow"
|
||||
},
|
||||
"edit": {
|
||||
"~/projects/personal/**": "deny"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Skoncentruj listę na zaufanych ścieżkach i dodaj dodatkowe zezwolenie lub odmowę, jeśli jest potrzebne w innych narzędziach (na przykład `bash`).
|
||||
|
||||
---
|
||||
|
||||
## Dostępne uprawnienia
|
||||
|
||||
Uprawnienia OpenCode są określane na podstawie nazwy narzędzia i kilku zabezpieczeń:
|
||||
|
||||
- `read` — odczyt pliku (odpowiada ścieżce pliku)
|
||||
- `edit` — wszystkie modyfikacje plików (obejmuje `edit`, `write`, `patch`, `multiedit`)
|
||||
- `glob` — maglowanie plików (pasuje do wzorców globowania)
|
||||
- `grep` — wyszukiwanie treści (pasuje do wzorca regularnego)
|
||||
- `list` — wyświetlanie listy plików w katalogu (pasuje do katalogu)
|
||||
- `bash` — uruchamianie poleceń powłoki (pasuje do poleceń przeanalizowanych, takich jak `git status --porcelain`)
|
||||
- `task` — uruchamianie podagentów (odpowiada typowi podagenta)
|
||||
- `skill` — ładowanie umiejętności (pasuje do nazwy umiejętności)
|
||||
- `lsp` — uruchamianie zapytań LSP (obecnie nieszczegółowych)
|
||||
- `todoread`, `todowrite` — czytanie/aktualizacja list rzeczy do wykonania
|
||||
- `webfetch` — pobieranie adresu URL (pasuje do adresu URL)
|
||||
- `websearch`, `codesearch` — wyszukiwanie sieci/kodu (pasuje do zapytań)
|
||||
- `external_directory` — wywoływacz, gdy narzędzie jest dostępne poza katalogiem roboczym projektu
|
||||
- `doom_loop` — wyzwalane, gdy samo wywołanie narzędzia zostanie powtórzone 3 razy z tymi samymi danymi podstawowymi
|
||||
|
||||
---
|
||||
|
||||
## Domyślne
|
||||
|
||||
Jeżeli nic nie jest określone, OpenCode zostanie uruchomione od dopuszczalnych rozwiązań diagnostycznych:
|
||||
|
||||
- Dostępne uprawnienia ma wartość domyślną `"allow"`.
|
||||
- `doom_loop` i `external_directory` zamek ma wartość `"ask"`.
|
||||
- `read` do `"allow"`, ale pliki `.env` są odrzucane:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"permission": {
|
||||
"read": {
|
||||
"*": "allow",
|
||||
"*.env": "deny",
|
||||
"*.env.*": "deny",
|
||||
"*.env.example": "allow"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Co robi „Zapytaj”.
|
||||
|
||||
Gdy OpenCode poprosi o zatwierdzenie, interfejs użytkownika oferujący trzy wyniki:
|
||||
|
||||
- `once` — zatwierdź tylko tę prośbę
|
||||
- `always` — zastosowanie, które następuje po zastosowaniu sugerowanych wzorców (przez następczą bieżącą sesję OpenCode)
|
||||
- `reject` — odrzucić
|
||||
|
||||
Zestaw wzorców, które `always` zatwierdziłby, jest udostępniony przez narzędzie (na przykładzie zatwierdzenia bash zazwyczaj umieszczają na częstotliwości bezpiecznej prefiksy polecenia, takie jak `git status*`).
|
||||
|
||||
---
|
||||
|
||||
## Agenci
|
||||
|
||||
Można uzyskać dostęp do poszczególnych agentów. Uprawnienia agenta są skalowane z konfiguracją globalną, a następnie agenta ma pierwszeństwo. [Dowiedz się więcej](/docs/agents#permissions) o prawach agenta.
|
||||
|
||||
:::note
|
||||
Bardziej szczegółowe przykłady dopasowywania wzorców można znaleźć w sekcji [Reguły szczegółowe (składnia obiektu) (#granular-rules-object-syntax) powyżej.
|
||||
:::
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"bash": {
|
||||
"*": "ask",
|
||||
"git *": "allow",
|
||||
"git commit *": "deny",
|
||||
"git push *": "deny",
|
||||
"grep *": "allow"
|
||||
}
|
||||
},
|
||||
"agent": {
|
||||
"build": {
|
||||
"permission": {
|
||||
"bash": {
|
||||
"*": "ask",
|
||||
"git *": "allow",
|
||||
"git commit *": "ask",
|
||||
"git push *": "deny",
|
||||
"grep *": "allow"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Możesz także mieć pozwolenie na agenta w Markdown:
|
||||
|
||||
```markdown title="~/.config/opencode/agents/review.md"
|
||||
---
|
||||
description: Code review without edits
|
||||
mode: subagent
|
||||
permission:
|
||||
edit: deny
|
||||
bash: ask
|
||||
webfetch: deny
|
||||
---
|
||||
|
||||
Only analyze code and suggest changes.
|
||||
```
|
||||
|
||||
:::tip
|
||||
zastosowanie dopasowywania wzorców dla pierwotnych z argumentami. `"grep *"` pozwala na `grep pattern file.txt`, podczas gdy sam `"grep"` blokuje to. Polecenia takie jak `git status` w przypadku postępowania dyscyplinarnego, ale ostatecznego zastosowania (np. `"git status *"`) podczas stosowania argumentów.
|
||||
:::
|
||||
385
packages/web/src/content/docs/pl/plugins.mdx
Normal file
385
packages/web/src/content/docs/pl/plugins.mdx
Normal file
@@ -0,0 +1,385 @@
|
||||
---
|
||||
title: Wtyczki
|
||||
description: Napisz własną wtyczkę, aby rozszerzyć OpenCode.
|
||||
---
|
||||
|
||||
Wtyczki umożliwiające wyłączenie OpenCode poprzez podjęcie różnych zdarzeń i zachowanie. Można utworzyć wtyczkę, aby sprawdzić nowe funkcje, integrować się z usługami lub sprawdzaniem zachowania OpenCode.
|
||||
|
||||
Aby znaleźć się z przykładami, przejrzyj [wtyczki](/docs/ecosystem#plugins) utworzone przez społeczność.
|
||||
|
||||
---
|
||||
|
||||
## użyj wtyczki
|
||||
|
||||
Istnieją dwa sposoby ładowania wtyczek.
|
||||
|
||||
---
|
||||
|
||||
### Z plików lokalnych
|
||||
|
||||
Miejsce plików JavaScript lub TypeScript w katalogu wtyczki.
|
||||
|
||||
- `.opencode/plugins/` - Wtyczki na poziomie projektu
|
||||
- `~/.config/opencode/plugins/` - Wtyczki globalne
|
||||
|
||||
Pliki w tych katalogach są automatycznie ładowane podczas uruchamiania.
|
||||
|
||||
---
|
||||
|
||||
### Z npm
|
||||
|
||||
szczegółowy pakiet npm w pliku konfiguracyjnym.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"plugin": ["opencode-helicone-session", "opencode-wakatime", "@my-org/custom-plugin"]
|
||||
}
|
||||
```
|
||||
|
||||
Obsługiwane są zarówno pakiety zwykłe, jak i pakiety npm o określonym zakresie.
|
||||
|
||||
Przeglądaj dostępną wtyczkę w [ekosystemie](/docs/ecosystem#plugins).
|
||||
|
||||
---
|
||||
|
||||
### Sposób instalacji wtyczek
|
||||
|
||||
**wtyczki npm** są instalowane automatycznie przy użyciu Bun podczas uruchamiania. Pakiety i ich zależności są buforowane w `~/.cache/opencode/node_modules/`.
|
||||
|
||||
**Wtyczki lokalne** są ładowane bezpośrednio z katalogu wtyczek. Aby uzyskać dostęp do zewnętrznych pakietów, musisz zainstalować `package.json` w swoim katalogu konfiguracyjnym (zobacz [Zależności](#dependencies)) lub opublikować wtyczkę w npm i [dodaj ją do swojej konfiguracji](/docs/config#plugins).
|
||||
|
||||
---
|
||||
|
||||
### Załaduj zamówienie
|
||||
|
||||
Wtyczki są ładowane ze wszystkich źródeł, a wszystkie hooki napisane po kolei. Kolejność ładowania do:
|
||||
|
||||
1. Konfiguracja globalna (`~/.config/opencode/opencode.json`)
|
||||
2. Konfiguracja projektu (`opencode.json`)
|
||||
3. Globalny katalog wtyczek (`~/.config/opencode/plugins/`)
|
||||
4. Katalog wtyczek projektu (`.opencode/plugins/`)
|
||||
|
||||
Zduplikowane pakiety npm o tej samej nazwie i wersji są ładowane raz. Równie ważny jest dostęp lokalny i zewnętrzny npm o dodatkowych nazwach, które są zewnętrzne.
|
||||
|
||||
---
|
||||
|
||||
## Utwórz wtyczkę
|
||||
|
||||
Wtyczka do **moduł JavaScript/TypeScript**, który eksportuje jeden lub więcej wtyczek
|
||||
funkcje. dostępna funkcja korzystania z obiektu kontekstu i głównego obiektu hooks.
|
||||
|
||||
---
|
||||
|
||||
### Zależności
|
||||
|
||||
Lokalne narzędzie i narzędzie, które można wykorzystać z zewnętrznych pakietów npm. Dodaj `package.json` do swojego katalogu konfiguracyjnego z zależnościami.
|
||||
|
||||
```json title=".opencode/package.json"
|
||||
{
|
||||
"dependencies": {
|
||||
"shescape": "^2.1.0"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
OpenCode uruchomienie `bun install` przy uruchomieniu, aby je uruchomić. Twoje dodatkowe funkcje będą dostępne po zaimportowaniu.
|
||||
|
||||
```ts title=".opencode/plugins/my-plugin.ts"
|
||||
import { escape } from "shescape"
|
||||
|
||||
export const MyPlugin = async (ctx) => {
|
||||
return {
|
||||
"tool.execute.before": async (input, output) => {
|
||||
if (input.tool === "bash") {
|
||||
output.args.command = escape(output.args.command)
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Podstawowa struktura
|
||||
|
||||
```js title=".opencode/plugins/example.js"
|
||||
export const MyPlugin = async ({ project, client, $, directory, worktree }) => {
|
||||
console.log("Plugin initialized!")
|
||||
|
||||
return {
|
||||
// Hook implementations go here
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Funkcja dostępu do:
|
||||
|
||||
- `project`: Aktualne informacje o projekcie.
|
||||
- `directory`: Bieżący katalog roboczy.
|
||||
- `worktree`: Ścieżka eksploatacyjna Git.
|
||||
- `client`: Klient SDK z otwartym kodem do sztucznej inteligencji.
|
||||
- `$`: [API obudowy](https://bun.com/docs/runtime/shell) Buna do wykonywania oprogramowania.
|
||||
|
||||
---
|
||||
|
||||
### Obsługa TypeScriptu
|
||||
|
||||
W przypadku wtyczek TypeScript możesz importować typy z pakietu wtyczek:
|
||||
|
||||
```ts title="my-plugin.ts" {1}
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
export const MyPlugin: Plugin = async ({ project, client, $, directory, worktree }) => {
|
||||
return {
|
||||
// Type-safe hook implementations
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Wydarzenia
|
||||
|
||||
Wtyczki mogą subskrybować zdarzenia, jak zastosować poniżej sekcji Przykłady. Oto lista różnych działań.
|
||||
|
||||
#### Wydarzenia dowodzenia
|
||||
|
||||
- `command.executed`
|
||||
|
||||
#### Plik Wydarzenia
|
||||
|
||||
- `file.edited`
|
||||
- `file.watcher.updated`
|
||||
|
||||
#### Wydarzenia instalacyjne
|
||||
|
||||
- `installation.updated`
|
||||
|
||||
#### Wydarzenia LSP
|
||||
|
||||
- `lsp.client.diagnostics`
|
||||
- `lsp.updated`
|
||||
|
||||
#### Wydarzenia w wiadomościach
|
||||
|
||||
- `message.part.removed`
|
||||
- `message.part.updated`
|
||||
- `message.removed`
|
||||
- `message.updated`
|
||||
|
||||
#### Wydarzenia związane z uprawnieniami
|
||||
|
||||
- `permission.asked`
|
||||
- `permission.replied`
|
||||
|
||||
#### Wydarzenia serwerowe
|
||||
|
||||
- `server.connected`
|
||||
|
||||
#### Wydarzenia sesyjne
|
||||
|
||||
- `session.created`
|
||||
- `session.compacted`
|
||||
- `session.deleted`
|
||||
- `session.diff`
|
||||
- `session.error`
|
||||
- `session.idle`
|
||||
- `session.status`
|
||||
- `session.updated`
|
||||
|
||||
#### Wydarzenia do zrobienia
|
||||
|
||||
- `todo.updated`
|
||||
|
||||
#### Wydarzenia powłoki
|
||||
|
||||
- `shell.env`
|
||||
|
||||
#### Wydarzenia narzędziowe
|
||||
|
||||
- `tool.execute.after`
|
||||
- `tool.execute.before`
|
||||
|
||||
#### Wydarzenia TUI
|
||||
|
||||
- `tui.prompt.append`
|
||||
- `tui.command.execute`
|
||||
- `tui.toast.show`
|
||||
|
||||
---
|
||||
|
||||
## Przykłady
|
||||
|
||||
Oto kilka dostępnych wtyczek, które można udostępnić do kodu opencode.
|
||||
|
||||
---
|
||||
|
||||
### Wysyłaj powiadomienia
|
||||
|
||||
Wysyłaj powiadomienia, gdy wystąpią określone zdarzenia:
|
||||
|
||||
```js title=".opencode/plugins/notification.js"
|
||||
export const NotificationPlugin = async ({ project, client, $, directory, worktree }) => {
|
||||
return {
|
||||
event: async ({ event }) => {
|
||||
// Send notification on session completion
|
||||
if (event.type === "session.idle") {
|
||||
await $`osascript -e 'display notification "Session completed!" with title "opencode"'`
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Używamy `osascript` do uruchamiania AppleScript na macOS. Tutaj możesz przejść do wysyłania pozostałości.
|
||||
|
||||
:::note
|
||||
Jeśli korzystasz z aplikacji komputerowej OpenCode, może ona automatycznie wysłać wiadomość systemową, gdy odpowiedź jest gotowa lub gdy wystąpią błędy sesji.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### ochrona .env
|
||||
|
||||
Zablokuj opencode czytanie plików `.env`:
|
||||
|
||||
```javascript title=".opencode/plugins/env-protection.js"
|
||||
export const EnvProtection = async ({ project, client, $, directory, worktree }) => {
|
||||
return {
|
||||
"tool.execute.before": async (input, output) => {
|
||||
if (input.tool === "read" && output.args.filePath.includes(".env")) {
|
||||
throw new Error("Do not read .env files")
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Wstrzyknij zmienne środowiskowe
|
||||
|
||||
Wstrzyknij zmienne konsekwencje dla wszystkich wykonań (narzędzia AI i terminale użytkownika):
|
||||
|
||||
```javascript title=".opencode/plugins/inject-env.js"
|
||||
export const InjectEnvPlugin = async () => {
|
||||
return {
|
||||
"shell.env": async (input, output) => {
|
||||
output.env.MY_API_KEY = "secret"
|
||||
output.env.PROJECT_ROOT = input.cwd
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Niestandardowe narzędzia
|
||||
|
||||
Wtyczki mogą również dodawać niestandardowe narzędzia do opencode:
|
||||
|
||||
```ts title=".opencode/plugins/custom-tools.ts"
|
||||
import { type Plugin, tool } from "@opencode-ai/plugin"
|
||||
|
||||
export const CustomToolsPlugin: Plugin = async (ctx) => {
|
||||
return {
|
||||
tool: {
|
||||
mytool: tool({
|
||||
description: "This is a custom tool",
|
||||
args: {
|
||||
foo: tool.schema.string(),
|
||||
},
|
||||
async execute(args, context) {
|
||||
const { directory, worktree } = context
|
||||
return `Hello ${args.foo} from ${directory} (worktree: ${worktree})`
|
||||
},
|
||||
}),
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Pomocnik `tool` tworzy narzędzie użytkowe, które może wywołać kod opencode. Pobierane schematu Zoda i narzędzie wyszukiwania za pomocą:
|
||||
|
||||
- `description`: Co robi do narzędzia
|
||||
- `args`: Schemat Zoda dla narzędzi argumentów
|
||||
- `execute`: Funkcja uruchamiania po wywołaniu narzędzia
|
||||
|
||||
Twoje narzędzie będzie dostępne dla otwartego kodu wraz z narzędziami użytkowymi.
|
||||
|
||||
---
|
||||
|
||||
### Wycięcie lasu
|
||||
|
||||
użyj `client.app.log()` zamiast `console.log` do rejestracji strukturalnego:
|
||||
|
||||
```ts title=".opencode/plugins/my-plugin.ts"
|
||||
export const MyPlugin = async ({ client }) => {
|
||||
await client.app.log({
|
||||
body: {
|
||||
service: "my-plugin",
|
||||
level: "info",
|
||||
message: "Plugin initialized",
|
||||
extra: { foo: "bar" },
|
||||
},
|
||||
})
|
||||
}
|
||||
```
|
||||
|
||||
Poziomy: `debug`, `info`, `warn`, `error`. Aby uzyskać szczegółowe informacje, zobacz [dokumentację pakietu SDK](https://opencode.ai/docs/sdk).
|
||||
|
||||
---
|
||||
|
||||
### Haki zagęszczające
|
||||
|
||||
Dostosuj kontekst dołączony podczas kompaktowania sesji:
|
||||
|
||||
```ts title=".opencode/plugins/compaction.ts"
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
export const CompactionPlugin: Plugin = async (ctx) => {
|
||||
return {
|
||||
"experimental.session.compacting": async (input, output) => {
|
||||
// Inject additional context into the compaction prompt
|
||||
output.context.push(`
|
||||
## Custom Context
|
||||
|
||||
Include any state that should persist across compaction:
|
||||
- Current task status
|
||||
- Important decisions made
|
||||
- Files being actively worked on
|
||||
`)
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Hak `experimental.session.compacting` jest uruchamiany, zanim LLM wygeneruje podsumowanie kontynuacji. go, aby wstrzyknąć kontekst kontekstu dla domeny, której nie dostrzeżono przez domyślny monit o zagęszczenie.
|
||||
|
||||
Można także umieścić kompletny monit o zagęszczenie, ustawiając `output.prompt`:
|
||||
|
||||
```ts title=".opencode/plugins/custom-compaction.ts"
|
||||
import type { Plugin } from "@opencode-ai/plugin"
|
||||
|
||||
export const CustomCompactionPlugin: Plugin = async (ctx) => {
|
||||
return {
|
||||
"experimental.session.compacting": async (input, output) => {
|
||||
// Replace the entire compaction prompt
|
||||
output.prompt = `
|
||||
You are generating a continuation prompt for a multi-agent swarm session.
|
||||
|
||||
Summarize:
|
||||
1. The current task and its status
|
||||
2. Which files are being modified and by whom
|
||||
3. Any blockers or dependencies between agents
|
||||
4. The next steps to complete the work
|
||||
|
||||
Format as a structured prompt that a new agent can use to resume work.
|
||||
`
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Gdy urządzenie jest `output.prompt`, jest całkowicie dostępne na domyślnym monit o zagęszczanie. Tablica `output.context` jest w tym przypadku poniesiona.
|
||||
1888
packages/web/src/content/docs/pl/providers.mdx
Normal file
1888
packages/web/src/content/docs/pl/providers.mdx
Normal file
File diff suppressed because it is too large
Load Diff
180
packages/web/src/content/docs/pl/rules.mdx
Normal file
180
packages/web/src/content/docs/pl/rules.mdx
Normal file
@@ -0,0 +1,180 @@
|
||||
---
|
||||
title: Rules
|
||||
description: Ustaw niestandardowe instrukcje dla opencode.
|
||||
---
|
||||
|
||||
Możesz dostarczyć niestandardowe instrukcje do kodu opencode, tworząc plik `AGENTS.md`. Jest to podobne do zasad Cursora. Zawiera instrukcje, które zostaną uwzględnione w kontekście LLM, aby dostosować jego zachowanie do konkretnego projektu.
|
||||
|
||||
---
|
||||
|
||||
## Inicjalizacja
|
||||
|
||||
Aby utworzyć nowy plik `AGENTS.md`, możesz uruchomić komendę `/init` w otwartym kodzie.
|
||||
|
||||
:::tip
|
||||
Powinieneś zatwierdzić plik `AGENTS.md` swojego projektu w Git.
|
||||
:::
|
||||
|
||||
Spowoduje to przeskanowanie projektu i całej jego zawartości, aby zrozumieć, czego dotyczy projekt i wygenerować z nim plik `AGENTS.md`. Pomaga to otwartemu kodowi lepiej poruszać się po projekcie.
|
||||
|
||||
Jeśli masz istniejący plik `AGENTS.md`, spróbujemy go dodać.
|
||||
|
||||
---
|
||||
|
||||
## Przykład
|
||||
|
||||
Możesz także po prostu utworzyć ten plik ręcznie. Oto przykład niektórych rzeczy, które można umieścić w pliku `AGENTS.md`.
|
||||
|
||||
```markdown title="AGENTS.md"
|
||||
# SST v3 Monorepo Project
|
||||
|
||||
This is an SST v3 monorepo with TypeScript. The project uses bun workspaces for package management.
|
||||
|
||||
## Project Structure
|
||||
|
||||
- `packages/` - Contains all workspace packages (functions, core, web, etc.)
|
||||
- `infra/` - Infrastructure definitions split by service (storage.ts, api.ts, web.ts)
|
||||
- `sst.config.ts` - Main SST configuration with dynamic imports
|
||||
|
||||
## Code Standards
|
||||
|
||||
- Use TypeScript with strict mode enabled
|
||||
- Shared code goes in `packages/core/` with proper exports configuration
|
||||
- Functions go in `packages/functions/`
|
||||
- Infrastructure should be split into logical files in `infra/`
|
||||
|
||||
## Monorepo Conventions
|
||||
|
||||
- Import shared modules using workspace names: `@my-app/core/example`
|
||||
```
|
||||
|
||||
Dodajemy tutaj instrukcje dotyczące konkretnego projektu, które zostaną udostępnione całemu zespołowi.
|
||||
|
||||
---
|
||||
|
||||
## Types
|
||||
|
||||
opencode obsługuje także odczytywanie pliku `AGENTS.md` z wielu lokalizacji. A to służy różnym celom.
|
||||
|
||||
### Project
|
||||
|
||||
Umieść `AGENTS.md` w katalogu głównym projektu, aby uzyskać reguły specyficzne dla projektu. Mają one zastosowanie tylko wtedy, gdy pracujesz w tym katalogu lub jego podkatalogach.
|
||||
|
||||
### Global
|
||||
|
||||
Możesz także mieć reguły globalne w pliku `~/.config/opencode/AGENTS.md`. Jest to stosowane we wszystkich sesjach opencode.
|
||||
|
||||
Ponieważ nie jest to wymagane dla Git ani udostępniane Twojemu zespołowi, zalecamy użycie tego do określenia wszelkich osobistych zasad, których powinien przestrzegać LLM.
|
||||
|
||||
### Claude Code Compatibility
|
||||
|
||||
W przypadku użytkowników migrujących z Claude Code OpenCode obsługuje konwencje plików Claude Code jako rozwiązania awaryjne:
|
||||
|
||||
- **Zasady projektu**: `CLAUDE.md` w katalogu projektu (używane, jeśli nie istnieje `AGENTS.md`)
|
||||
- **Zasady globalne**: `~/.claude/CLAUDE.md` (używane, jeśli nie istnieje `~/.config/opencode/AGENTS.md`)
|
||||
- **Umiejętności**: `~/.claude/skills/` — szczegóły znajdziesz w [Umiejętnościach agenta](/docs/skills/)
|
||||
|
||||
Aby wyłączyć kompatybilność z Claude Code, ustaw jedną z tych zmiennych środowiskowych:
|
||||
|
||||
```bash
|
||||
export OPENCODE_DISABLE_CLAUDE_CODE=1 # Disable all .claude support
|
||||
export OPENCODE_DISABLE_CLAUDE_CODE_PROMPT=1 # Disable only ~/.claude/CLAUDE.md
|
||||
export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skills
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Precedence
|
||||
|
||||
Po uruchomieniu opencode szuka plików reguł w następującej kolejności:
|
||||
|
||||
1. **Pliki lokalne** poprzez przejście z bieżącego katalogu (`AGENTS.md`, `CLAUDE.md`)
|
||||
2. **Plik globalny** w `~/.config/opencode/AGENTS.md`
|
||||
3. **Plik Claude Code** w `~/.claude/CLAUDE.md` (chyba że wyłączony)
|
||||
|
||||
Pierwszy pasujący plik wygrywa w każdej kategorii. Na przykład, jeśli masz zarówno `AGENTS.md`, jak i `CLAUDE.md`, używany jest tylko `AGENTS.md`. Podobnie `~/.config/opencode/AGENTS.md` ma pierwszeństwo przed `~/.claude/CLAUDE.md`.
|
||||
|
||||
---
|
||||
|
||||
## Instrukcje niestandardowe
|
||||
|
||||
Możesz określić niestandardowe pliki instrukcji w swoim `opencode.json` lub globalnym `~/.config/opencode/opencode.json`. Dzięki temu Ty i Twój zespół możecie ponownie wykorzystać istniejące reguły, zamiast duplikować je w pliku AGENTS.md.
|
||||
|
||||
Przykład:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
|
||||
}
|
||||
```
|
||||
|
||||
Możesz także użyć zdalnych adresów URL, aby załadować instrukcje z Internetu.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"instructions": ["https://raw.githubusercontent.com/my-org/shared-rules/main/style.md"]
|
||||
}
|
||||
```
|
||||
|
||||
Instrukcje zdalne są pobierane z 5-sekundowym limitem czasu.
|
||||
|
||||
Wszystkie pliki instrukcji są łączone z plikami `AGENTS.md`.
|
||||
|
||||
---
|
||||
|
||||
## Odwoływanie się do plików zewnętrznych
|
||||
|
||||
Chociaż opencode nie analizuje automatycznie odniesień do plików w `AGENTS.md`, możesz osiągnąć podobną funkcjonalność na dwa sposoby:
|
||||
|
||||
### Używanie opencode.json
|
||||
|
||||
Zalecanym podejściem jest użycie pola `instructions` w `opencode.json`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"instructions": ["docs/development-standards.md", "test/testing-guidelines.md", "packages/*/AGENTS.md"]
|
||||
}
|
||||
```
|
||||
|
||||
### Manual Instructions in AGENTS.md
|
||||
|
||||
Możesz nauczyć opencode czytać pliki zewnętrzne, podając wyraźne instrukcje w swoim `AGENTS.md`. Oto praktyczny przykład:
|
||||
|
||||
```markdown title="AGENTS.md"
|
||||
# TypeScript Project Rules
|
||||
|
||||
## External File Loading
|
||||
|
||||
CRITICAL: When you encounter a file reference (e.g., @rules/general.md), use your Read tool to load it on a need-to-know basis. They're relevant to the SPECIFIC task at hand.
|
||||
|
||||
Instructions:
|
||||
|
||||
- Do NOT preemptively load all references - use lazy loading based on actual need
|
||||
- When loaded, treat content as mandatory instructions that override defaults
|
||||
- Follow references recursively when needed
|
||||
|
||||
## Development Guidelines
|
||||
|
||||
For TypeScript code style and best practices: @docs/typescript-guidelines.md
|
||||
For React component architecture and hooks patterns: @docs/react-patterns.md
|
||||
For REST API design and error handling: @docs/api-standards.md
|
||||
For testing strategies and coverage requirements: @test/testing-guidelines.md
|
||||
|
||||
## General Guidelines
|
||||
|
||||
Read the following file immediately as it's relevant to all workflows: @rules/general-guidelines.md.
|
||||
```
|
||||
|
||||
Takie podejście pozwala:
|
||||
|
||||
- Twórz modułowe pliki reguł wielokrotnego użytku
|
||||
- Share rules across projects via symlinks or git submodules
|
||||
- Keep AGENTS.md concise while referencing detailed guidelines
|
||||
- Upewnij się, że opencode ładuje pliki tylko wtedy, gdy są potrzebne do konkretnego zadania
|
||||
|
||||
:::tip
|
||||
W przypadku monorepo lub projektów ze wspólnymi standardami użycie `opencode.json` ze wzorami globalnymi (takimi jak `packages/*/AGENTS.md`) jest łatwiejsze w utrzymaniu niż instrukcje ręczne.
|
||||
:::
|
||||
391
packages/web/src/content/docs/pl/sdk.mdx
Normal file
391
packages/web/src/content/docs/pl/sdk.mdx
Normal file
@@ -0,0 +1,391 @@
|
||||
---
|
||||
title: SDK
|
||||
description: Klient JS bezpieczny dla typu dla serwera opencode.
|
||||
---
|
||||
|
||||
import config from "../../../../config.mjs"
|
||||
export const typesUrl = `${config.github}/blob/dev/packages/sdk/js/src/gen/types.gen.ts`
|
||||
|
||||
Pakiet SDK JS/TS z otwartym kodem zapewnia klienta bezpiecznego typu do interakcji z serwerem.
|
||||
Użyj go do budowania integracji i programowej kontroli otwartego kodu.
|
||||
|
||||
[Dowiedz się więcej](/docs/server) o działaniu serwera. Przykłady znajdziesz w [projektach](/docs/ecosystem#projects) stworzonych przez społeczność.
|
||||
|
||||
---
|
||||
|
||||
## Zainstalować
|
||||
|
||||
Zainstaluj pakiet SDK z npm:
|
||||
|
||||
```bash
|
||||
npm install @opencode-ai/sdk
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Utwórz klienta
|
||||
|
||||
Utwórz instancję otwartego kodu:
|
||||
|
||||
```javascript
|
||||
import { createOpencode } from "@opencode-ai/sdk"
|
||||
|
||||
const { client } = await createOpencode()
|
||||
```
|
||||
|
||||
Spowoduje to uruchomienie zarówno serwera, jak i klienta
|
||||
|
||||
#### Options
|
||||
|
||||
| Opcja | Wpisz | Opis | Domyślne |
|
||||
| ---------- | ------------- | ------------------------------ | ----------- |
|
||||
| `hostname` | `string` | Nazwa hosta serwera | `127.0.0.1` |
|
||||
| `port` | `number` | Port serwera | `4096` |
|
||||
| `signal` | `AbortSignal` | Sygnał przerwania w celu anulowania | `undefined` |
|
||||
| `timeout` | `number` | Limit czasu w ms dla uruchomienia serwera | `5000` |
|
||||
| `config` | `Config` | Configuration object | `{}` |
|
||||
|
||||
---
|
||||
|
||||
## Config
|
||||
|
||||
Można przekazać obiekt konfiguracyjny, aby dostosować zachowanie. Instancja nadal pobiera `opencode.json`, ale możesz zastąpić lub dodać konfigurację bezpośrednio:
|
||||
|
||||
```javascript
|
||||
import { createOpencode } from "@opencode-ai/sdk"
|
||||
|
||||
const opencode = await createOpencode({
|
||||
hostname: "127.0.0.1",
|
||||
port: 4096,
|
||||
config: {
|
||||
model: "anthropic/claude-3-5-sonnet-20241022",
|
||||
},
|
||||
})
|
||||
|
||||
console.log(`Server running at ${opencode.server.url}`)
|
||||
|
||||
opencode.server.close()
|
||||
```
|
||||
|
||||
## Client only
|
||||
|
||||
Jeśli masz już działającą instancję opencode, możesz utworzyć instancję klienta, aby się z nią połączyć:
|
||||
|
||||
```javascript
|
||||
import { createOpencodeClient } from "@opencode-ai/sdk"
|
||||
|
||||
const client = createOpencodeClient({
|
||||
baseUrl: "http://localhost:4096",
|
||||
})
|
||||
```
|
||||
|
||||
#### Options
|
||||
|
||||
| Opcja | Wpisz | Opis | Domyślne |
|
||||
| --------------- | ---------- | -------------------------------- | ----------------------- |
|
||||
| `baseUrl` | `string` | Adres URL serwera | `http://localhost:4096` |
|
||||
| `fetch` | `function` | Custom fetch implementation | `globalThis.fetch` |
|
||||
| `parseAs` | `string` | Response parsing method | `auto` |
|
||||
| `responseStyle` | `string` | Return style: `data` or `fields` | `fields` |
|
||||
| `throwOnError` | `boolean` | Throw errors instead of return | `false` |
|
||||
|
||||
---
|
||||
|
||||
## Types
|
||||
|
||||
Zestaw SDK zawiera definicje TypeScript dla wszystkich typów API. Zaimportuj je bezpośrednio:
|
||||
|
||||
```typescript
|
||||
import type { Session, Message, Part } from "@opencode-ai/sdk"
|
||||
```
|
||||
|
||||
Wszystkie typy są generowane na podstawie specyfikacji OpenAPI serwera i dostępne w <a href={typesUrl}>pliku typów</a>.
|
||||
|
||||
---
|
||||
|
||||
## Errors
|
||||
|
||||
SDK może generować błędy, które można przechwycić i obsłużyć:
|
||||
|
||||
```typescript
|
||||
try {
|
||||
await client.session.get({ path: { id: "invalid-id" } })
|
||||
} catch (error) {
|
||||
console.error("Failed to get session:", (error as Error).message)
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## APIs
|
||||
|
||||
Zestaw SDK udostępnia wszystkie interfejsy API serwera za pośrednictwem klienta bezpiecznego typu.
|
||||
|
||||
---
|
||||
|
||||
### Global
|
||||
|
||||
| Method | Description | Response |
|
||||
| ----------------- | ------------------------------- | ------------------------------------ |
|
||||
| `global.health()` | Sprawdź stan i wersję serwera | `{ healthy: true, version: string }` |
|
||||
|
||||
---
|
||||
|
||||
#### Examples
|
||||
|
||||
```javascript
|
||||
const health = await client.global.health()
|
||||
console.log(health.data.version)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### App
|
||||
|
||||
| Method | Description | Response |
|
||||
| -------------- | ------------------------- | ------------------------------------------- |
|
||||
| `app.log()` | Write a log entry | `boolean` |
|
||||
| `app.agents()` | Lista wszystkich dostępnych agentów | <a href={typesUrl}><code>Agent[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
#### Examples
|
||||
|
||||
```javascript
|
||||
// Write a log entry
|
||||
await client.app.log({
|
||||
body: {
|
||||
service: "my-app",
|
||||
level: "info",
|
||||
message: "Operation completed",
|
||||
},
|
||||
})
|
||||
|
||||
// List available agents
|
||||
const agents = await client.app.agents()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Project
|
||||
|
||||
| Method | Description | Response |
|
||||
| ------------------- | ------------------- | --------------------------------------------- |
|
||||
| `project.list()` | Lista wszystkich projektów | <a href={typesUrl}><code>Projekt[]</code></a> |
|
||||
| `project.current()` | Get current project | <a href={typesUrl}><code>Project</code></a> |
|
||||
|
||||
---
|
||||
|
||||
#### Examples
|
||||
|
||||
```javascript
|
||||
// List all projects
|
||||
const projects = await client.project.list()
|
||||
|
||||
// Get current project
|
||||
const currentProject = await client.project.current()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Path
|
||||
|
||||
| Method | Description | Response |
|
||||
| ------------ | ---------------- | ---------------------------------------- |
|
||||
| `path.get()` | Get current path | <a href={typesUrl}><code>Path</code></a> |
|
||||
|
||||
---
|
||||
|
||||
#### Examples
|
||||
|
||||
```javascript
|
||||
// Get current path information
|
||||
const pathInfo = await client.path.get()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Config
|
||||
|
||||
| Method | Description | Response |
|
||||
| -------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| `config.get()` | Get config info | <a href={typesUrl}><code>Config</code></a> |
|
||||
| `config.providers()` | Lista dostawców i modeli domyślnych | `{ providers: `<a href={typesUrl}><code>Dostawca[]</code></a>`, default: { [key: string]: string } }` |
|
||||
|
||||
---
|
||||
|
||||
#### Examples
|
||||
|
||||
```javascript
|
||||
const config = await client.config.get()
|
||||
|
||||
const { providers, default: defaults } = await client.config.providers()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Sessions
|
||||
|
||||
| Method | Description | Notes |
|
||||
| ---------------------------------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `session.list()` | Lista sesji | Zwraca <a href={typesUrl}><code>Sesja[]</code></a> |
|
||||
| `session.get({ path })` | Uzyskaj sesję | Zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `session.children({ path })` | Lista sesji podrzędnych | Zwraca <a href={typesUrl}><code>Sesja[]</code></a> |
|
||||
| `session.create({ body })` | Utwórz sesję | Zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `session.delete({ path })` | Usuń sesję | Zwraca `boolean` |
|
||||
| `session.update({ path, body })` | Aktualizuj właściwości sesji | Zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `session.init({ path, body })` | Przeanalizuj aplikację i utwórz `AGENTS.md` | Zwraca `boolean` |
|
||||
| `session.abort({ path })` | Przerwij trwającą sesję | Zwraca `boolean` |
|
||||
| `session.share({ path })` | Udostępnij sesję | Zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `session.unshare({ path })` | Cofnij udostępnianie sesji | Zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `session.summarize({ path, body })` | Podsumowanie sesji | Zwraca `boolean` |
|
||||
| `session.messages({ path })` | Lista wiadomości w sesji | Zwraca `{ info: `<a href={typesUrl}><code>Wiadomość</code></a>`, parts: `<a href={typesUrl}><code>Część[]</code></a>`}[]` |
|
||||
| `session.message({ path })` | Uzyskaj szczegóły wiadomości | Zwraca `{ info: `<a href={typesUrl}><code>Wiadomość</code></a>`, parts: `<a href={typesUrl}><code>Część[]</code></a>`}` |
|
||||
| `session.prompt({ path, body })` | Wyślij wiadomość | `body.noReply: true` zwraca UserMessage (tylko kontekst). Domyślnie zwraca <a href={typesUrl}><code>AssistantMessage</code></a> z odpowiedzią AI |
|
||||
| `session.command({ path, body })` | Wyślij polecenie do sesji | Zwraca `{ info: `<a href={typesUrl}><code>Wiadomość Asystenta</code></a>`, parts: `<a href={typesUrl}><code>Część[]</code></a>`}` |
|
||||
| `session.shell({ path, body })` | Uruchom polecenie powłoki | Zwraca <a href={typesUrl}><code>Wiadomość Asystenta</code></a> |
|
||||
| `session.revert({ path, body })` | Przywróć wiadomość | Zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `session.unrevert({ path })` | Przywróć przywrócone wiadomości | Zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `postSessionByIdPermissionsByPermissionId({ path, body })` | Respond to a permission request | Returns `boolean` |
|
||||
|
||||
---
|
||||
|
||||
#### Examples
|
||||
|
||||
```javascript
|
||||
// Create and manage sessions
|
||||
const session = await client.session.create({
|
||||
body: { title: "My session" },
|
||||
})
|
||||
|
||||
const sessions = await client.session.list()
|
||||
|
||||
// Send a prompt message
|
||||
const result = await client.session.prompt({
|
||||
path: { id: session.id },
|
||||
body: {
|
||||
model: { providerID: "anthropic", modelID: "claude-3-5-sonnet-20241022" },
|
||||
parts: [{ type: "text", text: "Hello!" }],
|
||||
},
|
||||
})
|
||||
|
||||
// Inject context without triggering AI response (useful for plugins)
|
||||
await client.session.prompt({
|
||||
path: { id: session.id },
|
||||
body: {
|
||||
noReply: true,
|
||||
parts: [{ type: "text", text: "You are a helpful assistant." }],
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Files
|
||||
|
||||
| Method | Description | Response |
|
||||
| ------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------- |
|
||||
| `find.text({ query })` | Szukaj tekstu w plikach | Tablica obiektów dopasowania z `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
|
||||
| `find.files({ query })` | Znajdź pliki i katalogi według nazwy | `string[]` (ścieżki) |
|
||||
| `find.symbols({ query })` | Find workspace symbols | <a href={typesUrl}><code>Symbol[]</code></a> |
|
||||
| `file.read({ query })` | Read a file | `{ type: "raw" \| "patch", content: string }` |
|
||||
| `file.status({ query? })` | Uzyskaj status śledzonych plików | <a href={typesUrl}><code>Plik[]</code></a> |
|
||||
|
||||
`find.files` supports a few optional query fields:
|
||||
|
||||
- `type`: `"file"` or `"directory"`
|
||||
- `directory`: zastąp katalog główny projektu dla wyszukiwania
|
||||
- `limit`: max results (1–200)
|
||||
|
||||
---
|
||||
|
||||
#### Examples
|
||||
|
||||
```javascript
|
||||
// Search and read files
|
||||
const textResults = await client.find.text({
|
||||
query: { pattern: "function.*opencode" },
|
||||
})
|
||||
|
||||
const files = await client.find.files({
|
||||
query: { query: "*.ts", type: "file" },
|
||||
})
|
||||
|
||||
const directories = await client.find.files({
|
||||
query: { query: "packages", type: "directory", limit: 20 },
|
||||
})
|
||||
|
||||
const content = await client.file.read({
|
||||
query: { path: "src/index.ts" },
|
||||
})
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### TUI
|
||||
|
||||
| Method | Description | Response |
|
||||
| ------------------------------ | ------------------------- | --------- |
|
||||
| `tui.appendPrompt({ body })` | Dołącz tekst do zachęty | `boolean` |
|
||||
| `tui.openHelp()` | Otwórz okno pomocy | `boolean` |
|
||||
| `tui.openSessions()` | Otwórz selektor sesji | `boolean` |
|
||||
| `tui.openThemes()` | Otwórz selektor motywów | `boolean` |
|
||||
| `tui.openModels()` | Otwórz selektor modelu | `boolean` |
|
||||
| `tui.submitPrompt()` | Prześlij bieżący monit | `boolean` |
|
||||
| `tui.clearPrompt()` | Wyczyść monit | `boolean` |
|
||||
| `tui.executeCommand({ body })` | Wykonaj polecenie | `boolean` |
|
||||
| `tui.showToast({ body })` | Pokaż powiadomienie tostowe | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
#### Examples
|
||||
|
||||
```javascript
|
||||
// Control TUI interface
|
||||
await client.tui.appendPrompt({
|
||||
body: { text: "Add this to prompt" },
|
||||
})
|
||||
|
||||
await client.tui.showToast({
|
||||
body: { message: "Task completed", variant: "success" },
|
||||
})
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Auth
|
||||
|
||||
| Method | Description | Response |
|
||||
| ------------------- | ------------------------------ | --------- |
|
||||
| `auth.set({ ... })` | Set authentication credentials | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
#### Examples
|
||||
|
||||
```javascript
|
||||
await client.auth.set({
|
||||
path: { id: "anthropic" },
|
||||
body: { type: "api", key: "your-api-key" },
|
||||
})
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Events
|
||||
|
||||
| Method | Description | Response |
|
||||
| ------------------- | ------------------------- | ------------------------- |
|
||||
| `event.subscribe()` | Strumień zdarzeń wysłanych przez serwer | Strumień zdarzeń wysłanych przez serwer |
|
||||
|
||||
---
|
||||
|
||||
#### Examples
|
||||
|
||||
```javascript
|
||||
// Listen to real-time events
|
||||
const events = await client.event.subscribe()
|
||||
for await (const event of events.stream) {
|
||||
console.log("Event:", event.type, event.properties)
|
||||
}
|
||||
```
|
||||
287
packages/web/src/content/docs/pl/server.mdx
Normal file
287
packages/web/src/content/docs/pl/server.mdx
Normal file
@@ -0,0 +1,287 @@
|
||||
---
|
||||
title: Serwer
|
||||
description: Interakcja z serwerem opencode za pośrednictwem protokołu HTTP.
|
||||
---
|
||||
|
||||
import config from "../../../../config.mjs"
|
||||
export const typesUrl = `${config.github}/blob/dev/packages/sdk/js/src/gen/types.gen.ts`
|
||||
|
||||
Komenda `opencode serve` uruchamia bezgłowy serwer HTTP, który udostępnia punkt końcowy OpenAPI, z którego może korzystać klient opencode.
|
||||
|
||||
---
|
||||
|
||||
### Użycie
|
||||
|
||||
```bash
|
||||
opencode serve [--port <number>] [--hostname <string>] [--cors <origin>]
|
||||
```
|
||||
|
||||
#### Opcje
|
||||
|
||||
| Flaga | Opis | Domyślne |
|
||||
| --------------- | -------------------------------------------- | ---------------- |
|
||||
| `--port` | Port nasłuchiwania | `4096` |
|
||||
| `--hostname` | Nazwa hosta do nasłuchiwania | `127.0.0.1` |
|
||||
| `--mdns` | Włącz wykrywanie mDNS | `false` |
|
||||
| `--mdns-domain` | Niestandardowa nazwa domeny dla usługi mDNS | `opencode.local` |
|
||||
| `--cors` | Dodatkowe originy przeglądarki do dozwolenia | `[]` |
|
||||
|
||||
`--cors` można przekazać wiele razy:
|
||||
|
||||
```bash
|
||||
opencode serve --cors http://localhost:5173 --cors https://app.example.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Uwierzytelnianie
|
||||
|
||||
Ustaw `OPENCODE_SERVER_PASSWORD`, aby chronić serwer za pomocą podstawowego uwierzytelniania HTTP. Domyślną nazwą użytkownika jest `opencode` lub ustaw `OPENCODE_SERVER_USERNAME`, aby ją zastąpić. Dotyczy to zarówno `opencode serve`, jak i `opencode web`.
|
||||
|
||||
```bash
|
||||
OPENCODE_SERVER_PASSWORD=your-password opencode serve
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### How it works
|
||||
|
||||
Kiedy uruchomisz `opencode`, uruchomi się TUI i serwer. Gdzie jest TUI
|
||||
klient komunikujący się z serwerem. Serwer udostępnia specyfikację OpenAPI 3.1
|
||||
punkt końcowy. Ten punkt końcowy jest również używany do generowania [SDK](/docs/sdk).
|
||||
|
||||
:::tip
|
||||
Użyj serwera opencode do programowej interakcji z opencode.
|
||||
:::
|
||||
|
||||
Ta architektura umożliwia obsługę wielu klientów przez kod otwarty i programową interakcję z kodem otwartym.
|
||||
|
||||
Możesz uruchomić `opencode serve`, aby uruchomić samodzielny serwer. Jeśli masz
|
||||
opencode TUI działa, `opencode serve` uruchomi nowy serwer.
|
||||
|
||||
---
|
||||
|
||||
#### Połącz się z istniejącym serwerem
|
||||
|
||||
Po uruchomieniu TUI losowo przypisuje port i nazwę hosta. Zamiast tego możesz przekazać `--hostname` i `--port` [flagi](/docs/cli). Następnie użyj tego, aby połączyć się z serwerem.
|
||||
|
||||
Punktu końcowego [`/tui`](#tui) można użyć do sterowania TUI przez serwer. Można na przykład wstępnie wypełnić lub uruchomić monit. Ta konfiguracja jest używana przez wtyczki OpenCode [IDE](/docs/ide).
|
||||
|
||||
---
|
||||
|
||||
## Spec
|
||||
|
||||
Serwer publikuje specyfikację OpenAPI 3.1, którą można obejrzeć pod adresem:
|
||||
|
||||
```
|
||||
http://<hostname>:<port>/doc
|
||||
```
|
||||
|
||||
Na przykład `http://localhost:4096/doc`. Użyj specyfikacji, aby wygenerować klientów lub sprawdzić typy żądań i odpowiedzi. Możesz też wyświetlić go w eksploratorze Swagger.
|
||||
|
||||
---
|
||||
|
||||
## APIs
|
||||
|
||||
Serwer opencode udostępnia następujące interfejsy API.
|
||||
|
||||
---
|
||||
|
||||
### Global
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ---------------- | ------------------------------ | ------------------------------------ |
|
||||
| `GET` | `/global/health` | Uzyskaj stan i wersję serwera | `{ healthy: true, version: string }` |
|
||||
| `GET` | `/global/event` | Get global events (SSE stream) | Event stream |
|
||||
|
||||
---
|
||||
|
||||
### Project
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------------------ | -------------------------- | --------------------------------------------- |
|
||||
| `GET` | `/project` | Lista wszystkich projektów | <a href={typesUrl}><code>Projekt[]</code></a> |
|
||||
| `GET` | `/project/current` | Pobierz bieżący projekt | <a href={typesUrl}><code>Projekt</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Path & VCS
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------- | --------------------------------------------- | ------------------------------------------- |
|
||||
| `GET` | `/path` | Pobierz bieżącą ścieżkę | <a href={typesUrl}><code>Ścieżka</code></a> |
|
||||
| `GET` | `/vcs` | Uzyskaj informacje VCS dla bieżącego projektu | <a href={typesUrl}><code>VcsInfo</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Instance
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------------------- | ---------------------- | --------- |
|
||||
| `POST` | `/instance/dispose` | Usuń bieżącą instancję | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Config
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------- | ------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/config` | Get config info | <a href={typesUrl}><code>Config</code></a> |
|
||||
| `PATCH` | `/config` | Update config | <a href={typesUrl}><code>Config</code></a> |
|
||||
| `GET` | `/config/providers` | Lista dostawców i modeli domyślnych | `{ providers: `<a href={typesUrl}>Dostawca[]</a>`, default: { [key: string]: string } }` |
|
||||
|
||||
---
|
||||
|
||||
### Dostawca
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | -------------------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------- |
|
||||
| `GET` | `/provider` | Lista wszystkich dostawców | `{ all: `<a href={typesUrl}>Dostawca[]</a>`, default: {...}, connected: string[] }` |
|
||||
| `GET` | `/provider/auth` | Uzyskaj metody uwierzytelniania dostawcy | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
|
||||
| `POST` | `/provider/{id}/oauth/authorize` | Autoryzuj dostawcę za pomocą protokołu OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
|
||||
| `POST` | `/provider/{id}/oauth/callback` | Obsługa wywołania zwrotnego OAuth dla dostawcy | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Sessions
|
||||
|
||||
| Method | Path | Description | Notes |
|
||||
| -------- | ---------------------------------------- | ------------------------------------------- | -------------------------------------------------------------------------------- |
|
||||
| `GET` | `/session` | Lista wszystkich sesji | Zwraca <a href={typesUrl}><code>Sesja[]</code></a> |
|
||||
| `POST` | `/session` | Utwórz nową sesję | treść: `{ parentID?, title? }`, zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `GET` | `/session/status` | Uzyskaj status sesji dla wszystkich sesji | Zwraca `{ [sessionID: string]: `<a href={typesUrl}>Status sesji</a>` }` |
|
||||
| `GET` | `/session/:id` | Uzyskaj szczegóły sesji | Zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `DELETE` | `/session/:id` | Usuń sesję i wszystkie jej dane | Zwraca `boolean` |
|
||||
| `PATCH` | `/session/:id` | Aktualizuj właściwości sesji | treść: `{ title? }`, zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `GET` | `/session/:id/children` | Pobierz sesje podrzędne sesji | Zwraca <a href={typesUrl}><code>Sesja[]</code></a> |
|
||||
| `GET` | `/session/:id/todo` | Pobierz listę rzeczy do zrobienia dla sesji | Zwraca <a href={typesUrl}><code>Do zrobienia[]</code></a> |
|
||||
| `POST` | `/session/:id/init` | Przeanalizuj aplikację i utwórz `AGENTS.md` | treść: `{ messageID, providerID, modelID }`, zwraca `boolean` |
|
||||
| `POST` | `/session/:id/fork` | Rozwiń istniejącą sesję w wiadomości | treść: `{ messageID? }`, zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `POST` | `/session/:id/abort` | Przerwij trwającą sesję | Zwraca `boolean` |
|
||||
| `POST` | `/session/:id/share` | Udostępnij sesję | Zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `DELETE` | `/session/:id/share` | Anuluj udostępnianie sesji | Zwraca <a href={typesUrl}><code>Sesja</code></a> |
|
||||
| `GET` | `/session/:id/diff` | Pobierz różnicę dla tej sesji | zapytanie: `messageID?`, zwraca <a href={typesUrl}><code>FileDiff[]</code></a> |
|
||||
| `POST` | `/session/:id/summarize` | Podsumuj sesję | treść: `{ providerID, modelID }`, zwraca `boolean` |
|
||||
| `POST` | `/session/:id/revert` | Przywróć wiadomość | treść: `{ messageID, partID? }`, zwraca `boolean` |
|
||||
| `POST` | `/session/:id/unrevert` | Przywróć wszystkie przywrócone wiadomości | Zwraca `boolean` |
|
||||
| `POST` | `/session/:id/permissions/:permissionID` | Odpowiedz na prośbę o pozwolenie | treść: `{ response, remember? }`, zwraca `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Messages
|
||||
|
||||
| Method | Path | Description | Notes |
|
||||
| ------ | --------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `GET` | `/session/:id/message` | Lista wiadomości w sesji | zapytanie: `limit?`, zwraca `{ info: `<a href={typesUrl}>Wiadomość</a>`, parts: `<a href={typesUrl}>Część[]</a>`}[]` |
|
||||
| `POST` | `/session/:id/message` | Wyślij wiadomość i poczekaj na odpowiedź | treść: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, zwraca `{ info: `<a href={typesUrl}>Wiadomość</a>`, parts: `<a href={typesUrl}>Część[]</a>`}` |
|
||||
| `GET` | `/session/:id/message/:messageID` | Uzyskaj szczegóły wiadomości | Zwraca `{ info: `<a href={typesUrl}>Wiadomość</a>`, parts: `<a href={typesUrl}>Część[]</a>`}` |
|
||||
| `POST` | `/session/:id/prompt_async` | Wyślij wiadomość asynchronicznie (bez czekania) | treść: taka sama jak `/session/:id/message`, zwraca `204 No Content` |
|
||||
| `POST` | `/session/:id/command` | Wykonaj polecenie ukośnika | treść: `{ messageID?, agent?, model?, command, arguments }`, zwraca `{ info: `<a href={typesUrl}>Wiadomość</a>`, parts: `<a href={typesUrl}>Część[]</a>`}` |
|
||||
| `POST` | `/session/:id/shell` | Uruchom polecenie powłoki | treść: `{ agent, model?, command }`, zwraca `{ info: `<a href={typesUrl}>Wiadomość</a>`, parts: `<a href={typesUrl}>Część[]</a>`}` |
|
||||
|
||||
---
|
||||
|
||||
### Komendy
|
||||
|
||||
| Metoda | Ścieżka | Opis | Odpowiedź |
|
||||
| ------ | ---------- | ------------------------ | ----------------------------------------------- |
|
||||
| `GET` | `/command` | Lista wszystkich poleceń | <a href={typesUrl}><code>Polecenie[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Pliki
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------------------------ | ------------------------------------ | ---------------------------------------------------------------------------------------------- |
|
||||
| `GET` | `/find?pattern=<pat>` | Szukaj tekstu w plikach | Tablica obiektów dopasowania z `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
|
||||
| `GET` | `/find/file?query=<q>` | Znajdź pliki i katalogi według nazwy | `string[]` (ścieżki) |
|
||||
| `GET` | `/find/symbol?query=<q>` | Find workspace symbols | <a href={typesUrl}><code>Symbol[]</code></a> |
|
||||
| `GET` | `/file?path=<path>` | Lista plików i katalogów | <a href={typesUrl}><code>FileNode[]</code></a> |
|
||||
| `GET` | `/file/content?path=<p>` | Read a file | <a href={typesUrl}><code>FileContent</code></a> |
|
||||
| `GET` | `/file/status` | Uzyskaj status śledzonych plików | <a href={typesUrl}><code>Plik[]</code></a> |
|
||||
|
||||
#### `/find/file` query parameters
|
||||
|
||||
- `query` (required) — search string (fuzzy match)
|
||||
- `type` (optional) — limit results to `"file"` or `"directory"`
|
||||
- `directory` (opcjonalnie) — zastąp katalog główny projektu dla wyszukiwania
|
||||
- `limit` (optional) — max results (1–200)
|
||||
- `dirs` (optional) — legacy flag (`"false"` returns only files)
|
||||
|
||||
---
|
||||
|
||||
### Tools (Experimental)
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------------------------------------------- | -------------------------------------------- | ----------------------------------------------------------- |
|
||||
| `GET` | `/experimental/tool/ids` | Lista wszystkich identyfikatorów narzędzi | <a href={typesUrl}><code>Identyfikatory narzędzi</code></a> |
|
||||
| `GET` | `/experimental/tool?provider=<p>&model=<m>` | Lista narzędzi ze schematami JSON dla modelu | <a href={typesUrl}><code>Lista narzędzi</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### LSP, Formatters & MCP
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------------ | ---------------------------- | -------------------------------------------------------- |
|
||||
| `GET` | `/lsp` | Uzyskaj status serwera LSP | <a href={typesUrl}><code>LSPStatus[]</code></a> |
|
||||
| `GET` | `/formatter` | Get formatter status | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
|
||||
| `GET` | `/mcp` | Uzyskaj status serwera MCP | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
|
||||
| `POST` | `/mcp` | Dodaj dynamicznie serwer MCP | treść: `{ name, config }`, zwraca obiekt stanu MCP |
|
||||
|
||||
---
|
||||
|
||||
### Agents
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | -------- | ----------------------------------- | ------------------------------------------- |
|
||||
| `GET` | `/agent` | Lista wszystkich dostępnych agentów | <a href={typesUrl}><code>Agent[]</code></a> |
|
||||
|
||||
---
|
||||
|
||||
### Logging
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------ | ------------------------------------------------------------ | --------- |
|
||||
| `POST` | `/log` | Write log entry. Body: `{ service, level, message, extra? }` | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### TUI
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ----------------------- | -------------------------------------------- | ----------------------- |
|
||||
| `POST` | `/tui/append-prompt` | Dołącz tekst do zachęty | `boolean` |
|
||||
| `POST` | `/tui/open-help` | Otwórz okno pomocy | `boolean` |
|
||||
| `POST` | `/tui/open-sessions` | Otwórz selektor sesji | `boolean` |
|
||||
| `POST` | `/tui/open-themes` | Otwórz selektor motywów | `boolean` |
|
||||
| `POST` | `/tui/open-models` | Otwórz selektor modelu | `boolean` |
|
||||
| `POST` | `/tui/submit-prompt` | Prześlij bieżący monit | `boolean` |
|
||||
| `POST` | `/tui/clear-prompt` | Wyczyść monit | `boolean` |
|
||||
| `POST` | `/tui/execute-command` | Wykonaj polecenie (`{ command }`) | `boolean` |
|
||||
| `POST` | `/tui/show-toast` | Pokaż toast (`{ title?, message, variant }`) | `boolean` |
|
||||
| `GET` | `/tui/control/next` | Poczekaj na następne żądanie kontroli | Obiekt żądania kontroli |
|
||||
| `POST` | `/tui/control/response` | Respond to a control request (`{ body }`) | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Auth
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ----------- | --------------------------------------------------------------------- | --------- |
|
||||
| `PUT` | `/auth/:id` | Ustaw dane uwierzytelniające. Treść musi pasować do schematu dostawcy | `boolean` |
|
||||
|
||||
---
|
||||
|
||||
### Events
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | -------- | -------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
|
||||
| `GET` | `/event` | Strumień zdarzeń wysyłanych przez serwer. Pierwsze wydarzenie to `server.connected`, następnie wydarzenia autobusowe | Strumień zdarzeń wysłanych przez serwer |
|
||||
|
||||
---
|
||||
|
||||
### Docs
|
||||
|
||||
| Method | Path | Description | Response |
|
||||
| ------ | ------ | ------------------------ | ----------------------------------- |
|
||||
| `GET` | `/doc` | Specyfikacja OpenAPI 3.1 | Strona HTML ze specyfikacją OpenAPI |
|
||||
128
packages/web/src/content/docs/pl/share.mdx
Normal file
128
packages/web/src/content/docs/pl/share.mdx
Normal file
@@ -0,0 +1,128 @@
|
||||
---
|
||||
title: Share
|
||||
description: Udostępnij swoje rozmowy dotyczące OpenCode.
|
||||
---
|
||||
|
||||
Funkcja udostępniania OpenCode umożliwia tworzenie publicznych linków do konwersacji OpenCode, dzięki czemu możesz współpracować z członkami zespołu lub uzyskać pomoc od innych.
|
||||
|
||||
:::note
|
||||
Udostępnione konwersacje są publicznie dostępne dla każdej osoby mającej link.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## How it works
|
||||
|
||||
Kiedy udostępniasz rozmowę, OpenCode:
|
||||
|
||||
1. Tworzy unikalny publiczny adres URL sesji
|
||||
2. Synchronizuje historię rozmów z naszymi serwerami
|
||||
3. Udostępnia rozmowę za pośrednictwem łącza do udostępniania — `opncd.ai/s/<share-id>`
|
||||
|
||||
---
|
||||
|
||||
## Sharing
|
||||
|
||||
OpenCode obsługuje trzy tryby udostępniania, które kontrolują sposób udostępniania rozmów:
|
||||
|
||||
---
|
||||
|
||||
### Ręczny (domyślny)
|
||||
|
||||
Domyślnie OpenCode korzysta z ręcznego trybu udostępniania. Sesje nie są udostępniane automatycznie, ale możesz je udostępnić ręcznie za pomocą polecenia `/share`:
|
||||
|
||||
```
|
||||
/share
|
||||
```
|
||||
|
||||
Spowoduje to wygenerowanie unikalnego adresu URL, który zostanie skopiowany do schowka.
|
||||
|
||||
Aby jawnie ustawić tryb ręczny w [pliku konfiguracyjnym] (./config):
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opncd.ai/config.json",
|
||||
"share": "manual"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Auto-share
|
||||
|
||||
Możesz włączyć automatyczne udostępnianie dla wszystkich nowych rozmów, ustawiając opcję `share` na `"auto"` w [pliku konfiguracyjnym] (./config):
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opncd.ai/config.json",
|
||||
"share": "auto"
|
||||
}
|
||||
```
|
||||
|
||||
Po włączeniu automatycznego udostępniania każda nowa rozmowa będzie automatycznie udostępniana i generowany będzie link.
|
||||
|
||||
---
|
||||
|
||||
### Disabled
|
||||
|
||||
Możesz całkowicie wyłączyć udostępnianie, ustawiając opcję `share` na `"disabled"` w [pliku konfiguracyjnym] (./config):
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opncd.ai/config.json",
|
||||
"share": "disabled"
|
||||
}
|
||||
```
|
||||
|
||||
Aby wymusić to w całym zespole dla danego projektu, dodaj go do `opencode.json` w swoim projekcie i sprawdź w Git.
|
||||
|
||||
---
|
||||
|
||||
## Un-sharing
|
||||
|
||||
Aby zatrzymać udostępnianie rozmowy i usunąć ją z dostępu publicznego:
|
||||
|
||||
```
|
||||
/unshare
|
||||
```
|
||||
|
||||
Spowoduje to usunięcie łącza udostępniania i danych związanych z rozmową.
|
||||
|
||||
---
|
||||
|
||||
## Privacy
|
||||
|
||||
There are a few things to keep in mind when sharing a conversation.
|
||||
|
||||
---
|
||||
|
||||
### Data retention
|
||||
|
||||
Udostępnione rozmowy pozostają dostępne, dopóki wyraźnie ich nie udostępnisz. Ten
|
||||
includes:
|
||||
|
||||
- Full conversation history
|
||||
- Wszystkie wiadomości i odpowiedzi
|
||||
- Metadane sesji
|
||||
|
||||
---
|
||||
|
||||
### Recommendations
|
||||
|
||||
- Udostępniaj tylko rozmowy, które nie zawierają poufnych informacji.
|
||||
- Review conversation content before sharing.
|
||||
- Unshare conversations when collaboration is complete.
|
||||
- Unikaj udostępniania rozmów zawierających zastrzeżony kod lub poufne dane.
|
||||
- W przypadku wrażliwych projektów całkowicie wyłącz udostępnianie.
|
||||
|
||||
---
|
||||
|
||||
## Dla przedsiębiorstw
|
||||
|
||||
W przypadku wdrożeń korporacyjnych funkcją udostępniania może być:
|
||||
|
||||
- **Wyłączone** całkowicie ze względu na bezpieczeństwo
|
||||
- **Restricted** to users authenticated through SSO only
|
||||
- **Własny hosting** na własnej infrastrukturze
|
||||
|
||||
[Dowiedz się więcej](/docs/enterprise) o używaniu kodu opencode w Twojej organizacji.
|
||||
222
packages/web/src/content/docs/pl/skills.mdx
Normal file
222
packages/web/src/content/docs/pl/skills.mdx
Normal file
@@ -0,0 +1,222 @@
|
||||
---
|
||||
title: "Agent Skills"
|
||||
description: "Define reusable behavior via SKILL.md definitions"
|
||||
---
|
||||
|
||||
Umiejętności agenta pozwalają OpenCode odkryć instrukcje wielokrotnego użytku z repozytorium lub katalogu domowego.
|
||||
Umiejętności są ładowane na żądanie za pośrednictwem natywnego narzędzia `skill` — agenci widzą dostępne umiejętności i w razie potrzeby mogą załadować pełną zawartość.
|
||||
|
||||
---
|
||||
|
||||
## Place files
|
||||
|
||||
Utwórz jeden folder na nazwę umiejętności i umieść w nim `SKILL.md`.
|
||||
OpenCode searches these locations:
|
||||
|
||||
- Project config: `.opencode/skills/<name>/SKILL.md`
|
||||
- Global config: `~/.config/opencode/skills/<name>/SKILL.md`
|
||||
- Project Claude-compatible: `.claude/skills/<name>/SKILL.md`
|
||||
- Global Claude-compatible: `~/.claude/skills/<name>/SKILL.md`
|
||||
- Project agent-compatible: `.agents/skills/<name>/SKILL.md`
|
||||
- Global agent-compatible: `~/.agents/skills/<name>/SKILL.md`
|
||||
|
||||
---
|
||||
|
||||
## Understand discovery
|
||||
|
||||
W przypadku ścieżek lokalnych projektu OpenCode przechodzi od bieżącego katalogu roboczego, aż dotrze do drzewa roboczego git.
|
||||
Ładuje po drodze dowolne pasujące `skills/*/SKILL.md` w `.opencode/` i dowolne pasujące `.claude/skills/*/SKILL.md` lub `.agents/skills/*/SKILL.md`.
|
||||
|
||||
Ładowane są także definicje globalne z `~/.config/opencode/skills/*/SKILL.md`, `~/.claude/skills/*/SKILL.md` i `~/.agents/skills/*/SKILL.md`.
|
||||
|
||||
---
|
||||
|
||||
## Write frontmatter
|
||||
|
||||
Każdy `SKILL.md` musi zaczynać się od treści YAML.
|
||||
Only these fields are recognized:
|
||||
|
||||
- `name` (required)
|
||||
- `description` (required)
|
||||
- `license` (optional)
|
||||
- `compatibility` (optional)
|
||||
- `metadata` (optional, string-to-string map)
|
||||
|
||||
Unknown frontmatter fields are ignored.
|
||||
|
||||
---
|
||||
|
||||
## Validate names
|
||||
|
||||
`name` must:
|
||||
|
||||
- Be 1–64 characters
|
||||
- Należy używać małych liter alfanumerycznych i oddzielać je pojedynczym łącznikiem
|
||||
- Nie zaczyna się ani nie kończy na `-`
|
||||
- Not contain consecutive `--`
|
||||
- Dopasuj nazwę katalogu zawierającą `SKILL.md`
|
||||
|
||||
Equivalent regex:
|
||||
|
||||
```text
|
||||
^[a-z0-9]+(-[a-z0-9]+)*$
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Follow length rules
|
||||
|
||||
`description` must be 1-1024 characters.
|
||||
Zadbaj o to, aby agent mógł dokonać prawidłowego wyboru.
|
||||
|
||||
---
|
||||
|
||||
## Skorzystaj z przykładu
|
||||
|
||||
Utwórz `.opencode/skills/git-release/SKILL.md` w ten sposób:
|
||||
|
||||
```markdown
|
||||
---
|
||||
name: git-release
|
||||
description: Create consistent releases and changelogs
|
||||
license: MIT
|
||||
compatibility: opencode
|
||||
metadata:
|
||||
audience: maintainers
|
||||
workflow: github
|
||||
---
|
||||
|
||||
## What I do
|
||||
|
||||
- Draft release notes from merged PRs
|
||||
- Propose a version bump
|
||||
- Provide a copy-pasteable `gh release create` command
|
||||
|
||||
## When to use me
|
||||
|
||||
Use this when you are preparing a tagged release.
|
||||
Ask clarifying questions if the target versioning scheme is unclear.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Recognize tool description
|
||||
|
||||
OpenCode wymienia dostępne umiejętności w opisie narzędzia `skill`.
|
||||
Każdy wpis zawiera nazwę i opis umiejętności:
|
||||
|
||||
```xml
|
||||
<available_skills>
|
||||
<skill>
|
||||
<name>git-release</name>
|
||||
<description>Create consistent releases and changelogs</description>
|
||||
</skill>
|
||||
</available_skills>
|
||||
```
|
||||
|
||||
Agent ładuje umiejętność wywołując narzędzie:
|
||||
|
||||
```
|
||||
skill({ name: "git-release" })
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Skonfiguruj uprawnienia
|
||||
|
||||
Control which skills agents can access using pattern-based permissions in `opencode.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"permission": {
|
||||
"skill": {
|
||||
"*": "allow",
|
||||
"pr-review": "allow",
|
||||
"internal-*": "deny",
|
||||
"experimental-*": "ask"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
| Permission | Behavior |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| `allow` | Skill loads immediately |
|
||||
| `deny` | Skill hidden from agent, access rejected |
|
||||
| `ask` | Użytkownik proszony o zatwierdzenie przed załadowaniem |
|
||||
|
||||
Wzorce obsługują symbole wieloznaczne: `internal-*` odpowiada `internal-docs`, `internal-tools` itd.
|
||||
|
||||
---
|
||||
|
||||
## Override per agent
|
||||
|
||||
Nadaj konkretnym agentom inne uprawnienia niż globalne ustawienia domyślne.
|
||||
|
||||
**Dla agentów niestandardowych** (w temacie agentów):
|
||||
|
||||
```yaml
|
||||
---
|
||||
permission:
|
||||
skill:
|
||||
"documents-*": "allow"
|
||||
---
|
||||
```
|
||||
|
||||
**Dla agentów wbudowanych** (w `opencode.json`):
|
||||
|
||||
```json
|
||||
{
|
||||
"agent": {
|
||||
"plan": {
|
||||
"permission": {
|
||||
"skill": {
|
||||
"internal-*": "allow"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Wyłącz narzędzie umiejętności
|
||||
|
||||
Całkowicie wyłącz umiejętności agentów, którzy nie powinni ich używać:
|
||||
|
||||
**Dla agentów celnych**:
|
||||
|
||||
```yaml
|
||||
---
|
||||
tools:
|
||||
skill: false
|
||||
---
|
||||
```
|
||||
|
||||
**W przypadku agentów wbudowanych**:
|
||||
|
||||
```json
|
||||
{
|
||||
"agent": {
|
||||
"plan": {
|
||||
"tools": {
|
||||
"skill": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Jeśli opcja jest wyłączona, sekcja `<available_skills>` jest całkowicie pomijana.
|
||||
|
||||
---
|
||||
|
||||
## Troubleshoot loading
|
||||
|
||||
Jeśli umiejętność nie pojawi się:
|
||||
|
||||
1. Verify `SKILL.md` is spelled in all caps
|
||||
2. Sprawdź, czy frontmatter zawiera `name` i `description`
|
||||
3. Ensure skill names are unique across all locations
|
||||
4. Sprawdź uprawnienia — umiejętności z `deny` są ukryte przed agentami
|
||||
369
packages/web/src/content/docs/pl/themes.mdx
Normal file
369
packages/web/src/content/docs/pl/themes.mdx
Normal file
@@ -0,0 +1,369 @@
|
||||
---
|
||||
title: Themes
|
||||
description: Wybierz wbudowany motyw lub zdefiniuj własny.
|
||||
---
|
||||
|
||||
Dzięki OpenCode możesz wybrać jeden z kilku wbudowanych motywów, użyć motywu, który dostosowuje się do motywu terminala lub zdefiniować własny, niestandardowy motyw.
|
||||
|
||||
Domyślnie OpenCode używa naszego własnego motywu `opencode`.
|
||||
|
||||
---
|
||||
|
||||
## Terminal requirements
|
||||
|
||||
Aby motywy wyświetlały się poprawnie z pełną paletą kolorów, Twój terminal musi obsługiwać **truecolor** (kolor 24-bitowy). Większość nowoczesnych terminali domyślnie obsługuje tę opcję, ale może być konieczne jej włączenie:
|
||||
|
||||
- **Sprawdź wsparcie**: Uruchom `echo $COLORTERM` - powinno wypisać `truecolor` lub `24bit`
|
||||
- **Włącz truecolor**: Ustaw zmienną środowiskową `COLORTERM=truecolor` w swoim profilu powłoki
|
||||
- **Zgodność terminala**: Upewnij się, że emulator terminala obsługuje 24-bitowy kolor (większość nowoczesnych terminali, takich jak iTerm2, Alacritty, Kitty, Windows Terminal i najnowsze wersje terminala GNOME tak)
|
||||
|
||||
Bez obsługi Truecolor motywy mogą pojawiać się ze zmniejszoną dokładnością kolorów lub wracać do najbliższego przybliżenia 256 kolorów.
|
||||
|
||||
---
|
||||
|
||||
## Wbudowane motywy
|
||||
|
||||
OpenCode ma kilka wbudowanych motywów.
|
||||
|
||||
| Name | Description |
|
||||
| ---------------------- | --------------------------------------------------------------------------------- |
|
||||
| `system` | Dopasowuje się do koloru tła terminala |
|
||||
| `tokyonight` | Na podstawie motywu [Tokyonight](https://github.com/folke/tokyonight.nvim) |
|
||||
| `everforest` | Na podstawie motywu [Everforest](https://github.com/sainnhe/everforest) |
|
||||
| `ayu` | Na podstawie ciemnego motywu [Ayu](https://github.com/ayu-theme) |
|
||||
| `catppuccin` | Na podstawie motywu [Catppuccin](https://github.com/catppuccin) |
|
||||
| `catppuccin-macchiato` | Na podstawie motywu [Catppuccin](https://github.com/catppuccin) |
|
||||
| `gruvbox` | Na podstawie motywu [Gruvbox](https://github.com/morhetz/gruvbox) |
|
||||
| `kanagawa` | Na podstawie motywu [Kanagawa](https://github.com/rebelot/kanagawa.nvim) |
|
||||
| `nord` | Na podstawie motywu [Nord](https://github.com/nordtheme/nord) |
|
||||
| `matrix` | Hacker-style green on black theme |
|
||||
| `one-dark` | Na podstawie ciemnego motywu [Atom One](https://github.com/Th3Whit3Wolf/one-nvim) |
|
||||
|
||||
Co więcej, stale dodajemy nowe motywy.
|
||||
|
||||
---
|
||||
|
||||
## System theme
|
||||
|
||||
Motyw `system` został zaprojektowany tak, aby automatycznie dostosowywał się do schematu kolorów terminala. W przeciwieństwie do tradycyjnych motywów, które używają stałych kolorów, motyw _system_:
|
||||
|
||||
- **Generuje skalę szarości**: Tworzy niestandardową skalę szarości w oparciu o kolor tła terminala, zapewniając optymalny kontrast.
|
||||
- **Używa kolorów ANSI**: Wykorzystuje standardowe kolory ANSI (0-15) do podświetlania składni i elementów interfejsu użytkownika, które odpowiadają palecie kolorów terminala.
|
||||
- **Zachowuje ustawienia domyślne terminala**: Używa `none` dla kolorów tekstu i tła, aby zachować natywny wygląd terminala.
|
||||
|
||||
Motyw systemu przeznaczony jest dla użytkowników, którzy:
|
||||
|
||||
- Want OpenCode to match their terminal's appearance
|
||||
- Użyj niestandardowych schematów kolorów terminali
|
||||
- Prefer a consistent look across all terminal applications
|
||||
|
||||
---
|
||||
|
||||
## Using a theme
|
||||
|
||||
Możesz wybrać motyw, wywołując opcję wyboru motywu za pomocą polecenia `/theme`. Możesz też określić to w [config](/docs/config).
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"theme": "tokyonight"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Custom themes
|
||||
|
||||
OpenCode obsługuje elastyczny system motywów oparty na JSON, który pozwala użytkownikom łatwo tworzyć i dostosowywać motywy.
|
||||
|
||||
---
|
||||
|
||||
### Hierarchy
|
||||
|
||||
Motywy są ładowane z wielu katalogów w następującej kolejności, przy czym późniejsze katalogi zastępują wcześniejsze:
|
||||
|
||||
1. **Wbudowane motywy** – są osadzone w formacie binarnym
|
||||
2. **User config directory** - Defined in `~/.config/opencode/themes/*.json` or `$XDG_CONFIG_HOME/opencode/themes/*.json`
|
||||
3. **Katalog główny projektu** - Zdefiniowany w `<project-root>/.opencode/themes/*.json`
|
||||
4. **Current working directory** - Defined in `./.opencode/themes/*.json`
|
||||
|
||||
Jeśli wiele katalogów zawiera motyw o tej samej nazwie, zostanie użyty motyw z katalogu o wyższym priorytecie.
|
||||
|
||||
---
|
||||
|
||||
### Creating a theme
|
||||
|
||||
Aby utworzyć niestandardowy motyw, utwórz plik JSON w jednym z katalogów motywów.
|
||||
|
||||
W przypadku motywów dla całego użytkownika:
|
||||
|
||||
```bash no-frame
|
||||
mkdir -p ~/.config/opencode/themes
|
||||
vim ~/.config/opencode/themes/my-theme.json
|
||||
```
|
||||
|
||||
Oraz dla tematów specyficznych dla projektu.
|
||||
|
||||
```bash no-frame
|
||||
mkdir -p .opencode/themes
|
||||
vim .opencode/themes/my-theme.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### JSON format
|
||||
|
||||
Motywy korzystają z elastycznego formatu JSON z obsługą:
|
||||
|
||||
- **Hex colors**: `"#ffffff"`
|
||||
- **ANSI colors**: `3` (0-255)
|
||||
- **Color references**: `"primary"` or custom definitions
|
||||
- **Dark/light variants**: `{"dark": "#000", "light": "#fff"}`
|
||||
- **Brak koloru**: `"none"` - Używa domyślnego koloru terminala lub przezroczystości
|
||||
|
||||
---
|
||||
|
||||
### Color definitions
|
||||
|
||||
Sekcja `defs` jest opcjonalna i pozwala zdefiniować kolory wielokrotnego użytku, do których można się odwoływać w motywie.
|
||||
|
||||
---
|
||||
|
||||
### Terminal defaults
|
||||
|
||||
Wartość specjalna `"none"` może zostać użyta dla dowolnego koloru, aby przejąć domyślny kolor terminala. Jest to szczególnie przydatne do tworzenia motywów, które płynnie komponują się ze schematem kolorów terminala:
|
||||
|
||||
- `"text": "none"` - Używa domyślnego koloru pierwszego planu terminala
|
||||
- `"background": "none"` - Używa domyślnego koloru tła terminala
|
||||
|
||||
---
|
||||
|
||||
### Przykład
|
||||
|
||||
Here's an example of a custom theme:
|
||||
|
||||
```json title="my-theme.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/theme.json",
|
||||
"defs": {
|
||||
"nord0": "#2E3440",
|
||||
"nord1": "#3B4252",
|
||||
"nord2": "#434C5E",
|
||||
"nord3": "#4C566A",
|
||||
"nord4": "#D8DEE9",
|
||||
"nord5": "#E5E9F0",
|
||||
"nord6": "#ECEFF4",
|
||||
"nord7": "#8FBCBB",
|
||||
"nord8": "#88C0D0",
|
||||
"nord9": "#81A1C1",
|
||||
"nord10": "#5E81AC",
|
||||
"nord11": "#BF616A",
|
||||
"nord12": "#D08770",
|
||||
"nord13": "#EBCB8B",
|
||||
"nord14": "#A3BE8C",
|
||||
"nord15": "#B48EAD"
|
||||
},
|
||||
"theme": {
|
||||
"primary": {
|
||||
"dark": "nord8",
|
||||
"light": "nord10"
|
||||
},
|
||||
"secondary": {
|
||||
"dark": "nord9",
|
||||
"light": "nord9"
|
||||
},
|
||||
"accent": {
|
||||
"dark": "nord7",
|
||||
"light": "nord7"
|
||||
},
|
||||
"error": {
|
||||
"dark": "nord11",
|
||||
"light": "nord11"
|
||||
},
|
||||
"warning": {
|
||||
"dark": "nord12",
|
||||
"light": "nord12"
|
||||
},
|
||||
"success": {
|
||||
"dark": "nord14",
|
||||
"light": "nord14"
|
||||
},
|
||||
"info": {
|
||||
"dark": "nord8",
|
||||
"light": "nord10"
|
||||
},
|
||||
"text": {
|
||||
"dark": "nord4",
|
||||
"light": "nord0"
|
||||
},
|
||||
"textMuted": {
|
||||
"dark": "nord3",
|
||||
"light": "nord1"
|
||||
},
|
||||
"background": {
|
||||
"dark": "nord0",
|
||||
"light": "nord6"
|
||||
},
|
||||
"backgroundPanel": {
|
||||
"dark": "nord1",
|
||||
"light": "nord5"
|
||||
},
|
||||
"backgroundElement": {
|
||||
"dark": "nord1",
|
||||
"light": "nord4"
|
||||
},
|
||||
"border": {
|
||||
"dark": "nord2",
|
||||
"light": "nord3"
|
||||
},
|
||||
"borderActive": {
|
||||
"dark": "nord3",
|
||||
"light": "nord2"
|
||||
},
|
||||
"borderSubtle": {
|
||||
"dark": "nord2",
|
||||
"light": "nord3"
|
||||
},
|
||||
"diffAdded": {
|
||||
"dark": "nord14",
|
||||
"light": "nord14"
|
||||
},
|
||||
"diffRemoved": {
|
||||
"dark": "nord11",
|
||||
"light": "nord11"
|
||||
},
|
||||
"diffContext": {
|
||||
"dark": "nord3",
|
||||
"light": "nord3"
|
||||
},
|
||||
"diffHunkHeader": {
|
||||
"dark": "nord3",
|
||||
"light": "nord3"
|
||||
},
|
||||
"diffHighlightAdded": {
|
||||
"dark": "nord14",
|
||||
"light": "nord14"
|
||||
},
|
||||
"diffHighlightRemoved": {
|
||||
"dark": "nord11",
|
||||
"light": "nord11"
|
||||
},
|
||||
"diffAddedBg": {
|
||||
"dark": "#3B4252",
|
||||
"light": "#E5E9F0"
|
||||
},
|
||||
"diffRemovedBg": {
|
||||
"dark": "#3B4252",
|
||||
"light": "#E5E9F0"
|
||||
},
|
||||
"diffContextBg": {
|
||||
"dark": "nord1",
|
||||
"light": "nord5"
|
||||
},
|
||||
"diffLineNumber": {
|
||||
"dark": "nord2",
|
||||
"light": "nord4"
|
||||
},
|
||||
"diffAddedLineNumberBg": {
|
||||
"dark": "#3B4252",
|
||||
"light": "#E5E9F0"
|
||||
},
|
||||
"diffRemovedLineNumberBg": {
|
||||
"dark": "#3B4252",
|
||||
"light": "#E5E9F0"
|
||||
},
|
||||
"markdownText": {
|
||||
"dark": "nord4",
|
||||
"light": "nord0"
|
||||
},
|
||||
"markdownHeading": {
|
||||
"dark": "nord8",
|
||||
"light": "nord10"
|
||||
},
|
||||
"markdownLink": {
|
||||
"dark": "nord9",
|
||||
"light": "nord9"
|
||||
},
|
||||
"markdownLinkText": {
|
||||
"dark": "nord7",
|
||||
"light": "nord7"
|
||||
},
|
||||
"markdownCode": {
|
||||
"dark": "nord14",
|
||||
"light": "nord14"
|
||||
},
|
||||
"markdownBlockQuote": {
|
||||
"dark": "nord3",
|
||||
"light": "nord3"
|
||||
},
|
||||
"markdownEmph": {
|
||||
"dark": "nord12",
|
||||
"light": "nord12"
|
||||
},
|
||||
"markdownStrong": {
|
||||
"dark": "nord13",
|
||||
"light": "nord13"
|
||||
},
|
||||
"markdownHorizontalRule": {
|
||||
"dark": "nord3",
|
||||
"light": "nord3"
|
||||
},
|
||||
"markdownListItem": {
|
||||
"dark": "nord8",
|
||||
"light": "nord10"
|
||||
},
|
||||
"markdownListEnumeration": {
|
||||
"dark": "nord7",
|
||||
"light": "nord7"
|
||||
},
|
||||
"markdownImage": {
|
||||
"dark": "nord9",
|
||||
"light": "nord9"
|
||||
},
|
||||
"markdownImageText": {
|
||||
"dark": "nord7",
|
||||
"light": "nord7"
|
||||
},
|
||||
"markdownCodeBlock": {
|
||||
"dark": "nord4",
|
||||
"light": "nord0"
|
||||
},
|
||||
"syntaxComment": {
|
||||
"dark": "nord3",
|
||||
"light": "nord3"
|
||||
},
|
||||
"syntaxKeyword": {
|
||||
"dark": "nord9",
|
||||
"light": "nord9"
|
||||
},
|
||||
"syntaxFunction": {
|
||||
"dark": "nord8",
|
||||
"light": "nord8"
|
||||
},
|
||||
"syntaxVariable": {
|
||||
"dark": "nord7",
|
||||
"light": "nord7"
|
||||
},
|
||||
"syntaxString": {
|
||||
"dark": "nord14",
|
||||
"light": "nord14"
|
||||
},
|
||||
"syntaxNumber": {
|
||||
"dark": "nord15",
|
||||
"light": "nord15"
|
||||
},
|
||||
"syntaxType": {
|
||||
"dark": "nord7",
|
||||
"light": "nord7"
|
||||
},
|
||||
"syntaxOperator": {
|
||||
"dark": "nord9",
|
||||
"light": "nord9"
|
||||
},
|
||||
"syntaxPunctuation": {
|
||||
"dark": "nord4",
|
||||
"light": "nord0"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
379
packages/web/src/content/docs/pl/tools.mdx
Normal file
379
packages/web/src/content/docs/pl/tools.mdx
Normal file
@@ -0,0 +1,379 @@
|
||||
---
|
||||
title: Tools
|
||||
description: Zarządzaj narzędziami, z których może korzystać LLM.
|
||||
---
|
||||
|
||||
Narzędzia umożliwiają LLM wykonywanie działań w bazie kodu. OpenCode ma zestaw wbudowanych narzędzi, ale możesz go rozszerzyć o [narzędzia niestandardowe](/docs/custom-tools) lub [serwery MCP](/docs/mcp-servers).
|
||||
|
||||
Domyślnie wszystkie narzędzia są **włączone** i nie wymagają pozwolenia na uruchomienie. Możesz kontrolować zachowanie narzędzia poprzez [uprawnienia](/docs/permissions).
|
||||
|
||||
---
|
||||
|
||||
## Skonfiguruj
|
||||
|
||||
Użyj pola `permission` do kontrolowania zachowania narzędzia. Dla każdego narzędzia możesz zezwolić, odmówić lub wymagać zatwierdzenia.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "deny",
|
||||
"bash": "ask",
|
||||
"webfetch": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Możesz także używać symboli wieloznacznych do kontrolowania wielu narzędzi jednocześnie. Na przykład, aby wymagać zatwierdzenia wszystkich narzędzi z serwera MCP:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"mymcp_*": "ask"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Dowiedz się więcej](/docs/permissions) o konfigurowaniu uprawnień.
|
||||
|
||||
---
|
||||
|
||||
## Wbudowane
|
||||
|
||||
Oto wszystkie wbudowane narzędzia dostępne w OpenCode.
|
||||
|
||||
---
|
||||
|
||||
### bash
|
||||
|
||||
Wykonuj polecenia powłoki w środowisku projektu.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"bash": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
To narzędzie umożliwia LLM uruchamianie poleceń terminalowych, takich jak `npm install`, `git status` lub dowolne inne polecenie powłoki.
|
||||
|
||||
---
|
||||
|
||||
### edit
|
||||
|
||||
Modify existing files using exact string replacements.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
To narzędzie umożliwia precyzyjną edycję plików poprzez zastąpienie dokładnych dopasowań tekstu. Jest to główny sposób, w jaki LLM modyfikuje kod.
|
||||
|
||||
---
|
||||
|
||||
### write
|
||||
|
||||
Utwórz nowe pliki lub nadpisz istniejące.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Użyj tego, aby umożliwić LLM tworzenie nowych plików. Zastąpi istniejące pliki, jeśli już istnieją.
|
||||
|
||||
:::note
|
||||
Narzędzie `write` jest kontrolowane przez uprawnienie `edit`, które obejmuje wszystkie modyfikacje plików (`edit`, `write`, `patch`, `multiedit`).
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### read
|
||||
|
||||
Przeczytaj zawartość pliku z bazy kodu.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"read": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Narzędzie to odczytuje pliki i zwraca ich zawartość. Obsługuje czytanie określonych zakresów linii w przypadku dużych plików.
|
||||
|
||||
---
|
||||
|
||||
### grep
|
||||
|
||||
Search file contents using regular expressions.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"grep": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Szybkie wyszukiwanie treści w całej bazie kodu. Obsługuje pełną składnię wyrażeń regularnych i filtrowanie wzorców plików.
|
||||
|
||||
---
|
||||
|
||||
### glob
|
||||
|
||||
Find files by pattern matching.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"glob": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Szukaj plików przy użyciu wzorców globalnych, takich jak `**/*.js` lub `src/**/*.ts`. Zwraca pasujące ścieżki plików posortowane według czasu modyfikacji.
|
||||
|
||||
---
|
||||
|
||||
### lista
|
||||
|
||||
Wyświetla listę plików i katalogów w podanej ścieżce.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"list": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
To narzędzie wyświetla zawartość katalogu. Akceptuje wzorce globalne do filtrowania wyników.
|
||||
|
||||
---
|
||||
|
||||
### lsp (experimental)
|
||||
|
||||
Wejdź w interakcję ze skonfigurowanymi serwerami LSP, aby uzyskać funkcje analizy kodu, takie jak definicje, odniesienia, informacje o najechaniu myszką i hierarchia połączeń.
|
||||
|
||||
:::note
|
||||
To narzędzie jest dostępne tylko wtedy, gdy `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` (lub `OPENCODE_EXPERIMENTAL=true`).
|
||||
:::
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"lsp": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Obsługiwane operacje obejmują `goToDefinition`, `findReferences`, `hover`, `documentSymbol`, `workspaceSymbol`, `goToImplementation`, `prepareCallHierarchy`, `incomingCalls` i `outgoingCalls`.
|
||||
|
||||
Aby skonfigurować, które serwery LSP są dostępne dla Twojego projektu, zobacz [Serwery LSP](/docs/lsp).
|
||||
|
||||
---
|
||||
|
||||
### patch
|
||||
|
||||
Apply patches to files.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"edit": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
To narzędzie stosuje pliki poprawek do bazy kodu. Przydatne do stosowania różnic i poprawek z różnych źródeł.
|
||||
|
||||
:::note
|
||||
Narzędzie `patch` jest kontrolowane przez uprawnienie `edit`, które obejmuje wszystkie modyfikacje plików (`edit`, `write`, `patch`, `multiedit`).
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### skill
|
||||
|
||||
Załaduj [umiejętność](/docs/skills) (plik `SKILL.md`) i zwróć jej treść w rozmowie.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"skill": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### todowrite
|
||||
|
||||
Zarządzaj listami rzeczy do zrobienia podczas sesji kodowania.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"todowrite": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Tworzy i aktualizuje listy zadań w celu śledzenia postępu podczas złożonych operacji. LLM wykorzystuje to do organizowania zadań wieloetapowych.
|
||||
|
||||
:::note
|
||||
To narzędzie jest domyślnie wyłączone dla podagentów, ale można je włączyć ręcznie. [Dowiedz się więcej](/docs/agents/#permissions)
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### todoread
|
||||
|
||||
Read existing todo lists.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"todoread": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Odczytuje bieżący stan listy rzeczy do zrobienia. Używany przez LLM do śledzenia zadań oczekujących lub ukończonych.
|
||||
|
||||
:::note
|
||||
To narzędzie jest domyślnie wyłączone dla podagentów, ale można je włączyć ręcznie. [Dowiedz się więcej](/docs/agents/#permissions)
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### webfetch
|
||||
|
||||
Fetch web content.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"webfetch": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Umożliwia LLM pobieranie i odczytywanie stron internetowych. Przydatne do wyszukiwania dokumentacji lub wyszukiwania zasobów online.
|
||||
|
||||
---
|
||||
|
||||
### websearch
|
||||
|
||||
Wyszukaj informacje w Internecie.
|
||||
|
||||
:::note
|
||||
To narzędzie jest dostępne tylko w przypadku korzystania z dostawcy OpenCode lub gdy zmienna środowiskowa `OPENCODE_ENABLE_EXA` jest ustawiona na dowolną wartość prawdziwą (np. `true` lub `1`).
|
||||
|
||||
To enable when launching OpenCode:
|
||||
|
||||
```bash
|
||||
OPENCODE_ENABLE_EXA=1 opencode
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"websearch": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Przeszukuje Internet za pomocą Exa AI, aby znaleźć odpowiednie informacje w Internecie. Przydatne do badania tematów, znajdowania bieżących wydarzeń lub zbierania informacji wykraczających poza limit danych szkoleniowych.
|
||||
|
||||
Nie jest wymagany żaden klucz API — narzędzie łączy się bezpośrednio z usługą MCP hostowaną przez Exa AI bez uwierzytelniania.
|
||||
|
||||
:::tip
|
||||
Użyj `websearch`, gdy chcesz znaleźć informacje (odkrycie), i `webfetch`, gdy musisz pobrać treść z określonego adresu URL (pobieranie).
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
### question
|
||||
|
||||
Zadawaj pytania użytkownikowi podczas wykonywania.
|
||||
|
||||
```json title="opencode.json" {4}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"permission": {
|
||||
"question": "allow"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
To narzędzie umożliwia LLM zadawanie pytań użytkownikowi podczas wykonywania zadania. Jest to przydatne dla:
|
||||
|
||||
- Gathering user preferences or requirements
|
||||
- Clarifying ambiguous instructions
|
||||
- Getting decisions on implementation choices
|
||||
- Offering choices about what direction to take
|
||||
|
||||
Każde pytanie zawiera nagłówek, tekst pytania i listę opcji. Użytkownicy mogą wybierać spośród dostępnych opcji lub wpisać niestandardową odpowiedź. Jeśli pytań jest wiele, użytkownicy mogą nawigować między nimi przed przesłaniem wszystkich odpowiedzi.
|
||||
|
||||
---
|
||||
|
||||
## Custom tools
|
||||
|
||||
Niestandardowe narzędzia pozwalają zdefiniować własne funkcje, które LLM może wywołać. Są one zdefiniowane w pliku konfiguracyjnym i mogą wykonywać dowolny kod.
|
||||
|
||||
[Więcej informacji](/docs/custom-tools) o tworzeniu narzędzi niestandardowych.
|
||||
|
||||
---
|
||||
|
||||
## MCP servers
|
||||
|
||||
Serwery MCP (Model Context Protocol) umożliwiają integrację zewnętrznych narzędzi i usług. Obejmuje to dostęp do baz danych, integracje API i usługi stron trzecich.
|
||||
|
||||
[Dowiedz się więcej](/docs/mcp-servers) o konfigurowaniu serwerów MCP.
|
||||
|
||||
---
|
||||
|
||||
## Internals
|
||||
|
||||
Wewnętrznie narzędzia takie jak `grep`, `glob` i `list` używają pod maską [ripgrep](https://github.com/BurntSushi/ripgrep). Domyślnie ripgrep respektuje wzorce `.gitignore`, co oznacza, że pliki i katalogi wymienione w Twoim `.gitignore` zostaną wykluczone z wyszukiwań i list.
|
||||
|
||||
---
|
||||
|
||||
### Ignore patterns
|
||||
|
||||
Aby uwzględnić pliki, które normalnie byłyby ignorowane, utwórz plik `.ignore` w katalogu głównym projektu. Ten plik może jawnie zezwalać na określone ścieżki.
|
||||
|
||||
```text title=".ignore"
|
||||
!node_modules/
|
||||
!dist/
|
||||
!build/
|
||||
```
|
||||
|
||||
Na przykład ten plik `.ignore` pozwala ripgrepowi przeszukiwać katalogi `node_modules/`, `dist/` i `build/`, nawet jeśli są one wymienione w `.gitignore`.
|
||||
300
packages/web/src/content/docs/pl/troubleshooting.mdx
Normal file
300
packages/web/src/content/docs/pl/troubleshooting.mdx
Normal file
@@ -0,0 +1,300 @@
|
||||
---
|
||||
title: Troubleshooting
|
||||
description: Typowe problemy i sposoby ich rozwiązywania.
|
||||
---
|
||||
|
||||
Aby debugować problemy z OpenCode, zacznij od sprawdzenia dzienników i danych lokalnych przechowywanych na dysku.
|
||||
|
||||
---
|
||||
|
||||
## Logs
|
||||
|
||||
Log files are written to:
|
||||
|
||||
- **macOS/Linux**: `~/.local/share/opencode/log/`
|
||||
- **Windows**: Naciśnij `WIN+R` i wklej `%USERPROFILE%\.local\share\opencode\log`
|
||||
|
||||
Nazwy plików dziennika zawierają znaczniki czasu (np. `2025-01-09T123456.log`) i przechowywanych jest 10 ostatnich plików dziennika.
|
||||
|
||||
Możesz ustawić poziom dziennika za pomocą opcji wiersza poleceń `--log-level`, aby uzyskać bardziej szczegółowe informacje debugowania. Na przykład `opencode --log-level DEBUG`.
|
||||
|
||||
---
|
||||
|
||||
## Storage
|
||||
|
||||
opencode przechowuje dane sesji i inne dane aplikacji na dysku pod adresem:
|
||||
|
||||
- **macOS/Linux**: `~/.local/share/opencode/`
|
||||
- **Windows**: Naciśnij `WIN+R` i wklej `%USERPROFILE%\.local\share\opencode`
|
||||
|
||||
Ten katalog zawiera:
|
||||
|
||||
- `auth.json` - Authentication data like API keys, OAuth tokens
|
||||
- `log/` - Application logs
|
||||
- `project/` — Dane specyficzne dla projektu, takie jak dane sesji i komunikatów
|
||||
- Jeśli projekt znajduje się w repozytorium Git, jest on przechowywany w `./<project-slug>/storage/`
|
||||
- If it is not a Git repo, it is stored in `./global/storage/`
|
||||
|
||||
---
|
||||
|
||||
## Desktop app
|
||||
|
||||
OpenCode Desktop uruchamia w tle lokalny serwer OpenCode (wózek boczny `opencode-cli`). Większość problemów jest spowodowana nieprawidłowo działającą wtyczką, uszkodzoną pamięcią podręczną lub złymi ustawieniami serwera.
|
||||
|
||||
### Quick checks
|
||||
|
||||
- Całkowicie zakończ i uruchom ponownie aplikację.
|
||||
- Jeśli aplikacja wyświetli ekran błędu, kliknij **Uruchom ponownie** i skopiuj szczegóły błędu.
|
||||
- Tylko macOS: menu `OpenCode` -> **Załaduj ponownie przeglądarkę internetową** (pomaga, jeśli interfejs użytkownika jest pusty/zawieszony).
|
||||
|
||||
---
|
||||
|
||||
### Disable plugins
|
||||
|
||||
Jeśli aplikacja komputerowa ulega awarii podczas uruchamiania, zawiesza się lub zachowuje się dziwnie, zacznij od wyłączenia wtyczek.
|
||||
|
||||
#### Sprawdź konfigurację globalną
|
||||
|
||||
Otwórz globalny plik konfiguracyjny i poszukaj klucza `plugin`.
|
||||
|
||||
- **macOS/Linux**: `~/.config/opencode/opencode.jsonc` (or `~/.config/opencode/opencode.json`)
|
||||
- **macOS/Linux** (older installs): `~/.local/share/opencode/opencode.jsonc`
|
||||
- **Windows**: Naciśnij `WIN+R` i wklej `%USERPROFILE%\.config\opencode\opencode.jsonc`
|
||||
|
||||
Jeśli masz skonfigurowane wtyczki, tymczasowo je wyłącz, usuwając klucz lub ustawiając go na pustą tablicę:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"plugin": [],
|
||||
}
|
||||
```
|
||||
|
||||
#### Check plugin directories
|
||||
|
||||
OpenCode może także ładować lokalne wtyczki z dysku. Tymczasowo usuń je (lub zmień nazwę folderu) i uruchom ponownie aplikację komputerową:
|
||||
|
||||
- **Global plugins**
|
||||
- **macOS/Linux**: `~/.config/opencode/plugins/`
|
||||
- **Windows**: Naciśnij `WIN+R` i wklej `%USERPROFILE%\.config\opencode\plugins`
|
||||
- **Wtyczki projektowe** (tylko jeśli używasz konfiguracji dla poszczególnych projektów)
|
||||
- `<your-project>/.opencode/plugins/`
|
||||
|
||||
Jeśli aplikacja ponownie zacznie działać, włączaj ponownie wtyczki pojedynczo, aby dowiedzieć się, która powoduje problem.
|
||||
|
||||
---
|
||||
|
||||
### Wyczyść pamięć podręczną
|
||||
|
||||
Jeśli wyłączenie wtyczek nie pomoże (lub instalacja wtyczki utknęła), wyczyść pamięć podręczną, aby OpenCode mógł ją odbudować.
|
||||
|
||||
1. Quit OpenCode Desktop completely.
|
||||
2. Usuń katalog pamięci podręcznej:
|
||||
|
||||
- **macOS**: Finder -> `Cmd+Shift+G` -> paste `~/.cache/opencode`
|
||||
- **Linux**: usuń `~/.cache/opencode` (lub uruchom `rm -rf ~/.cache/opencode`)
|
||||
- **Windows**: Naciśnij `WIN+R` i wklej `%USERPROFILE%\.cache\opencode`
|
||||
|
||||
3. Restart OpenCode Desktop.
|
||||
|
||||
---
|
||||
|
||||
### Napraw problemy z połączeniem z serwerem
|
||||
|
||||
OpenCode Desktop może uruchomić własny serwer lokalny (domyślnie) lub połączyć się ze skonfigurowanym adresem URL serwera.
|
||||
|
||||
Jeśli zobaczysz okno dialogowe **„Połączenie nie powiodło się”** (lub aplikacja nigdy nie wychodzi poza ekran powitalny), sprawdź, czy jest niestandardowy adres URL serwera.
|
||||
|
||||
#### Wyczyść domyślny adres URL serwera na komputerze
|
||||
|
||||
Na ekranie głównym kliknij nazwę serwera (z kropką stanu), aby otworzyć selektor serwerów. W sekcji **Serwer domyślny** kliknij **Wyczyść**.
|
||||
|
||||
#### Usuń `server.port` / `server.hostname` ze swojej konfiguracji
|
||||
|
||||
Jeśli Twój `opencode.json(c)` zawiera sekcję `server`, tymczasowo usuń ją i uruchom ponownie aplikację komputerową.
|
||||
|
||||
#### Check environment variables
|
||||
|
||||
Jeśli w swoim środowisku masz ustawiony `OPENCODE_PORT`, aplikacja komputerowa spróbuje użyć tego portu dla serwera lokalnego.
|
||||
|
||||
- Rozbierz `OPENCODE_PORT` (lub wybierz wolny port) i uruchom ponownie.
|
||||
|
||||
---
|
||||
|
||||
### Linux: Wayland / X11 issues
|
||||
|
||||
On Linux, some Wayland setups can cause blank windows or compositor errors.
|
||||
|
||||
- Jeśli korzystasz z Wayland, a aplikacja jest pusta/ ulega awarii, spróbuj uruchomić ją za pomocą `OC_ALLOW_WAYLAND=1`.
|
||||
- Jeśli to pogorszy sprawę, usuń go i zamiast tego spróbuj uruchomić w sesji X11.
|
||||
|
||||
---
|
||||
|
||||
### Windows: WebView2 runtime
|
||||
|
||||
W systemie Windows OpenCode Desktop wymaga Microsoft Edge **WebView2 Runtime**. Jeśli aplikacja otwiera się w pustym oknie lub nie uruchamia się, zainstaluj/zaktualizuj WebView2 i spróbuj ponownie.
|
||||
|
||||
---
|
||||
|
||||
### Windows: General performance issues
|
||||
|
||||
Jeśli doświadczasz niskiej wydajności, problemów z dostępem do plików lub problemów z terminalem w systemie Windows, spróbuj użyć [WSL (podsystem Windows dla systemu Linux) (./windows-wsl). WSL zapewnia środowisko Linux, które płynniej współpracuje z funkcjami OpenCode.
|
||||
|
||||
---
|
||||
|
||||
### Notifications not showing
|
||||
|
||||
OpenCode Desktop only shows system notifications when:
|
||||
|
||||
- powiadomienia są włączone dla OpenCode w ustawieniach systemu operacyjnego, oraz
|
||||
- okno aplikacji nie jest aktywne.
|
||||
|
||||
---
|
||||
|
||||
### Reset desktop app storage (last resort)
|
||||
|
||||
Jeśli aplikacja nie uruchamia się i nie możesz wyczyścić ustawień w interfejsie użytkownika, zresetuj zapisany stan aplikacji komputerowej.
|
||||
|
||||
1. Quit OpenCode Desktop.
|
||||
2. Znajdź i usuń te pliki (znajdują się w katalogu danych aplikacji OpenCode Desktop):
|
||||
|
||||
- `opencode.settings.dat` (domyślny adres URL serwera na komputerze stacjonarnym)
|
||||
- `opencode.global.dat` i `opencode.workspace.*.dat` (stan interfejsu użytkownika, taki jak najnowsze serwery/projekty)
|
||||
|
||||
Aby szybko znaleźć katalog:
|
||||
|
||||
- **macOS**: Finder -> `Cmd+Shift+G` -> `~/Library/Application Support` (następnie wyszukaj nazwy plików powyżej)
|
||||
- **Linux**: wyszukaj powyższe nazwy plików pod `~/.local/share`
|
||||
- **Windows**: Naciśnij `WIN+R` -> `%APPDATA%` (następnie wyszukaj nazwy plików powyżej)
|
||||
|
||||
---
|
||||
|
||||
## Getting help
|
||||
|
||||
Jeśli masz problemy z OpenCode:
|
||||
|
||||
1. **Report issues on GitHub**
|
||||
|
||||
Najlepszym sposobem zgłaszania błędów lub zgłaszania żądań funkcji jest skorzystanie z naszego repozytorium GitHub:
|
||||
|
||||
[**github.com/anomalyco/opencode/issues**](https://github.com/anomalyco/opencode/issues)
|
||||
|
||||
Przed utworzeniem nowego problemu przeszukaj istniejące i sprawdź, czy Twój problem nie został już zgłoszony.
|
||||
|
||||
2. **Join our Discord**
|
||||
|
||||
Aby uzyskać pomoc w czasie rzeczywistym i dyskusję społeczności, dołącz do naszego serwera Discord:
|
||||
|
||||
[**opencode.ai/discord**](https://opencode.ai/discord)
|
||||
|
||||
---
|
||||
|
||||
## Common issues
|
||||
|
||||
Oto kilka typowych problemów i sposobów ich rozwiązania.
|
||||
|
||||
---
|
||||
|
||||
### OpenCode nie uruchamia się
|
||||
|
||||
1. Sprawdź dzienniki pod kątem komunikatów o błędach
|
||||
2. Spróbuj uruchomić z `--print-logs`, aby zobaczyć dane wyjściowe w terminalu
|
||||
3. Upewnij się, że masz najnowszą wersję z `opencode upgrade`
|
||||
|
||||
---
|
||||
|
||||
### Authentication issues
|
||||
|
||||
1. Spróbuj ponownie uwierzytelnić się za pomocą polecenia `/connect` w TUI
|
||||
2. Sprawdź, czy klucze API są ważne
|
||||
3. Upewnij się, że Twoja sieć umożliwia połączenia z interfejsem API dostawcy
|
||||
|
||||
---
|
||||
|
||||
### Model niedostępny
|
||||
|
||||
1. Sprawdź, czy dokonałeś uwierzytelnienia u dostawcy
|
||||
2. Sprawdź, czy nazwa modelu w konfiguracji jest poprawna
|
||||
3. Some models may require specific access or subscriptions
|
||||
|
||||
Jeśli napotkasz `ProviderModelNotFoundError`, najprawdopodobniej się mylisz
|
||||
odwołując się gdzieś do modelu.
|
||||
Models should be referenced like so: `<providerId>/<modelId>`
|
||||
|
||||
Examples:
|
||||
|
||||
- `openai/gpt-4.1`
|
||||
- `openrouter/google/gemini-2.5-flash`
|
||||
- `opencode/kimi-k2`
|
||||
|
||||
Aby dowiedzieć się, do jakich modeli masz dostęp, uruchom `opencode models`
|
||||
|
||||
---
|
||||
|
||||
### ProviderInitError
|
||||
|
||||
Jeśli napotkasz błąd ProviderInitError, prawdopodobnie masz nieprawidłową lub uszkodzoną konfigurację.
|
||||
|
||||
Aby rozwiązać ten problem:
|
||||
|
||||
1. Najpierw sprawdź, czy Twój dostawca jest prawidłowo skonfigurowany, postępując zgodnie z [przewodnikiem dostawców](/docs/providers)
|
||||
2. Jeśli problem będzie się powtarzał, spróbuj wyczyścić zapisaną konfigurację:
|
||||
|
||||
```bash
|
||||
rm -rf ~/.local/share/opencode
|
||||
```
|
||||
|
||||
W systemie Windows naciśnij `WIN+R` i usuń: `%USERPROFILE%\.local\share\opencode`
|
||||
|
||||
3. Ponownie uwierzytelnij się u swojego dostawcy za pomocą polecenia `/connect` w TUI.
|
||||
|
||||
---
|
||||
|
||||
### Problemy z AI_APICallError i pakietem dostawcy
|
||||
|
||||
Jeśli napotkasz błędy wywołań API, może to wynikać z nieaktualnych pakietów dostawców. opencode dynamicznie instaluje pakiety dostawców (OpenAI, Anthropic, Google itp.) w razie potrzeby i przechowuje je lokalnie w pamięci podręcznej.
|
||||
|
||||
Aby rozwiązać problemy z pakietem dostawcy:
|
||||
|
||||
1. Wyczyść pamięć podręczną pakietu dostawcy:
|
||||
|
||||
```bash
|
||||
rm -rf ~/.cache/opencode
|
||||
```
|
||||
|
||||
W systemie Windows naciśnij `WIN+R` i usuń: `%USERPROFILE%\.cache\opencode`
|
||||
|
||||
2. Uruchom ponownie kod opencode, aby ponownie zainstalować najnowsze pakiety dostawców
|
||||
|
||||
Zmusi to opencode do pobrania najnowszych wersji pakietów dostawców, co często rozwiązuje problemy ze zgodnością z parametrami modelu i zmianami API.
|
||||
|
||||
---
|
||||
|
||||
### Copy/paste not working on Linux
|
||||
|
||||
Aby funkcja kopiowania/wklejania działała, użytkownicy systemu Linux muszą mieć zainstalowane jedno z następujących narzędzi schowka:
|
||||
|
||||
**Dla systemów X11:**
|
||||
|
||||
```bash
|
||||
apt install -y xclip
|
||||
# or
|
||||
apt install -y xsel
|
||||
```
|
||||
|
||||
**Dla systemów Wayland:**
|
||||
|
||||
```bash
|
||||
apt install -y wl-clipboard
|
||||
```
|
||||
|
||||
**Dla środowisk bezgłowych:**
|
||||
|
||||
```bash
|
||||
apt install -y xvfb
|
||||
# and run:
|
||||
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
|
||||
export DISPLAY=:99.0
|
||||
```
|
||||
|
||||
opencode wykryje, czy używasz Waylanda i wolisz `wl-clipboard`, w przeciwnym razie spróbuje znaleźć narzędzia schowka w kolejności: `xclip` i `xsel`.
|
||||
390
packages/web/src/content/docs/pl/tui.mdx
Normal file
390
packages/web/src/content/docs/pl/tui.mdx
Normal file
@@ -0,0 +1,390 @@
|
||||
---
|
||||
title: TUI
|
||||
description: Korzystanie z interfejsu użytkownika terminala OpenCode.
|
||||
---
|
||||
|
||||
import { Tabs, TabItem } from "@astrojs/starlight/components"
|
||||
|
||||
OpenCode zapewnia interaktywny interfejs terminala lub TUI do pracy nad projektami za pomocą LLM.
|
||||
|
||||
Uruchomienie OpenCode uruchamia TUI dla bieżącego katalogu.
|
||||
|
||||
```bash
|
||||
opencode
|
||||
```
|
||||
|
||||
Możesz też uruchomić go dla określonego katalogu roboczego.
|
||||
|
||||
```bash
|
||||
opencode /path/to/project
|
||||
```
|
||||
|
||||
Gdy znajdziesz się w TUI, możesz wyświetlić monit za pomocą komunikatu.
|
||||
|
||||
```text
|
||||
Give me a quick summary of the codebase.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## File references
|
||||
|
||||
Możesz odwoływać się do plików w swoich wiadomościach, używając `@`. Spowoduje to rozmyte wyszukiwanie plików w bieżącym katalogu roboczym.
|
||||
|
||||
:::tip
|
||||
Możesz także użyć `@` do odwoływania się do plików w swoich wiadomościach.
|
||||
:::
|
||||
|
||||
```text "@packages/functions/src/api/index.ts"
|
||||
How is auth handled in @packages/functions/src/api/index.ts?
|
||||
```
|
||||
|
||||
Zawartość pliku jest automatycznie dodawana do rozmowy.
|
||||
|
||||
---
|
||||
|
||||
## Bash commands
|
||||
|
||||
Rozpocznij wiadomość od `!`, aby uruchomić polecenie powłoki.
|
||||
|
||||
```bash frame="none"
|
||||
!ls -la
|
||||
```
|
||||
|
||||
Dane wyjściowe polecenia są dodawane do konwersacji jako wynik narzędzia.
|
||||
|
||||
---
|
||||
|
||||
## Komendy
|
||||
|
||||
Korzystając z TUI OpenCode, możesz wpisać `/`, po którym następuje nazwa polecenia, aby szybko wykonać działania. Na przykład:
|
||||
|
||||
```bash frame="none"
|
||||
/help
|
||||
```
|
||||
|
||||
Większość poleceń ma również skrót klawiszowy wykorzystujący `ctrl+x` jako klucz wiodący, gdzie `ctrl+x` jest domyślnym klawiszem wiodącym. [Dowiedz się więcej](/docs/keybinds).
|
||||
|
||||
Oto wszystkie dostępne polecenia ukośnika:
|
||||
|
||||
---
|
||||
|
||||
### connect
|
||||
|
||||
Dodaj dostawcę do OpenCode. Umożliwia wybór dostępnych dostawców i dodanie ich kluczy API.
|
||||
|
||||
```bash frame="none"
|
||||
/connect
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### compact
|
||||
|
||||
Kompaktuj bieżącą sesję. _Alias_: `/summarize`
|
||||
|
||||
```bash frame="none"
|
||||
/compact
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x c`
|
||||
|
||||
---
|
||||
|
||||
### details
|
||||
|
||||
Toggle tool execution details.
|
||||
|
||||
```bash frame="none"
|
||||
/details
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x d`
|
||||
|
||||
---
|
||||
|
||||
### editor
|
||||
|
||||
Otwórz zewnętrzny edytor do tworzenia wiadomości. Używa edytora ustawionego w zmiennej środowiskowej `EDITOR`. [Dowiedz się więcej](#editor-setup).
|
||||
|
||||
```bash frame="none"
|
||||
/editor
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x e`
|
||||
|
||||
---
|
||||
|
||||
### exit
|
||||
|
||||
Exit OpenCode. _Aliases_: `/quit`, `/q`
|
||||
|
||||
```bash frame="none"
|
||||
/exit
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x q`
|
||||
|
||||
---
|
||||
|
||||
### export
|
||||
|
||||
Wyeksportuj bieżącą rozmowę do Markdown i otwórz ją w domyślnym edytorze. Używa edytora ustawionego w zmiennej środowiskowej `EDITOR`. [Dowiedz się więcej](#editor-setup).
|
||||
|
||||
```bash frame="none"
|
||||
/export
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x x`
|
||||
|
||||
---
|
||||
|
||||
### help
|
||||
|
||||
Pokaż okno pomocy.
|
||||
|
||||
```bash frame="none"
|
||||
/help
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x h`
|
||||
|
||||
---
|
||||
|
||||
### init
|
||||
|
||||
Utwórz lub zaktualizuj plik `AGENTS.md`. [Dowiedz się więcej](/docs/rules).
|
||||
|
||||
```bash frame="none"
|
||||
/init
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x i`
|
||||
|
||||
---
|
||||
|
||||
### models
|
||||
|
||||
Lista dostępnych modeli.
|
||||
|
||||
```bash frame="none"
|
||||
/models
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x m`
|
||||
|
||||
---
|
||||
|
||||
### new
|
||||
|
||||
Rozpocznij nową sesję. _Alias_: `/clear`
|
||||
|
||||
```bash frame="none"
|
||||
/new
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x n`
|
||||
|
||||
---
|
||||
|
||||
### redo
|
||||
|
||||
Ponów cofniętą wcześniej wiadomość. Dostępne tylko po użyciu `/undo`.
|
||||
|
||||
:::tip
|
||||
Any file changes will also be restored.
|
||||
:::
|
||||
|
||||
Wewnętrznie używa Git do zarządzania zmianami plików. Więc Twój projekt ** musi
|
||||
be a Git repository**.
|
||||
|
||||
```bash frame="none"
|
||||
/redo
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x r`
|
||||
|
||||
---
|
||||
|
||||
### sessions
|
||||
|
||||
Wyświetl listę i przełączaj się między sesjami. _Aliasy_: `/resume`, `/continue`
|
||||
|
||||
```bash frame="none"
|
||||
/sessions
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x l`
|
||||
|
||||
---
|
||||
|
||||
### share
|
||||
|
||||
Udostępnij bieżącą sesję. [Dowiedz się więcej](/docs/share).
|
||||
|
||||
```bash frame="none"
|
||||
/share
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x s`
|
||||
|
||||
---
|
||||
|
||||
### themes
|
||||
|
||||
Lista dostępnych motywów.
|
||||
|
||||
```bash frame="none"
|
||||
/theme
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x t`
|
||||
|
||||
---
|
||||
|
||||
### thinking
|
||||
|
||||
Przełącz widoczność bloków myślenia/rozumowania w rozmowie. Po włączeniu tej opcji można zobaczyć proces wnioskowania modelu w przypadku modeli obsługujących myślenie rozszerzone.
|
||||
|
||||
:::note
|
||||
To polecenie kontroluje jedynie, czy bloki myślowe są **wyświetlane** - nie włącza ani nie wyłącza możliwości wnioskowania modelu. Aby przełączyć rzeczywiste możliwości wnioskowania, użyj `ctrl+t` do przełączania wariantów modelu.
|
||||
:::
|
||||
|
||||
```bash frame="none"
|
||||
/thinking
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### undo
|
||||
|
||||
Cofnij ostatnią wiadomość w rozmowie. Usuwa najnowszą wiadomość użytkownika, wszystkie kolejne odpowiedzi i wszelkie zmiany w plikach.
|
||||
|
||||
:::tip
|
||||
Any file changes made will also be reverted.
|
||||
:::
|
||||
|
||||
Wewnętrznie używa Git do zarządzania zmianami plików. Więc Twój projekt ** musi
|
||||
be a Git repository**.
|
||||
|
||||
```bash frame="none"
|
||||
/undo
|
||||
```
|
||||
|
||||
**Keybind:** `ctrl+x u`
|
||||
|
||||
---
|
||||
|
||||
### unshare
|
||||
|
||||
Anuluj udostępnianie bieżącej sesji. [Dowiedz się więcej](/docs/share#un-sharing).
|
||||
|
||||
```bash frame="none"
|
||||
/unshare
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Editor setup
|
||||
|
||||
Zarówno polecenia `/editor`, jak i `/export` korzystają z edytora określonego w zmiennej środowiskowej `EDITOR`.
|
||||
|
||||
<Tabs>
|
||||
<TabItem label="Linux/macOS">
|
||||
```bash
|
||||
# Example for nano or vim
|
||||
export EDITOR=nano
|
||||
export EDITOR=vim
|
||||
|
||||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||||
# include --wait
|
||||
export EDITOR="code --wait"
|
||||
```
|
||||
|
||||
Aby było to trwałe, dodaj to do swojego profilu powłoki;
|
||||
`~/.bashrc`, `~/.zshrc`, etc.
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="Windows (CMD)">
|
||||
```bash
|
||||
set EDITOR=notepad
|
||||
|
||||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||||
# include --wait
|
||||
set EDITOR=code --wait
|
||||
```
|
||||
|
||||
Aby ustawić tę opcję na stałe, użyj opcji **Właściwości systemu** > **Środowisko
|
||||
Variables**.
|
||||
|
||||
</TabItem>
|
||||
|
||||
<TabItem label="Windows (PowerShell)">
|
||||
```powershell
|
||||
$env:EDITOR = "notepad"
|
||||
|
||||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||||
# include --wait
|
||||
$env:EDITOR = "code --wait"
|
||||
```
|
||||
|
||||
Aby uczynić to trwałym, dodaj to do swojego profilu PowerShell.
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
Popular editor options include:
|
||||
|
||||
- `code` - Visual Studio Code
|
||||
- `cursor` - Cursor
|
||||
- `windsurf` - Windsurf
|
||||
- `nvim` - Neovim editor
|
||||
- `vim` - Vim editor
|
||||
- `nano` - Nano editor
|
||||
- `notepad` - Windows Notepad
|
||||
- `subl` - Sublime Text
|
||||
|
||||
:::note
|
||||
Niektóre edytory, takie jak VS Code, należy uruchamiać z flagą `--wait`.
|
||||
:::
|
||||
|
||||
Niektórzy redaktorzy potrzebują argumentów wiersza poleceń, aby działać w trybie blokowania. Flaga `--wait` blokuje proces edytora aż do jego zamknięcia.
|
||||
|
||||
---
|
||||
|
||||
## Skonfiguruj
|
||||
|
||||
Możesz dostosować zachowanie TUI za pomocą pliku konfiguracyjnego OpenCode.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"tui": {
|
||||
"scroll_speed": 3,
|
||||
"scroll_acceleration": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
- `scroll_acceleration` — Włącz przyspieszenie przewijania w stylu macOS, aby zapewnić płynne, naturalne przewijanie. Po włączeniu prędkość przewijania wzrasta wraz z szybkimi gestami przewijania i pozostaje precyzyjna w przypadku wolniejszych ruchów. **To ustawienie ma pierwszeństwo przed `scroll_speed` i zastępuje je, gdy jest włączone.**
|
||||
- `scroll_speed` - Kontroluje szybkość przewijania TUI podczas korzystania z poleceń przewijania (minimum: `1`). Wartość domyślna to `3`. **Uwaga: jest to ignorowane, jeśli `scroll_acceleration.enabled` jest ustawione na `true`.**
|
||||
|
||||
---
|
||||
|
||||
## Customization
|
||||
|
||||
Za pomocą palety poleceń (`ctrl+x h` lub `/help`) można dostosować różne aspekty widoku TUI. Te ustawienia są zachowywane po ponownym uruchomieniu.
|
||||
|
||||
---
|
||||
|
||||
#### Username display
|
||||
|
||||
Włącz lub wyłącz wyświetlanie Twojej nazwy użytkownika w wiadomościach na czacie. Dostęp do tego poprzez:
|
||||
|
||||
- Paleta poleceń: Wyszukaj „nazwę użytkownika” lub „ukryj nazwę użytkownika”
|
||||
- Ustawienie zostanie zapamiętane automatycznie i będzie pamiętane podczas sesji TUI
|
||||
142
packages/web/src/content/docs/pl/web.mdx
Normal file
142
packages/web/src/content/docs/pl/web.mdx
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
title: Web
|
||||
description: Korzystanie z OpenCode w przeglądarce.
|
||||
---
|
||||
|
||||
OpenCode może działać jako aplikacja internetowa w przeglądarce, zapewniając takie same możliwości kodowania AI bez konieczności korzystania z terminala.
|
||||
|
||||

|
||||
|
||||
## Getting Started
|
||||
|
||||
Uruchom interfejs sieciowy, uruchamiając:
|
||||
|
||||
```bash
|
||||
opencode web
|
||||
```
|
||||
|
||||
Spowoduje to uruchomienie lokalnego serwera na `127.0.0.1` z losowo dostępnym portem i automatyczne otwarcie OpenCode w domyślnej przeglądarce.
|
||||
|
||||
:::caution
|
||||
Jeśli `OPENCODE_SERVER_PASSWORD` nie jest ustawione, serwer będzie niezabezpieczony. Jest to dobre rozwiązanie do użytku lokalnego, ale powinno być ustawione na dostęp do sieci.
|
||||
:::
|
||||
|
||||
:::tip[Windows Users]
|
||||
Aby uzyskać najlepsze wyniki, uruchom `opencode web` z [WSL](/docs/windows-wsl) zamiast programu PowerShell. Zapewnia to prawidłowy dostęp do systemu plików i integrację terminala.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Configuration
|
||||
|
||||
Możesz skonfigurować serwer WWW za pomocą flag wiersza poleceń lub w [pliku konfiguracyjnym] (./config).
|
||||
|
||||
### Port
|
||||
|
||||
Domyślnie OpenCode wybiera dostępny port. Możesz określić port:
|
||||
|
||||
```bash
|
||||
opencode web --port 4096
|
||||
```
|
||||
|
||||
### Hostname
|
||||
|
||||
Domyślnie serwer łączy się z `127.0.0.1` (tylko localhost). Aby udostępnić OpenCode w swojej sieci:
|
||||
|
||||
```bash
|
||||
opencode web --hostname 0.0.0.0
|
||||
```
|
||||
|
||||
Podczas korzystania z `0.0.0.0` OpenCode wyświetli zarówno adresy lokalne, jak i sieciowe:
|
||||
|
||||
```
|
||||
Local access: http://localhost:4096
|
||||
Network access: http://192.168.1.100:4096
|
||||
```
|
||||
|
||||
### mDNS Discovery
|
||||
|
||||
Włącz mDNS, aby Twój serwer był wykrywalny w sieci lokalnej:
|
||||
|
||||
```bash
|
||||
opencode web --mdns
|
||||
```
|
||||
|
||||
To automatycznie ustawia nazwę hosta na `0.0.0.0` i anonsuje serwer jako `opencode.local`.
|
||||
|
||||
Możesz dostosować nazwę domeny mDNS, aby uruchamiała wiele instancji w tej samej sieci:
|
||||
|
||||
```bash
|
||||
opencode web --mdns --mdns-domain myproject.local
|
||||
```
|
||||
|
||||
### CORS
|
||||
|
||||
Aby zezwolić na dodatkowe domeny dla CORS (przydatne w przypadku niestandardowych interfejsów):
|
||||
|
||||
```bash
|
||||
opencode web --cors https://example.com
|
||||
```
|
||||
|
||||
### Authentication
|
||||
|
||||
Aby chronić dostęp, ustaw hasło za pomocą zmiennej środowiskowej `OPENCODE_SERVER_PASSWORD`:
|
||||
|
||||
```bash
|
||||
OPENCODE_SERVER_PASSWORD=secret opencode web
|
||||
```
|
||||
|
||||
Domyślna nazwa użytkownika to `opencode`, ale można ją zmienić za pomocą `OPENCODE_SERVER_USERNAME`.
|
||||
|
||||
---
|
||||
|
||||
## Korzystanie z interfejsu internetowego
|
||||
|
||||
Po uruchomieniu interfejs sieciowy zapewnia dostęp do sesji OpenCode.
|
||||
|
||||
### Sessions
|
||||
|
||||
Przeglądaj sesje i zarządzaj nimi ze strony głównej. Możesz zobaczyć aktywne sesje i rozpocząć nowe.
|
||||
|
||||

|
||||
|
||||
### Stan serwera
|
||||
|
||||
Kliknij „Zobacz serwery”, aby wyświetlić podłączone serwery i ich status.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Attaching a Terminal
|
||||
|
||||
Możesz podłączyć terminal TUI do działającego serwera WWW:
|
||||
|
||||
```bash
|
||||
# Start the web server
|
||||
opencode web --port 4096
|
||||
|
||||
# In another terminal, attach the TUI
|
||||
opencode attach http://localhost:4096
|
||||
```
|
||||
|
||||
Umożliwia to jednoczesne korzystanie z interfejsu sieciowego i terminala, współdzieląc te same sesje i stan.
|
||||
|
||||
---
|
||||
|
||||
## Config File
|
||||
|
||||
Możesz także skonfigurować ustawienia serwera w pliku konfiguracyjnym `opencode.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"server": {
|
||||
"port": 4096,
|
||||
"hostname": "0.0.0.0",
|
||||
"mdns": true,
|
||||
"cors": ["https://example.com"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Flagi wiersza poleceń mają pierwszeństwo przed ustawieniami pliku konfiguracyjnego.
|
||||
113
packages/web/src/content/docs/pl/windows-wsl.mdx
Normal file
113
packages/web/src/content/docs/pl/windows-wsl.mdx
Normal file
@@ -0,0 +1,113 @@
|
||||
---
|
||||
title: Windows (WSL)
|
||||
description: Uruchamiaj OpenCode na Windows z WSL dla najlepszych efektow.
|
||||
---
|
||||
|
||||
import { Steps } from "@astrojs/starlight/components"
|
||||
|
||||
Chociaz OpenCode moze dzialac bezposrednio na Windows, dla najlepszych rezultatow zalecamy [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install). WSL zapewnia srodowisko Linuksa, ktore bardzo dobrze wspolpracuje z funkcjami OpenCode.
|
||||
|
||||
:::tip[Dlaczego WSL?]
|
||||
WSL oferuje lepsza wydajnosc systemu plikow, pelna obsluge terminala i zgodnosc z narzedziami developerskimi, na ktorych opiera sie OpenCode.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Konfiguracja
|
||||
|
||||
<Steps>
|
||||
|
||||
1. **Zainstaluj WSL**
|
||||
|
||||
Jesli jeszcze tego nie zrobiles, [zainstaluj WSL](https://learn.microsoft.com/en-us/windows/wsl/install) wedlug oficjalnego przewodnika Microsoft.
|
||||
|
||||
2. **Zainstaluj OpenCode w WSL**
|
||||
|
||||
Po skonfigurowaniu WSL otworz terminal WSL i zainstaluj OpenCode jedna z [metod instalacji](/docs/).
|
||||
|
||||
```bash
|
||||
curl -fsSL https://opencode.ai/install | bash
|
||||
```
|
||||
|
||||
3. **Korzystaj z OpenCode przez WSL**
|
||||
|
||||
Przejdz do katalogu projektu (pliki Windows sa dostepne przez `/mnt/c/`, `/mnt/d/` itd.) i uruchom OpenCode.
|
||||
|
||||
```bash
|
||||
cd /mnt/c/Users/YourName/project
|
||||
opencode
|
||||
```
|
||||
|
||||
</Steps>
|
||||
|
||||
---
|
||||
|
||||
## Aplikacja desktopowa + serwer WSL
|
||||
|
||||
Jesli wolisz aplikacje desktopowa OpenCode, ale chcesz uruchamiac serwer w WSL:
|
||||
|
||||
1. **Uruchom serwer w WSL** z `--hostname 0.0.0.0`, aby zezwolic na polaczenia zewnetrzne:
|
||||
|
||||
```bash
|
||||
opencode serve --hostname 0.0.0.0 --port 4096
|
||||
```
|
||||
|
||||
2. **Polacz aplikacje desktopowa** z `http://localhost:4096`
|
||||
|
||||
:::note
|
||||
Jesli `localhost` nie dziala w Twojej konfiguracji, polacz sie przez adres IP WSL (w WSL: `hostname -I`) i uzyj `http://<wsl-ip>:4096`.
|
||||
:::
|
||||
|
||||
:::caution
|
||||
Przy uzyciu `--hostname 0.0.0.0` ustaw `OPENCODE_SERVER_PASSWORD`, aby zabezpieczyc serwer.
|
||||
|
||||
```bash
|
||||
OPENCODE_SERVER_PASSWORD=your-password opencode serve --hostname 0.0.0.0
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Klient web + WSL
|
||||
|
||||
Dla najlepszej pracy w przegladarce na Windows:
|
||||
|
||||
1. **Uruchamiaj `opencode web` w terminalu WSL**, a nie w PowerShell:
|
||||
|
||||
```bash
|
||||
opencode web --hostname 0.0.0.0
|
||||
```
|
||||
|
||||
2. **Otworz w przegladarce Windows** pod adresem `http://localhost:<port>` (OpenCode wypisze URL)
|
||||
|
||||
Uruchamianie `opencode web` z WSL zapewnia poprawny dostep do systemu plikow i integracje z terminalem, a nadal pozostaje dostepne z przegladarki Windows.
|
||||
|
||||
---
|
||||
|
||||
## Dostep do plikow Windows
|
||||
|
||||
WSL moze uzyskac dostep do wszystkich plikow Windows przez katalog `/mnt/`:
|
||||
|
||||
- Dysk `C:` → `/mnt/c/`
|
||||
- Dysk `D:` → `/mnt/d/`
|
||||
- I tak dalej...
|
||||
|
||||
Przyklad:
|
||||
|
||||
```bash
|
||||
cd /mnt/c/Users/YourName/Documents/project
|
||||
opencode
|
||||
```
|
||||
|
||||
:::tip
|
||||
Aby uzyskac najplynniejsza prace, rozwaz sklonowanie/skopiowanie repozytorium do systemu plikow WSL (np. do `~/code/`) i uruchamianie tam OpenCode.
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Wskazowki
|
||||
|
||||
- Uruchamiaj OpenCode w WSL dla projektow zapisanych na dyskach Windows - dostep do plikow jest bezproblemowy
|
||||
- Uzywaj [rozszerzenia WSL dla VS Code](https://code.visualstudio.com/docs/remote/wsl) razem z OpenCode, aby miec zintegrowany workflow
|
||||
- Konfiguracja OpenCode i sesje sa przechowywane w srodowisku WSL pod `~/.local/share/opencode/`
|
||||
254
packages/web/src/content/docs/pl/zen.mdx
Normal file
254
packages/web/src/content/docs/pl/zen.mdx
Normal file
@@ -0,0 +1,254 @@
|
||||
---
|
||||
title: Zen
|
||||
description: Wyselekcjonowana lista modeli dostarczonych przez OpenCode.
|
||||
---
|
||||
|
||||
import config from "../../../../config.mjs"
|
||||
export const console = config.console
|
||||
export const email = `mailto:${config.email}`
|
||||
|
||||
OpenCode Zen to lista przetestowanych i zweryfikowanych modeli udostępniona przez zespół OpenCode.
|
||||
|
||||
:::note
|
||||
OpenCode Zen is currently in beta.
|
||||
:::
|
||||
|
||||
Zen działa jak każdy inny dostawca OpenCode. Logujesz się do OpenCode Zen i dostajesz
|
||||
Twój klucz API. Jest **całkowicie opcjonalny** i nie musisz go używać, aby z niego korzystać
|
||||
OpenCode.
|
||||
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
There are a large number of models out there but only a few of
|
||||
these models work well as coding agents. Additionally, most providers are
|
||||
skonfigurowany bardzo różnie; więc otrzymujesz zupełnie inną wydajność i jakość.
|
||||
|
||||
:::tip
|
||||
Przetestowaliśmy wybraną grupę modeli i dostawców, którzy dobrze współpracują z OpenCode.
|
||||
:::
|
||||
|
||||
Jeśli więc używasz modelu za pośrednictwem czegoś takiego jak OpenRouter, nigdy nie będzie to możliwe
|
||||
pewien, czy otrzymujesz najlepszą wersję modelu, jaki chcesz.
|
||||
|
||||
Aby to naprawić, zrobiliśmy kilka rzeczy:
|
||||
|
||||
1. Przetestowaliśmy wybraną grupę modeli i rozmawialiśmy z ich zespołami o tym, jak to zrobić
|
||||
najlepiej je uruchom.
|
||||
2. Następnie współpracowaliśmy z kilkoma dostawcami, aby upewnić się, że są one obsługiwane
|
||||
correctly.
|
||||
3. Na koniec porównaliśmy kombinację modelu/dostawcy i otrzymaliśmy wynik
|
||||
z listą, którą z przyjemnością polecamy.
|
||||
|
||||
OpenCode Zen to brama AI, która zapewnia dostęp do tych modeli.
|
||||
|
||||
---
|
||||
|
||||
## How it works
|
||||
|
||||
OpenCode Zen działa jak każdy inny dostawca OpenCode.
|
||||
|
||||
1. Logujesz się do **<a href={console}>OpenCode Zen</a>**, dodajesz swoje rozliczenia
|
||||
szczegóły i skopiuj klucz API.
|
||||
2. Uruchamiasz polecenie `/connect` w TUI, wybierasz OpenCode Zen i wklejasz klucz API.
|
||||
3. Uruchom `/models` w TUI, aby zobaczyć listę zalecanych przez nas modeli.
|
||||
|
||||
Opłata jest pobierana za każde żądanie i możesz dodać kredyty do swojego konta.
|
||||
|
||||
---
|
||||
|
||||
## Endpoints
|
||||
|
||||
Dostęp do naszych modeli można również uzyskać za pośrednictwem następujących punktów końcowych interfejsu API.
|
||||
|
||||
| Modelka | Identyfikator modelu | Punkt końcowy | Pakiet SDK AI |
|
||||
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
|
||||
| GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.2 Codex | gpt-5.2-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 Codex | gpt-5.1-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 Codex Max | gpt-5.1-codex-max | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5.1 Codex Mini | gpt-5.1-codex-mini | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5 | gpt-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5 Codex | gpt-5-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| GPT 5 Nano | gpt-5-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
|
||||
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| Gemini 3 Pro | gemini-3-pro | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
|
||||
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
|
||||
| MiniMax M2.1 | minimax-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| MiniMax M2.1 Free | minimax-m2.1-free | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
|
||||
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 4.7 Free | glm-4.7-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2.5 Free | kimi-k2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2 Thinking | kimi-k2-thinking | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Kimi K2 | kimi-k2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Qwen3 Coder 480B | qwen3-coder | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
|
||||
|
||||
[Identyfikator modelu](/docs/config/#models) w konfiguracji OpenCode
|
||||
używa formatu `opencode/<model-id>`. Na przykład w przypadku Kodeksu GPT 5.2 zrobiłbyś to
|
||||
użyj `opencode/gpt-5.2-codex` w swojej konfiguracji.
|
||||
|
||||
---
|
||||
|
||||
### Models
|
||||
|
||||
Pełną listę dostępnych modeli i ich metadane możesz pobrać z:
|
||||
|
||||
```
|
||||
https://opencode.ai/zen/v1/models
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Pricing
|
||||
|
||||
Wspieramy model pay-as-you-go. Poniżej znajdują się ceny **za 1M tokenów**.
|
||||
|
||||
| Modelka | Wejście | Wyjście | Odczyt w pamięci podręcznej | Zapis w pamięci podręcznej |
|
||||
| --------------------------------- | ------ | ------ | ----------- | ------------ |
|
||||
| Big Pickle | Free | Free | Free | - |
|
||||
| MiniMax M2.1 Free | Free | Free | Free | - |
|
||||
| MiniMax M2.1 | $0.30 | $1.20 | $0.10 | - |
|
||||
| GLM 4.7 Free | Free | Free | Free | - |
|
||||
| GLM 4.7 | $0.60 | $2.20 | $0.10 | - |
|
||||
| GLM 4.6 | $0.60 | $2.20 | $0.10 | - |
|
||||
| Kimi K2.5 Free | Free | Free | Free | - |
|
||||
| Kimi K2.5 | $0.60 | $3.00 | $0.08 | - |
|
||||
| Kimi K2 Thinking | $0.40 | $2.50 | - | - |
|
||||
| Kimi K2 | $0.40 | $2.50 | - | - |
|
||||
| Qwen3 Coder 480B | $0.45 | $1.50 | - | - |
|
||||
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
|
||||
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
|
||||
| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
|
||||
| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
|
||||
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
|
||||
| Claude Haiku 3.5 | $0.80 | $4.00 | $0.08 | $1.00 |
|
||||
| Claude Opus 4.6 (≤ 200K tokens) | $5.00 | $25.00 | $0.50 | $6.25 |
|
||||
| Claude Opus 4.6 (> 200K tokens) | $10.00 | $37.50 | $1.00 | $12.50 |
|
||||
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
|
||||
| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
|
||||
| Gemini 3 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
|
||||
| Gemini 3 Pro (> 200K tokens) | $4.00 | $18.00 | $0.40 | - |
|
||||
| Gemini 3 Flash | $0.50 | $3.00 | $0.05 | - |
|
||||
| GPT 5.2 | $1.75 | $14.00 | $0.175 | - |
|
||||
| GPT 5.2 Codex | $1.75 | $14.00 | $0.175 | - |
|
||||
| GPT 5.1 | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5.1 Codex | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5.1 Codex Max | $1.25 | $10.00 | $0.125 | - |
|
||||
| GPT 5.1 Codex Mini | $0.25 | $2.00 | $0.025 | - |
|
||||
| GPT 5 | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5 Codex | $1.07 | $8.50 | $0.107 | - |
|
||||
| GPT 5 Nano | Free | Free | Free | - |
|
||||
|
||||
Możesz zauważyć _Claude Haiku 3.5_ w swojej historii użytkowania. To jest [model niskokosztowy](/docs/config/#models), który służy do generowania tytułów sesji.
|
||||
|
||||
:::note
|
||||
Opłaty za karty kredytowe są przenoszone na koszt (4,4% + 0,30 USD za transakcję); nie pobieramy żadnych dodatkowych opłat.
|
||||
:::
|
||||
|
||||
Darmowe modele:
|
||||
|
||||
- GLM 4.7 Free jest dostępny na platformie OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas na zbieranie opinii i ulepszanie modelu.
|
||||
- Kimi K2.5 Free jest dostępny na OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas na zbieranie opinii i ulepszanie modelu.
|
||||
- MiniMax M2.1 Free jest dostępny na platformie OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas na zbieranie opinii i ulepszanie modelu.
|
||||
- Big Pickle to ukryty model, który jest bezpłatny w OpenCode przez ograniczony czas. Zespół wykorzystuje ten czas na zbieranie opinii i ulepszanie modelu.
|
||||
|
||||
<a href={email}>Skontaktuj się z nami</a>, jeśli masz jakieś pytania.
|
||||
|
||||
---
|
||||
|
||||
### Auto-reload
|
||||
|
||||
Jeśli Twoje saldo spadnie poniżej 5 USD, Zen automatycznie doładuje 20 USD.
|
||||
|
||||
Możesz zmienić kwotę automatycznego doładowania. Możesz także całkowicie wyłączyć automatyczne przeładowywanie.
|
||||
|
||||
---
|
||||
|
||||
### Monthly limits
|
||||
|
||||
Możesz także ustawić miesięczny limit wykorzystania dla całego obszaru roboczego i dla każdego z nich
|
||||
członek Twojego zespołu.
|
||||
|
||||
Załóżmy na przykład, że ustawiłeś miesięczny limit użytkowania na 20 USD, Zen nie będzie z niego korzystał
|
||||
ponad 20 dolarów miesięcznie. Ale jeśli masz włączone automatyczne przeładowywanie, Zen może się skończyć
|
||||
obciąży Cię kwotą wyższą niż 20 USD, jeśli saldo spadnie poniżej 5 USD.
|
||||
|
||||
---
|
||||
|
||||
## Privacy
|
||||
|
||||
Wszystkie nasze modele są hostowane w USA. Nasi dostawcy przestrzegają polityki zerowego przechowywania i nie wykorzystują Twoich danych do szkolenia modeli, z następującymi wyjątkami:
|
||||
|
||||
- Big Pickle: W okresie bezpłatnym zebrane dane mogą zostać wykorzystane do udoskonalenia modelu.
|
||||
- GLM 4.7 Bezpłatna: W okresie bezpłatnym zebrane dane mogą zostać wykorzystane do udoskonalenia modelu.
|
||||
- Kimi K2.5 Free: W okresie bezpłatnym zebrane dane mogą zostać wykorzystane do udoskonalenia modelu.
|
||||
- MiniMax M2.1 Free: W okresie bezpłatnym zebrane dane mogą zostać wykorzystane do udoskonalenia modelu.
|
||||
- Interfejsy API OpenAI: żądania są przechowywane przez 30 dni zgodnie z [Zasadami dotyczącymi danych OpenAI](https://platform.openai.com/docs/guides/your-data).
|
||||
- Interfejsy API Anthropic: żądania są przechowywane przez 30 dni zgodnie z [Zasadami dotyczącymi danych firmy Anthropic] (https://docs.anthropic.com/en/docs/claude-code/data-usage).
|
||||
|
||||
---
|
||||
|
||||
## Dla zespołów
|
||||
|
||||
Zen świetnie sprawdza się także w zespołach. Możesz zapraszać członków zespołu, przypisywać role, zarządzać
|
||||
modele, z których korzysta Twój zespół i nie tylko.
|
||||
|
||||
:::note
|
||||
Obszary robocze są obecnie bezpłatne dla zespołów w ramach wersji beta.
|
||||
:::
|
||||
|
||||
Zarządzanie obszarem roboczym jest obecnie bezpłatne dla zespołów w ramach wersji beta. Będziemy
|
||||
wkrótce udostępnimy więcej szczegółów na temat cen.
|
||||
|
||||
---
|
||||
|
||||
### Roles
|
||||
|
||||
Możesz zapraszać członków zespołu do swojego obszaru roboczego i przypisywać role:
|
||||
|
||||
- **Administrator**: Zarządzaj modelami, członkami, kluczami API i rozliczeniami
|
||||
- **Członek**: Zarządzaj tylko własnymi kluczami API
|
||||
|
||||
Administratorzy mogą także ustawić miesięczne limity wydatków dla każdego członka, aby utrzymać koszty pod kontrolą.
|
||||
|
||||
---
|
||||
|
||||
### Dostęp do modelu
|
||||
|
||||
Administratorzy mogą włączać i wyłączać określone modele w obszarze roboczym. Żądania skierowane do wyłączonego modelu zwrócą błąd.
|
||||
|
||||
Jest to przydatne w przypadkach, gdy chcesz wyłączyć korzystanie z modelu, który
|
||||
collects data.
|
||||
|
||||
---
|
||||
|
||||
### Przynieś swój własny klucz
|
||||
|
||||
Możesz używać własnych kluczy OpenAI lub Anthropic API, jednocześnie uzyskując dostęp do innych modeli w Zen.
|
||||
|
||||
Kiedy używasz własnych kluczy, tokeny są rozliczane bezpośrednio przez dostawcę, a nie przez Zen.
|
||||
|
||||
Na przykład Twoja organizacja może już mieć klucz do OpenAI lub Anthropic
|
||||
i chcesz go używać zamiast tego, który zapewnia Zen.
|
||||
|
||||
---
|
||||
|
||||
## Goals
|
||||
|
||||
We created OpenCode Zen to:
|
||||
|
||||
1. **Benchmark** najlepsze modele/dostawcy dla agentów kodujących.
|
||||
2. Miej dostęp do opcji **najwyższej jakości**, a nie obniżaj wydajności ani nie kieruj się do tańszych dostawców.
|
||||
3. Przekaż wszelkie **obniżki cen**, sprzedając po kosztach; więc jedyną marżą jest pokrycie naszych opłat manipulacyjnych.
|
||||
4. Nie **nie blokuj**, umożliwiając używanie go z dowolnym innym agentem kodującym. I zawsze pozwalaj na korzystanie z OpenCode dowolnego innego dostawcy.
|
||||
Reference in New Issue
Block a user