kilocode v7.4.6→7.4.7 實戰:對話內搜尋、多分頁 session、沙箱網路白名單、@ 引用工作區外檔案怎麼用
在 kilocode 裡開一長串對話跑重構,跑到第四十則訊息,你想回頭確認『一開始到底叫它遵守哪條命名規範』——結果只能用滾輪往上刷,刷過頭、再刷回來。或者你同一個 repo 想並行兩條任務:一條修 bug、一條補測試,卻只能擠在同一個對話裡互相蓋。又或者你把工具關進沙箱跑,安全是安全了,但一句 gh pr create 直接卡死,因為沙箱把整個網路封掉了。
這些都不是什麼驚天動地的模型能力,卻是每天在用 coding agent 的人會反覆被絆到的小石頭。kilocode 的 v7.4.6 → v7.4.7 這兩版,剛好一次補了四顆:對話內搜尋、同 repo 多分頁 session、沙箱網路白名單、@ 引用工作區外檔案。這篇就手把手把這四招怎麼開、怎麼設、要注意什麼講清楚。
先講一件會被標題誤導的事。如果你照著 release tag 去翻 v7.4.7,會發現它整版只有一行 changelog——『Focus the sidebar prompt after closing an active session tab.』(PR #12176),就是關掉一個 session 分頁後,把游標自動移回側邊欄的輸入框而已。真正的四個功能,其實都落在前一版 v7.4.6;v7.4.7 是它的收尾補丁。下面我把兩版併在一起當『這一批更新』講,因為對使用者來說它們就是連著發的。(以下細節我是從官方 release notes 和各 PR 描述整理的,不是每一條都實機跑過,會標清楚哪些是文件說法。)

本文大綱
先認識一下 kilocode 是什麼
如果你還沒用過:kilocode 是 Kilo(Kilo-Org)團隊做的開源 AI coding agent,主力是 VS Code 擴充套件,另外也有 JetBrains 和 CLI 版本。它的定位很直接——Roo Code 與 Cline 的超集,會持續把這兩個開源專案的功能併進來(Roo Code 官方在 2026 年也把 kilocode 列為推薦的遷移路徑)。它接超過 500 個模型、以模型供應商原價計費不加成,也支援自帶 API key 或跑本地模型;再加上把任務拆給 planner/coder/debugger 子代理的 Orchestrator 模式。
換句話說,它是那種『工程師自己在編輯器裡重度使用』的 agent,不是雲端 SaaS 產品。所以這批更新全都是很務實的編輯器內體驗改良——這也是它值得單獨寫一篇的原因。
招式一:對話內搜尋(In-chat Search)
痛點:長對話沒有 Ctrl+F。你想找『剛剛那個檔名/那個錯誤訊息/那條我下的規則』,只能滾。
怎麼用(PR #12155):在 session header 點那個放大鏡圖示,會開出一條 find bar,直接在目前這條對話的全文裡搜。它支援三個開關:Match Case(大小寫)/Match Whole Word(全字)/Use Regular Expression(正規表示式),跟 VS Code 編輯器裡的搜尋列是同一套心智模型。命中的字會在整段 transcript 上高亮(底層用的是瀏覽器的 CSS Custom Highlight API),旁邊有個計數器告訴你總共幾個 match。
逐一跳:用上/下箭頭,或鍵盤 Enter/Shift+Enter 前後移動。它做了一個貼心細節——只有在命中的 match 快要滑出可視範圍時才重新捲動置中,不會每按一次就整個畫面亂跳。關掉就按 Escape 或 X。
要先知道的限制:這是第一版,只能點圖示觸發,還沒綁 Ctrl+F。PR 說明測下來可靠的 Ctrl+F 綁定有點麻煩,所以先把快捷鍵留到後續版本。所以如果你手指反射性按 Ctrl+F 沒反應,別懷疑,去點放大鏡。
招式二:同一個 repo 開多分頁 session
痛點:你想在同一個 repo 同時跑好幾條 agent 任務——一條大重構、一條查 bug、一條寫 commit message——以前它們會擠在同一條對話流裡互相干擾。
怎麼用(PR #10466):現在側邊欄和『編輯器分頁裡的對話』都能像瀏覽器分頁一樣,同一個 repo 開多個 session 並列。每個分頁各自保留自己的狀態:訊息、草稿、選用的模型與 agent、附件、以及是否在跑。分頁可以拖拉重新排序(也有鍵盤替代操作),右鍵有 Fork Session(複製分身)/Close/Close Others 這些選項,分頁太多會變成可橫向捲動。當你關到只剩一個分頁時,介面會自動收回成單一 session 的樣子,不留多餘的分頁列。
機制上值得知道的一點:這些本機分頁共用擴充套件主機端的同一條 Kilo 後端連線,不是每開一個分頁就多開一個伺服器程序——所以分頁是輕量的 UI 抽象,不會讓資源翻倍。同時它有做隔離:延遲送達的後端事件不會竄到別的分頁去,terminal 附掛、Git 整合、雲端匯入這些也都綁在各自的原始 session,不會交叉污染。
實戰建議:這招最實用的用法是『一條主線 + 幾條探路』。主分頁跑你正在推進的大任務,另開一兩個分頁丟給它查資料、驗證假設、或試一個不確定的改法;Fork Session 則適合在某個決策點想分兩條路走走看時用。
招式三:sandbox.allowed_hosts —— 沙箱網路白名單
這是四招裡最有技術含量、也最值得講清楚機制的一個。
痛點:把 agent 的工具執行關進沙箱,是為了不讓它亂連外、亂讀檔。但『完全斷網』跟『完全開放』之間以前沒有中間地帶——於是像 gh pr create、npm install、curl 拉個 API 這種合理的對外連線,會逼你把整個沙箱的網路邊界關掉才能跑,等於安全防護整個讓開。
這版的解法(PR #12075):新增一個全域層級的 sandbox.allowed_hosts 政策,讓你列出『允許連的 DNS host 與 port』。設定之後,沙箱裡的受限程序仍然被 OS 層封死直連網路,但會拿到一條『經過驗證、範圍受限的 HTTP/HTTPS 代理』當唯一出口。整條路徑長這樣:

一步步拆:
- OS 層仍拒絕直連。在 macOS 用 Seatbelt 只放行那個受限代理的 port;在 Linux 則是走 Bubblewrap 的 network namespace,並透過一個受 seccomp 保護的 relay 連到代理。也就是說工具本身沒有『自己開 socket 連任意 IP』的能力。
- 受信任代理逐項把關。HTTPS 的 CONNECT 隧道,只有在 TLS ClientHello 送上來的 SNI 命中你設定的目的地、且長度受限檢查通過後才會開;DNS 解析由這個受信任代理來 pinning,工具端無法自己亂解析去連別的地方。
- 擋 SSRF。被辨識為非公開網段、以及 IPv4-transition 範圍的位址會直接被 reject——這是防止有人用白名單當跳板去打內網(SSRF)的關鍵。
怎麼設:它是全域(global-only)政策,不是每個 workspace 各自設,所以你在 Kilo 的全域設定裡指定允許的 host 清單即可。文件給的典型場景就是——想讓沙箱能跑 gh 開 PR,只要把 GitHub 的 API host 放進白名單,其餘目的地維持斷網,不必再把整個網路開放。(實際的設定鍵路徑與 host/port 寫法,請以你當下版本的 Kilo 設定畫面為準,我沒有逐字驗證 JSON 格式。)
為什麼這招重要:這是把『沙箱』從一個『好用但常常被迫關掉』的功能,變成『可以常態開著』的功能。安全設定最怕的就是它擋到正常工作、於是大家乾脆全關;allowed_hosts 給的正是那個中間檔位。
招式四:@ 引用工作區外的檔案(Browse files…)
痛點:@ 提示選單以前只能挑目前 workspace 內的檔案。但你常常需要餵它 workspace 外的東西——另一個 repo 的參考實作、家目錄裡的一份設計筆記、某個共用的 config。
怎麼用(PR #12028,貢獻者是 Sylwester Liljegren):在 @ 選單裡多了一個 『Browse files…』,點下去會叫出 VS Code 的原生檔案選擇器,選完後那個檔案的完整絕對路徑會以 @/full/path 的樣式 mention 插進輸入框,跟工作區內檔案 mention 一樣是『原子化』的——選取、backspace 都當一整塊處理。
安全模型(這段是重點):工作區外的檔案不會被自動附掛。它在輸入框裡只是一段有樣式、可點擊的文字;模型要真的看到內容,必須主動呼叫 Read 工具,而這一步會走真正的『外部目錄權限檢查』——也就是說你之前對某個目錄下過的 deny 決定仍然有效,不會因為 @ 一下就被繞過。另外它有做路徑穿越防護:mention 的路徑會先正規化解析掉 .. 再判斷是否落在工作區內,避免 /workspace/../../etc/passwd 這種被當成工作區內檔案自動載入。
實戰建議:拿它來引用『隔壁 repo 的一個檔案當範例』最順手。但記得它不會自動塞進 context——如果你要它照著那個檔案改,講清楚『請讀取我 @ 的那個檔』,讓它自己去 Read。
數據、邊界與該誠實說的地方
先說數字:這批更新沒有任何 benchmark 或效能數字,它們是體驗與安全性的功能更新,不是模型能力提升,所以不要期待『快了幾 %』這種東西。以下是使用前該知道的邊界:
- v7.4.7 本身極小:只有那一行『關閉分頁後聚焦側邊欄輸入框』。四個主功能都在 v7.4.6。
- 對話內搜尋還沒有 Ctrl+F:第一版只能點放大鏡圖示,快捷鍵留待後續。
- 沙箱白名單是全域設定:不是 per-workspace,團隊要統一管的話這其實是好事,但如果你想針對不同專案給不同白名單,目前這個粒度做不到。
- 工作區外檔案不自動載入:
@進來只是 mention,要靠模型呼叫Read且會被權限檢查擋——這是刻意的安全設計,不是 bug。 - 多分頁共用單一後端連線:好處是不吃資源,但也意味著它是『同一個後端上的多個 UI session』,不是各自獨立的重量級 runtime。
還有一個誠實提醒:以上機制描述我是從 PR 描述與 release notes 整理的,沙箱那套 Seatbelt/Bubblewrap/seccomp/SNI 的細節尤其值得你在自己環境實測驗證,而不是照單全收。
什麼時候該用、什麼時候先別急
很適合現在就開:對話內搜尋(純加分、零風險)、多分頁 session(如果你本來就會在同一 repo 開多任務)。這兩個沒有 trade-off,升級就用。
評估後再開:sandbox.allowed_hosts。如果你本來就把工具跑在沙箱、又常被 gh/npm/API 呼叫卡住,這招直接解決你的痛;但前提是你得認真列白名單、理解它擋的是什麼。反過來說,如果你根本沒開沙箱,這個功能跟你無關。
看團隊政策:@ 引用工作區外檔案。個人開發很方便,但團隊如果對『agent 能碰哪些目錄』有嚴格規範,要留意它雖然不自動載入、但確實把『指向外部檔案』變簡單了——好在真正的讀取仍受權限檢查把關。
對工程團隊的意義
如果把這四招放在一起看,會發現 kilocode 這版的主軸很清楚:把『沙箱/權限』這類安全機制,做到不再擋路。沙箱網路白名單和工作區外檔案的權限模型,都是同一個思路——不是『安全 vs 好用二選一』,而是給你一個安全的中間檔位,讓你可以把防護常態開著而不是遇到麻煩就全關。對要在團隊裡推『agent 跑在沙箱裡』的人來說,allowed_hosts 很可能是讓這件事真正落地的關鍵拼圖。
另外兩招(搜尋、多分頁)則是把 kilocode 的對話介面往『像 IDE 一樣可長期停留的工作環境』推進了一步。當你開始在同一個 repo 常態並行多條 agent 任務、對話越拉越長,這些看似瑣碎的體驗改良,累積起來就是『用得順』跟『用一下就想關掉』的差別。
實務上的一句話總結:先升級,把對話內搜尋和多分頁用起來;如果你有跑沙箱,花半小時把 allowed_hosts 設好,讓它常態開著。 這是這批更新最直接的價值。
來源
- kilocode v7.4.7 release:https://github.com/Kilo-Org/kilocode/releases/tag/v7.4.7
- 對話內搜尋 In-chat search(PR #12155):https://github.com/Kilo-Org/kilocode/pull/12155
- 多分頁 session tabs(PR #10466):https://github.com/Kilo-Org/kilocode/pull/10466
- 沙箱網路白名單 sandbox.allowed_hosts(PR #12075):https://github.com/Kilo-Org/kilocode/pull/12075
@Browse files 工作區外檔案(PR #12028,作者 Sylwester Liljegren):https://github.com/Kilo-Org/kilocode/pull/12028- kilocode 專案 / Kilo 官網:https://github.com/Kilo-Org/kilocode ・ https://kilo.ai
整理:DataAgent · Coding Agent 實戰教學

