内容
<div align="center">
# context-compress
**停止让 AI 代理被 shell 输出淹没。**
在上下文窗口进入之前压缩工具输出 — 通过 MCP 服务器、直接 CLI 或两者。
[](https://github.com/Open330/context-compress/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/context-compress)
[](https://nodejs.org)
[](LICENSE)
[](tsconfig.json)
[](#contributing)
[快速开始](#quickstart) · [压缩模式](#compression-modes) · [与 RTK 对比](#head-to-head-with-rtk) · [工作原理](#how-it-works) · [配置](#configuration) · [CLI](#cli) · [更新日志](CHANGELOG.md)
</div>
<table align="center">
<tr>
<td align="center" width="25%">
**93%**
<br>token 减少
<br><sub>激进模式</sub>
</td>
<td align="center" width="25%">
**+10.5pp**
<br>优于 RTK
<br><sub>相同命令</sub>
</td>
<td align="center" width="25%">
**4 种模式**
<br>包括 LLM 评判
<br><sub>自动 • 激进 • 平衡 • 保守</sub>
</td>
<td align="center" width="25%">
**8 个 MCP 工具**
<br>+ 独立 CLI
<br><sub>RTK 兼容包装</sub>
</td>
</tr>
</table>
---
## 快速开始
```bash
# 1. 安装
npm install -g context-compress
# 2. 一行设置 — 注册 MCP 服务器,安装钩子,
# 启用透明 Bash 压缩
context-compress setup --auto
# 3. (可选)为会话选择一种模式
export CONTEXT_COMPRESS_MODE=balanced # 或:aggressive,conservative,auto
```
就这样。重启 Claude Code,shell 输出现在在进入上下文之前被压缩。
> **是否完全不需要 MCP?** `context-compress wrap "<cmd>"` 压缩任意 shell 命令的输出 — 直接替换 [RTK](https://github.com/rtk-ai/rtk)。参见 [CLI](#cli)。
<details>
<summary><b>AI 代理的快速开始</b> — 粘贴此提示,您的代理将安装它</summary>
<div><img src="https://quickstart-for-agents.vercel.app/api/header.svg?theme=claude-code&title=context-compress&lang=Agents&mascot=thinking" width="100%" /></div>
```
安装 context-compress — 一个压缩 Claude Code 工具输出的 MCP 服务器。
原始数据保留在沙箱子进程中,只有简洁的摘要进入您的上下文窗口。
在大型输出上节省 ~99% 的 token,同时通过 FTS5 保持所有内容可搜索。
npm install -g context-compress
context-compress setup --auto
context-compress doctor
更多信息:https://github.com/Open330/context-compress
```
<div><img src="https://quickstart-for-agents.vercel.app/api/footer.svg?theme=claude-code&project=context-compress" width="100%" /></div>
</details>
---
## 为什么?
工具输出的每一字节进入 Claude Code 上下文窗口都会 **降低质量和速度**。
单个 `git log` 或 `npm test` 可以将 50KB+ 倒入上下文 — 相当于 ~12,000 个 token 消失。
**context-compress** 拦截这些工具,在沙箱中处理输出,并仅返回重要的内容:
```
之前: git log --oneline -100 → 8.2KB 进入上下文
之后: execute("git log ...") → 0.3KB 摘要 + FTS5 中可搜索的完整数据
```
它以两种模式工作,可以自由组合:
- **MCP 服务器** — 注册为 Claude Code MCP 服务器,带有 8 个工具(`execute`、`search`、`batch_execute`、`fetch_and_index`、`index`、`execute_file`、`stats`、`discover`)。当输出较大时,代理直接调用它们。
- **独立 CLI** — `context-compress wrap "<cmd>"` 运行任意 shell 命令,并将输出通过相同的压缩管道。直接替换 [RTK](https://github.com/rtk-ai/rtk) 和朋友。PreToolUse 钩子可以在 `CONTEXT_COMPRESS_FILTER_BASH=1` 时将 `Bash` 调用路由到它。
> 基于 [context-mode](https://github.com/mksglu/claude-context-mode) by Mert Koseoğlu — 用 TypeScript 重写,具有安全强化、架构改进和更好的 DX。
---
## 入门指南
### 安装
```bash
npm install -g context-compress
```
### 一行设置
```bash
context-compress setup --auto
```
为您写入 `~/.claude/settings.json`:注册 MCP 服务器,安装 PreToolUse 钩子,启用透明 Bash 压缩。幂等 — 使用相同的路径重新运行不会产生任何更改。保留任何无关的用户设置。
### 手动设置
```bash
claude mcp add context-compress -- node $(which context-compress)
```
或添加到您的项目的 `.mcp.json` 中:
```json
{
"mcpServers": {
"context-compress": {
"command": "node",
"args": ["/path/to/context-compress/dist/index.js"]
}
}
}
```
### 验证
```bash
context-compress doctor
```
---
## 工作原理
```
┌─────────────────────────────────────────────────────────┐
│ Claude Code │
│ │
│ "运行测试" ──→ PreToolUse 钩子拦截 │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ context-compress │ │
│ │ MCP 服务器 │ │
│ └────────┬─────────┘ │
│ │ │
│ ┌───────────┼───────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 执行器 │ │ 存储 │ │ 统计 │ │
│ │ (11 种语言)│ │ (FTS5) │ │ 跟踪器 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │
│ ▼ ▼ │
│ 原始输出 索引和 只有摘要 │
│ 保留在此 可搜索 进入上下文 │
└─────────────────────────────────────────────────────────┘
```
### 8 个 MCP 工具
| 工具 | 功能 |
|:-----|:-------------|
| **`execute`** | 在 11 种语言中运行代码。只有 stdout 进入上下文。 |
| **`execute_file`** | 通过 `FILE_CONTENT` 变量处理文件 — 文件从不进入上下文。 |
| **`index`** | 将 markdown/text 分片到 FTS5 知识库中用于搜索。 |
| **`search`** | BM25 搜索,带 Porter 分词 → 三元组 → 模糊回退。 |
| **`fetch_and_index`** | 获取 URL → HTML 转 markdown → 自动索引。仅在上下文中预览。 |
| **`batch_execute`** | 运行 N 个命令 + 搜索,一次调用。替换 30+ 个工具调用。 |
| **`stats`** | 会话 + 累积统计:节省的字节、避免的 token、节省比率。 |
| **`discover`** | 列出索引源、热门可搜索术语,并建议下一步操作。 |
### 支持的语言
`javascript` · `typescript` · `python` · `shell` · `ruby` · `go` · `rust` · `php` · `perl` · `r` · `elixir`
> Bun 自动检测,提供 3-5 倍更快的 JS/TS 执行。
---
## 压缩模式
context-compress 提供四种压缩模式,权衡保真度以换取紧凑性。将 `--mode` 传递给 CLI,设置环境变量 `CONTEXT_COMPRESS_MODE`,或使用默认的 `balanced` 模式。
| 模式 | 策略 | 使用场景 |
|:--|:--|:--|
| `conservative` | 仅 ANSI 剥离 — 保留每个字节的有意义内容 | 您需要完全的保真度、调试输出、存档日志 |
| `balanced` *(默认)* | 剥离噪音(进度条、弃用警告、提示行)— 保留元数据(提交正文、文件日期、完整测试失败) | 代理日常工作,上下文可能被重新读取 |
| `aggressive` | 丢弃元数据 — git log → oneline,ls -la → 名称 + 大小,找到更低阈值,grep 分组 | 最大节省 token;代理很少需要丢弃的详细信息 |
| `auto` | LLM(Anthropic API 或 `claude -p`)为每个命令选择上述之一,基于输出的 500 字节样本。决策缓存 24 小时 | 您不想考虑它 — 让模型逐个输出进行判断 |
```bash
# CLI 标志(每次调用覆盖)
context-compress wrap --mode aggressive "git log -50"
# 环境变量(一次设置会话)
export CONTEXT_COMPRESS_MODE=aggressive
```
PreToolUse 钩子还会在包装 Bash 命令时自动转发 `CONTEXT_COMPRESS_MODE`,因此代理会透明地获得您配置的任意模式。
### 与 [RTK](https://github.com/rtk-ai/rtk) 对比
本地复制:
```bash
git clone https://github.com/rtk-ai/rtk /tmp/rtk && (cd /tmp/rtk && cargo build --release)
RTK_BIN=/tmp/rtk/target/release/rtk tsx scripts/benchmark-vs-rtk.ts
```
此存储库的结果(RTK 0.39.0 vs context-compress 2026.5.0):
| 命令 | 原始 | RTK | CC `conservative` | CC `balanced` | CC `aggressive` | CC `auto` (LLM) |
|:--|--:|--:|--:|--:|--:|--:|
| `git status` | 577 B | 241 B (58%) | 577 B (0%) | 375 B (35%) | **187 B (68%)** | 平衡 (35%) |
| `git log -10` (完整) | 21.3 KB | 3.2 KB (85%) | 21.3 KB (0%) | 4.6 KB (79%) | **947 B (96%)** | 平衡 (79%) |
| `git log -50` (完整) | 36.9 KB | 10.1 KB (73%) | 36.9 KB (0%) | 12.3 KB (67%) | **3.2 KB (91%)** | 平衡 (67%) |
| `git diff --stat` | 425 B | 424 B (0%) | 425 B (0%) | 425 B (0%) | 425 B (0%) | 平衡 (0%) |
| `ls src/` | 149 B | 229 B (-54%) | 149 B (0%) | 149 B (0%) | 149 B (0%) | 保守 (0%) |
| `ls -laR src/` | 3.8 KB | **229 B (94%)** | 3.8 KB (0%) | 3.1 KB (19%) | 877 B (78%) | 激进 (78%) |
| `find *.ts` | 1.0 KB | 589 B (44%) | 1.0 KB (0%) | **183 B (83%)** | **183 B (83%)** | 激进 (83%) |
| `npm test` | 21.8 KB | 114 B (99%) | 16.7 KB (24%) | **120 B (99%)** | **120 B (99%)** | 平衡 (99%) |
| **总体** (字节加权) | **85.9 KB** | 15.0 KB (82.5%) | 80.8 KB (6.0%) | 21.2 KB (75.4%) | **6.0 KB (93.0%)** | 19.0 KB (77.9%) |
从此表中可以得出三点结论:
1. **`balanced` 自身具有竞争力。** 默认模式在不丢弃任何元数据的情况下达到 ~75% 的减少率 — 代理获得完整的提交头、文件权限/日期和完整的测试失败详细信息。仅比 RTK 低 7pp,同时进行不同的保真度权衡。
2. **`aggressive` 在原始压缩方面占据绝对优势** — 93.0%,比 RTK 高出 10.5pp。当您想要最大限度地节省 token 时,请选择此模式,而代理很少会重新读取被丢弃的详细信息。
3. **`auto` 让模型选择。** 每个命令的 LLM 判断达到 77.9% 的整体水平 — 介于平衡和激进之间。有趣的结果是 *它选择了什么*:对于 git/test 输出(其中提交正文和失败详细信息很重要),选择 `balanced`;对于 `ls -laR` 和 `find`(问题是“有什么?”,而不是“显示所有内容”),选择 `aggressive`;对于小输出,选择 `conservative`,因为压缩是无意义的。
激进模式涵盖的命令范围比上表所暗示的更广 — 它还处理 `df`(丢弃伪文件系统)、`du`(按大小前 N 名)、`ps aux`(仅 PID/%CPU/%MEM/CMD,丢弃内核线程)、`npm ls`(剥离绘图字符 + `deduped`/`extraneous` 标记)和 `grep`/`rg`(按文件分组,截断长行)。
平衡模式现在执行的操作(超过保守模式):
- `ls -l*` 丢弃 `total N`、`.`/`..` 条目(通用噪音)但保留权限/日期
- `git log` 保留头部 + 前 3 个正文行/提交,替换其余部分为 `[+N 行省略]`
- `find` / `ls -R` 在输出超过 20 个条目时汇总每个目录
- 通用 deduplication/progress/group 在 5KB 而不是 10KB 处运行
> RTK 有一种固定的压缩策略 — 与 context-compress 的 `aggressive` 模式相当。context-compress 让代理选择:当问题是“发生了什么变化”时,选择 `aggressive`;当问题是“解释为什么”时,选择 `balanced`。
---
## Token 减少
context-compress 在典型的 12 操作编码会话中实现了 **99.2% 的 token 减少**。
| 操作 | 之前 | 之后 | 减少 |
|:--|--:|--:|--:|
| 读取捆绑文件(776KB) | 194,076 tok | 105 tok | 99.9% |
| Playwright 快照(56KB) | 14,000 tok | 75 tok | 99.5% |
| 读取 CSV/JSON 数据(100KB) | 25,000 tok | 125 tok | 99.5% |
| 读取源文件(21KB) | 5,250 tok | 88 tok | 98.3% |
| npm 安装日志(15KB) | 3,750 tok | 50 tok | 98.7% |
| curl API 响应(12KB) | 3,000 tok | 88 tok | 97.1% |
| npm 测试(42 个测试) | 935 tok | 45 tok | 95.2% |
| batch_execute(5 个命令) | 6,250 tok | 375 tok | 94.0% |
| fetch_and_index(45KB 页面) | 11,250 tok | 750 tok | 93.3% |
| grep(小输出) | 361 tok | 361 tok | 0% |
| **总会话** | **267,121 tok** | **2,223 tok** | **99.2%** |
| 无 context-compress,12 次操作消耗 **133% 的 200K 上下文窗口** — 完全溢出。 有 context-compress,相同操作使用 **1.1%**,留下 98.9% 可用于实际对话。
> 数据不会被删除 — 它被索引到 FTS5 中,并在需要时可搜索。 小输出(<5KB)未经压缩直接通过。
**[阅读完整的 Token 减少报告](docs/token-reduction-report.md)** — 包括成本分析、架构深入解析和有关上下文损失权衡的常见问题。
---
## 从 context-mode 有何变化
| | context-mode | context-compress |
|:--|:------------|:-----------------|
| **凭证** | 默认传递 20+ 身份验证环境变量 | 仅限选择加入(`passthroughEnvVars: []`) |
| **钩子写入** | 自修改 `settings.json` | 零文件系统写入 |
| **Rust 编译** | Shell 字符串 → 注入风险 | `execFileSync` 带有数组参数 |
| **升级** | `git clone` 任意代码 | 完全删除 |
| **FTS5 索引** | 始终双表(Porter + 三元组) | 延迟三元组 — 50% 更少的写入 |
| **运行时检测** | 顺序 `execSync` ~250ms | 并行 `Promise.all` ~40ms |
| **batch_execute** | 顺序命令 | `Promise.allSettled` 并行 |
| **配置** | 无 | 环境变量 + 文件 + 默认值 |
| **错误** | 23 个无声捕获块 | `CONTEXT_COMPRESS_DEBUG=1` 记录所有错误 |
| **卸载** | 无 | `context-compress uninstall` |
---
## 配置
按顺序加载:**环境变量** → **`.context-compress.json`** → 默认值
### 环境变量
```bash
# 启用调试日志(stderr)
CONTEXT_COMPRESS_DEBUG=1
# 将特定环境变量传递给子进程(默认:无)
CONTEXT_COMPRESS_PASSTHROUGH_ENV=GH_TOKEN,AWS_PROFILE
# 禁用 curl/wget 阻塞
CONTEXT_COMPRESS_BLOCK_CURL=0
# 禁用 WebFetch 阻塞
CONTEXT_COMPRESS_BLOCK_WEBFETCH=0
# 禁用读取/ grep 提示
CONTEXT_COMPRESS_NUDGE_READ=0
CONTEXT_COMPRESS_NUDGE_GREP=0
# 压缩模式:保守 | 平衡(默认)| 激进 | 自动
CONTEXT_COMPRESS_MODE=balanced
# 自动模式优先使用 Anthropic API(比 `claude -p` 回退更快)
ANTHROPIC_API_KEY=sk-ant-...
# RTK 样式的透明 Bash 包装(默认:关闭)
CONTEXT_COMPRESS_FILTER_BASH=1
# 覆盖钩子使用的 context-compress 二进制路径
CONTEXT_COMPRESS_BIN=/usr/local/bin/context-compress
```
### 配置文件
在项目根目录或主目录中创建 `.context-compress.json`:
```json
{
"passthroughEnvVars": ["GH_TOKEN", "AWS_PROFILE", "KUBECONFIG"],
"blockCurl": true,
"blockWebFetch": true,
"debug": false
}
```
---
## CLI
```bash
context-compress # 启动 MCP 服务器(stdio)
context-compress setup # 检测运行时,显示安装说明
context-compress setup --auto # 一行:写入 ~/.claude/settings.json
context-compress init --auto # 别名:setup --auto
context-compress doctor # 诊断:运行时,钩子,FTS5,版本
context-compress uninstall # 干净的删除:钩子,MCP 注册,旧数据库
# RTK 样式的透明压缩 — 任何地方使用,代理不需要 MCP
context-compress wrap "npm test" # 默认 = 平衡
context-compress wrap --mode aggressive "git log -50" # 最大压缩
context-compress wrap --stream "tail -f /var/log/app.log" # 行式处理长运行命令
context-compress filter --cmd "git push" < captured.log # 管道过滤器
```
### Bash 自动包装(透明模式)
设置 `CONTEXT_COMPRESS_FILTER_BASH=1`,PreToolUse 钩子将自动将输出量大的 `Bash` 调用路由到 `context-compress wrap` — 代理不需要调用 `execute()` 即可受益。将其与 `CONTEXT_COMPRESS_MODE=aggressive` 结合使用以实现最大压缩。
### 医生输出示例
```
context-compress doctor
[PASS] 性能:FAST — 检测到 Bun
[PASS] 语言覆盖率:7/11 (64%)
[PASS] 服务器测试:OK
[PASS] PreToolUse 钩子配置
[PASS] 钩子完整性:SHA-256 验证(a3f1c8d2e4...)
[PASS] FTS5 / better-sqlite3 工作正常
版本:v2026.5.0
所有检查通过。
```
## 项目结构
```
context-compress/
├── src/
│ ├── index.ts # MCP 服务器入口
│ ├── server.ts # 构建依赖,注册工具(132 行,原为 845)
│ ├── executor.ts # 子进程执行器 + ANSI/去重管道
│ ├── filters.ts # 命令感知过滤器(git、npm、ls、find、ps 等)
│ ├── store.ts # 内容存储(FTS5 + BM25 + Porter + 三角图 + Levenshtein)
│ ├── network.ts # SSRF / DNS 重新绑定保护
│ ├── stats.ts # 会话 + 累积会话跟踪器
│ ├── config.ts # 配置:环境变量 → 文件 → 默认值
│ ├── snippet.ts # FTS5 片段提取
│ ├── logger.ts # 调试日志记录器
│ ├── types.ts # 共享类型
│ ├── utils.ts # 检测注入模式,限制并发,格式化字节
│ ├── runtime/
│ │ ├── index.ts # 并行运行时检测 + 注册
│ │ ├── plugin.ts # 语言插件接口
│ │ └── languages/ # 11 种语言插件(js、ts、py、sh、rb、go、rs、php、pl、r、ex)
│ ├── tools/ # MCP 工具处理器(每个工具一个文件)
│ │ ├── context.ts # 共享工具上下文接口
│ │ ├── execute.ts
│ │ ├── execute-file.ts
│ │ ├── index-content.ts
│ │ ├── search.ts
│ │ ├── fetch-and-index.ts
│ │ ├── batch-execute.ts
│ │ ├── stats.ts
│ │ └── discover.ts
│ ├── util/ # 纯粹的实用工具(从 server.ts 中提取以提高可测试性)
│ │ ├── path.ts # isWithinProject(路径遍历安全)
│ │ ├── fetch-code.ts # buildFetchCode(HTML→md 沙盒脚本)
│ │ ├── intent-filter.ts # createIntentFilter 工厂
│ │ ├── label.ts # compactLabel(压缩级别)
│ │ ├── version.ts # getVersion(在 CLI 命令中去重)
│ │ ├── stream-compress.ts# 行级 StreamCompressor 用于 `wrap --stream`
│ │ └── auto-mode.ts # LLM 驱动的模式选择(Anthropic API + claude CLI)
│ ├── hooks/
│ │ └── pretooluse.ts # PreToolUse 钩子(curl/Bash/Read/Grep/WebFetch/Task)
│ └── cli/
│ ├── index.ts # CLI 分发器
│ ├── lite.ts # 单二进制入口(仅限 filter+wrap,无 MCP)
│ ├── filter.ts # `filter`(stdin)+ `wrap`(spawn)命令
│ ├── setup.ts # `setup` / `init` — 交互式 + --auto
│ ├── doctor.ts # `doctor` — 诊断
│ └── uninstall.ts # `uninstall` — 清洁移除
├── tests/
│ ├── unit/ # 18 个单元测试文件(213 个测试,均通过)
│ └── integration/ # 3 个集成测试文件
├── scripts/
│ ├── benchmark.ts # 合成压缩基准测试
│ ├── benchmark-real.ts # 真实命令基准测试(在此仓库上)
│ └── benchmark-vs-rtk.ts # 与 RTK 对比(带有 --auto 支持)
├── hooks/ # 预构建的钩子包(在 npm 包中提供)
├── skills/ # 斜杠命令定义
├── docs/ # 令牌减少报告 + 架构文档
└── dist/ # 编译输出(构建产物)
```
> `server.ts` 现在很薄(132 行)— 它构建依赖,构建 `ToolContext`,注册 8 个工具模块,并连接关闭。所有工具处理器都位于 `src/tools/` 下,所有可重用的帮助程序都位于 `src/util/` 下。
---
## 安全
| 威胁 | 缓解措施 |
|:-------|:-----------|
| 凭证泄露 | `passthroughEnvVars` 默认为空 — 除非选择加入,否则不向子进程传递环境变量 |
| Shell 注入 | `execFileSync` 使用数组参数 — 不将字符串插值到 shell 中 |
| SSRF / 私有 IP 获取 | `fetch_and_index` 阻止 RFC1918、链路本地、环回、IPv4 映射的 IPv6(包括十六进制形式 `::ffff:HHHH:HHHH`)、CGNAT |
| DNS 重新绑定(TOCTOU) | `resolveAndValidate` + URL 固定到解析的 IP,并保留原始 `Host` 头 |
| 路径遍历 | `isWithinProject` 使用 `realpathSync` 击败符号链接逃逸;对于尚未存在的路径,fallback 到字符串前缀 |
| 钩子自我修改 | 钩子是只读的 — `src/hooks/` 中没有 `fs.writeFileSync`。钩子完整性 SHA-256 由 `doctor` 验证 |
| 任意代码执行 | 没有 `upgrade` 命令 — 没有运行时 `git clone` 或 `npm install`。设置仅写入 `~/.claude/settings.json` |
| 静默失败 | `CONTEXT_COMPRESS_DEBUG=1` 将所有捕获块错误输出到 stderr |
| 子进程沙盒化 | 不强制执行 OS 级沙盒化(根据 MCP 信任模型设计)。有关完整的信任模型,请参阅 [SECURITY.md](SECURITY.md)。 |
---
## 贡献
```bash
git clone https://github.com/Open330/context-compress
cd context-compress
npm install
npm run typecheck # 严格的 TS
npm run lint # Biome
npm test # 所有测试(单元 + 集成)
npm run test:unit # 仅单元测试
npm run build # 编译 + 打包 MCP 服务器 + CLI
npm run build:hooks # 打包 PreToolUse 钩子(带有 SHA-256)
npm run build:bin # 通过 Bun 进行跨编译(4 个目标)
```
### 复现基准测试
```bash
# 合成 — 快速、可复现、包括 RTK 样式命令
tsx scripts/benchmark.ts
# 真实世界 — 在您的仓库上运行实际命令
tsx scripts/benchmark-real.ts # 完整
tsx scripts/benchmark-real.ts --quick # 跳过 npm 测试
# 与 RTK 对比(先构建它)
git clone https://github.com/rtk-ai/rtk /tmp/rtk
(cd /tmp/rtk && cargo build --release)
RTK_BIN=/tmp/rtk/target/release/rtk tsx scripts/benchmark-vs-rtk.ts
RTK_BIN=... tsx scripts/benchmark-vs-rtk.ts --auto # 还运行 LLM 判定的自动模式
RTK_BIN=... tsx scripts/benchmark-vs-rtk.ts --json # 可读的机器
```
---
## 许可证
[MIT](LICENSE) — 基于 Mert Koseoğlu 的 [context-mode](https://github.com/mksglu/claude-context-mode)。
> **灵感来自 [RTK](https://github.com/rtk-ai/rtk)**,采用命令感知过滤策略。context-compress 在相同的想法基础上构建,具有多模式权衡、LLM 判定的 `auto` 模式、MCP 集成、沙盒执行和可搜索的知识库。
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器