<p> <a href="https://docs.ctxllm.com"><img alt="文档" src="https://img.shields.io/badge/docs-green"></a> <a href="https://raw.githubusercontent.com/context-hub/generator/refs/heads/main/json-schema.json"><img alt="Json schema" src="https://img.shields.io/badge/json_schema-blue"></a> <a href="https://discord.gg/YmFckwVkQM"><img src="https://img.shields.io/badge/discord-chat-magenta.svg"></a> <a href="https://t.me/spiralphp/2504"><img alt="Telegram" src="https://img.shields.io/badge/telegram-blue.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDI0YzYuNjI3IDAgMTItNS4zNzMgMTItMTJTMTguNjI3IDAgMTIgMCAwIDUuMzczIDAgMTJzNS4zNzMgMTIgMTIgMTJaIiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01LjQyNSAxMS44NzFhNzk2LjQxNCA3OTYuNDE0IDAgMCAxIDYuOTk0LTMuMDE4YzMuMzI4LTEuMzg4IDQuMDI3LTEuNjI4IDQuNDc3LTEuNjM4LjEgMCAuMzIuMDIuNDcuMTQuMTIuMS4xNS4yMy4xNy4zMy4wMi4xLjA0LjMxLjAyLjQ3LS4xOCAxLjg5OC0uOTYgNi41MDQtMS4zNiA4LjYyMi0uMTcuOS0uNSAxLjE5OS0uODE5IDEuMjI5LS43LjA2LTEuMjI5LS40Ni0xLjg5OC0uOS0xLjA2LS42ODktMS42NDktMS4xMTktMi42NzgtMS43OTgtMS4xOS0uNzgtLjQyLTEuMjA5LjI2LTEuOTA4LjE4LS4xOCAzLjI0Ny0yLjk3OCAzLjMwNy0zLjIyOC4wMS0uMDMuMDEtLjE1LS4wNi0uMjEtLjA3LS4wNi0uMTctLjA0LS4yNS0uMDItLjExLjAyLTEuNzg4IDEuMTQtNS4wNTYgMy4zNDgtLjQ4LjMzLS45MDkuNDktMS4yOTkuNDgtLjQzLS4wMS0xLjI0OC0uMjQtMS44NjgtLjQ0LS43NS0uMjQtMS4zNDktLjM3LTEuMjk5LS43OS4wMy0uMjIuMzMtLjQ0Ljg5LS42NjlaIiBmaWxsPSIjZmZmIi8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiB4MT0iMTEuOTkiIHkxPSIwIiB4Mj0iMTEuOTkiIHkyPSIyMy44MSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiMyQUFCRUUiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMyMjlFRDkiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4K"></a> <a href="https://packagist.org/packages/context-hub/generator"><img alt="许可证" src="https://img.shields.io/packagist/l/context-hub/generator"></a> <a href="https://packagist.org/packages/context-hub/generator"><img alt="最新版本" src="https://img.shields.io/packagist/v/context-hub/generator"></a> </p>几分钟内创建LLM就绪的上下文
在开发过程中,你的代码库不断演变。文件被添加、修改和删除。每次你需要继续与LLM工作时,都需要重新生成上下文以提供关于当前代码库状态的更新信息。
CTX 是一个上下文管理工具,它让开发者完全控制AI从他们的代码库中看到的内容。而不是让AI工具猜测什么内容是相关的,你可以精确地定义要提供什么上下文——使你的AI辅助开发更加可预测、安全和高效。
它帮助开发者组织上下文,并自动从他们的代码库中收集信息到结构化的文档中,这些文档可以轻松地与LLM共享。
例如,一个开发者描述了他们需要什么样的上下文:
# context.yaml
documents:
- description: 用户认证系统
outputPath: auth.md
sources:
- type: file
description: 认证控制器
sourcePaths:
- src/Auth
filePattern: "*.php"
- type: file
description: 认证模型
sourcePaths:
- src/Models
filePattern: "*User*.php"
- description: 另一个文档
outputPath: another-document.md
sources:
- type: file
sourcePaths:
- src/SomeModule
此配置将从 src/Auth 目录收集所有PHP文件以及 src/Models 目录中任何包含“User”的PHP文件到单个上下文文件 .context/auth.md 中。然后可以将此文件粘贴到聊天会话中或通过内置的 MCP服务器 提供。
目前的AI编码工具会自动扫描你的整个代码库,这会产生几个问题:
你比任何AI都更了解你的代码。CTX让你掌控一切:
使用我们的安装脚本下载并安装该工具:
curl -sSL https://raw.githubusercontent.com/context-hub/generator/main/download-latest.sh | sh
powershell -c "& ([ScriptBlock]::Create((irm 'https://raw.githubusercontent.com/context-hub/generator/main/download-latest.ps1'))) -AddToPath"
这将在你的系统上安装 ctx 命令(通常位于 /usr/local/bin)。
想要更多选项? 查看完整的 安装指南 以获取其他安装方法。
cd your-project
ctx init
这将生成一个带有基本配置的 context.yaml 文件,并显示你的项目结构,帮助你理解可能有用的上下文。
查看 命令参考 以获取所有可用命令和选项。
ctx generate
# 快速项目概述,供新开发者使用
documents:
- description: "项目架构概述"
outputPath: "docs/architecture.md"
sources:
- type: tree
sourcePaths: [ "src" ]
maxDepth: 2
- type: file
description: "核心接口和主要类"
sourcePaths: [ "src" ]
filePattern: "*Interface.php"
# 开发新特性的上下文
documents:
- description: "用户认证系统"
outputPath: "contexts/auth-context.md"
sources:
- type: file
sourcePaths: [ "src/Auth", "src/Models" ]
filePattern: "*.php"
- type: git_diff
description: "最近的认证更改"
commit: "last-week"
# 生成API文档
documents:
- description: "API文档"
outputPath: "docs/api.md"
sources:
- type: file
sourcePaths: [ "src/Controllers" ]
modifiers: [ "php-signature" ]
contains: [ "@Route", "@Api" ]
CTX遵循简单的流水线:
配置 → 源 → 过滤器 → 修饰符 → 输出
为了更无缝的体验,你可以使用内置的MCP服务器将CTX连接到任何兼容MCP的客户端。
# 交互式设置:检测操作系统并为你的客户端安装配置
ctx mcp:config
此命令:
全局注册表模式(推荐用于多个项目/客户端):
{
"mcpServers": {
"ctx": {
"command": "ctx",
"args": [
"server"
]
}
}
}
如果你喜欢手动设置,请将你的MCP客户端指向CTX服务器:
{
"mcpServers": {
"ctx": {
"command": "ctx",
"args": [
"server",
"-c",
"/path/to/project"
]
}
}
}
注意:阅读更多关于 MCP服务器 的详细设置说明和故障排除。具体配置文件位置因客户端而异。
现在你可以使用你喜欢的MCP客户端(包括Claude Desktop)询问有关你的代码库的问题,而无需手动上传上下文文件。
定义可以通过MCP界面执行的项目特定命令:
tools:
- id: run-tests
description: "运行项目测试并生成覆盖率报告"
type: run
commands:
- cmd: npm
args: [ "test", "--coverage" ]
访问以下链接查看完整文档,包括所有可用功能和配置选项:
加入数百位使用CTX进行专业AI辅助编程的开发者:
你在我们的Discord中能找到:
本项目采用MIT许可证。