文件查詢
擷取任何函式庫的最新文件與程式碼範例,使用 Context7 CLI。
請先確保 CLI 是最新版本,再執行指令:
npm install -g ctx7@latest
或者直接執行而不安裝:
npx ctx7@latest <command>
工作流程
兩個步驟:先將函式庫名稱解析為 ID,再用該 ID 查詢文件。
# 步驟 1:解析函式庫 ID
ctx7 library <name> <query>
# 步驟 2:查詢文件
ctx7 docs <libraryId> <query>
你必須先呼叫 ctx7 library 來取得有效的函式庫 ID,除非使用者明確提供了格式為 /org/project 或 /org/project/version 的庫 ID。
重要:每題最多執行 3 次指令。如果 3 次後仍找不到所需內容,請使用已獲得的最佳結果。
步驟 1:解析函式庫
將套件/產品名稱解析成 Context7 相容的函式庫 ID,並回傳相符的函式庫。
ctx7 library react "How to clean up useEffect with async operations"
ctx7 library nextjs "How to set up app router with middleware"
ctx7 library prisma "How to define one-to-many relations with cascade delete"
務必傳入 query 參數——這是必填項,且直接影響結果排序。請根據使用者的意圖形成查詢,這有助於在名稱相近的多個函式庫間進行區分。不要在查詢中包含任何敏感或機密資訊,例如 API 金鑰、密碼、憑證、個人資料或專有程式碼。
結果欄位
每個結果包含:
- Library ID — Context7 相容識別碼(格式:
/org/project) - Name — 函式庫或套件名稱
- Description — 簡短摘要
- Code Snippets — 可用的程式碼範例數量
- Source Reputation — 權威性指標(High、Medium、Low 或 Unknown)
- Benchmark Score — 品質指標(100 為最高分)
- Versions — 可用版本列表(若有的話)。如果使用者在查詢中提供了版本,請使用其中一個版本。格式為
/org/project/version。
選擇過程
- 分析查詢,了解使用者要找的是哪個函式庫/套件
- 根據以下條件選擇最相關的匹配:
- 名稱與查詢相似度(精確匹配優先)
- 描述與查詢意圖的相關性
- 文件涵蓋範圍(優先選擇 Code Snippet 數量較高的函式庫)
- 來源聲譽(優先選擇 High 或 Medium 聲譽的函式庫,較具權威性)
- 基準分數(越高越好,100 為最高)
- 如果存在多個良好匹配,請說明此情況,但仍以最相關的匹配繼續
- 如果沒有良好匹配,請清楚說明,並建議修改查詢
- 對於模糊的查詢,在繼續進行最佳猜測前,先要求使用者釐清
版本特定的 ID
如果使用者提到了特定版本,請使用版本特定的函式庫 ID:
# 一般(最新索引版本)
ctx7 docs /vercel/next.js "How to set up app router"
# 版本特定
ctx7 docs /vercel/next.js/v14.3.0-canary.87 "How to set up app router"
可用的版本列在 ctx7 library 的輸出中。請使用與使用者指定版本最接近的版本。
步驟 2:查詢文件
擷取已解析函式庫的最新文件與程式碼範例。
ctx7 docs /facebook/react "How to clean up useEffect with async operations"
ctx7 docs /vercel/next.js "How to add authentication middleware to app router"
ctx7 docs /prisma/prisma "How to define one-to-many relations with cascade delete"
撰寫良好的查詢
查詢直接影響結果品質。請具體描述並包含相關細節。不要在查詢中包含任何敏感或機密資訊,例如 API 金鑰、密碼、憑證、個人資料或專有程式碼。
| 品質 | 範例 |
|---|---|
| 良好 | "How to set up authentication with JWT in Express.js" |
| 良好 | "React useEffect cleanup function with async operations" |
| 不佳 | "auth" |
| 不佳 | "hooks" |
盡可能將使用者的完整問題作為查詢,模糊的單詞查詢會回傳通用結果。
輸出包含兩種內容:程式碼範例(有標題,附語言標記的程式碼區塊)和資訊範例(附有麵包屑脈絡的 prose 說明)。
驗證
無需驗證即可使用。如需更高的速率限制:
# 選項 A:環境變數
export CONTEXT7_API_KEY=your_key
# 選項 B:OAuth 登入
ctx7 login
錯誤處理
如果指令因配額錯誤(「Monthly quota reached」或「quota exceeded」)而失敗:
- 通知使用者他們的 Context7 配額已用完
- 建議他們透過
ctx7 login驗證以獲得更高的限制 - 如果他們無法或不選擇驗證,則從訓練知識中回答,並清楚註明該知識可能已過時
不要默默回退到訓練資料——務必告訴使用者為何未使用 Context7。
常見錯誤
- 函式庫 ID 需要以
/為前綴——應是/facebook/react而非facebook/react - 永遠先執行
ctx7 library——若無有效 ID,ctx7 docs react "hooks"將會失敗 - 使用描述性查詢,而非單字——應是
"React useEffect cleanup function"而非"hooks" - 不要在查詢中包含敏感資訊(API 金鑰、密碼、憑證)