Panduan Fitur Cursor versi 3.11: obrolan samping tanpa mengganggu jendela utama, Cmd+K untuk mencari kembali percakapan lama

這篇帶你把 Cursor 3.11 的三個新功能一次上手,開側邊聊天問問題不打斷主 Agent、用 Cmd+K 翻遍本機幾千條舊對話、再用 Hooks 在關鍵節點插手監控子 Agent。附一個完整可跑的 hooks.json 範例,和一個雲端會踩的雷。
(前情提要:馬斯克旗下 SpaceXAI 正式推出最強模型「Grok 4.5」!攜手 Cursor 猛攻 AI 編碼代理,完美整合 Office 辦公軟體 )
(背景補充:Cursor Mobile 上線:專屬 App 讓你更方便用手機指揮 AI 寫程式、監督產出 )

本文目錄

Toggle

  • 本篇大綱
  • 側邊聊天讓主 Agent 別停,另開一條繼承 context 的聊天
  • 用 Cmd+K 翻本機幾千條舊對話,Cmd+F 查當前這條
    • 搜所有舊對話,在 Agents Window 按 Cmd+K
    • 搜當前這條對話,按 Cmd+F
  • 雲端 Agent Hooks 讓你在關鍵節點插手,監控加控制子 Agent
    • hooks.json 怎麼寫、放哪
    • 想擋下某個動作,只有兩個節點認
    • 雲端 Agent 的踩雷點
  • 三個功能串起來
  • 附錄:延伸資源
  • 常見問題

主 Agent 正在跑一個大重構,你突然想確認某個函式在別的地方有沒有被呼叫,以前只能停下它、切走、打斷正在跑的任務。Cursor 3.11(2026 年 7 月 10 日發布)補上的側邊聊天、對話搜尋、雲端 Agent Hooks 三個功能,剛好都在解「不想打斷主線」這件事。

這篇假設你已經在用 Cursor 的 Agent,帶你把三個新功能一次上手,附一個 hooks.json 範例和一個雲端會踩的雷。

本篇大綱

  • 側邊聊天:主 Agent 不停,另開一條繼承 context 的聊天追問
  • 對話搜尋:Cmd+K 翻本機幾千條舊對話,Cmd+F 查當前這條
  • 雲端 Agent Hooks:在提交提示詞、回覆、子 Agent 啟動等節點插手
  • 三個功能怎麼串起來用,還有雲端 Hooks 的踩雷點

側邊聊天讓主 Agent 別停,另開一條繼承 context 的聊天

側邊聊天(side chat)解決的是一個很具體的場景,主 Agent 在跑長任務時,你想岔出去問一個問題,但不想打斷它。

開一條側邊聊天有三種方式,挑順手的用:

  1. 打指令:在聊天框輸入 /side 或 /btw
  2. 點按鈕:按聊天面板頂部的 + 按鈕

開出來的側邊聊天會直接繼承主對話的 context(上下文),所以你不用把背景重貼一次,它已經知道你們剛剛在弄什麼。

這一步最容易誤會的是,側邊聊天預設只做讀取、搜尋、回答這三件事,不會動你的 code。它的定位是讓你追問、查資料、研究另一條路線,或在動手前先 sanity-check(快速驗證)一個決策,主 Agent 那邊完全不受影響繼續跑。你要它真的改東西,得在對話裡明講。

每一條側邊聊天都是完整、長期保留的 Agent 對話,不是問完就丟。你可以稍後回訪、繼續追問。查到有用的結論,用 @ 把這條側邊聊天帶回主對話,context 就接回主線了。

我自己經驗是,側邊聊天最好用的地方不是問「這是什麼」,而是「主 Agent 打算這樣改,但我懷疑會動到 X,你先幫我確認 X 有沒有被別的地方依賴」。主線繼續前進,你在旁邊查證,兩條線不互相卡。

用 Cmd+K 翻本機幾千條舊對話,Cmd+F 查當前這條

以前想找「上週那條 Agent 對話裡它是怎麼解掉那個 bug 的」,基本只能靠對話名稱或 PR 編號慢慢找,很痛。3.11 把搜尋做進去了,而且分兩個層級。

搜所有舊對話,在 Agents Window 按 Cmd+K

在 Agents Window(Agent 對話視窗)按 Cmd+K 叫出命令面板,直接搜 Agent 的對話內容(transcript),不只是搜名稱和 PR 編號。Cursor 會在本機建一個搜尋索引,所以就算你累積了幾千條對話,搜起來還是很快。

因為索引建在本機,內容不會為了搜尋被丟上雲端,這點對在意隱私的人比較安心。

搜當前這條對話,按 Cmd+F

如果你只是要在正在看的這條長對話裡找某段,按 Cmd+F 就好。它會給你 match counter(符合筆數計數),可以在符合的段落之間跳,長 transcript 邊往下滾還能邊搜。

這一步要注意,剛升級完索引需要一點時間建,如果你發現舊對話一時搜不到、或 chat history 看起來空空的,先等索引跑完再看,通常不是資料掉了。

雲端 Agent Hooks 讓你在關鍵節點插手,監控加控制子 Agent

Hooks(掛鉤)是這次對開發者最有份量的更新。它讓你在 Agent 對話的關鍵節點掛上自己的指令碼,Agent 走到那個節點就會自動觸發你的指令。

3.11 這批新增的節點,涵蓋了 Agent 一輪對話的幾個關鍵時刻:

  • beforeSubmitPrompt:你送出提示詞,但請求還沒發給後端時
  • afterAgentResponse:Agent 講完一則回覆之後
  • afterAgentThought:一段思考(thinking)結束之後
  • subagentStart:要生出一個子 Agent(Task 工具)之前
  • subagentStop:子 Agent 跑完
  • stop:整輪 Agent 迴圈結束、任務停止時

