# Kimi Code Never Ask: režimai ir pavojingos komandos

> Veikiant Never Ask režimui, Kimi Code vykdo rm -rf ir shutdown komandas neatsiklausęs. Kuo skiriasi 3 režimai ir kaip uždrausti pavojingą komandą faile config.toml?

Source: https://ailoot.ai/blog/lt/kimi-code-never-ask-mode/
Canonical: https://ailoot.ai/blog/lt/kimi-code-never-ask-mode/
Language: lt
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-162
Revision: sha256-c5f6bd2bb14ad2f6bccb256ddf680565b363b8fea3c0292281f64e4a70edbb78


Kimi Code režime Never Ask (`/auto`) viskas patvirtinama automatiškai: komandos `rm -rf`, `shutdown` ir `reboot` įvykdomos nė karto nepaklausus. Agentas prieš šias komandas paklausia tik dviem kitais režimais: Always Ask ir Ask When Needed.

Pats dirbu su Claude Code įjungęs „allow everything“; antraip sėdėtume ir spaudinėtume: taip, taip, taip. Tačiau kas dešimtą kartą agentas padaro savaip.

Net asmeninis prototipas gali atskleisti vertingus failus ir prisijungimo duomenis. Naudokite izoliuotą kopiją ar konteinerį su ribotomis teisėmis ir patikrinta atsargine kopija; klientų sistemoms taip pat suteikite agentui atskirą duomenų bazės tapatybę tik su reikalinga prieiga.

Pažiūrėkime, ką daro kiekvienas Kimi Code režimas, kur veikia apsauga ir kaip nustatyti draudimą. Pradėkime.

