# Kimi Code Never Ask：模式與危險指令

> 在 Never Ask 模式中，Kimi Code 會不經詢問就執行 rm -rf 和 shutdown。3 種模式有什麼不同？如何在 config.toml 中禁止危險指令？

Source: https://ailoot.ai/blog/zh-hant-tw/kimi-code-never-ask-mode/
Canonical: https://ailoot.ai/blog/zh-hant-tw/kimi-code-never-ask-mode/
Language: zh-Hant-TW
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-162
Revision: sha256-2d8dc7c459d8f1ffb7205accbeb30dcb87288cced792340434e53d3fbfdd4589


在 Kimi Code 中，Never Ask 模式（`/auto`）會自動核准所有操作：它會毫不詢問地執行 `rm -rf`、`shutdown` 和 `reboot`。只有另外 2 種模式 Always Ask 和 Ask When Needed，會在執行這些指令前詢問。

我自己在 Claude Code 中會啟用「允許所有操作」；不然我們就得一直坐在那裡按「是、是、是」。但每 10 次總有 1 次，代理會自行其是。

即使個人原型也可能暴露珍貴檔案與憑證。請使用權限受限的隔離副本或容器，並驗證備份；客戶系統也應為代理提供只有必要權限的獨立資料庫身分。這樣一來，就算代理真的想刪除資料庫，也做不到。

接下來看看 Kimi Code 各模式的功能、哪些情況下防護有效，以及如何設定禁止規則。開始吧。

