Context Mode 完整教學 2026:2.7 萬星的 MCP 伺服器,把 AI 代理的 context 用量砍掉 98%(安裝指令、ctx_execute 沙箱、FTS5 記憶檢索、17 平台支援與 benchmark 數據一次看懂)

Context Mode 是一個 2.7 萬顆星的 MCP 伺服器,專門解決 AI coding agent 的 context 爆掉問題:把原始資料關進沙箱、只讓 stdout 進入對話,實測 315 KB 原始輸出壓到 5.4 KB(98% 節省),並用本機 SQLite + FTS5 保存 session 記憶,讓 compaction 之後不用重講一次。本文完整拆解安裝方式(Claude Code、Gemini CLI、Cursor、Codex、Copilot 等 17 個平台)、11 個 MCP 工具、benchmark 對照表、可直接複製的實戰 prompt,以及隱私、授權與限制。

  • Dennis
  • 9 分鐘閱讀
Context Mode 完整教學 2026:2.7 萬星的 MCP 伺服器,把 AI 代理的 context 用量砍掉 98%(安裝指令、ctx_execute 沙箱、FTS5 記憶檢索、17 平台支援與 benchmark 數據一次看懂)

AEO 速答:Context Mode 是一套 MCP 伺服器,把工具輸出關進沙箱、只讓 stdout 進入對話,實測可省下約 98% 的 context(315 KB → 5.4 KB),並用本機 SQLite+FTS5 記住 session 狀態。支援 Claude Code、Gemini CLI、Cursor、Codex 等 17 個平台,可完全本機執行、無遙測。

一、問題:你的 AI 代理為什麼 30 分鐘就「失憶」?

先看幾個真實數字,這也是 Context Mode README 裡最常被引用的段落:

一次工具呼叫原始資料量
Playwright 快照56 KB
20 則 GitHub issues59 KB
一份 access log45 KB

這些東西全都被塞進 context window。大約 30 分鐘後,你的 context 已經用掉 40%。接著 agent 為了騰出空間開始壓縮(compact)對話——然後它就忘了剛才在改哪個檔案、哪些任務還沒做完、你上一句要求是什麼。

更麻煩的是兩邊都在燒:agent 讀進來的原始資料佔 context,寫出去的客套話與冗長解釋也佔 context。

二、Context Mode 是什麼?

Context Mode 是一套跑在 MCP 協議層的伺服器(TypeScript,npm 套件版號 1.0.169,2026-10-12 實查約 2.7 萬顆星)。它把自己定位成「context 問題的另一半」,一次解四個方向:

  1. Context 節省——沙箱工具把原始資料留在對話之外。315 KB 變 5.4 KB,約 98% 降幅。
  2. Session 連續性——每一次檔案編輯、git 操作、任務、錯誤、使用者決策都記進 SQLite;對話被壓縮時,它不會把資料倒回 context,而是索引成 FTS5 事件、用 BM25 只取相關的。若你沒有使用 --continue,上一個 session 的資料會立刻刪除。
  3. Think in Code——要模型「用程式思考」:與其讀 50 個檔案進 context 數函式,不如讓 agent 寫一支腳本去數,只 console.log() 結果。一支腳本取代十次工具呼叫。
  4. 不干涉文章風格——它只決定「資料放哪裡」,不管你最終回答寫多長、什麼格式(你要簡潔就自己在 CLAUDE.md/AGENTS.md 寫)。

一句話總結差異:它不是「CLI 輸出過濾器」,也不是雲端分析後台,而是從資料源頭就把東西擋在 context 外。

三、安裝:三個常見情境的指令

情境 A:Claude Code(外掛市集,最完整)

前置條件:Claude Code v1.0.33+。若 /plugin 不認得,先更新(npm update -g @anthropic-ai/claude-code)。

/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode

重啟 Claude Code(或執行 /reload-plugins),然後驗證:

/context-mode:ctx-doctor

所有檢查都應該顯示 [x]——doctor 會檢查 runtime、hooks、FTS5 與外掛註冊狀態。

這條路會註冊 6 個 hooks(PreToolUse、PostToolUse、UserPromptSubmit、PreCompact、SessionStart、Stop)與 11 個 MCP 工具,並由 SessionStart hook 在執行期注入路由指令(不會在你的專案裡產生檔案)。

情境 B:只想先試 MCP 工具(無 hooks)

claude mcp add context-mode -- npx -y context-mode

一樣拿到 11 個 MCP 工具,但沒有自動路由——模型不會被提醒優先使用它們。適合先試水溫。

