/ 目錄 / 演練場 / llm-context.py
● 社群 cyberchitta ⚡ 即開即用

llm-context.py

作者 cyberchitta · cyberchitta/llm-context.py

只分享程式庫的必要部分給任何 LLM —— 規則驅動的檔案選擇、大綱視圖和隨需取得,而不是『全部貼上』。

llm-context.py 是一個規則驅動的代碼共享工具,透過 MCP 或剪貼簿暴露其輸出。與其上傳整個儲存庫,你可以針對每項工作定義可組合的規則(篩選、指示、風格、片段),並交付重點明確的上下文。MCP 版本讓 LLM 可以在對話中隨需請求更多檔案。

為什麼要用

核心特性

即時演示

實際使用效果

llm-context-py.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "llm-context-py": {
      "command": "uvx",
      "args": [
        "llm-context.py"
      ],
      "_inferred": true
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "llm-context-py": {
      "command": "uvx",
      "args": [
        "llm-context.py"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "llm-context-py": {
      "command": "uvx",
      "args": [
        "llm-context.py"
      ],
      "_inferred": true
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "llm-context-py": {
      "command": "uvx",
      "args": [
        "llm-context.py"
      ],
      "_inferred": true
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "llm-context-py",
      "command": "uvx",
      "args": [
        "llm-context.py"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "llm-context-py": {
      "command": {
        "path": "uvx",
        "args": [
          "llm-context.py"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add llm-context-py -- uvx llm-context.py

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: llm-context.py

為你的 LLM 提供重點明確的代碼審查上下文

👤 厭倦貼上 3000 行代碼的開發者 ⏱ ~15 min intermediate

何時使用: 你即將請求『審查我的認證模組』,但不想整個儲存庫都佔據上下文空間。

前置條件
  • 安裝 llm-context.py — uv tool install 'llm-context>=0.6.0'
  • 在儲存庫中初始化 — 在儲存庫根目錄執行 lc-init
步驟
  1. 為認證建立篩選規則
    建立 lc 篩選規則『flt-auth』,包括 src/auth/** 和 src/middleware/auth*.ts。✓ 已複製
    → 規則檔案已在 .lc/ 下建立
  2. 預覽規則選擇的內容
    在 flt-auth 上執行 lc_preview —— 告訴我會發送哪些檔案以及總令牌數。✓ 已複製
    → 檔案清單 + 令牌計數
  3. 透過 MCP 與 LLM 分享上下文
    使用 flt-auth 規則,審查模組的安全性問題。如果你需要查看未包含的特定檔案,可透過 lc_missing 請求。✓ 已複製
    → 附帶針對性檔案請求的審查

結果: 一份適合上下文大小且仍能探索的代碼審查 —— 無需手動貼上。

注意事項
  • 規則過於狹隘 → LLM 無法理解你模組的調用者 — 包含鄰近模組的介面 / 類型,其餘部分使用大綱
  • 規則過於寬泛 → 令牌預算已耗盡 — 從寬泛開始,監控 lc_preview,調整直到符合你客戶端的限制
搭配使用: filesystem

為 LLM 提供龐大程式庫的結構地圖

👤 正在接觸陌生 monorepo 的工程師 ⏱ ~20 min intermediate

何時使用: 100k+ 行代碼的儲存庫;你需要方向性指導,而不是全部代碼。

步驟
  1. 產生大綱
    針對整個儲存庫執行 lc_outlines —— 類別、頂層函式、每個檔案的輸出。跳過函式體。✓ 已複製
    → 包含數千行的骨架大綱
  2. 提出方向性問題
    根據大綱,進入點在哪裡,路由在哪裡定義,哪些檔案包含資料層抽象?✓ 已複製
    → 架構答案
  3. 深入探查一個區域
    透過 lc_missing 向我展示定義路由的三個檔案的完整內容。✓ 已複製
    → 特定檔案擴展到上下文中

結果: 一次引導式導覽,無需貼上整個儲存庫。

為每個提示附加專案風格規則

👤 有特定慣例的團隊 ⏱ ~10 min beginner

何時使用: 你希望 Claude 總是知道『我們使用 pytest,而不是 unittest』而無需重複告知。

步驟
  1. 撰寫風格規則
    建立 sty-python 規則:『僅使用 pytest、必須有類型提示、黑色格式』。✓ 已複製
    → 規則已儲存
  2. 自動套用
    使用 prm-default,它為每個上下文組合 flt-current + sty-python + ins-standards。✓ 已複製
    → 規則已自動附加

結果: 強制執行按工作的慣例,無需手動樣板。

搭配使用: drift

組合

與其他 MCP 搭配,撬動十倍槓桿

llm-context-py + drift

drift 記錄慣例;llm-context 按工作推送相關檔案 + 風格規則

載入此儲存庫的 drift 慣例,然後使用 lc 搭配規則 flt-auth + sty-ts 來審查認證模組。✓ 已複製
llm-context-py + filesystem

審查後,filesystem 套用編輯

根據 llm-context 審查,使用 filesystem 將建議的編輯套用到 src/auth/。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
lc_outlines rule?: str 在大型程式庫上定向 免費(本地)
lc_preview rule: str 交付上下文前,驗證範圍 免費
lc_missing path: str LLM 在對話中呼叫以請求檔案 免費

成本與限制

運行它的成本

API 配額
每次呼叫 Token 數
完全取決於你的規則範圍 —— 這就是重點
費用
免費,開源
提示
在執行 lc_outlines / 交付上下文前,始終執行 lc_preview —— 一秒鐘的預覽可節省數千個令牌。

安全

權限、密鑰、影響範圍

憑證儲存:
資料出站: 只傳送到你導入上下文的任何 LLM 客戶端 / 提供者

故障排查

常見錯誤與修復

找不到規則

在儲存庫根目錄執行 lc-init 以建立 .lc/ 基礎結構。

驗證: ls .lc/
lc_preview 令牌計數高得出乎意料

你的篩選過於寬鬆或包含生成的檔案。縮小 glob 並加入忽略模式。

驗證: lc_preview again
MCP 工具無法使用

在你的 MCP 伺服器配置中使用 uvx --from llm-context lc-mcp

驗證: claude mcp list

替代方案

llm-context.py 對比其他方案

替代方案何時用它替代權衡
repomix / ai-digest你想要單一檔案轉儲,而不是 MCP 工具沒有互動式 lc_missing;靜態快照
filesystem MCP你想要原始檔案存取沒有規則驅動的選擇或大綱
drift你想要持久的慣例記憶,而不是按工作的檔案打包完全是另一個問題

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills