代码上下文助手
通过 MCP 或剪贴板与大型语言模型共享代码上下文
可用工具 (3 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
lc-project-context 2 个参数 需填 1 项
IMPORTANT: First check if project context is already available in the conversation before making any new requests. Use lc-get-files for retrieving specific files, and only use this tool when a broad repository overview is needed. Generates a structured repository overview including: 1) Directory tree with file status (â full, â outline, â excluded) 2) Complete contents of key files 3) Smart outlines highlighting important definitions in supported languages. The output is customizable via profiles that control file inclusion rules and presentation format. The assistant tracks previously retrieved project context in the conversation and checks this history before making new requests.
必填参数:root_path
lc-get-files 2 个参数 需填 2 项
IMPORTANT: Check previously retrieved file contents before making new requests. Retrieves (read-only) complete contents of specified files from the project. For this project, this is the preferred method for all file content analysis and text searches - simply retrieve the relevant files and examine their contents. The assistant cannot modify files with this tool - it only reads their contents.
必填参数:root_path、paths
lc-list-modified-files 3 个参数 需填 2 项
IMPORTANT: First get the generation timestamp from the project context. Returns a list of paths to files that have been modified since a given timestamp. This is typically used to track which files have changed during the conversation. After getting the list, use lc-get-files to examine the contents of any modified files of interest.
必填参数:root_path、timestamp
服务介绍
LLM Context
LLM Context 是一个帮助开发者快速将代码/文本项目中的相关内容注入到大型语言模型聊天界面的工具。它利用 .gitignore 模式进行智能文件选择,并通过命令行提供简化的剪贴板工作流,以及通过模型上下文协议(MCP)直接与 LLM 集成。
注意:该项目是在 Claude Sonnets - 3.5, 3.6 和 3.7(最近还有 Grok-3)的合作下开发的,在开发过程中使用了 LLM Context 本身来共享代码。仓库中的所有代码都是由我本人(@restlessronin)精心整理的。
v0.3.0 中的重大变更
我们已经切换到了基于 Markdown 的规则系统,取代了之前的 TOML/YAML 基于配置文件的系统。这是一个影响配置的重大变更。有关新规则格式及其使用方法的详细信息,请参阅用户指南。
为什么选择 LLM Context?
要深入了解 LLM Context 背后的原理及其在 AI 辅助开发中的方法,请阅读我们的文章:LLM Context:利用原生 AI 聊天助力开发
当前使用模式
- 直接 LLM 集成:通过 MCP 协议与 Claude Desktop 本地集成
- 聊天界面支持:通过 CLI/剪贴板与任何 LLM 聊天界面兼容
- 优化适用于具有持久上下文的界面,如 Claude Projects 和自定义 GPTs
- 在标准聊天界面中同样表现良好
- 项目类型:适合代码仓库和文本/Markdown/HTML 文档集合
- 项目规模:针对适合 LLM 上下文窗口的项目进行了优化。对大型项目的支持正在开发中
安装
使用 uv 安装 LLM Context:
uv tool install llm-context
要升级到最新版本:
uv tool upgrade llm-context
警告:LLM Context 正在积极开发中。更新可能会覆盖以
lc-为前缀的配置文件。因此,建议所有配置文件都进行版本控制。
快速开始
通过 MCP 与 Claude Desktop 配合使用
在 'claude_desktop_config.json' 中添加:
{
"mcpServers": {
"CyberChitta": {
"command": "uvx",
"args": ["--from", "llm-context", "lc-mcp"]
}
}
}
配置完成后,你可以通过两种简单的方式开始处理你的项目:
-
说:“我想在我的项目上工作”
Claude 会询问你项目的根路径。 -
或者直接指定:“我想在我的项目 /path/to/your/project 上工作”
Claude 将自动加载项目上下文。
CLI 快速开始和典型工作流程
-
导航到项目的根目录
-
初始化仓库:
lc-init(仅需一次) -
选择文件:
lc-sel-files -
(可选)在
.llm-context/curr_ctx.yaml中查看已选择的文件 -
生成上下文:
lc-context(可选标志:-p用于提示,-u用于用户笔记) -
使用您喜欢的界面:
- 项目知识(Claude Pro):粘贴到知识部分
- GPT 知识(自定义 GPTs):粘贴到知识部分
- 普通聊天:使用
lc-context -p包含指令
-
当 LLM 请求额外文件时:
- 从 LLM 复制文件列表
- 运行
lc-clip-files - 将内容粘贴回 LLM
核心命令
lc-init:初始化项目配置lc-set-rule <n>:切换规则(系统规则以 "lc-" 开头)lc-sel-files:选择要包含的文件lc-sel-outlines:选择要生成大纲的文件lc-context [-p] [-u] [-f FILE]:生成并复制上下文-p:包含提示指令-u:包含用户笔记-f FILE:写入输出文件
lc-prompt:为 LLM 生成项目指令lc-clip-files:处理 LLM 文件请求lc-changed:列出自上次生成上下文以来修改的文件lc-outlines:为代码文件生成大纲lc-clip-implementations:提取 LLM 请求的代码实现(不支持 C/C++)
功能与高级用法
LLM Context 提供了高级功能,用于自定义项目内容的捕获和呈现方式:
- 使用
.gitignore模式进行智能文件选择 - 不同使用场景下的多规则配置文件
- 系统规则(以 "lc-" 开头)提供默认功能
- 用户可以独立创建或扩展现有规则来定义自己的规则
- 代码导航功能:
- 智能代码大纲:允许 LLM 查看您的代码库的高层次结构,并通过自动生成的大纲突出显示重要定义
- 定义实现提取:在 LLM 审查代码大纲后请求特定定义的完整实现时,使用
lc-clip-implementations命令粘贴这些实现
- 可定制的模板和提示
有关这些功能的详细文档,请参阅我们的用户指南。
类似工具
请查看我们全面的替代工具列表——解决这个问题的工具数量之多表明了它对开发者社区的重要性。
致谢
LLM Context 源自一系列 AI 辅助开发工具的发展:
- 该项目继承了我为IDE集成开发的TypeScript库LLM Code Highlighter。
- 这个概念起源于我在RubberDuck的工作,并在我后来对Continue的贡献中得到延续。
- LLM Code Highlighter深受Aider Chat的启发。我与GPT-4合作,将几个Aider Chat的Python模块翻译成TypeScript,在保持功能的同时重构代码。
- 本项目使用了来自Aider Chat的tree-sitter tag查询文件。
- LLM Context展示了AI辅助开发的力量,从Python过渡到TypeScript再回到Python,这一切都得益于GPT-4和Claude-3.5-Sonnet的帮助。
我非常感谢开源社区的创新以及AI的帮助,这些都塑造了这个项目的演进过程。
我也特别感谢Claude-3.5-Sonnet在本项目开发过程中提供的帮助。
许可证
本项目采用Apache许可证2.0版进行授权。详情请参阅LICENSE文件。