情境 C:Gemini CLI/其他平台

npm install -g context-mode

再把 MCP server 與四個 hooks(BeforeTool/AfterTool/PreCompact/SessionStart)寫進 ~/.gemini/settings.json。其他平台(Cursor、Codex CLI、VS Code Copilot、JetBrains Copilot、OpenCode、KiloCode、OpenClaw、Kiro、Zed、Pi、OMP、Antigravity 等)依 README 各自提供 context-mode.mdc、AGENTS.md、CLAUDE.md 等路由檔。

平台支援與節省幅度對照

平台Hook 自動路由路由檔完整 plugin只裝 MCP
Claude Code有CLAUDE.md約 98% 節省約 60%
Gemini CLI有GEMINI.md約 98%約 60%
VS Code / JetBrains Copilot有copilot-instructions.md約 98%約 60%
GitHub Copilot CLI有copilot-instructions.md約 98%約 60%
Cursor有(sessionStart 尚不支援)context-mode.mdc約 98%約 60%
Codex CLI有(部分)AGENTS.md約 98%約 60%
OpenCode/KiloCode/OpenClawPluginAGENTS.md約 98%約 60%
Kiro/Pi/OMP部分KIRO.md/AGENTS.md/SYSTEM.md約 98%約 60%

重點:沒有 hooks,一個沒被路由的 curl 或 Playwright 快照就能一次灌進 56 KB,把整場 session 的節省全部吃掉。所以務必跑 ctx-doctor 確認 hook 有裝上。

四、11 個 MCP 工具與各自的節省量

工具功能官方標示節省
ctx_batch_execute一次呼叫跑多個指令+多個查詢(可 concurrency: 1-8)986 KB → 62 KB
ctx_execute沙箱內跑 12 種語言,只有 stdout 進 context56 KB → 299 B
ctx_execute_file在沙箱處理檔案,原始內容不外流45 KB → 155 B
ctx_index把 markdown 切成 chunk 存進 FTS5(BM25 排序)60 KB → 40 B
ctx_search對已索引內容同時下多個查詢按需檢索
ctx_fetch_and_index抓網頁 → 轉 markdown → 切塊索引(含 TTL 快取)60 KB → 40 B
ctx_stats顯示 context 節省、呼叫次數、session 統計—
ctx_doctor診斷安裝:runtime、hooks、FTS5、版本—
ctx_upgrade從 GitHub 更新、重建、重設 hooks—
ctx_purge永久刪除知識庫所有內容—
ctx_insight開啟託管的 Insight 儀表板—

沙箱的運作方式很直白:每次 ctx_execute 都開一個獨立子行程,腳本之間看不到彼此的記憶與狀態;子行程跑完只把 stdout 交出去,log、API 回應、快照這些原始資料完全留在沙箱裡。可用語言有 JavaScript、TypeScript、Python、Shell、Ruby、Go、Rust、PHP、Perl、R、Elixir、C#(偵測到 Bun 時 JS/TS 快 3~5 倍);gh、aws、gcloud、kubectl、docker 這類已登入的 CLI 透過環境變數傳遞憑證,不會把憑證暴露到對話中。

五、實測 benchmark:哪些情境省最多?

情境原始進 context節省
Playwright 快照56.2 KB299 B99%
20 則 GitHub issues58.9 KB1.1 KB98%
access log(500 筆請求)45.1 KB155 B100%
Analytics CSV(500 列)85.5 KB222 B100%
git log(153 commits)11.6 KB107 B99%
測試輸出(30 個 suite)6.0 KB337 B95%
Context7 React 文件5.9 KB261 B96%
Repo 研究(subagent)986 KB62 KB94%

整場 session 加總:315 KB 原始輸出 → 5.4 KB;官方說可運作的 session 長度從約 30 分鐘延長到約 3 小時。完整 21 個情境的數據在 repo 的 BENCHMARK.md。

六、知識庫怎麼運作:FTS5、BM25 與 RRF

ctx_index 會依標題切塊(保留程式碼區塊完整),存進 SQLite FTS5 虛擬表。檢索端有幾個設計值得知道:

  • BM25 排序:依詞頻、逆文件頻率、文件長度正規化評分,標題與標題層級權重 5 倍。
  • RRF(Reciprocal Rank Fusion):同時跑「Porter 詞幹比對」與「Trigram 子字串比對」兩條策略再合併——useEff 找得到 useEffect,authenticat 找得到 authentication。
  • 鄰近重排:多詞查詢時,詞彼此靠近的段落排名較前。
  • 模糊修正:Levenshtein 距離自動修正錯字(kuberntes → kubernetes)。
  • Smart Snippets:回傳的是「查詢詞附近的視窗」而不是前 N 個字元。
  • TTL 快取:ctx_fetch_and_index 預設 24 小時內不重抓;可用 ttl: <ms> 覆寫,ttl: 0/force: true 強制重抓。內容庫 14 天清一次。
  • 漸進式節流:同一輪第 1~3 次檢索正常回傳,第 4~8 次減量並警告,第 9 次起直接擋掉、改導向 ctx_batch_execute。

