mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-19 23:24:42 +00:00
chore: generate
This commit is contained in:
@@ -5,17 +5,23 @@ description: Kontrolirajte koje radnje zahtijevaju odobrenje za pokretanje.
|
||||
|
||||
OpenCode koristi `permission` konfiguraciju da odluči da li će se određena radnja pokrenuti automatski, zatražiti od vas ili biti blokirana.
|
||||
Od `v1.1.1`, naslijeđena `tools` logička konfiguracija je zastarjela i spojena je u `permission`. Stara `tools` konfiguracija je još uvijek podržana za kompatibilnost unatrag.
|
||||
|
||||
---
|
||||
|
||||
## Akcije
|
||||
|
||||
Svako pravilo dozvole rješava jedno od:
|
||||
|
||||
- `"allow"` — pokrenuti bez odobrenja
|
||||
- `"ask"` — upit za odobrenje
|
||||
- `"deny"` — blokiraj akciju
|
||||
|
||||
---
|
||||
|
||||
## Konfiguracija
|
||||
|
||||
Dozvole možete postaviti globalno (sa `*`) i nadjačati određene alate.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -28,6 +34,7 @@ Dozvole možete postaviti globalno (sa `*`) i nadjačati određene alate.
|
||||
```
|
||||
|
||||
Također možete postaviti sve dozvole odjednom:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -38,7 +45,9 @@ Također možete postaviti sve dozvole odjednom:
|
||||
---
|
||||
|
||||
## Granularna pravila (sintaksa objekta)
|
||||
|
||||
Za većinu dozvola, možete koristiti objekt za primjenu različitih radnji na osnovu unosa alata.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -58,21 +67,30 @@ Za većinu dozvola, možete koristiti objekt za primjenu različitih radnji na o
|
||||
}
|
||||
```
|
||||
|
||||
Pravila se procjenjuju na osnovu podudaranja uzorka, pri čemu **pobjeđuje **poslednje odgovarajuće pravilo**. Uobičajeni obrazac je da se prvo pravilo `"*"` stavi sveobuhvatno, a poslije njega konkretnija pravila.
|
||||
Pravila se procjenjuju na osnovu podudaranja uzorka, pri čemu **pobjeđuje **poslednje odgovarajuće pravilo\*_. Uobičajeni obrazac je da se prvo pravilo `"_"` stavi sveobuhvatno, a poslije njega konkretnija pravila.
|
||||
|
||||
### Zamjenski znakovi
|
||||
|
||||
Uzorci dozvola koriste jednostavno podudaranje zamjenskih znakova:
|
||||
|
||||
- `*` odgovara nula ili više bilo kojeg znaka
|
||||
- `?` odgovara tačno jednom znaku
|
||||
- Svi ostali likovi se bukvalno podudaraju
|
||||
|
||||
### Proširenje kućnog imenika
|
||||
|
||||
Možete koristiti `~` ili `$HOME` na početku obrasca da referencirate svoj početni direktorij. Ovo je posebno korisno za [`external_directory`](#external-directories) pravila.
|
||||
|
||||
- `~/projects/*` -> `/Users/username/projects/*`
|
||||
- `$HOME/projects/*` -> `/Users/username/projects/*`
|
||||
- `~` -> `/Users/username`
|
||||
|
||||
### Vanjski imenici
|
||||
|
||||
Koristite `external_directory` da dozvolite pozive alata koji dodiruju putanje izvan radnog direktorija gdje je OpenCode pokrenut. Ovo se odnosi na bilo koji alat koji uzima putanju kao ulaz (na primjer `read`, `edit`, `list`, `glob`, `grep` i mnoge `bash` komande).
|
||||
Proširenje kuće (poput `~/...`) utiče samo na način na koji je obrazac napisan. Ne čini vanjsku stazu dijelom trenutnog radnog prostora, tako da staze izvan radnog direktorija i dalje moraju biti dozvoljene preko `external_directory`.
|
||||
Na primjer, ovo omogućava pristup svemu pod `~/projects/personal/`:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -85,6 +103,7 @@ Na primjer, ovo omogućava pristup svemu pod `~/projects/personal/`:
|
||||
```
|
||||
|
||||
Svaki direktorij koji je ovdje dozvoljen nasljeđuje iste zadane postavke kao trenutni radni prostor. Pošto je [`read` zadano na `allow`](#defaults), čitanje je također dozvoljeno za unose pod `external_directory` osim ako se ne poništi. Dodajte eksplicitna pravila kada bi alat trebao biti ograničen na ovim stazama, kao što je blokiranje uređivanja uz zadržavanje čitanja:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
@@ -99,11 +118,12 @@ Svaki direktorij koji je ovdje dozvoljen nasljeđuje iste zadane postavke kao tr
|
||||
}
|
||||
```
|
||||
|
||||
Neka lista bude fokusirana na pouzdane staze, a dodatni sloj dozvoljava ili odbija pravila prema potrebi za druge alate (na primjer `bash`).
|
||||
---
|
||||
## Neka lista bude fokusirana na pouzdane staze, a dodatni sloj dozvoljava ili odbija pravila prema potrebi za druge alate (na primjer `bash`).
|
||||
|
||||
## Dostupne dozvole
|
||||
|
||||
Dozvole OpenCode-a su označene imenom alata, plus nekoliko sigurnosnih mjera:
|
||||
|
||||
- `read` — čitanje datoteke (odgovara putanji datoteke)
|
||||
- `edit` — sve izmjene fajlova (pokriva `edit`, `write`, `patch`, `multiedit`)
|
||||
- `glob` — globbiranje fajla (odgovara glob uzorku)
|
||||
@@ -118,13 +138,17 @@ Dozvole OpenCode-a su označene imenom alata, plus nekoliko sigurnosnih mjera:
|
||||
- `websearch`, `codesearch` — pretraživanje weba/koda (odgovara upitu)
|
||||
- `external_directory` — pokreće se kada alat dodirne staze izvan radnog direktorija projekta
|
||||
- `doom_loop` — aktivira se kada se isti poziv alata ponovi 3 puta sa identičnim unosom
|
||||
|
||||
---
|
||||
|
||||
## Defaults
|
||||
|
||||
Ako ništa ne navedete, OpenCode počinje od dozvoljenih zadanih vrijednosti:
|
||||
|
||||
- Većina dozvola je zadana na `"allow"`.
|
||||
- `doom_loop` i `external_directory` zadano na `"ask"`.
|
||||
- `read` je `"allow"`, ali `.env` fajlovi su po defaultu odbijeni:
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"permission": {
|
||||
@@ -141,14 +165,18 @@ Ako ništa ne navedete, OpenCode počinje od dozvoljenih zadanih vrijednosti:
|
||||
---
|
||||
|
||||
## Šta radi “Ask”.
|
||||
|
||||
Kada OpenCode zatraži odobrenje, korisničko sučelje nudi tri ishoda:
|
||||
|
||||
- `once` — odobri samo ovaj zahtjev
|
||||
- `always` — odobri buduće zahtjeve koji odgovaraju predloženim obrascima (za ostatak trenutne OpenCode sesije)
|
||||
- `reject` — odbiti zahtjev
|
||||
Skup obrazaca koje bi `always` odobrio pruža alat (na primjer, bash odobrenja obično stavljaju na bijelu listu sigurni prefiks komande kao što je `git status*`).
|
||||
Skup obrazaca koje bi `always` odobrio pruža alat (na primjer, bash odobrenja obično stavljaju na bijelu listu sigurni prefiks komande kao što je `git status*`).
|
||||
|
||||
---
|
||||
|
||||
## Agenti
|
||||
|
||||
Možete nadjačati dozvole po agentu. Dozvole agenta su spojene sa globalnom konfiguracijom, a pravila agenta imaju prednost. [Saznajte više](/docs/agents#permissions) o dozvolama agenta.
|
||||
:::napomena
|
||||
Pogledajte gornji odjeljak [Granularna pravila (sintaksa objekata)](#granular-rules-object-syntax) za detaljnije primjere podudaranja uzoraka.
|
||||
@@ -183,6 +211,7 @@ Pogledajte gornji odjeljak [Granularna pravila (sintaksa objekata)](#granular-ru
|
||||
```
|
||||
|
||||
Također možete konfigurirati dozvole agenta u Markdownu:
|
||||
|
||||
```markdown title="~/.config/opencode/agents/review.md"
|
||||
---
|
||||
description: Code review without edits
|
||||
|
||||
Reference in New Issue
Block a user