Ctx 实战:用知识图谱自动推荐最相关技能和 MCP,告别 Token 浪费
你的 Agent 正在吃 90% 的无效 Token
如果你经常使用 Claude Code、Codex 或 Gemini CLI 做编码任务,一定遇到过这个问题:手头装了 30 多个技能(Skills)、配置了十几个 MCP 服务器,但每次会话 Agent 都要把它们全部加载到上下文中。结果呢?大量 Token 浪费在无关的技能定义上,回答质量反而下降——因为有效上下文被稀释了。
更糟的是,你根本不知道有哪些技能或 MCP 服务器适用于当前任务。开源社区已经有 91,000+ 个技能页面、10,000+ 个 MCP 服务器和 460+ 个 Agent,手动翻找就像大海捞针。
Ctx 就是为解决这个问题而生的——它监控你正在构建的代码,遍历一个 79,958 节点的知识图谱,然后为你当前的任务推荐最相关的一小撮技能、Agent 和 MCP 服务器。
什么是 Ctx?
Ctx(全称 claude-ctx)是一个开源的 Python CLI 工具(MIT 协议,515⭐),核心功能是基于上下文的智能推荐。它维护了一个庞大的 LLM-wiki 知识图谱,包含:
- 68,494 个技能实体(其中 67,024 个带有可安装的 SKILL.md)
- 467 个 Agent
- 10,790 个 MCP 服务器
- 207 个 Harness(运行环境模板)
- 2.6M 条图边(语义相似度、标签、来源重叠、质量评分等)
每次你开始一个新任务,Ctx 会自动分析代码仓库的信号,从图谱中筛选出与当前工作最匹配的 10-15 个实体,而不是让你盲目加载所有已安装的技能。
快速安装与初始化
pip install claude-ctx ctx-init ctx-init --graph --hooks --model-mode skip
ctx-init 会做三件事:
- 安装 Claude Code hooks:在
PostToolUse和Stop事件中自动扫描代码信号 - 下载知识图谱:预构建的 runtime 图谱(约几 MB 的压缩包),不包含完整 wiki 页面
- 配置模型:默认跳过模型配置,也可指定自定义模型和任务目标
如果你需要完整图谱用于本地浏览或 Obsidian 集成:
ctx-init --graph --graph-install-mode full
这会下载完整的 wiki-graph.tar.gz,包含所有 68,494 个技能页面和 207 个 harness 页面。
核心工作流
1. 扫描仓库
ctx-scan-repo --repo . ctx-scan-repo --repo . --recommend
Ctx 会分析你的代码语言、框架依赖、项目结构,然后与知识图谱匹配。
2. 查看技能质量
ctx-skill-quality list ctx-skill-quality explain python-patterns
Ctx 使用四信号质量评分体系,从代码质量、文档完整性、社区活跃度和项目健康度等多个维度评估每个技能——具体维度可通过 ctx-skill-quality explain 查看每个技能的详细得分。
3. 监控仪表盘
ctx-monitor serve
在 http://127.0.0.1:8765/ 启动本地仪表盘,可以查看:
- 当前加载的技能/Agent/MCP 列表
- 图谱可视化(按 slug 查看节点)
- LLM-wiki 实体浏览器
- 会话时间线
- 审计日志和运行时日志
4. 管理 Harness(运行环境模板)
Harness 是 Ctx 的概念——它可以包含项目的运行环境、技能组合和配置文件,让你在不同项目之间快速切换:
ctx-harness-add --repo https://github.com/user/project --tag cad ctx-harness-install project --dry-run ctx-harness-install project ctx-harness-install project --update --dry-run ctx-harness-install project --uninstall --dry-run
实战场景
场景 1:从零开始一个 Python Web 项目
mkdir my-fastapi-app && cd my-fastapi-app ctx-init --graph --hooks --model-mode skip ctx-scan-repo --repo . --recommend
Ctx 检测到 Python + FastAPI 的信号后,会自动推荐:
fastapi-routes技能(路由设计最佳实践)python-patterns技能(Python 常见模式)pydantic-validationMCP(实时数据验证)sqlalchemy-query技能(数据库查询优化)
场景 2:现有项目添加代码审查
cd existing-project ctx-scan-repo --repo . --recommend ctx-skill-quality explain code-review ctx-agent-add --agent-path ./code-reviewer.md --name code-reviewer
场景 3:日常监控技能健康度
ctx-skill-health dashboard
如果某个技能长期未使用,Ctx 会标记为”技能腐化”(skill rot),建议你卸载或替换。
在 CI 中的集成
Ctx 提供了一个本地 PR 门禁脚本,在你推送前自动检查:
python scripts/ci_preflight.py --profile pr
它会运行统计检查、ruff 代码风格、mypy 类型检查、pip 依赖验证、单元覆盖率、构建验证、图谱校验等。在发布前使用 --profile full 进行全面检查。
Ctx vs 手动管理
| 对比维度 | 手动管理技能 | Ctx 推荐 |
|---|---|---|
| Token 开销 | 加载所有已安装技能 | 仅加载最相关的 10-15 个 |
| 发现新技能 | 靠 GitHub 搜索或社区推荐 | 自动匹配当前代码 |
| 技能腐化 | 无感知 | 自动标记长期未用的技能 |
| MCP 集成 | 手动配置每个服务器 | 按任务推荐并自动配置 |
| 多项目切换 | 手动卸载/重装 | Harness 一键切换 |
注意事项
- Ctx 的预构建图谱约覆盖了 79,958 个节点,如果你需要完整的 91K+ 技能列表,使用
--graph-install-mode full下载完整版本 - 首次
ctx-init需要下载图谱文件,建议在稳定网络下执行 - Ctx 目前主要为 Claude Code 设计 hooks,但支持通过 harness 模式适配其他模型(如 GPT-5.5、本地模型)
- 如果你有自定义技能,可以使用
ctx-skill-add将其纳入图谱
总结
Ctx 解决了一个 AI 编码时代被普遍忽视的问题:技能发现和 Token 预算管理。在技能和 MCP 数量膨胀到数万个的生态中,手动管理已经不是可持续的方式。Ctx 的知识图谱推荐引擎让你的 Agent 始终使用最合适的工具组合,而不是在无用信息上浪费上下文预算。
对于经常使用 AI 编码工具且安装了多个技能的开发者来说,Ctx 是一个值得加入工具箱的效率工具。