返回市场
长上下文语言模型.py

长上下文语言模型.py

作者:cyberchitta285 星标更新:2025-11-19

项目介绍

LLM 上下文

License PyPI 版本 下载量

**减少在提供上下文给 LLM 时的麻烦。**通过智能选择和基于规则的过滤,即时分享相关的项目文件。

问题

将项目上下文导入 LLM 对话中是繁琐的:

  • 手动复制/粘贴文件耗时很长
  • 难以识别哪些文件是相关的
  • 包含过多内容会超出上下文限制,包含过少则会遗漏重要细节
  • AI 请求额外文件需要手动获取
  • 每次对话都需要重复这个过程

解决方案

lc-select # 智能文件选择
lc-context # 即时格式化上下文
# 粘贴并工作 - AI 可无缝访问额外文件

结果:从“我需要分享我的项目”到与 AI 的高效协作只需几秒钟。

注意:该项目是在与多个 Claude Sonnets(3.5, 3.6, 3.7 和 4.0)以及 Groks(3 和 4)的合作下开发的,在开发过程中使用 LLM Context 本身来共享代码。仓库中的所有代码都是经过大量人工整理的(由我整理 😇,@restlessronin)。

安装

uv tool install "llm-context>=0.5.0"

快速开始

基本用法

# 一次性设置
cd your-project
lc-init
# 日常使用
lc-select
lc-context

MCP 集成(推荐)

{
  "mcpServers": {
    "llm-context": {
      "command": "uvx",
      "args": ["--from", "llm-context", "lc-mcp"]
    }
  }
}

借助 MCP,AI 可以在对话期间直接访问额外文件。

项目定制

# 创建特定项目的过滤器
cat > .llm-context/rules/flt-repo-base.md << 'EOF'
---
compose:
  filters: [lc/flt-base]
gitignores:
  full-files: ["*.md", "/tests", "/node_modules"]
---
EOF
# 自定义主要开发规则
cat > .llm-context/rules/prm-code.md << 'EOF'
---
instructions: [lc/ins-developer, lc/sty-python]
compose:
  filters: [flt-repo-base]
  excerpters: [lc/exc-base]
---
附加特定项目的指南和上下文。
EOF

部署模式

根据您的 LLM 环境进行选择:

  • 系统消息lc-context -p(AI Studio 等)
  • 单用户消息lc-context -p -m(Grok 等)
  • 分离消息lc-prompt + lc-context -m
  • 项目/文件(已包含)lc-context(Claude Projects 等)
  • 项目/文件(可搜索)lc-context -m(强制进入上下文)

详情见用户指南中的部署模式

核心命令

命令目的
lc-init初始化项目配置
lc-select根据当前规则选择文件
lc-context生成并复制上下文
lc-context -p生成带有提示的上下文
lc-context -m将上下文作为独立消息发送
lc-context -nt不使用工具(用于项目/文件包含)
lc-context -f 将上下文写入文件
lc-set-rule <n>在规则之间切换
lc-missing处理文件和上下文请求(非 MCP)

规则系统

