context-mode 是什么?

Context Mode 是一个为 AI 编码 agent 做「上下文窗口优化」的 MCP server:核心思路是把工具调用产生的原始数据挡在上下文窗口之外。它在隔离子进程沙箱里跑工具/代码,只让 stdout 进上下文(号称 315KB 降到 5.4KB、98% 缩减),并把会话事件(文件编辑、git、任务、错误、决策)索引进 SQLite FTS5、压缩对话时用 BM25 检索按需取回以保持会话连续性,还推动「让 LLM 写代码做分析而非把数据读进上下文」。支持 15 个平台(Claude Code/Cursor/Codex/Gemini CLI/OpenCode 等)。TypeScript,npm 包 context-mode,许可证为 Elastic License v2(源码可见、非标准 OSI 开源)。

⭐ 18,050 Stars 🍴 1,272 Forks TypeScript NOASSERTION 作者: mksglu 商业引流:中
来源:README The Problem/How Context Mode Solves It/Tools;GitHub desc,license Elastic-2.0,package v1.0.146 查看 GitHub 仓库 →

为什么值得关注

超过 1.5 万星、并登上 Hacker News 第一(570+ 分),热度来自它精准命中 agent 编程最痛的『上下文被工具输出吃光』问题:一次 Playwright 快照 56KB、二十个 GitHub issue 59KB,半小时就耗掉 40% 上下文,压缩后 agent 还会忘记在改什么。Context Mode 用沙箱挡数据 + 会话连续性 + 代码代替读文件三招组合解决,效果数据亮眼、跨 15 平台、并强调不强加文风约束,工程完整度高,自然引爆。

来源:GitHub 15,395 stars / 1,103 forks,created 2026-02-23;README HN 徽章/The Problem

核心功能

沙箱化工具输出(98% 缩减)

每次 ctx_execute 在带进程边界的隔离子进程里跑代码,只有 stdout 进上下文,原始数据(日志、API 响应、快照)不离开沙箱;支持 12 种语言运行时,Bun 自动加速 JS/TS,gh/aws/gcloud/kubectl/docker 等已认证 CLI 通过凭证透传可用而不暴露给对话。

来源:README How the Sandbox Works/Tools
会话连续性(压缩不丢状态)

把文件编辑、git、任务、错误、用户决策记进 SQLite,压缩对话时不把数据塞回上下文,而是索引进 FTS5、用 BM25 只取回相关事件,让模型接着上次继续;不加 --continue 则上次会话数据立即删除、保持干净起点。

来源:README How Context Mode Solves It(2)/Session Continuity
Think in Code(代码代替读数据)

强制范式:让 LLM 编程做分析而非把数据读进上下文——例如用一段脚本数函数行数并只 console.log 结果,一个脚本替十次工具调用、省 100x 上下文,15 平台统一执行。

来源:README How Context Mode Solves It(3)
强检索的本地知识库

ctx_index 按标题切块存入 SQLite FTS5,检索用 BM25 + Porter 词干 + trigram 子串,经 Reciprocal Rank Fusion 融合,再加邻近重排、Levenshtein 模糊纠错、智能片段提取;ctx_fetch_and_index 抓 URL 转 markdown 索引并带 24h TTL 缓存,重复调用跳过网络。

来源:README How the Knowledge Base Works/Ranking/TTL Cache
Hook 级路由强制 + 15 平台适配

在支持 hook 的平台(Claude Code/Gemini/Cursor/Codex/OpenCode 等)用 PreToolUse 等 hook 拦截工具调用、把危险/大输出重定向到沙箱(开 hook ~98% 节省,仅靠指令文件约 60%);非 hook 平台(Zed/Antigravity)靠手动复制路由文件。带各平台插件与 ctx 工具命令。

来源:README Platform Compatibility/Routing Enforcement

技术架构