Informacijos apie naudojimąsi paslauga rasite [Ailoot dokumentacijoje](https://ailoot.ai/docs/).



<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Pagrindinė šios skilties mintis">

Pagrindinė mintis

Kimi Code turi 3 režimus. Always Ask yra numatytasis režimas: failai skaitomi automatiškai, o visa kita patvirtinate po vieną veiksmą. Ask When Needed (`/yolo`) įprastus pakeitimus patvirtina pats, bet prieš atverdamas failus su raktais, vykdydamas pavojingas komandas ar išeidamas iš planavimo režimo paklausia. Never Ask (`/auto`) nieko neklausia, o apsauga nuo pavojingų komandų jame neveikia. Nuolatinį draudimą nustatysite taisykle `deny` faile `~/.kimi-code/config.toml`; geriau neįjungti Never Ask režimo, kai naudojama aktyvi duomenų bazė.

</div>

## Kuo skiriasi 3 Kimi Code režimai?

Jei jau [įdiegėte Kimi Code](https://ailoot.ai/blog/lt/kimi-code-install/), tikriausiai matėte patvirtinimo skydelį: agentas nori redaguoti failą arba paleisti komandą ir laukia jūsų „taip“. Anksčiau režimai vadinosi Manual, YOLO ir Auto, todėl vis dar naudojamos senos komandos: `/yolo` ir `/auto`.

**Always Ask.** Numatytasis režimas. Agentas skaito failus neatsiklausęs, bet kiekvieną pakeitimą ir kiekvieną komandą patvirtinate atskirai. Tai lėčiausias režimas.

**Ask When Needed.** Įjungiamas komanda `/yolo`. Įprastus pakeitimus ir komandas jis patvirtina pats, tačiau prieš atverdamas `.env` failą (kuriame saugomi projekto slaptažodžiai ir raktai) ir serverio SSH raktus, prieš vykdydamas pavojingas komandas, pavyzdžiui, `shutdown` (kompiuterio išjungimas) ir `rm -rf` (viso aplanko ištrynimas apeinant šiukšlinę), taip pat prieš išeidamas iš planavimo režimo, paklausia. Agentas taip pat gali pats jums užduoti klausimą.

**Never Ask.** Įjungiamas komanda `/auto`. Visi veiksmai patvirtinami automatiškai, įskaitant prieigą prie jautrių failų ir išėjimą iš planavimo režimo. Agentas jūsų nieko neklausia ir viską nusprendžia pats.

<figure>
Trijų Kimi Code leidimų režimų lentelė: Always Ask, Ask When Needed, Never Ask
<figcaption>3 leidimų režimai Kimi Code CLI.</figcaption>
</figure>

Planavimo režimas įjungiamas atskirai, paspaudus `Shift-Tab` arba įvedus `/plan`: agentas pirmiausia parengia planą ir laukia jūsų patvirtinimo, o tada imasi failų.

## Kai ir aš dirbu be patvirtinimų

Claude Code programoje „allow everything“ yra mano numatytoji nuostata, įjungiama kiekviename naujame pokalbyje. Be jos vibe coding vyksta per lėtai. Vibe coderis ir taip labai mažai supranta, o tada dar turi nuolat spaudinėti mygtukus: taip, taip, taip, ne, ne, ne.

Tačiau šiuo režimu agentas gali elgtis visiškai neatsargiai ir padaryti bet ką, net ištrinti duomenų bazę. Tada jis pasakys „atsiprašau, labai atsiprašau“, tačiau kartais to, ką jis padarė, jau nebeįmanoma ištaisyti. Taigi šis režimas skirtas drąsuoliams, o atsakomybė tenka jums.

Mano taisyklės tokios. Asmeniniuose projektuose, eksperimentuose ir prototipuose režimą be patvirtinimų naudokite tik izoliuotoje kopijoje ar konteineryje be vertingų failų ir produkcinių prisijungimo duomenų, su ribotomis teisėmis ir atsargine kopija. Klientų nebuvimas neapsaugo asmeninių failų ar raktų, o izoliaciją vis tiek reikia patikrinti. Tačiau jei įjungsite šį režimą tame pačiame projekte, kuris turi prieigą prie gamybinio serverio, agentui pakaks 1 užklausos, kad per naktį ištrintų ten duomenų bazę ir įdiegtų pakeitimus veikiančioje svetainėje.





## Kodėl žodžiais išreikštas draudimas jūsų neišgelbės

Daugelis agento instrukcijose parašo „neliesk duomenų bazės“. Nesitikėkite, kad tai jus išgelbės. Sakote jam: bičiuli, nelįsk čia. Bet jis vis tiek ten eis ir pasiims, ko reikia, kai to prireiks. Ypač kinų Kimi: jis pažeis bet kokį jūsų nustatytą draudimą. Amerikietiški modeliai yra daug geriau išmokyti taip nesielgti.

Kimi vis dar naudoju savo darbe. Kimi K3 labai atidus; naudoju jį, kad patikrinčiau projektus, ar juose nėra nutekėjusių raktų, ir surinkčiau informaciją. Kartą per kelias dienas išnaudojau visus jo limitus. Kimi neišdykauja ir daro viską, ko paprašote. Todėl dirbant su juo reikia izoliacijos. Aprašiau, kaip jį išbandžiau atlikdamas savo užduotis, [čia](https://ailoot.ai/blog/lt/kimi-k3-hands-on-review/).



Jums reikia 2 izoliacijos priemonių:

1.  **Komandų blokavimo sąrašas nustatymuose.** Jis blokuoja atitinkančius įrankių iškvietimus; vienos komandos rašybos šablonas nėra išsami riba prieš kitus įrankius ar lygiaverčius veiksmus. Jį naudokite kartu su operacinės sistemos, konteinerio ir duomenų bazės leidimais.
2.  **Tik skaitymo prieiga prie duomenų bazės.** Aktyvioje duomenų bazėje agentas turi atskirą naudotoją su tik skaitymo teisėmis. Tuomet, net ir veikiant Never Ask režimui, agentas negali ištrinti duomenų bazės.

## Kur veikia apsauga nuo pavojingų komandų

Kimi Code integruotoji apsauga nuo pavojingų komandų įjungta pagal numatytuosius nustatymus. Režimais Always Ask ir Ask When Needed ji prašo patvirtinti komandas `shutdown`, `reboot` (paleisti iš naujo) arba `rm -rf`. Režimu Never Ask šios komandos vykdomos nesustabdžius agento.

Yra 2 išimtys:

- `rm -rf` vykdoma neatsiklausus, jei ištrinamas tik laikinųjų aplankų `/tmp` arba `/temp` turinys (nuo versijos 0.43.0);
- režimu Ask When Needed Kimi Code neklausia dėl terminalo komandų, kurių iš anksto negali išanalizuoti (nuo versijos 2.0.1).

Versijoje 0.40.0 režimas Auto blokavo pavojingas komandas; šis blokavimas pašalintas versijoje 0.41.0.

<figure>
Anksčiau ir dabar: Kimi Code autonominis režimas anksčiau blokuodavo pavojingas komandas, o dabar jų neblokuoja
<figcaption>0.40.0: Auto blokavo pavojingas komandas. 0.41.0: blokavimas buvo pašalintas.</figcaption>
</figure>

Apsaugą galite išjungti nustatę `dangerous_command_guard = false` skiltyje `[permission]` faile `~/.kimi-code/config.toml` arba naudodami kintamąjį `KIMI_CODE_DANGEROUS_COMMAND_GUARD=false`. Kūrėjai rekomenduoja tai daryti tik ten, kur pavojingas komandas jau perima išorinė sistema.

## Kaip nustatyti nuolatinį draudimą Kimi Code

Kai agentas nori ką nors pakeisti, Kimi Code parodo patvirtinimo skydelį:

- **Patvirtinti**: naudokite rodyklių klavišus ir `Enter` arba tiesiog paspauskite `1`, `2` ar `3`;
- **Atmesti**: `Esc`, `Ctrl-C` arba `Ctrl-D`;
- **Patvirtinti šiai sesijai**: tokio paties tipo veiksmas patvirtinamas iki sesijos pabaigos;
- **Nuolatinės taisyklės**: nuolatinė leidimo arba draudimo taisyklė nustatymų faile.

Nuolatinės taisyklės įrašomos į nustatymų failą `~/.kimi-code/config.toml` blokuose `[[permission.rules]]`. Kimi Code jas tikrina eilės tvarka; įsigalioja pirmoji sutapusi taisyklė, todėl draudimus dėkite aukščiau už leidimus. Kiekvienoje taisyklėje yra `decision`: `allow` (iškart leisti), `deny` (iškart uždrausti) arba `ask` (kaskart klausti).

Draudimas vykdyti `rm -rf` ir klausimas prieš bet kurią kitą terminalo komandą:

```toml
[[permission.rules]]
decision = "deny"
pattern = "Bash(rm -rf*)"

[[permission.rules]]
decision = "ask"
pattern = "Bash"
```

Terminalo komandoms šablonas rašomas skliaustuose: `Bash(command-pattern)`; failams skaityti naudojamas `Read(path-pattern)`. MCP įrankius, `AgentSwarm` ir jūsų įrankius galima uždrausti tik nurodžius visus jų pavadinimus.

Jei neišmanote techninių dalykų ir nenorite atverti nustatymų failo, tiesiog įklijuokite agentui toliau pateiktą užklausą: jis pats išsiaiškins, ką reikia apriboti. Tik pirmiausia paprašykite jo pasakyti, kiek tai jus sulėtins. Jei esate įpratę dirbti be patvirtinimų, įvedus draudimus kai kurie dalykai nustos veikti. Štai mano užklausa:

```
Išanalizuok mano projektą ir pasakyk, ar turi prieigą prie gamybinio serverio, bandomosios duomenų bazės ir gamybinių raktų. Jei turi, sukonfigūruok apsaugą nuo pavojingų komandų: uždrausk trinti ištisus aplankus, komandas, kurios negrįžtamai perrašo pakeitimų istoriją, ir tiesiogines komandas gamybinei duomenų bazei. Pirmiausia parodyk planą formatu „prieš – po“ ir sąžiningai pasakyk, kiek tai mane sulėtins.
```

Aprašiau, kaip tą patį sukonfigūruoti Claude Code, [atskirame straipsnyje](https://ailoot.ai/blog/lt/claude-code-safe-overnight-setup/). Taip pat pažiūrėkite, [kaip Claude Code režimas Auto tikrina agento veiksmus](https://ailoot.ai/blog/lt/claude-code-auto-mode-classifier/).

## Kurį režimą pasirinkti

- **Norite matyti kiekvieną agento atliekamą veiksmą:** Always Ask, numatytasis režimas. Patvirtinate viską, išskyrus skaitymą.
- **Asmeninis projektas arba prototipas be tikrų klientų:** pradėkite nuo Always Ask arba Ask When Needed. Never Ask svarstykite tik izoliuotai vienkartinei kopijai su ribotomis teisėmis ir be vertingų duomenų ar raktų; vien klientų nebuvimas nesuteikia saugumo.
- **Projektas su tikrais klientais ir prieiga prie serverio:** neįjunkite Never Ask. Faile `config.toml` nustatykite `deny` draudimus ir suteikite agentui tik skaitymo prieigą prie duomenų bazės.

Taip pat kurkite duomenų bazės atsarginę kopiją kitame kompiuteryje nei projektas. Kitos saugos taisyklės pateiktos [atskirame straipsnyje](https://ailoot.ai/blog/lt/vibe-coding-security/).

Pasirinkite patvirtinimo režimą pagal projekto prieigos leidimus ir patikrinkite, kur reikia nustatyti draudimus.

<div class="section" role="doc-bibliography" aria-label="Šaltiniai">

### Šaltiniai

- [Kimi Code: sąveika ir įvestis](https://moonshotai.github.io/kimi-code/en/g%75ides/interaction.md) — 3 leidimų režimai, `/yolo`, `/auto`, apsauga nuo pavojingų komandų kiekviename režime, patvirtinimo skydelis ir Plan režimas.
- [Kimi Code: konfigūracijos failai](https://moonshotai.github.io/kimi-code/en/configuration/config-files.md) — `[[permission.rules]]`, taisyklių tikrinimo tvarka, `dangerous_command_guard`, `KIMI_CODE_DANGEROUS_COMMAND_GUARD` ir failo `config.toml` vieta.
- [Kimi Code: pakeitimų žurnalas](https://moonshotai.github.io/kimi-code/en/release-notes/changelog.md) — 0.40.0, 0.41.0, 0.43.0 ir 2.0.1 versijos: apsauga nuo pavojingų komandų ir režimų pervadinimas.

</div>





Susipažinkite su [Ailoot](https://ailoot.ai/).

## Klausimai ir atsakymai

### Ar Never Ask saugus vien dėl to, kad mano projektas neturi klientų?

Ne. Agentas vis tiek gali sugadinti asmeninius failus ar atskleisti raktus. Prieš svarstydami režimą be patvirtinimų naudokite ribotas teises, izoliuotą vienkartinę kopiją ar konteinerį ir atsarginę kopiją.

### Ar rm -rf deny taisyklė pakeičia izoliaciją?

Ne. Ji blokuoja atitinkančius įrankių iškvietimus, o ne visus lygiaverčius failų keitimo būdus. Vertingus duomenis ir produkcinius prisijungimo duomenis laikykite agentui nepasiekiamus ir naudokite atskirą duomenų bazės tapatybę tik su užduočiai reikalingomis teisėmis.


## Ailoot · Įmonė ir jos projektų portfelis

Ailoot remiasi sukaupta veiklos patirtimi, plačia klientų baze, stabiliomis paslaugomis ir nuolatine KPI kontrole.

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

Ailoot šią veiklos patirtį pritaiko teikdama API prieigą prie DI funkcijų klientų produktuose, agentuose, programose ir automatizavimo sprendimuose.