如需瞭解如何使用這項服務，請參閱 [Ailoot 文件](https://ailoot.ai/docs/)。



<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaway for this section">

重點整理

Kimi Code 有 3 種模式。Always Ask 是預設模式：讀取會自動進行，其他所有操作都要逐一確認。Ask When Needed（`/yolo`）會自行核准一般編輯，但在存取含有金鑰的檔案、執行危險指令或離開計畫模式前會先詢問。Never Ask（`/auto`）完全不會詢問，而且無法防護危險指令。你可以在 `~/.kimi-code/config.toml` 中設定 `deny` 規則，永久禁止特定操作；最好不要在連線至正式環境資料庫時啟用 Never Ask。

</div>

## Kimi Code 的 3 種模式有什麼不同？

如果你已經[安裝 Kimi Code](https://ailoot.ai/blog/zh-hant-tw/kimi-code-install/)，應該看過核准面板：代理想編輯檔案或執行指令時，會停下來等你說「是」。這些模式過去稱為 Manual、YOLO 和 Auto，因此目前仍沿用舊指令：`/yolo` 和 `/auto`。

**Always Ask。** 預設模式。代理可以不經詢問讀取檔案，但每次編輯和每條指令都要由你個別確認。這是最慢的模式。

**Ask When Needed。** 使用 `/yolo` 啟用。代理會自行核准一般編輯和指令，但在存取 `.env`（包含專案密碼和金鑰的檔案）及伺服器 SSH 金鑰、執行 `shutdown`（關閉電腦）和 `rm -rf`（略過垃圾桶並刪除整個資料夾）等危險指令，以及離開計畫模式前，會先詢問。代理也可以主動向你提問。

**Never Ask。** 使用 `/auto` 啟用。所有操作都會自動核准，包括存取敏感檔案和離開計畫模式。代理不會問你問題，所有事情都自行決定。

<figure>
Kimi Code 三種權限模式的表格：Always Ask、Ask When Needed、Never Ask
<figcaption>Kimi Code CLI 的 3 種權限模式。</figcaption>
</figure>

計畫模式需另外使用 `Shift-Tab` 或 `/plan` 啟用：代理會先寫下計畫並等你核准，接著才會操作檔案。

## 我自己不要求確認時的工作方式

在 Claude Code 中，我預設會啟用「允許所有操作」，而且每個新對話都會開啟。沒有這個設定，氛圍式編碼就太慢了。氛圍式編碼的人本來就不太懂，還得不停按按鈕：是、是、是、否、否、否。

但在這個模式中，代理什麼魯莽的事都做得出來，包括清空資料庫。之後它會說「抱歉、非常抱歉」，但有時候造成的結果已經無法挽回。因此，這個模式適合無所畏懼的人，責任也由你承擔。

我的規則如下：個人專案、實驗或原型，只有在不含珍貴檔案與正式憑證、權限受限且有備份的隔離副本或容器中，才考慮免確認模式。沒有客戶不會保護你的檔案或金鑰，隔離也必須驗證。但如果你在能存取正式環境伺服器的同一個專案中啟用這個模式，只要 1 個提示詞，就足以讓代理在夜間刪除那裡的資料庫，並將變更部署到正式網站。





## 為什麼用文字下達禁止指示也無法保護你

很多人會在代理的指示中寫上「不要碰資料庫」。別指望這樣就能保護你。你告訴它：「老兄，別進去。」但它還是會進去，並在需要時拿取所需的東西。尤其是中國的 Kimi，會違反你設定的任何禁止規則。美國的模型在受訓時，更懂得避免這種行為。

我工作時仍會使用 Kimi。Kimi K3 很細心；我會用它檢查專案是否洩漏金鑰，也會用它蒐集資訊。有一次，我在幾天內就耗盡了它所有的使用額度。Kimi 不會耍花樣，會照你的要求完成所有事情。這就是為什麼使用它時需要隔離。我在[這裡](https://ailoot.ai/blog/zh-hant-tw/kimi-k3-hands-on-review/)描述了自己如何用實際任務測試它。



你需要 2 種隔離措施：

1.  **在設定中封鎖指令。** 它只阻擋匹配的工具呼叫，單一指令寫法不是能防範其他工具或等效操作的完整邊界；應搭配作業系統、容器與資料庫權限。
2.  **資料庫唯讀存取權限。** 對於正式環境資料庫，為代理建立一個只有唯讀權限的獨立使用者。這樣，即使在 Never Ask 模式中，代理也無法清空資料庫。

## 危險指令的防護在哪些情況下有效

Kimi Code 內建的危險指令防護預設為啟用。在 Always Ask 和 Ask When Needed 模式中，執行 `shutdown`、`reboot`（重新啟動）或 `rm -rf` 前，系統會要求確認。在 Never Ask 模式中，這些指令會直接執行，不會停下來。

有 2 種例外情況：

- 如果 `rm -rf` 只刪除暫存資料夾 `/tmp` 或 `/temp` 的內容，就會不經詢問直接執行（自版本 0.43.0 起）；
- 在 Ask When Needed 模式中，對於無法事先解析的終端機指令，Kimi Code 不會詢問（自版本 2.0.1 起）。

在版本 0.40.0 中，Auto 模式會封鎖危險指令；這項封鎖功能於 0.41.0 移除。

<figure>
之前／現在：Kimi Code 的自動模式以前會封鎖危險指令，但現在不會了
<figcaption>0.40.0：Auto 會封鎖危險指令。0.41.0：封鎖功能已移除。</figcaption>
</figure>

你可以在設定檔 `~/.kimi-code/config.toml` 的 `[permission]` 區段中設定 `dangerous_command_guard = false`，或使用 `KIMI_CODE_DANGEROUS_COMMAND_GUARD=false` 變數來停用防護。開發者建議只有在危險指令已由外部攔截時才這樣做。

## 如何在 Kimi Code 中設定永久禁止規則

代理想要變更內容時，Kimi Code 會顯示核准面板：

- **核准**：使用方向鍵和 `Enter`，或直接按 `1`、`2` 或 `3`；
- **拒絕**：`Esc`、`Ctrl-C` 或 `Ctrl-D`；
- **在本次工作階段核准**：相同類型的呼叫會核准至工作階段結束；
- **永久規則**：在設定檔中新增永久允許或禁止規則。

永久規則會寫入設定檔 `~/.kimi-code/config.toml` 中的 `[[permission.rules]]` 區塊。Kimi Code 會依序檢查規則，並套用第一個符合的規則，因此要把禁止規則放在允許規則上方。每條規則都有一個 `decision`：`allow`（立即允許）、`deny`（立即拒絕）或 `ask`（每次都詢問）。

禁止執行 `rm -rf`，並在執行其他任何終端機指令前詢問：

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

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

對於終端機指令，模式要放在括號中：`Bash(command-pattern)`；讀取檔案時則使用 `Read(path-pattern)`。若要禁止 MCP 工具、`AgentSwarm` 和你自己的工具，只能使用它們的完整名稱。

如果你不懂技術，也不想開啟設定檔，只要把以下提示詞貼給代理，它就會自行找出需要限制的項目。請先讓它告訴你，這會讓工作速度變慢多少。如果你已經習慣不要求確認的工作方式，新增禁止規則後，有些功能可能會停止運作。以下是我的提示詞：

```
分析我的專案，告訴我你是否能存取正式環境伺服器、測試環境資料庫和正式環境金鑰。如果可以，請設定危險指令防護：禁止刪除整個資料夾、不可逆地改寫變更歷史的指令，以及直接對正式環境資料庫執行的指令。先以「之前 - 之後」的格式展示計畫，並坦白告訴我這會讓工作速度變慢多少。
```

我在[另一篇文章](https://ailoot.ai/blog/zh-hant-tw/claude-code-safe-overnight-setup/)中介紹了如何在 Claude Code 設定相同的功能。也可以看看[Claude Code 的 Auto 模式如何檢查代理的操作](https://ailoot.ai/blog/zh-hant-tw/claude-code-auto-mode-classifier/)。

## 該選擇哪種模式

- **你想查看代理執行的每個步驟：** 選擇預設的 Always Ask。除了讀取以外，所有操作都要確認。
- **沒有實際客戶的個人專案或原型：** 先從 Always Ask 或 Ask When Needed 開始。只有權限受限、不含珍貴資料或金鑰、隔離且可丟棄的副本，才考慮 Never Ask；沒有客戶本身不會增加安全性。
- **有實際客戶且能存取伺服器的專案：** 不要啟用 Never Ask。在 `config.toml` 中設定 `deny` 禁止規則，並只給代理資料庫唯讀存取權限。

另外，請將資料庫備份到專案以外的機器上。其他安全規則整理在[另一篇文章](https://ailoot.ai/blog/zh-hant-tw/vibe-coding-security/)中。

請依專案的存取權限選擇確認模式，並檢查哪些地方需要設定禁止規則。

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

### 來源

- [Kimi Code：互動與輸入](https://moonshotai.github.io/kimi-code/en/g%75ides/interaction.md) — 3 種權限模式、`/yolo`、`/auto`、各模式下的危險指令防護、核准面板、計畫模式。
- [Kimi Code：設定檔](https://moonshotai.github.io/kimi-code/en/configuration/config-files.md) — `[[permission.rules]]`、規則檢查順序、`dangerous_command_guard`、`KIMI_CODE_DANGEROUS_COMMAND_GUARD`、`config.toml` 路徑。
- [Kimi Code：變更紀錄](https://moonshotai.github.io/kimi-code/en/release-notes/changelog.md) — 版本 0.40.0、0.41.0、0.43.0 和 2.0.1：危險指令防護和模式重新命名。

</div>





認識 [Ailoot](https://ailoot.ai/)。

## 常見問題：Kimi Code Never Ask：模式與危險指令

### 專案沒有客戶，就代表 Never Ask 安全嗎？

不是。代理仍可能破壞個人檔案或洩漏金鑰。考慮免確認模式前，請先限制權限，使用隔離、可丟棄的副本或容器，並準備備份。

### 針對 rm -rf 的 deny 規則能取代隔離嗎？

不能。它只封鎖匹配的工具呼叫，無法涵蓋所有等效檔案操作。珍貴資料與正式憑證應放在代理無法存取處，資料庫則使用只有任務所需權限的獨立身分。


## Ailoot · 公司及其專案組合

Ailoot以累積的營運經驗、廣大的客戶群、穩定的服務及持續的KPI管理為基礎。

公司及其專案組合：數百萬客戶，每月銷售額達數十億。

Ailoot將這些營運經驗用於API存取，讓客戶的產品、代理、應用程式及自動化流程使用AI功能。
