关于 Token Enhancer
Token Enhancer 是一个本地代理,在网页内容进入 AI Agent 上下文窗口之前,将页面清理为纯文本。它面向需要频繁抓取网页的 Agent 用户,并可作为 MCP 服务接入。
主要功能
- 01抓取任意 URL 并去除 HTML 与 JSON 噪声
- 02结果缓存,重复抓取更快
- 03批量抓取多个 URL
- 04可选的提示词精简,由用户选择保留版本
- 05无需 API Key 与 GPU,基于 Python
适用场景
- 01降低 Agent 抓取金融或新闻页面时的 token 消耗
- 02为 LangChain 等框架提供干净的网页内容工具
- 03在 Claude Desktop 或 Cursor 中让 Agent 自动调用网页抓取
MCP 相关
以 MCP 服务形式运行,向 Claude Desktop、Cursor 等 MCP 客户端暴露 fetch_clean、fetch_clean_batch 与 refine_prompt 三个工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Token Enhancer
一个本地代理,会在网页进入 AI Agent 的上下文窗口之前,将其精简为干净的文本。
抓取一次 Yahoo Finance:704,760 个 token → 2,625 个 token。减少 99.6%。
无需 API 密钥。无需大模型。无需 GPU。只需 Python。
问题
AI Agent 将原始 HTML 页面加载到上下文中,浪费了大部分 token 预算。单个 Yahoo Finance 页面就包含 704K 个 token,其中充斥着导航栏、广告、脚本和垃圾内容。在开始推理之前,你的 Agent 就得为这些内容全部买单。
解决方案
Token Enhancer 位于 Agent 与网络之间。它会抓取页面、清除噪声、缓存结果,并且只返回干净的数据。
| 来源 | 原始 token 数 | 使用代理后 | 减少比例 |
|---|---|---|---|
| Yahoo Finance(AAPL) | 704,760 | 2,625 | 99.6% |
| Wikipedia 文章 | 154,440 | 19,479 | 87.4% |
| Hacker News | 8,662 | 859 | 90.1% |
| GitHub 仓库页面 | 171,234 | 6,976 | 95.9% |
安装
pip install xelektron-token-enhancer
快速开始(从源代码安装)
git clone https://github.com/xelektron/token-enhancer.git
cd token-enhancer
chmod +x install.sh
./install.sh
source .venv/bin/activate
python3 test_all.py --live
用法
作为独立代理
source .venv/bin/activate
python3 proxy.py
然后在另一个终端中:
curl -s http://localhost:8080/fetch \
-H "content-type: application/json" \
-d '{"url": "https://finance.yahoo.com/quote/AAPL/"}' \
| python3 -m json.tool
作为 MCP 服务(Claude Desktop、Cursor、OpenClaw)
这是即插即用的选项。你的 AI Agent 会自动发现这些工具并自行使用。
pip install xelektron-token-enhancer
Claude Desktop: 添加到配置文件中
Mac:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"token-enhancer": {
"command": "python3",
"args": ["-m", "mcp_server"],
"env": {
"REQUESTS_CA_BUNDLE": "/etc/ssl/certs/ca-certificates.crt"
}
}
}
}
在 SSL 验证失败的 Linux 主机上,上方的
env块会覆盖默认的 CA 证书包。在 macOS/Windows 上请将其移除。
Cursor: 添加到项目中的 .cursor/mcp.json:
{
"mcpServers": {
"token-enhancer": {
"command": "python3",
"args": ["-m", "mcp_server"]
}
}
}
连接后,你的 Agent 会获得三个工具:
fetch_clean 抓取任意 URL 并返回干净的文本(缩减 86% 至 99%)
fetch_clean_batch 一次抓取多个 URL
refine_prompt 可选的提示词清理功能,会同时显示两个版本供你选择
作为 LangChain 工具
from langchain.tools import tool
import requests
@tool
def fetch_clean(url: str) -> str:
"""Fetch a URL and return clean text with HTML noise removed."""
r = requests.post("http://localhost:8080/fetch", json={"url": url})
return r.json()["content"]
将 fetch_clean 添加到 Agent 的工具列表中。请先启动 python3 proxy.py。
功能
数据代理(第 2 层) 抓取任意 URL,清除 HTML/JSON 噪声,并返回干净的文本。会缓存结果,因此重复抓取可即时完成。支持 HTML、JSON 和纯文本。
提示词优化器(第 1 层,可选) 清除填充词和含糊表达,同时保护股票代码、日期、金额、否定词和对话引用。你可以查看两个版本并自行选择。
MCP 服务 接入 Claude Desktop、Cursor、OpenClaw 或任意 MCP 客户端。Agent 会自动发现并使用这些工具。
API 端点(代理模式)
| 端点 | 方法 | 描述 |
|---|---|---|
/fetch | POST | 抓取 URL、清除噪声并返回干净的数据 |
/fetch/batch | POST | 一次抓取多个 URL |
/refine | POST | 可选的提示词优化 |
/stats | GET | 会话统计信息 |
运行测试
python3 test_all.py # Layer 1 only (offline)
python3 test_all.py --live # Layer 1 + Layer 2 (needs internet)
路线图
- 第 1 层:提示词优化器
- 第 2 层:带缓存的数据代理
- MCP 服务集成
- LangChain 工具示例
- 浏览器回退方案(Playwright),用于被机器人拦截的网站
- 经过身份验证的会话管理
- 第 3 层:输出/历史记录压缩
- CLI 工具
- 仪表板 UI
要求
Python 3.10+。无需 API 密钥。无需 GPU。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。