七、五個可以直接複製的實戰 prompt

裝好之後,用這幾句測最有感(跑完再下 ctx stats 看數字):

1. 深度 repo 研究(5 次呼叫、62 KB,原始 986 KB,省 94%)

Research https://github.com/modelcontextprotocol/servers — architecture, tech stack,
top contributors, open issues, and recent activity. Then run /context-mode:ctx-stats.

2. Git 歷史分析(1 次呼叫、5.6 KB)

Clone https://github.com/facebook/react and analyze the last 500 commits:
top contributors, commit frequency by month, and most changed files.
Then run /context-mode:ctx-stats.

3. 抓網頁並結構化(1 次呼叫、3.2 KB)

Fetch the Hacker News front page, extract all posts with titles, scores,
and domains. Group by domain. Then run /context-mode:ctx-stats.

4. 超大 JSON API(原始 7.5 MB → 0.9 KB,省 99%)

建立一個本機 server,回傳 7.5 MB、20,000 筆記錄的 JSON,並在第 13000 筆藏一個 secret。
抓這個端點、找出被藏起來的那筆資料、把內容告訴我。然後跑 /context-mode:ctx-stats。

5. Session 連續性(compaction 復原)

開一個多步驟任務:「用 Express 建立一個 REST API — 加路由、測試與錯誤處理。」
跑 20 次以上工具呼叫後輸入 ctx stats 看事件數。當 context 被壓縮時,
模型應該能帶著任務、檔案與決策繼續,不需要你重講。

八、隱私、安全與限制

隱私:所有處理都在本機沙箱,沒有遙測、沒有雲端同步、不需要帳號;SQLite 資料庫放在你家目錄(內容庫在 ~/.context-mode/content/)。

安全:它沿用你原本的權限規則並延伸到沙箱——你在設定裡擋掉 sudo,沙箱內的 ctx_execute 也一樣被擋;沒設定任何權限規則時行為不變。另有專案邊界隔離與網路抓取加固。

限制與注意事項:

  • 一定要確認 hook 生效,否則節省從 98% 掉到約 60%。
  • Runtime 需要 Node.js ≥ 22.5(或用 Bun)。
  • 授權是 Elastic License 2.0(ELv2),不是傳統開源授權:可自用、可修改,但不能把它包成託管服務轉賣。
  • 官方在 README 掛了「Microsoft、Google、Meta、NVIDIA 等團隊使用中」的徽章,但這屬於廠商自述,沒有第三方稽核可驗證,看數據時請自行打折。
  • 它解決的是**「資料體積」,不是「模型記不記得你的偏好」**。長期記憶要另外一套(例如 claude-mem 完整教學 介紹的做法)。

九、常見問題(FAQ)

Context Mode 是免費的嗎? 是,套件直接從 npm 安裝、本機執行,沒有訂閱制;付費的只有選用的託管 Insight 儀表板。

跟直接寫 AGENTS.md/CLAUDE.md 有什麼不同? 寫文件只是「請模型少讀一點」的軟性勸導;Context Mode 是在 MCP 協議層把資料擋住,加上 hook 強制路由,屬於硬性機制。

沒有 hooks 的環境有用嗎? 有,但只有約六成效果,而且一次大型輸出就可能抵銷。建議至少把路由檔複製到專案,並避免讓 agent 直接跑會吐大量文字的指令。

會不會把我的原始碼傳出去? 依官方設計不會——它在沙箱處理、資料落地本機;但由於沒有獨立稽核,機敏環境建議自行以封包監控或離線環境驗證。

延伸閱讀

原始來源

📬 訂閱 most.tw 電子報

每週精選 AI 工具教學與技術乾貨,直接送到你的信箱。免費、隨時可退訂。

訂閱即表示同意收到 most.tw 電子報,隨時可一鍵退訂。

💬 有問題想討論?加 LINE 聯絡我

歡迎透過 LINE 官方帳號直接留言,我會盡快回覆你的問題。

加入 LINE 好友