對於按 token 支付 Claude Code 費用的使用者來說,以下數字應當引起警惕。單一個 Playwright 快照就佔用 56 KB 的上下文,二十個 GitHub issue 佔用 59 KB,一個存取日誌則佔用 45 KB。每次 MCP 工具呼叫都會將原始資料直接傾倒至上下文視窗,大約 30 分鐘的實際工作後,40% 的上下文就消失了。
接著是第二個問題。當對話過長時,代理工具會壓縮對話以釋放空間,而壓縮會清除其工作記憶體。它會忘記正在編輯哪些檔案、哪些任務正在進行中,以及您上次要求了什麼,導致您需要花費接下來的十分鐘重新解釋所有事情。
還有第三個大多數人從未注意到的問題:代理工具會將輸出 token 浪費在填充詞、客套話和冗長的解釋上,同時從兩端消耗上下文。這正是 Context Mode 旨在解決的問題。它是由 mksglu 開發的一個開源 MCP 伺服器,能同時從四個方向解決上下文膨脹問題,其效果令人震驚:315 KB 的原始工具輸出變為 5.4 KB,這是一個 98% 的減少,並將典型會話時間從大約 30 分鐘延長至約 3 小時。
運作方式:沙盒、記憶體與程式碼思維。Context Mode 解決了其 README 中所稱的上下文問題的四個面向。
1. 上下文節省。沙盒工具會攔截原始工具輸出,並將其保留在上下文視窗之外。模型不會讀取完整的輸出,而是獲得一個精簡的參考。例如,一個 Playwright 快照從 56.2 KB 縮減到 299 位元組(節省 99%),二十個 GitHub issue 從 58.9 KB 縮減到 1.1 KB(節省 98%),包含 500 個請求的存取日誌從 45.1 KB 縮減到 155 位元組,幾乎是 100% 的節省。儲存庫中的基準測試表格列出了 21 種情境,所有情境都保持了這種模式。
2. 會話連續性。每一次檔案編輯、Git 操作、任務、錯誤和使用者決策都會被追蹤並儲存在本地的 SQLite 資料庫中。當對話被壓縮時,Context Mode 不會將所有這些資料重新傾倒回上下文,而是使用 FTS5 全文檢索索引事件,並透過 BM25 排名僅檢索相關內容。
模型會從上次中斷的地方精確地繼續,並且只為其實際需要的記憶體支付上下文費用。值得注意的是,它有一個注重隱私的預設設定:如果您不傳遞 --continue 參數,先前的會話資料會立即刪除,新的會話意味著一個全新的開始。
3. 程式碼思維。這是儲存庫中最具見解且可說是最高明的想法。代理工具不再將 50 個檔案讀入上下文來計算函數,而是編寫一個執行計數的腳本,並僅記錄結果。一次 ctx_execute 呼叫取代了 47 次 Read 呼叫,將 700 KB 縮減為 3.6 KB。
其理念很直接:停止將大型語言模型(LLM)視為資料處理器,而應將其視為程式碼生成器。這在所有支援的客戶端中都被強制執行為一個強制性的典範。
4. 不干預文風。Context Mode 將原始資料排除在上下文之外,但刻意不指示模型如何撰寫最終答案。簡潔性、完整性、格式等,都由您的模型(或您透過自己的 CLAUDE.md)決定。
README 中引用研究指出,過於強調簡潔的提示詞會降低程式碼基準測試的表現。因此,路由機制專注於資料流向,而非模型如何表達。
基準測試:315 KB 變為 5.4 KB。儲存庫中提供了完整的基準測試表格,值得一讀,因為其節省效果是一致的,而非刻意挑選。例如,Playwright 快照從原始的 56.2 KB 縮減到上下文中的 299 位元組,節省 99%。
20 個 GitHub issue 從 58.9 KB 縮減到 1.1 KB,節省 98%。包含 500 個請求的存取日誌從 45.1 KB 縮減到 155 位元組,幾乎是 100%。Context7 React 文件從 5.9 KB 縮減到 261 位元組,節省 96%。
一個包含 500 行的分析 CSV 檔案從 85.5 KB 縮減到 222 位元組,節省 100%。包含 153 次提交的 Git 日誌從 11.6 KB 縮減到 107 位元組,節省 99%。跨 30 個測試套件的測試輸出從 6.0 KB 縮減到 337 位元組,節省 95%。
即使是深度儲存庫研究子代理的運行,也從 986 KB 降至 62 KB,節省 94%。在整個會話中,原始輸出總量從 315 KB 變為上下文中的 5.4 KB。會話時間從大約 30 分鐘延長到約 3 小時。如果您是按 token 付費,這不是微小的改進,而是代理工具能否完成任務的關鍵差異。
在 Claude Code 上安裝只需兩個指令。在 Claude Code 中,安裝是一個外掛市集新增的過程。您需要 Claude Code v1.0.33 或更新版本。開啟 Claude Code 並執行:/plugin marketplace add mksglu/context-mode,然後執行 /plugin install context-mode@context-mode。
重新啟動 Claude Code(或執行 /reload-plugins),然後使用 /context-mode:ctx-doctor 進行驗證。所有檢查都應顯示綠色。此外掛會為 SessionStart、PreToolUse、PostToolUse、UserPromptSubmit、PreCompact 和 Stop 註冊掛鉤,以及 11 個 MCP 工具:六個沙盒工具(ctx_batch_execute、ctx_execute、ctx_execute_file、ctx_index、ctx_search、ctx_fetch_and_index)和五個元工具(ctx_stats、ctx_doctor、ctx_upgrade、ctx_purge、ctx_insight)。
這些掛鉤會自動執行繁重的工作。SessionStart 掛鉤會在執行時注入路由指令,因此不會有檔案寫入您的專案。PreToolUse 和 PostToolUse 掛鉤會攔截工具呼叫,並在原始輸出接觸您的上下文之前將其重新導向到沙盒。
您還可以透過一次性編輯 ~/.claude/settings.json 來新增一個狀態行。它會顯示本次會話節省的金額、跨會話節省的總金額以及您的效率百分比,並在您工作時即時更新。觀察節省的金額累積是相信基準測試最快的方式。
支援 17 個平台,但掛鉤才是關鍵。Context Mode 支援 17 個平台,包括 Claude Code、Qwen Code、Gemini CLI、VS Code Copilot、JetBrains Copilot、GitHub Copilot CLI、Cursor、OpenCode、KiloCode、OpenClaw、Codex CLI、Kimi Code、Antigravity、Antigravity CLI、Kiro、Zed 和 Pi。這種廣泛的支援很重要,因為大多數開發者不會只使用一個代理工具。
然而,README 誠實地指出,一個比平台數量更重要的區別。在支援掛鉤的平台上,掛鉤可以程式化地攔截工具呼叫:它們可以在執行前阻止危險指令並將輸出重新導向到沙盒,測得的節省約為 98%。
在不支援掛鉤的平台上,Context Mode 會退回到路由指令檔案(複製的 AGENTS.md 或 GEMINI.md),這些檔案透過提示詞指令引導模型,但無法阻止任何操作。在這種情況下,測得的節省會降至約 60%,因為一個未經路由的 curl 或 Playwright 快照可能會將 56 KB 的資料傾倒到上下文中,從而抵消整個會話的節省。
具體來說,Claude Code、Gemini CLI、Copilot 系列、Cursor、OpenCode、Codex CLI、Kiro 和 Pi 都能獲得完整的約 98% 節省效果。Antigravity 和 Zed 不支援掛鉤,因此它們依賴手動複製的路由檔案,節省約 60%。如果您正在選擇運行平台,請選擇支援掛鉤的主機。README 的建議很直接:在支援掛鉤的地方,務必啟用掛鉤。
您實際會使用的實用指令。在任何 AI 會話中,您只需輸入指令,模型就會為您呼叫 MCP 工具。ctx stats 會顯示您的上下文節省情況,包括每個工具的細目、消耗的 token 和節省比例。
ctx doctor 診斷運行時、掛鉤、FTS5 和版本。ctx index 將本地檔案或目錄索引到持久性知識庫中,而 ctx search 則用於稍後搜尋。ctx upgrade 從 GitHub 拉取最新版本,重建並修復掛鉤。
ctx purge 永久刪除所有索引內容。ctx insight 開啟託管在 context-mode.com/insight 的 Insight 儀表板,為 AI 輔助工程團隊提供組織級分析。
從終端機,相同的操作可以在沒有 AI 會話的情況下運行:context-mode doctor、context-mode index、context-mode search、context-mode upgrade。還有一個偵錯腳本(scripts/ctx-debug.sh),它將作業系統資訊、運行時版本、掛鉤驗證和環境收集到一個可貼上的 Markdown 報告中,用於錯誤報告,這也說明了維護者如何看待支援。
一個值得稱讚的設計決策是:所有內容都儲存在您自己機器上的本地 SQLite 資料庫中。README 的隱私部分明確說明了這種架構,結合新會話時預設刪除資料的設定,顯然該專案的設計者已深思熟慮讓工具監控每次檔案編輯的意義。
誰應該安裝(以及誰可以跳過)。如果您使用 Claude Code(或其他支援掛鉤的代理工具)進行超過 30 分鐘的會話、您按 token 付費且用量不斷攀升、您的代理工具在壓縮後不斷忘記上下文,或者您運行大量 Playwright、GitHub 或資料庫查詢等 MCP 工具,其原始輸出相對於您實際需要的內容而言過於龐大,那麼您應該安裝它。
如果您會話簡短且簡單、您只在 Zed 或 Antigravity 中工作(僅適用於約 60% 的指令檔案模式),或者您不喜歡一個會掛鉤所有工具呼叫的工具(即使掛鉤在本地運行且資料儲存在您機器上的 SQLite 中),那麼您可以跳過它。
其社群證明不容忽視:在 Hacker News 上獲得 570 多個讚,GitHub 上擁有 30,000 多顆星,且 README 中列出了 Microsoft、Google、Meta、Amazon、IBM、NVIDIA、ByteDance、Stripe、Datadog 和 Salesforce 等團隊的使用案例。
它採用 ELv2 許可證,可免費使用。如果上下文膨脹是您每次代理會話所支付的稅金,那麼這就是迄今為止最實質的退稅方案。
什麼是 Context Mode?Context Mode (mksglu/context-mode) 是一個開源的 MCP 伺服器,專為 AI 程式碼代理工具設計。它透過沙盒化原始工具輸出,將上下文視窗用量減少高達 98%;使用 SQLite 和全文檢索在上下文壓縮後持久化會話記憶體;並透過掛鉤強制執行高效路由。
它支援包括 Claude Code、Cursor、Gemini CLI 和 GitHub Copilot 在內的 17 個平台。
Context Mode 如何減少 Claude Code 的上下文用量?主要有四種機制:(1) 沙盒工具將原始工具輸出排除在上下文之外(315 KB 變為 5.4 KB);(2) 會話事件儲存在 SQLite 中,並僅在相關時透過 BM25 搜尋檢索;(3) 代理工具被引導編寫分析腳本,而非將檔案讀入上下文;(4) 掛鉤自動強制執行路由。在支援掛鉤的平台上,測得的節省約為 98%。
Context Mode 是否免費使用?是的。Context Mode 採用 Elastic License v2 (ELv2) 開源,可免費使用。您可以將其作為外掛或 MCP 伺服器安裝到您的 AI 程式碼代理工具中;核心功能沒有訂閱費,也沒有付費層級。
Context Mode 支援哪些 AI 程式碼代理工具?它支援 17 個平台:Claude Code、Qwen Code、Gemini CLI、VS Code Copilot、JetBrains Copilot、GitHub Copilot CLI、Cursor、OpenCode、KiloCode、OpenClaw、Codex CLI、Kimi Code、Antigravity、Antigravity CLI、Kiro、Zed 和 Pi。
支援掛鉤的平台可節省約 98% 的上下文用量;Antigravity 和 Zed 則依賴指令檔案,節省約 60%。
如何在 Claude Code 中安裝 Context Mode?您需要 Claude Code v1.0.33 或更高版本。運行 /plugin marketplace add mksglu/context-mode,然後運行 /plugin install context-mode@context-mode,重新啟動 Claude Code,並使用 /context-mode:ctx-doctor 進行驗證。
所有檢查都應通過。SessionStart 掛鉤會自動注入路由,不會有檔案寫入您的專案。
Context Mode 在上下文壓縮後是否仍能運作?是的,這是其核心功能之一。每次檔案編輯、Git 操作、任務、錯誤和決策都會在 SQLite 中追蹤並使用 FTS5 進行索引。當對話壓縮時,Context Mode 會透過 BM25 搜尋僅檢索相關記憶體,而不是將所有內容重新傾倒回上下文,因此模型會從上次中斷的地方精確地繼續。
Context Mode 中的掛鉤和指令檔案有何區別?掛鉤以程式化方式攔截工具呼叫,並可在原始輸出到達上下文之前阻止或將其重新導向到沙盒(約 98% 的節省)。指令檔案(AGENTS.md/GEMINI.md 的副本)僅透過提示詞文字引導模型,無法阻止任何操作(約 60% 的節省)。Zed 和 Antigravity 等平台缺乏掛鉤支援,因此使用指令檔案模式。
Context Mode 與僅使用更大的上下文視窗有何不同?更大的視窗只是延遲了問題,但並未解決經濟效益問題:原始工具輸出仍然會消耗大量資源。