规则采用五类结构:

  • 提示规则 (prm-):生成项目上下文(例如,lc/prm-developerlc/prm-rule-create
  • 过滤规则 (flt-):控制文件包含(例如,lc/flt-baselc/flt-no-files
  • 指令规则 (ins-):提供指南(例如,lc/ins-developerlc/ins-rule-framework
  • 样式规则 (sty-):执行编码标准(例如,lc/sty-pythonlc/sty-code
  • 摘录规则 (exc-):配置上下文缩减的提取(例如,lc/exc-base

示例规则

---
description: "调试 API 认证问题"
compose:
  filters: [lc/flt-no-files]
  excerpters: [lc/exc-base]
also-include:
  full-files: ["/src/auth/**", "/tests/auth/**"]
---
专注于认证系统及其相关测试。

AI 辅助规则创建

让 AI 为您创建针对特定任务的聚焦规则。根据您的设置有两种方法:

方法 1:Claude 技能(推荐用于 Claude Desktop/Code)

如何运作:一个全局 Claude 技能帮助您交互式地创建规则。它需要已经通过 llm-context 分享的项目上下文(包括概述),并使用 lc-missing 来检查特定文件以进行更深入的分析。

设置

lc-init  # 安装技能至 ~/.claude/skills/
# 重启 Claude Desktop 或 Claude Code

工作流程

# 1. 分享任何项目上下文(概述是必需的)
lc-context  # 可以使用任何规则 - 概述会被包含
# 2. 粘贴到 Claude

# 3. 要求技能帮助创建规则
# "创建一个规则以重构认证为 JWT"
# "我需要一个规则来调试支付处理系统"

Claude 将:

  1. 使用上下文中已有的项目概述
  2. 使用 lc-missing 按需检查特定文件以进行深入分析
  3. 提出关于范围和焦点的澄清问题
  4. 智能选择相关文件(5-15 个完整文件,10-30 个摘录)
  5. 生成优化的规则配置
  6. 保存到 .llm-context/rules/tmp-prm-<任务名称>.md
  7. 提供测试规则的指示

技能文件

  • Skill.md - 快速工作流和模式(始终加载)
  • PATTERNS.md - 常见规则模式(按需)
  • SYNTAX.md - 详细的语法参考(按需)
  • EXAMPLES.md - 完整的演练(按需)
  • TROUBLESHOOTING.md - 问题解决(按需)

技能更新:当您升级 llm-context 时自动更新。重启 Claude 以使用新版本。

方法 2:基于提示的指令规则(适用于任何地方)

如何运作:您使用一个加载全面规则创建文档作为上下文的项目规则。

设置:无需特殊设置 - 文档是内置的。

使用

# 1. 将规则创建框架加载到上下文中
lc-set-rule lc/prm-rule-create
lc-select
lc-context -nt

# 2. 粘贴到任何 LLM 并描述您的任务
# "我需要添加 OAuth 集成到认证系统"

# 3. LLM 使用框架生成聚焦规则

# 4. 使用聚焦上下文
lc-set-rule tmp-prm-oauth-task
lc-select
lc-context

包含的文档

  • lc/ins-rule-intro - 基于聊天的规则创建简介
  • lc/ins-rule-framework - 全面的决策框架、语义和最佳实践

比较

方面技能指令规则
设置自动与 lc-init已经可用
需要项目上下文是(需要概述)是(需要概述)
交互在 Claude 中互动,多轮次上下文中的静态文档
探索按需使用 lc-missing手动或通过 AI 请求
最适合Claude Desktop/Code 用户任何 LLM,API,自动化

两种方法都首先需要通过 lc-context 分享项目上下文。它们产生等效的结果 - 根据您的环境和偏好选择。

工作流模式

日常开发

lc-set-rule lc/prm-developer
lc-select
lc-context
# AI 可以审查更改,按需访问额外文件

聚焦任务

# 分享项目上下文
lc-context

# 然后请求技能(Claude Desktop/Code):
# "创建一个规则用于 [您的任务]"

# 或使用指令规则与任何 LLM 工作:
# lc-set-rule lc/prm-rule-create && lc-context -nt

MCP 优势

  • 代码审查:AI 检查您的更改是否完整/正确
  • 额外文件:AI 在需要时访问最初排除的文件
  • 变更跟踪:查看在对话期间进行了哪些修改
  • 零摩擦:开发讨论期间无需手动操作文件

关键特性

  • 智能文件选择:规则自动包含/排除适当的文件
  • 即时上下文生成:格式化的上下文在几秒钟内复制到剪贴板
  • MCP 集成:AI 可以在没有手动干预的情况下访问额外文件
  • 系统化的规则组织:五类系统清晰地组成规则
  • AI 辅助规则创建:两种方法 - 交互式技能或基于文档的方法
  • 代码摘录:提取重要的内容以减少上下文同时保留结构

更多信息

许可证

Apache 许可证,第 2.0 版。详情见LICENSE