TypeScript 实现的 MCP server(npm 包 context-mode,v1.0.146),可在 Bun/Node 上跑(SQLite 后端按运行时自动选 bun:sqlite / node:sqlite / better-sqlite3)。核心是一组 MCP 工具:ctx_execute(_file)/ctx_batch_execute(沙箱执行)、ctx_index/ctx_search/ctx_fetch_and_index(FTS5+BM25 知识库)、ctx_stats/doctor/upgrade/purge(运维)。沙箱用隔离子进程 + 凭证透传实现。会话连续性靠 SQLite + FTS5 事件索引。仓库为 15 个平台各自提供集成:.claude-plugin/.codex-plugin/.cursor-plugin/.openclaw-plugin 等插件、configs/ 下各平台路由指令文件(CLAUDE.md/GEMINI.md/AGENTS.md...)、hooks/ 注入逻辑,并把同一能力包成 skills(ctx-stats/doctor/upgrade 等)。还有 web/(insight 本地分析面板)、bin、bundle 产物。整体是『MCP 工具核心 + 多平台 hook/插件适配层 + 本地 SQLite 知识库』,工程化与跨平台覆盖都很完整。

来源:tree(src/、plugins/、skills/、configs/、hooks/、*.bundle.mjs、web/);README Platform Compatibility/Knowledge Base;package.json

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) MCP (Model Context Protocol)MCP SQLite FTS5 (bun:sqlite/node:sqlite/better-sqlite3)SQLite FTS5 BM25 + Porter/trigram + RRF (检索)BM25 + Porter/… Bun/Node 运行时 12 语言沙箱运行时 沙箱化工具输出(98% 缩减)沙箱化工具输出(98%… 会话连续性(压缩不丢状态)会话连续性(压缩不丢状… Think in Code(代码代替读数据)Think in Code(代码… 强检索的本地知识库 Hook 级路由强制 + 15 平台适配Hook 级路由强制 + 15… context-mode 项目本体 核心功能 关键依赖

中心为项目本体,内环 = 核心功能模块,外环 = 关键技术依赖;按 deep.json 中的 core_features 与 tech_stack.key_deps 自动生成

技术栈

语言TypeScript框架MCP server + 多平台 hook/插件
MCP (Model Context Protocol)SQLite FTS5 (bunBM25 + Porter/trigram + RRF (检索)Bun/Node 运行时12 语言沙箱运行时
本地运行的 MCP server;隔离子进程沙箱;per-project SQLite 知识库(~/.context-mode/);适配 15 个 AI 编码平台
来源:README How the Knowledge Base/Sandbox;package.json

快速上手

作为 MCP server 接入你的 AI 编码工具:可走(已发布的)插件市场,或手动安装(npm 包 context-mode,配 .mcp.json 与对应平台的 hook)。在支持 hook 的平台(Claude Code/Gemini/Cursor/Codex/OpenCode 等)务必启用 hook——开 hook 约 98% 节省、仅靠指令文件约 60%;非 hook 平台(Zed/Antigravity)需手动复制对应路由文件(AGENTS.md/GEMINI.md)。会话里直接说 ctx stats/doctor/upgrade/purge/insight 即可调用;ctx_doctor 可自检运行时/hook/FTS5。要跨重启保留索引用 --continue。
来源:README Install/Routing Enforcement/Utility Commands

使用场景

适合:①长会话、重度调用 MCP/工具(Playwright、日志、API、抓网页)导致上下文被原始数据吃光的 AI 编码用户;②希望压缩对话后 agent 还记得在改什么、任务进度的人;③想在 Claude Code/Cursor/Codex 等多平台统一做上下文优化的团队。不适合:很少触发大工具输出的轻量使用(收益有限);以及对许可证有 OSI 开源硬要求、或要把它作托管服务转售的场景(ELv2 限制商业托管转售)。

来源:README The Problem/Platform Compatibility/License,结合定位推断

优势与局限

优势

  • 命中真痛点且解法系统:沙箱挡数据 + 会话连续性 + 代码代替读文件,四个维度一起治上下文问题
  • 效果与工程都硬:98% 缩减数据、SQLite FTS5+BM25+RRF+模糊纠错的检索做得专业,HN 第一
  • 跨平台覆盖广:15 个 AI 编码平台,hook 能真正拦截/重定向工具调用(~98%),并坦诚标注无 hook 仅 ~60%
  • 本地优先、隐私边界清晰:数据留沙箱与本地 SQLite,凭证透传不暴露给对话
  • 克制:明确不强加文风约束(引用 brevity 提示会降基准的研究),只管数据去向

局限

  • 许可证是 Elastic License v2(源码可见但非 OSI 开源),限制商业托管/转售,企业采用前需评估
  • README 顶部『Microsoft/Google/Meta 等团队在用』是无来源的 shields.io 徽章,属营销话术,不应当作背书
  • 收益高度依赖启用 hook 与平台支持,非 hook 平台只有约 60% 效果,且配置有一定门槛
  • 强制 Think-in-Code/路由可能改变 agent 习惯,少数场景下增加心智或调试成本
  • 节省数据基于特定示例(315KB→5.4KB 等),实际收益随工作负载波动
来源:README License/平台表/徽章;package.json license=Elastic-2.0

最新版本

以 npm 包持续高频发布,当前版本 v1.0.146,主分支几乎每天提交(最近 push 2026-05-22)。提供 ctx_upgrade 一键从 GitHub 升级重建并重配 hook。许可证为 Elastic License v2。

来源:package.json version=1.0.146/license Elastic-2.0;pushed_at 2026-05-22;README Utility Commands

总结评价

Context Mode 抓的是 agent 编程里最实在的痛点:上下文被工具输出吃光、压缩后又丢状态。它的四招解法(沙箱挡原始数据、SQLite+BM25 维持会话连续性、用代码代替把数据读进上下文、不强加文风)既对路又落地扎实,检索工程做得相当专业,覆盖 15 个平台、还登顶 HN,1.5 万星实至名归。要注意两点:一是它是 Elastic License v2(源码可见但非开源、限制托管转售),企业采用要看清;二是 README 那排『大厂在用』徽章并无来源,是营销而非背书,且收益高度依赖启用 hook。撇开这些,对长会话、重工具调用的 AI 编码用户,它是目前上下文优化方向最完整的方案之一,值得认真试用。

来源:综合 README 定位/解法/平台与许可证、tree 工程结构、版本状态的事实判断

常见问题

context-mode 是什么?

Context Mode 是一个为 AI 编码 agent 做「上下文窗口优化」的 MCP server:核心思路是把工具调用产生的原始数据挡在上下文窗口之外。它在隔离子进程沙箱里跑工具/代码,只让 stdout 进上下文(号称 315KB 降到 5.4KB、98% 缩减),并把会话事件(文件编辑、git、任务、错误、决策)索引进 SQLite FTS5、压缩对话时用 BM25 检索按需取回以保持会话连续性,还推动「让 LLM…

context-mode 有哪些核心功能?

context-mode 的核心功能包括:沙箱化工具输出(98% 缩减)、会话连续性(压缩不丢状态)、Think in Code(代码代替读数据)、强检索的本地知识库、Hook 级路由强制 + 15 平台适配。

context-mode 为什么最近很受关注?

超过 1.5 万星、并登上 Hacker News 第一(570+ 分),热度来自它精准命中 agent 编程最痛的『上下文被工具输出吃光』问题:一次 Playwright 快照 56KB、二十个 GitHub issue 59KB,半小时就耗掉 40% 上下文,压缩后 agent 还会忘记在改什么。

context-mode 适合哪些使用场景?

适合:①长会话、重度调用 MCP/工具(Playwright、日志、API、抓网页)导致上下文被原始数据吃光的 AI 编码用户;②希望压缩对话后 agent 还记得在改什么、任务进度的人;③想在 Claude Code/Cursor/Codex 等多平台统一做上下文优化的团队。不适合:很少触发大工具输出的轻量使用(收益有限);以及对许可证有 OSI 开源硬要求、或要把它作托管服务转售的场景(ELv2 限制商业托管转售)。

透明度声明
本页内容由 AI(大语言模型)基于以下公开材料自动生成:GitHub README、代码目录结构、依赖文件、Release 信息。 分析时间: 2026-05-22 20:52. 质量评分: 100/100.

数据来源:README、GitHub API、依赖文件