有了這些節點,你可以做三件事:監控整個執行過程、在子 Agent 啟動前後控制它,以及搭一個自動糾錯(self-correcting)的迴圈,例如 Agent 一講完回覆就自動跑一次測試,掛了就把錯誤丟回去讓它自己修。

hooks.json 怎麼寫、放哪

Hooks 設定寫在 hooks.json,version 固定填 1。放的位置有三個,只要存在都會被執行:

  • 專案層級:<專案根目錄>/.cursor/hooks.json
  • 使用者全域:~/.cursor/hooks.json
  • 企業層級:/etc/cursor/hooks.json

一個最小可跑的範例,做兩件事:每次 Agent 改完檔就跑一次稽核指令碼,任務停止時記一筆:

{
  "version": 1,
  "hooks": {
    "afterFileEdit": [
      { "command": "./hooks/audit.sh" }
    ],
    "stop": [
      { "command": "./hooks/on-stop.sh" }
    ]
  }
}

command 裡的路徑是相對於 hooks.json 所在位置。你的指令碼會從 stdin(標準輸入)收到一段 JSON,裡面有 conversation_id、generation_id、model、hook_event_name 這些基本欄位,再加上跟該節點有關的欄位,例如 beforeSubmitPrompt 會帶 prompt、afterAgentResponse 會帶回覆文字。

一個什麼都不做、只確認能收到資料的指令碼長這樣:

#!/bin/bash
cat &gt; /dev/null   # 讀掉 stdin
exit 0            # 回報成功

想擋下某個動作,只有兩個節點認

這裡有個很容易踩的雷,不是每個 hook 都能攔截動作。只有 beforeShellExecution(跑 shell 指令前)和 beforeMCPExecution(呼叫 MCP 工具前)這兩個節點,會看你 stdout(標準輸出)回傳的 JSON 來決定放不放行:

{
  "continue": true,
  "permission": "allow",
  "userMessage": "顯示給你看的訊息",
  "agentMessage": "顯示給 AI 看的訊息"
}

permission 填 allow 放行、deny 擋下、ask 跳出來問你。其他節點,像 afterAgentResponse,就算你回了 permission 也不會理,它們只能觀察、記錄、觸發別的動作,沒辦法擋。

雲端 Agent 的踩雷點

如果你把 Hooks 用在雲端 Agent(cloud agent),有一個節點會直接失效,就是 beforeSubmitPrompt。原因很實際:這個 hook 綁在 session 一開始的生命週期,但雲端的虛擬機器(VM)是等 session 開跑後才建起來的,session 剛開始那一刻機器根本還不存在,自然沒東西幫你跑這個 hook。

我自己經驗是,雲端要用就挑那些綁在「工具執行前後」的節點,像 beforeShellExecution、afterFileEdit、subagentStart、subagentStop、stop 這些跑得比較穩,綁在 session 剛開場那一類的就別指望了。

三個功能串起來

三個功能分開講很清楚,但你應該要自己試看看串起來用的感覺。舉實際的場景:

主 Agent 在跑一個跨好幾個檔案的重構。你開一條側邊聊天(/side)去查「這個要改的介面到底有幾個地方在用」,主線不停。查完覺得有風險,用 @ 把側邊聊天的結論帶回主對話,讓主 Agent 把那幾處一起處理。同時你的 hooks.json 裡掛了一個 stop 節點,重構一結束就自動跑測試,你再用 Cmd+F 回頭在這條長對話裡,找剛剛 Agent 說它動了哪幾個函式。

一輪下來你沒被打斷過,想做的事情都做完了。

附錄:延伸資源

  • Cursor 官方 Changelog:每個版本的完整更新說明,3.11 的側邊聊天與對話搜尋都在這
  • Cursor Hooks 官方檔案:所有 hook 節點、stdin/stdout 欄位、設定格式的完整參考
  • Cursor Subagents 檔案:搭配 subagentStart/subagentStop 節點時可以先看這篇

常見問題

Q1. 側邊聊天會改到我的 code 嗎?
A:預設不會。它只做讀取、搜尋、回答三件事,定位是讓你查證和追問。要它動手改東西,得在對話裡明講。

Q2. 側邊聊天關掉會不見嗎?
A:不會。每條側邊聊天都是長期保留的完整 Agent 對話,可以稍後回訪、繼續追問,也能用 @ 把它帶回主對話。

Q3. Cmd+K 的對話搜尋是搜雲端還是本機?
A:本機。Cursor 在你電腦本機建搜尋索引,內容不會為了搜尋被上傳,能一路撐到幾千條對話還很快。

Q4. 剛升級完舊對話搜不到、或 chat history 是空的?
A:多半是本機索引還在建,等它跑完再看,通常不是資料掉了。

Q5. Hooks 在雲端 Agent 和本機有什麼差別?
A:最大的差是 beforeSubmitPrompt 在雲端跑不了,因為 session 剛開始時雲端 VM 還沒建起來。綁在工具執行前後的節點,像 beforeShellExecution、afterFileEdit、subagentStart,雲端比較穩。

Q6. hooks.json 放哪才會生效?
A:專案的 .cursor/hooks.json、使用者全域的 ~/.cursor/hooks.json、企業的 /etc/cursor/hooks.json,三個位置只要存在都會被執行。

Q7. 我想讓 hook 直接擋掉一個危險指令,做得到嗎?
A:可以,但只有 beforeShellExecution 和 beforeMCPExecution 這兩個節點認你 stdout 回傳的 permission,填 deny 就擋下。其他節點只能觀察和觸發動作,擋不了。

Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • Komentar
  • Posting ulang
  • Bagikan
Komentar
Tambahkan komentar
Tambahkan komentar
Tidak ada komentar
  • Disematkan