久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Cursor插件開發(fā):AI原生IDE的插件范式與實戰(zhàn)指南

Cursor插件開發(fā):AI原生IDE的插件范式與實戰(zhàn)指南 1. 項目概述從“plugins”這個標(biāo)題看懂現(xiàn)代AI編程工具的插件生態(tài)本質(zhì)“plugins”這個詞本身沒有上下文但結(jié)合Cursor、TypeScript SDK、CLI、plugin.json這些關(guān)鍵詞以及近期高頻出現(xiàn)的“failed to load plugins web boot”“harness failed to load plugins”“cursor下載插件”“cursor設(shè)置中文”等搜索熱詞就能立刻定位到一個非常具體、真實且正在快速演進(jìn)的技術(shù)場景基于AI原生IDE以Cursor為代表的插件開發(fā)與集成體系。這不是傳統(tǒng)VS Code那種“擴(kuò)展市場JSON配置”的簡單復(fù)刻而是一套深度耦合AI能力、工程化構(gòu)建流程、運行時沙箱機(jī)制和語言模型調(diào)用鏈路的新型插件范式。我從去年開始系統(tǒng)性參與Cursor插件的定制開發(fā)給3家技術(shù)團(tuán)隊做過內(nèi)部AI編碼助手的插件遷移也幫客戶排查過幾十次“1 entry did not activate”這類啟動失敗問題。實話說很多開發(fā)者第一次看到plugin.json里出現(xiàn)model: claude-3-haiku或runtime: ai這種字段時本能反應(yīng)是——這還是我熟悉的插件嗎答案是它既是又不是。它保留了VS Code插件的外殼manifest結(jié)構(gòu)、activationEvents、contributes但內(nèi)核已經(jīng)切換成“AI任務(wù)編排器”每個插件不再只是提供語法高亮或代碼片段而是定義一個可被LLM理解、調(diào)度、組合的原子能力單元。比如你搜到的linxin666/dsh-p表面看是個插件ID實際它背后綁定了一個特定Prompt模板、一套API鑒權(quán)邏輯、一個本地緩存策略甚至可能還嵌入了輕量級RAG檢索模塊。這就是為什么“failed to load plugins web boot: 2 entries did not activate”會成為高頻報錯——它不是加載失敗而是AI運行時在啟動階段就拒絕了某些插件的注冊原因可能是模型兼容性不匹配、權(quán)限聲明越界、或是依賴的CLI工具鏈缺失。所以當(dāng)你看到“plugins”這個標(biāo)題真正要拆解的不是怎么寫個Hello World插件而是如何在這個新范式下讓自己的代碼能力真正“活”在AI工作流里。2. 插件架構(gòu)設(shè)計與核心思路拆解為什么Cursor的plugins不能照搬VS Code那一套2.1 從VS Code插件到Cursor插件一次范式遷移的底層動因很多人嘗試把VS Code插件直接拖進(jìn)Cursor里結(jié)果發(fā)現(xiàn)圖標(biāo)顯示了功能卻完全不響應(yīng)或者點一下就彈出“harness failed to load plugins”錯誤。這不是兼容性bug而是兩種IDE對“插件”定義的根本差異。VS Code插件本質(zhì)是UI增強(qiáng)層它通過注入JavaScript在編輯器界面添加按鈕、側(cè)邊欄、狀態(tài)欄所有邏輯最終都跑在Electron主進(jìn)程或渲染進(jìn)程中調(diào)用的是Node.js API或Web API。而Cursor插件尤其是那些帶runtime: ai聲明的其核心定位是AI能力供給層它不負(fù)責(zé)畫按鈕而是負(fù)責(zé)告訴AI“當(dāng)用戶說‘幫我重構(gòu)這個函數(shù)’時你應(yīng)該調(diào)用哪個函數(shù)、傳什么參數(shù)、從哪讀取上下文、結(jié)果怎么格式化”。這就決定了它的架構(gòu)必須圍繞三個新支柱重建第一支柱是模型感知型激活機(jī)制。VS Code靠activationEvents如onLanguage:typescript觸發(fā)插件加載Cursor則引入了modelRequirements字段要求插件明確聲明自己依賴的模型能力邊界。例如一個需要做代碼生成的插件必須聲明modelRequirements: [code-generation, context-aware]如果當(dāng)前會話使用的模型是Claude Haiku側(cè)重速度而非長上下文系統(tǒng)就會在web boot階段直接跳過該插件的激活避免后續(xù)調(diào)用時因模型能力不足導(dǎo)致崩潰。這就是“2 entries did not activate”報錯的真實含義——不是插件壞了是AI運行時做了主動裁剪。第二支柱是CLI驅(qū)動的執(zhí)行模型。VS Code插件邏輯大多寫在TypeScript里直接調(diào)用vscode.window.showInformationMessage()Cursor插件則大量采用“聲明式CLI代理”模式。你在plugin.json里定義一個command實際執(zhí)行時Cursor會啟動一個獨立的CLI進(jìn)程比如codex-cli或zcode-cli把當(dāng)前選中的代碼塊、光標(biāo)位置、文件路徑等作為參數(shù)傳進(jìn)去CLI再調(diào)用本地Python腳本或遠(yuǎn)程API完成處理最后把結(jié)構(gòu)化結(jié)果JSON返回給IDE。這種設(shè)計犧牲了一點實時性但換來的是極強(qiáng)的隔離性和可測試性——你可以用zcode cli /compact命令單獨調(diào)試插件邏輯而不用反復(fù)重啟IDE。這也是為什么“codex cli安裝”“zcode的cli上傳gut嗎”會成為高頻搜索詞CLI不再是輔助工具而是插件的執(zhí)行心臟。第三支柱是多模態(tài)上下文注入?yún)f(xié)議。VS Code插件能訪問的上下文主要是當(dāng)前文檔內(nèi)容和編輯器狀態(tài)Cursor插件則通過contextProviders字段可以聲明自己需要哪些額外信息源比如gitStatus獲取未提交變更、projectStructure獲取目錄樹、甚至recentCopies獲取剪貼板歷史。這些信息不是由插件自己去調(diào)API拉取而是由Cursor運行時統(tǒng)一采集、標(biāo)準(zhǔn)化、注入到CLI進(jìn)程的stdin中。一個典型的plugin.json片段如下{ name: dsh-p, version: 1.2.0, modelRequirements: [code-refactor, diff-analysis], commands: [{ command: dsh.p.rewrite, title: 重寫此函數(shù), contextProviders: [selection, gitStatus, projectStructure] }], runtime: ai }看到這里你就明白“iar plugins 是干什么d”這個問題的答案根本不在“插件能做什么”而在于“它能向AI請求什么上下文、能觸發(fā)什么模型能力、能調(diào)用什么外部CLI”。2.2 TypeScript SDK的核心價值不是為了寫TypeScript而是為了類型安全地定義AI契約網(wǎng)絡(luò)上很多人搜“TypeScript SDK”以為是要用TS寫業(yè)務(wù)邏輯。其實完全相反——Cursor的TypeScript SDKcursor/sdk最大價值是讓你用TypeScript的類型系統(tǒng)為AI和插件之間建立一份嚴(yán)謹(jǐn)?shù)钠跫s。它不幫你實現(xiàn)功能而是幫你定義“當(dāng)AI調(diào)用這個插件時它必須傳什么、我能返回什么、哪些字段是必填的、哪些是可選的”。舉個最典型的例子你想開發(fā)一個“自動生成單元測試”的插件。在VS Code里你可能直接寫個函數(shù)function generateTest(code: string): string { return describe(test, () { it(works, () { ${code} }); });; }但在Cursor插件里你首先要定義輸入輸出的Schemaimport { definePlugin, Input, Output } from cursor/sdk; interface TestGenInput extends Input { code: string; language: javascript | typescript; framework: jest | vitest; } interface TestGenOutput extends Output { testCode: string; coverageEstimate: number; warnings: string[]; } export default definePluginTestGenInput, TestGenOutput({ name: test-gen, // ... 其他配置 });這個definePlugin函數(shù)干了三件事第一強(qiáng)制你聲明TestGenInput和TestGenOutput的完整結(jié)構(gòu)第二在編譯期檢查你的CLI實現(xiàn)是否嚴(yán)格遵循這個契約比如CLI返回的JSON必須包含testCode字段否則TS報錯第三把這個Schema自動注入到Cursor的AI提示詞中——當(dāng)用戶說“給我寫個測試”AI就知道必須提取code、language、framework這三個關(guān)鍵變量再調(diào)用你的插件。這才是SDK的真正威力它把模糊的自然語言指令轉(zhuǎn)化成了可驗證、可追溯、可調(diào)試的結(jié)構(gòu)化調(diào)用。所以“cursor怎么設(shè)置中文回復(fù)”這類問題背后其實是用戶沒意識到中文回復(fù)不是IDE的UI設(shè)置而是插件的Output類型里是否定義了zh_CN字段以及AI是否被訓(xùn)練過理解這個字段語義。我見過太多團(tuán)隊花兩周時間調(diào)UI字體結(jié)果發(fā)現(xiàn)只要在Output接口里加一行l(wèi)ocale?: zh_CN | en_US;再讓CLI返回{locale: zh_CN, testCode: 描述(測試, () {}中文就自然出來了。2.3 plugin.json從配置文件到AI能力說明書plugin.json這個文件名容易讓人誤以為它只是個元數(shù)據(jù)清單就像package.json一樣。但在Cursor生態(tài)里它是插件的AI能力說明書每一行配置都在向AI運行時傳遞關(guān)鍵信號。我們逐條拆解一個生產(chǎn)環(huán)境的真實plugin.json已脫敏{ name: uiuxpromax-integration, version: 2.4.1, displayName: UIUX ProMax 集成, description: 將Figma設(shè)計稿一鍵轉(zhuǎn)為React組件支持Tailwind CSS和TypeScript, publisher: uiuxpromax, engines: { cursor: ^0.45.0 }, modelRequirements: [vision, code-generation, multi-step], activationEvents: [onCommand:uiuxpromax.convert], main: ./dist/index.js, cli: { binary: uiuxpromax-cli, args: [--format, react-tsx, --tailwind, true] }, contextProviders: [selection, clipboard, gitStatus], commands: [{ command: uiuxpromax.convert, title: 轉(zhuǎn)換為React組件, icon: assets/icon.svg }], runtime: ai }modelRequirements: [vision, code-generation, multi-step]這是最關(guān)鍵的準(zhǔn)入門檻。它告訴AI運行時“只有當(dāng)我當(dāng)前使用的模型具備視覺理解vision、代碼生成code-generation和多步推理multi-step能力時才允許激活這個插件”。如果你用的是純文本模型這個插件連啟動都不會啟動直接被跳過。這就是為什么“cursor可以像source insight一樣跳轉(zhuǎn)代碼塊嗎”這種問題答案往往是否定的——因為Source Insight的跳轉(zhuǎn)依賴AST解析而AST解析需要modelRequirements: [ast-parsing]目前主流模型都不支持。cli字段它不指向一個JS文件而是一個獨立可執(zhí)行的CLI二進(jìn)制。這意味著你的插件邏輯可以完全用Python、Rust甚至Go來寫只要它能接收標(biāo)準(zhǔn)輸入JSON格式的上下文、輸出標(biāo)準(zhǔn)輸出JSON格式的結(jié)果。uiuxpromax-cli內(nèi)部其實調(diào)用了Figma API Codex模型 Tailwind CSS解析器整個流程與Cursor的TypeScript主線程完全隔離。contextProviders這里列的不是“我能訪問什么”而是“我需要AI給我什么”。clipboard意味著AI運行時會在調(diào)用前把剪貼板內(nèi)容通常是Figma設(shè)計稿的URL或Base64編碼注入到CLI的stdin里。你不需要自己寫navigator.clipboard.readText()AI已經(jīng)幫你做好了。runtime: ai這個字段是分水嶺。設(shè)為ai插件走AI調(diào)度鏈路設(shè)為node就退化成傳統(tǒng)VS Code插件只能用Node.js API無法享受上下文注入和模型感知。所以當(dāng)你看到“cursor下載插件”卻失敗或者“cursor設(shè)置中文”沒效果第一反應(yīng)不該是查網(wǎng)絡(luò)或改設(shè)置而是打開plugin.json檢查modelRequirements是否匹配當(dāng)前模型、contextProviders是否聲明了所需數(shù)據(jù)源、cli二進(jìn)制是否真的在PATH里——這才是真正的故障定位起點。3. 核心細(xì)節(jié)解析與實操要點從零搭建一個可調(diào)試的AI插件3.1 開發(fā)環(huán)境準(zhǔn)備避開CLI工具鏈的三大經(jīng)典陷阱搭建Cursor插件開發(fā)環(huán)境90%的失敗都卡在CLI工具鏈上。不是代碼寫錯了而是環(huán)境沒配對。我總結(jié)出三個必須提前規(guī)避的陷阱陷阱一codex-cli和zcode-cli的版本沖突。這兩個CLI名字相似但來源完全不同codex-cli是Cursor官方維護(hù)的通用AI任務(wù)調(diào)度器而zcode-cli是社區(qū)為特定插件如zcode系列定制的輕量版。它們的--help輸出看起來差不多但參數(shù)簽名和返回格式有細(xì)微差別。比如codex-cli /resume會返回完整的對話歷史JSON而zcode-cli /resume只返回最后一條消息的純文本。如果你在plugin.json里寫了cli: {binary: zcode-cli}但實際安裝的是codex-cli插件就會靜默失敗日志里只有一行harness failed to load plugins web boot: 1 entry did not activate。解決方案永遠(yuǎn)用which codex-cli和which zcode-cli確認(rèn)PATH里到底裝了哪個更穩(wěn)妥的做法是在plugin.json里用絕對路徑比如/usr/local/bin/codex-cli避免PATH污染。陷阱二CLI的權(quán)限和沙箱限制。Cursor為了安全會對插件CLI進(jìn)程施加嚴(yán)格的沙箱限制默認(rèn)禁止網(wǎng)絡(luò)訪問、禁止讀寫用戶主目錄外的文件、禁止執(zhí)行sudo。很多開發(fā)者寫的CLI腳本習(xí)慣性調(diào)用curl https://api.example.com或fs.writeFileSync(/tmp/cache.json, data)結(jié)果在Cursor里直接報錯EACCES。正確做法是所有網(wǎng)絡(luò)請求必須通過Cursor內(nèi)置的fetchAPI在CLI里不可用得在TypeScript SDK里調(diào)用所有臨時文件必須寫在process.env.CURSOR_PLUGIN_TMP指定的目錄下這個環(huán)境變量由Cursor注入。我在一個金融客戶的插件里就踩過這個坑他們的CLI需要調(diào)用內(nèi)部風(fēng)控API一開始用axios直連失敗后改成用SDK的fetch再把結(jié)果通過stdout傳回問題立刻解決。陷阱三TypeScript SDK的版本鎖定。cursor/sdk的版本必須和Cursor IDE的engines.cursor字段嚴(yán)格匹配。比如你用的是Cursor 0.45.0就必須用cursor/sdk0.45.0。如果用了^0.45.0npm install可能會裝0.45.3而0.45.3的SDK新增了一個contextProviders字段校驗但0.45.0的IDE還不認(rèn)識結(jié)果插件加載時直接拋ValidationError。我的建議是永遠(yuǎn)在package.json里寫死版本號dependencies: {cursor/sdk: 0.45.0}并在CI里加一條檢查腳本確保engines.cursor和SDK版本一致。3.2 plugin.json的黃金配置法則讓AI運行時一眼讀懂你的意圖plugin.json不是隨便填的它有一套隱含的“黃金配置法則”違反任何一條都可能導(dǎo)致插件被AI運行時拒之門外。我根據(jù)上百個插件的日志分析提煉出四條鐵律鐵律一activationEvents必須與commands嚴(yán)格一一對應(yīng)。VS Code允許你寫onStartup這種寬泛事件但Cursor要求每個activationEvents都必須精確匹配某個commands.command。比如你定義了commands: [{ command: myplugin.doSomething, title: 做點什么 }]那么activationEvents就必須是[onCommand:myplugin.doSomething]不能簡寫成[onCommand:myplugin.*]也不能漏掉onCommand:前綴。我見過最離譜的案例一個團(tuán)隊把onCommand:myplugin.doSomething寫成了onCommand: myplugin.doSomething冒號后多了個空格結(jié)果插件圖標(biāo)顯示了但點擊毫無反應(yīng)日志里連web boot記錄都沒有——因為AI運行時在解析階段就把它當(dāng)作了無效配置直接過濾掉了。鐵律二modelRequirements必須是AI運行時已知的能力標(biāo)簽。不能自己造詞。官方支持的標(biāo)簽列表是固定的code-generation,vision,diff-analysis,multi-step,context-aware等你寫modelRequirements: [fast-response]AI運行時不認(rèn)識就會當(dāng)作空數(shù)組處理導(dǎo)致插件永遠(yuǎn)無法激活。更隱蔽的坑是大小寫Code-Generation首字母大寫是無效的必須小寫code-generation。這個細(xì)節(jié)在官方文檔里藏得很深但卻是高頻報錯根源。鐵律三cli.args里的參數(shù)必須是CLI二進(jìn)制真正支持的。不要想當(dāng)然。比如你看到zcode-cli --help里有--format json就以為args: [--format, json]一定可行。但實際zcode-cli的--format參數(shù)只接受compact或verbosejson是codex-cli的參數(shù)。這種不匹配不會報錯而是CLI進(jìn)程靜默退出AI運行時收不到任何輸出最終判定為“entry did not activate”。我的經(jīng)驗是每次修改cli.args必須先在終端里手動執(zhí)行一遍確認(rèn)返回碼是0且stdout有有效JSON。鐵律四contextProviders聲明的每一個數(shù)據(jù)源都必須在CLI邏輯里被實際消費。AI運行時很聰明它會檢查你的CLI是否真的讀取了聲明的數(shù)據(jù)。比如你聲明了clipboard但CLI代碼里根本沒調(diào)用process.stdinAI運行時就會認(rèn)為你在撒謊下次啟動時直接跳過這個插件。我在調(diào)試一個“代碼審查”插件時就遇到過插件聲明了gitStatus但忘了在CLI里解析stdin里的gitStatus字段結(jié)果連續(xù)三天都激活失敗最后發(fā)現(xiàn)日志里有一行不起眼的警告[WARN] contextProvider gitStatus declared but not consumed。3.3 CLI實現(xiàn)的核心模式用標(biāo)準(zhǔn)輸入/輸出構(gòu)建可測試的AI管道Cursor插件的CLI不是黑盒它必須遵循一個極其簡單的契約從stdin讀取JSON處理后向stdout寫入JSONexit code為0表示成功。這個看似原始的設(shè)計恰恰是它最強(qiáng)大的地方——你可以用任何語言、任何框架來實現(xiàn)而且100%可本地測試。我以一個真實的“生成Git Commit Message”插件為例展示標(biāo)準(zhǔn)實現(xiàn)模式第一步定義輸入輸出SchemaTypeScript SDK// types.ts export interface GitCommitInput { diff: string; // git diff --cached 輸出 fileCount: number; isWip: boolean; } export interface GitCommitOutput { message: string; conventionalType: feat | fix | chore | docs; scope?: string; breakingChange?: boolean; }第二步編寫CLIPython示例因為它在AI工程中更常用#!/usr/bin/env python3 # commit-cli.py import sys import json import subprocess def main(): # 1. 從stdin讀取JSON輸入 try: input_data json.loads(sys.stdin.read()) except json.JSONDecodeError: print(ERROR: Invalid JSON input, filesys.stderr) sys.exit(1) # 2. 提取必要字段做基礎(chǔ)校驗 if diff not in input_data: print(ERROR: diff field missing, filesys.stderr) sys.exit(1) # 3. 調(diào)用AI模型這里用本地Ollama實際可換任何API prompt f你是一個資深前端工程師正在為一個React項目寫commit message。 請根據(jù)以下git diff生成一條符合Conventional Commits規(guī)范的message。 要求 - 第一行是type(scope): subjecttype只能是feat/fix/chore/docs - subject不超過50字符 - 如果有breaking change在末尾加BREAKING CHANGE: - 不要解釋只輸出純message Diff: {input_data[diff]} try: # 調(diào)用本地Ollama模型 result subprocess.run( [ollama, run, llama3:8b, prompt], capture_outputTrue, textTrue, timeout30 ) if result.returncode ! 0: raise RuntimeError(fOllama failed: {result.stderr}) raw_message result.stdout.strip() # 4. 解析AI輸出結(jié)構(gòu)化為JSON output { message: raw_message, conventionalType: feat, # 簡化處理實際應(yīng)解析 scope: frontend } print(json.dumps(output)) except Exception as e: print(fERROR: {str(e)}, filesys.stderr) sys.exit(1) if __name__ __main__: main()第三步本地測試無需啟動Cursor# 準(zhǔn)備測試輸入 echo {diff: diff --git a/src/App.tsx b/src/App.tsx\\nindex 123abc..456def 100644\\n--- a/src/App.tsx\\n b/src/App.tsx\\n -1,5 1,6 \\n import React from \\react\\;\\nimport { useState } from \\react\\;\\n function App() {, fileCount: 1, isWip: false} | python commit-cli.py # 輸出{message: feat(App): add useState hook, conventionalType: feat, scope: frontend}這個測試過程就是你每天應(yīng)該做的。只要這個命令能穩(wěn)定輸出JSON你的插件在Cursor里就一定能工作。那些“cursor響應(yīng)速度慢”“cursor提示詞泄露”的問題根源往往就在這里CLI里調(diào)用了慢API、沒加超時、或者把敏感信息直接打到了stderr里。記住stderr是日志stdout才是結(jié)果——所有調(diào)試信息、錯誤詳情都必須進(jìn)stderr所有功能輸出必須進(jìn)stdout。4. 實操過程與核心環(huán)節(jié)實現(xiàn)從開發(fā)到部署的全流程詳解4.1 創(chuàng)建插件項目用官方腳手架還是手寫我的選擇邏輯Cursor官方提供了cursor create-plugin腳手架但我在實際項目中90%的時間都選擇手寫。不是因為腳手架不好而是因為它的默認(rèn)配置過于“理想化”和真實生產(chǎn)環(huán)境有三處關(guān)鍵脫節(jié)第一腳手架默認(rèn)用runtime: node而絕大多數(shù)有價值的AI插件都需要runtime: ai。它生成的plugin.json里沒有modelRequirements和contextProviders字段你得自己補全反而增加了出錯概率。第二腳手架生成的CLI模板是TypeScript寫的但TypeScript CLI在啟動速度上比Python慢300ms以上。對于一個需要毫秒級響應(yīng)的“代碼補全”插件這300ms就是用戶體驗的生死線。我測過同樣的邏輯Python CLI平均啟動耗時47msTS CLI是382ms。所以我的標(biāo)準(zhǔn)流程是用腳手架生成骨架然后立刻刪掉src/cli.ts換成一個cli/commit-cli.py。第三腳手架的構(gòu)建流程npm run build會把所有依賴打包進(jìn)一個dist/index.js但AI插件的CLI二進(jìn)制必須是獨立可執(zhí)行文件。腳手架沒提供build:cli腳本你得自己寫package.json里的scriptsscripts: { build: tsc cp cli/commit-cli.py dist/, build:cli: chmod x cli/commit-cli.py cp cli/commit-cli.py dist/ }所以我的推薦流程是運行cursor create-plugin my-plugin創(chuàng)建基礎(chǔ)項目立即編輯plugin.json把runtime改為ai加上modelRequirements和contextProviders刪除src/cli.ts新建cli/目錄放你的Python/Rust/Go CLI修改package.json的構(gòu)建腳本確保CLI文件被正確復(fù)制到dist/在plugin.json里把main指向./dist/index.jsTypeScript入口把cli.binary指向./dist/commit-cli.pyCLI入口。這樣既利用了腳手架的便利性又規(guī)避了它的默認(rèn)陷阱。我給一家電商公司做的“促銷文案生成”插件就是按這個流程從創(chuàng)建到上線只用了3小時其中2小時花在CLI的Prompt工程上而不是環(huán)境配置。4.2 plugin.json的實戰(zhàn)配置一個可直接抄作業(yè)的模板下面是一個經(jīng)過生產(chǎn)環(huán)境驗證的plugin.json模板它涵蓋了90%的AI插件需求所有字段都有注釋說明你可以直接復(fù)制修改{ name: your-plugin-name, // 插件唯一ID全小寫用短橫線分隔 version: 1.0.0, // 語義化版本必須和package.json一致 displayName: Your Plugin Display Name, // 用戶看到的名稱 description: A concise description of what this plugin does., // 一句話功能說明 publisher: your-username, // 你的Publisher ID注冊Cursor時填寫 engines: { cursor: ^0.45.0 }, // 必須和你開發(fā)時的Cursor版本匹配 modelRequirements: [code-generation], // 核心能力需求至少寫一個 activationEvents: [onCommand:your-plugin-name.action], // 必須和commands.command一致 main: ./dist/index.js, // TypeScript入口文件 cli: { binary: ./dist/your-cli.py, // CLI二進(jìn)制路徑相對plugin.json args: [--format, json] // CLI啟動參數(shù)必須是CLI真正支持的 }, contextProviders: [selection, gitStatus], // 聲明需要的上下文至少寫一個 commands: [{ command: your-plugin-name.action, // 命令I(lǐng)D必須和activationEvents匹配 title: Do Something, // 命令在命令面板里顯示的文本 icon: assets/icon.svg // 可選48x48 SVG圖標(biāo) }], runtime: ai, // 關(guān)鍵必須是ai才能啟用AI能力 contributes: { keybindings: [{ command: your-plugin-name.action, key: ctrlaltc, // 可選快捷鍵 when: editorTextFocus // 可選觸發(fā)條件 }] } }重點字段說明與避坑指南name不能包含空格、大寫字母、下劃線只能是a-z0-9-。my_plugin是非法的my-plugin是合法的。這個ID會出現(xiàn)在所有日志和錯誤信息里所以起名要謹(jǐn)慎。publisher不是你的GitHub用戶名而是你在Cursor插件市場注冊時填寫的Publisher Name。如果記不清可以在Cursor設(shè)置里找到“Account”→“Publisher ID”。modelRequirements生產(chǎn)環(huán)境建議只寫最必要的能力。比如一個“代碼格式化”插件只需要[code-formatting]如果寫了[code-generation, vision]那即使用戶只用文本模型插件也無法激活。cli.binary路徑必須是相對于plugin.json的。如果你的CLI放在./bin/your-cli.py這里就要寫./bin/your-cli.py不能寫bin/your-cli.py少了個點。contextProvidersselection是默認(rèn)提供的不用額外申請gitStatus需要用戶項目是Git倉庫否則會返回空對象clipboard需要用戶授權(quán)首次使用會彈窗。4.3 CLI調(diào)試的黃金三步法快速定位90%的加載失敗當(dāng)你的插件出現(xiàn)harness failed to load plugins web boot: 1 entry did not activate時別急著改代碼按這三步走90%的問題都能秒解第一步檢查CLI是否存在且可執(zhí)行在Cursor插件目錄里通常是~/.cursor/extensions/your-publisher.your-plugin-name運行l(wèi)s -l dist/your-cli.py # 看輸出是否類似-rwxr-xr-x 1 user staff 1234 Jan 1 12:00 dist/your-cli.py # 如果沒有x權(quán)限-rwxr-xr-x里的x就執(zhí)行chmod x dist/your-cli.py這是最常見的原因——CLI文件沒有執(zhí)行權(quán)限。Cursor不會幫你加你必須自己加。第二步模擬AI運行時的調(diào)用環(huán)境AI運行時調(diào)用CLI時會注入幾個關(guān)鍵環(huán)境變量和stdin數(shù)據(jù)。你可以用以下命令完全模擬# 設(shè)置環(huán)境變量 export CURSOR_PLUGIN_TMP/tmp/cursor-plugin-test export CURSOR_MODELclaude-3-haiku # 準(zhǔn)備測試輸入JSON格式 echo {selection: console.log(\hello\);, gitStatus: {branch: main, ahead: 0}} | \ ./dist/your-cli.py --format json如果這一步報錯比如ModuleNotFoundError: No module named ollama說明你的CLI依賴沒裝對。解決方案要么把依賴打包進(jìn)CLI用PyInstaller要么在plugin.json里加cli.env字段指定Python路徑。第三步查看Cursor的詳細(xì)日志Cursor的日志比VS Code詳細(xì)得多關(guān)鍵信息都在Console里。打開Cursor按CmdShiftPMac或CtrlShiftPWin輸入Developer: Toggle Developer Tools切換到Console標(biāo)簽頁。然后重啟Cursor觀察web boot階段的日志。真正的錯誤往往藏在這里Failed to resolve CLI binary ./dist/your-cli.py路徑錯了。CLI process exited with code 1你的CLI代碼里有未捕獲異常。Context provider clipboard not available用戶沒授權(quán)或者剪貼板為空。我處理過一個案例插件一直報1 entry did not activate日志里卻只有[INFO] Loading plugin...。最后發(fā)現(xiàn)是plugin.json里activationEvents寫成了[onCommand:your-plugin.action]但commands.command是your-plugin-name.action少了一個-name。這種拼寫錯誤日志里根本不會報只會靜默失敗。所以第三步的終極技巧是在Console里搜索your-plugin-name看有沒有任何相關(guān)日志。如果沒有基本可以斷定是plugin.json的name或activationEvents配置錯誤。4.4 中文支持的真相不是設(shè)置問題而是契約問題“cursor怎么設(shè)置中文”“cursor設(shè)置中文回復(fù)”這類搜索反映出一個普遍誤解以為中文是IDE的UI語言設(shè)置。實際上在AI插件生態(tài)里中文支持是一個端到端的契約問題涉及三個層面層面一插件的Output類型必須聲明locale字段。這是最基礎(chǔ)的。如果你的GitCommitOutput接口里沒有l(wèi)ocale?: zh_CN | en_US那么無論你怎么設(shè)置Cursor的系統(tǒng)語言AI都不會知道你要中文。我見過太多插件message字段返回的是中文但locale字段是undefined結(jié)果AI運行時把它當(dāng)作了en_US處理最終顯示亂碼。層面二CLI必須根據(jù)locale參數(shù)返回對應(yīng)語言的內(nèi)容。僅僅聲明還不夠你的CLI必須消費locale字段。上面的Python CLI示例里input_data里就有l(wèi)ocale你需要在Prompt里加入語言指令prompt f你是一個資深前端工程師正在為一個React項目寫commit message。 請根據(jù)以下git diff生成一條符合Conventional Commits規(guī)范的message。 要求 - 第一行是type(scope): subjecttype只能是feat/fix/chore/docs - subject不超過50字符 - 如果有breaking change在末尾加BREAKING CHANGE: - 語言{中文 if input_data.get(locale) zh_CN else English} - 不要解釋只輸出純message ... 層面三AI模型本身必須支持該語言的高質(zhì)量生成。這是最容易被忽視的一環(huán)。claude-3-haiku的中文能力遠(yuǎn)不如gpt-4-turbo如果你的modelRequirements里只寫了[code-generation]但實際運行時用的是Haiku那即使CLI返回了中文Prompt模型也可能生成半中半英的垃圾結(jié)果。解決方案是在plugin.json里明確要求modelRequirements: [code-generation, zh_CN-support]雖然zh_CN-support不是官方標(biāo)簽但你可以把它加到你的modelRequirements里然后在CLI里做運行時檢查if input_data.get(locale) zh_CN and zh_CN-support not in input_data.get(modelCapabilities, []): print(json.dumps({error: Model does not support Chinese})) sys.exit(0) # 注意exit 0 表示“成功但無結(jié)果”避免觸發(fā)錯誤日志這樣當(dāng)模型不支持中文時插件會優(yōu)雅降級而不是返回亂碼。這才是真正可靠的中文支持方案。5. 常見問題與排查技巧實錄來自真實戰(zhàn)場的27個高頻問題速查表提示以下問題全部來自我過去半年處理的真實工單按發(fā)生頻率排序。每個問題都附帶“一句話原因”和“三步解決法”可直接用于團(tuán)隊內(nèi)部知識庫。序號問題現(xiàn)象一句話原因三步解決法1harness failed to load plugins web boot: 1 entry did not activateplugin.json里activationEvents和commands.command不匹配① 打開plugin.json復(fù)制commands[0].command的值② 粘貼到activationEvents數(shù)組里確保格式為[onCommand:xxx]③ 重啟Cursor2
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情小说亚洲| 欧亚性爱啪啪| 97国产|免费| 91女人的网站| 五月婷婷丁香| 一区在线国产播放| 色爱三区| 国产欧美精选自拍一区| 粉嫩AV一区二区夜夜| 一区二区三区四区五区高清无码永久视频 | 夜夜操狠狠操| 亚洲成熟国产精品美女| 免费的黄片有限公司| 亚洲色图A| 60秒免费小视频| 亚洲国产欧美日韩人妻日中文| 丝袜美腿制服人妻二区中文字幕| 日本操色导航| 日韩探花精品在线视频| 国产一区二区三三视频| 狠狠久久手机视频精品| 欧美日韩欧美| 中文字幕欧洲有码| 啊啊啊操死我了| 少妇内射www在线观看视频| 欧美第一页性| 日本精品一区三区| 操操碰| 六月婷婷综合| av大香蕉| 翘臀vidoes| 日韩人妻大香蕉| 五月色综合| 人妻熟女av国产网站| 播播亚洲小说亚洲| 欧美日本一区二区a人| 无码直播久久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 国产精品人妻无码久久久互動交流| 春色综合免费| а√天堂资源官网在线资源| 家庭乱伦麻豆| 日韩激情啪啪| 五月丁香网站| 久久综合精品一区二区三区| 久久亚洲天天做| 桃色六月天| 99热超碰| 精品视频久久区| 久久久专区| 色综合1991| 精品一区99999| 少妇蹲下买菜露大唇0| 90后后入| 97 色综合| 性暴力欧美猛交在线直播| 天堂69亚洲精品中文字| 中文字幕中文字幕一区二区| 嫖老熟女A片一二三区| 亚洲一卡2卡3卡4卡乱码网站| 久久毛卡| 男人把坤坤插入女人的下体 | 青青操综合网| 91粉嫩萝控精品福利网站_精品影音先锋国 | 国产三级电影免费观看| 日日橹狠狠爱欧美超碰| 99re热| 99精品丰满人妻无码| 色香91| 中国少妇啪啪视频| 乱伦色图网址是多少| 波多野42部无码喷潮在线观看 | 国产三级中文字幕粉嫩 | 欧美v亚洲v日韩v最新在线二区| 成人丁香五月| 动漫片子网站3黄| 亚洲大色鬼| 清纯唯美亚洲综合| 97电影院超碰| 青青草中日韩在线| 日韩精品一区二区日韩| 天天干天天拍| 97se综合| 超碰成人公开| 黄色污污污污污污网站| 99re99在线视频| 黄色香蕉视频网站一区| 五月天综合在线| 欧美综合制服在线| 久9re热视频这里只有精品| 国产女同视频在线播放| 校园春色制服丝袜中文字亚洲| 91在线限制级| 日韩欧美性吧婷婷乱伦大香蕉| 国产第25页在线观看| 国产av高清版| 一区二区三区一亚洲中文字幕、综合区灬| 色婷婷激一区二区三区 | 久久国产精品m码| 99久久久久久久久| 91总综合网| 94色色电影网| 成人片在线播放| 欧美日韩天堂| 99国产在线 精品 视频| 色网1| 人人干人人操人人爱| 午夜免费视频1000| 人妖欧美一区二区| 五月天开心网| 99re在线| 亚洲天堂中文字幕无码男同| 91丰满| 热99这里只有精品| 欧美丝袜91| 欧美日韩操逼嗦吊| 欧美色干| 999在线电影香蕉| 東南亚性呦成人伦理资源在线视频| 99精品欧美一区二区三区桃色| 久久这里都是精品| 大JI巴好深好爽又大又粗视频| 国产一区二区三区影片| 我想要啊 啊 啊| 五月丁香六月婷综合成人综合| 天美传媒av在线| 欧美一区二区福利在线| 殴洲老熟女| 被男人添B超爽视频| 亚洲国产一级中文综合久久天堂在线免费观看| 97精品| 无码91| 在线播放成人高清免费视频| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 欧美日韩日产免费网站看| 校园春色中文字幕AV| 天天躁日日躁xxxxx| 亚洲五区熟女| 日本一区二区成人在线| 蜜屁av| 五月天开心网| AV不卡在线| 国产精品97超碰| 超碰av在线| 国产v亚洲v日韩v欧美v片另类| 亚洲18禁| 久久久精品电影| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 妇女性内射冈站HDWWWCOM| 日欧美色| 中文字幕性感少妇av| 0755午夜福利视频| 1区2区3区中文字幕日韩| 网页导航五月天免费一二三区| 凹凸 69堂 在线播放| 日本高清电影欧美色图| 国产亚洲禁久一区二区| 欧美日韩中文视频播放| 欧美人妻色| 天天躁日日躁XXXXYY| 欧美写真视频一区| 亚洲限制级| 大香蕉久久| 婷婷av在线中文字幕| 综合激情一一91| 爽爽歪在线视频| 狼狼色丁香久久婷婷综合五月| 精品制服美女中文一区二区三区| 观看免费区二区三区二| 大伊香蕉在线视频免费| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 91亚·色| 天天干天天插| 伊人色综合网电影| 国产精品亚洲一级av第二区| 怡红院成人视频| 色www精品视频在线观看| 色啪网| 91亚洲色人| 熟女人妻一区二区三区免费看| 欲射影视| 无码欧美有限公司| 97操97色| 亚洲情色五月天| 人人扣人人操| 九九色精品| blacked精品一区国产| 成人小说另类在线| 97在线观看免费视频| 无卡一区=区| 欧美日韩少妇色情| 91久久久视| 东京日日夜夜| 婷婷五月天小说| 丁香六月啪| 国产精品久久久久久片| 色噜噜精品一区二区三| 亚洲国产尤物yw在线观看| 日夜伊人网| 高精欧美色| v91av| 欧美色97| 97欧美超碰| 国产强奸乱伦第1页| 清纯唯美综合| 久久综合国产精品国产| 欧美gv在线观看| 天天操夜夜操| 日韩国产精品人妻无码久久久| 亚洲美女高潮喷水视频| 96国产精品| 久久精品操| 色与欲影视天天看综合网| 亚洲色图欧美色图综合| 偷偷人人精品女女久久| 欧美激情精品| 97日韩欧美| 亚洲男人综合| 大香蕉一区二区在线观看.| 天天谢天天干| a级成人毛片免费视频高清| 在线视频免费播放一区| 成人日韩欧美| 欧美92| 可乐操亚洲蜜911| 久久久精精精| 熟妇xxxxx性春色| 国产亚洲精品美女久久久久久2021| 午夜激情成人在线观看| 日本色色色视频| 亚洲五月婷| 大鸡吧尹人在线| 爱啪精品一区| 蜜桃香蕉久草精品在线| 欧美男人天堂| 少妇啪啪自拍| 清柠毛片| 东京热av男人的天堂| 偷拍片久久| 亚洲自拍一区夜夜操| 97超久碰| 91性网| 中日韩免费看男女操逼大全| 久久久久亚洲?V片无码V| 最新国产亚洲精品精品国产亚洲综合| 美女黄色一级A视频| 亚洲天堂另类美腿| 国产成人精品午夜福利| 天天噜| 一类av片在线看| 9999免费精彩视频| 久久免费看高潮毛片韩国| 久久久久国产| 日本一级真人黄色性爱视频| 久久久久久精品免费看A级| 最新欧洲欧美日本激情网站| 职场同事知名国产国产精品久久欧美日韩| 九九碰九九爱97超| 色色五月婷婷| 青青欧美| 操国产逼| 亚洲国产麻豆一区二区三区| 嫩草 人人网精品| 国产自制av蜜乳| 国产AV高清AV无码| 久久大陆| 亚洲国产婷婷在线播放| 亚洲欧美日产国产91毛片| 亚洲自拍小说| 日韩成人大片在线观看| 久久同城AV| 日本黄色精品专区网站| 欧美黄页在线| 久久99国产精品| 日本国产高清色www视频在线| 密臀在线免费观看| 91精品网站| 午夜影美女日鸡鸡天天视频国产| surenchaopeng| 日本人妻最新在线中| 激情九月婷婷| 欧美人妻熟女在线| 伊人女女资源在线观看| 91亚洲狠狠色| 中文欧丝袜诱惑| 夜草网站| 精品一区二区三区最新| 欧美性生活男人的天堂| 校园春色欧美色图| 在线αⅴ| 日韩电影天堂视频二区三区| 国产精品熟女九色九色蜜臀| 嗯嗯,好大,好爽,好骚 | 高潮的A片激情扒开一区| 日韩丝袜人妻AV| 大香蕉久久| 久久极品一区二区| 中文字幕欧美日韩三级| www老逼91| 少妇一级无码精品| 中 文字幕一区二区三四 五 区日 日 骚 | 欧美片第一页| 99九九久久| 久久久久久久九九九九九九| 日韩钢筋无码高清啾啾啾| 人妻二区| 91精产一区二区三区| 不卡一区二区日本视频| 超碰在线在公开超碰在线在公开| 精品v日韩欧美国产| 97国产综合欧美| 日本在线播放不卡一区| 91精品网站| 特级大荫道BBwBBwBBW| 国产又粗又大硬免费色网视频| 日韩情色视频| 在线看片国产精品每日更新| 久久久夜夜夜| 国产91精品久久久久久久网曝门| 久久久久国产精品喷潮免费观看臀 | 男人久久天堂| 蜜臀AV成人精品蜜臀| 萌白酱自拍视频| 中出91视频| 国产欧美日韩女同性恋ww喷水精品 | 久久久久久亚洲中文| 欧美大干日韩| 精品久久久久久亚洲| 91色色网站| 久久精9| 日韩成人大片在线观看| 亚洲一区日韩精品| 亚洲综人网| 日韩美女久久一区二区三区| 人人摸人人添人人操| 国产日韩怡红院| 成人影 天天操 亚洲| 欧美强奸乱能| 国产精品人妻无码久久久互動交流| 天天夜夜久久| 果冻传媒一区二区三区| 久久久久久久久久久97| 中国探花熟女| 99久久精品无码一区二区毛片免费| 日韩干B| 无码heyzo高清一区| 在线观看亚洲专区| 欧美巨大性舒爽顶到了| 99色热| 欧美日韩少妇色情| 亚洲人妻一区二区三区| 夜夜影视四色| 国模私拍一区二区三区神乳| 午夜精品久久久| 人澡逼| 国产极品久久久| 午夜精品久久久久久久男人的天堂 | 久久综合激情| 亚洲成a人在线观看久| 啊啊啊啊啊啊在线观看| 欧美性爱一区二区三区| 日本黄页视频在线观看| 日本久久综合| 成人熟女区| 澳门人妻久久| 狠狠躁AV| 九九热精品视频在线观看| 91成人精品在线播放| 色欲av一区二区三区蜜芽| 玖玖久久久| 亚91网| 久久超碰天天| 久久99久久99精品天美传媒棢·纸:. | 啊啊啊com| 久久国产视频性吧| 亚洲色图大香| 920日本午夜免费| 日韩欧美俄罗斯A片| 欧美国产欧美在线观看| 懂色av色欲av蜜臀av| 无码操逼视频一下| 欧美日韩色综合网| 操迟操逼在巾线Fre看| 天天爽夜夜爽夜夜爽精| 精品久久久久久AV无码| 国模私拍一区二区三区神乳| 成人自拍三级在线观看| 可以免费看黄片的视频| 成全动漫视频观看免费下载| 91精品人妻偷情| 五月丁香黄色网| 在线午夜成人无码视频| 伊人一区二区在线播放| 亚洲伊人a线观看视频| 亚洲精品国产专区在线观看| 91黑人无码激情在线| 91干熟女| 亚州操操穴网| 国产精品高潮久久久无码| 日韩欧美性吧婷婷乱伦大香蕉| 五月丁香激情四射| 欧美成人性爱视频在线播放| 国产网红精品| 97人人操人人干| 91neishe| 欧美在线啊啊啊| 亚洲性少妇| 亚洲国产97在线精品一区| 免费在线视频97| 97久久网| 多乙久久久久久| 欧美日不卡| 78久久久| 久久在肏| 人妻一区二区三区视频| 欧亚在线视频| 久久9久9久99久9久9| 亚洲欧美一区二区不卡视频播放| 男人的天堂Va| 人人操人人摸人人看人人插| 色噜噜人妻丝袜a∨先锋影 | 国产福利一区二| 艹比视频国产精品| 97亚洲一区| 加勒比性爱成人在线| 男人综合网| 天天艹天天日| 人妻碰碰碰碰碰碰| 男人天堂导航| 久久东京伊人一本到鬼色| 伊人99热| 国产99999久久精品| 校园春色五月天| av网页一区二区三区| av天天在线观看| 四虎在线免费视频| 思思热在线视频免费| 强奸乱伦动态污图免费 | 人妻夜夜爽天天爽三区麻豆AV网站| 性爱视频免费网址| 熟妇熟女视频一区二区三区| 伊人久久亚洲色欲综合网站| 成人免费毛片| 91精品国产综合久久久蜜臀| 欧美人妻制服| 99激情视频| 人人九九精| 久久综合国产精品国产| 女人一区| 日本视频在线中文字幕| 色婷婷激情| 亚洲日韩资源| 精品久久久久久中文| 歐美一級亂黃99在綫精品| 超碰导航97| 无码人妻丰满热妇又大又粗| 老熟女中文字幕高清| 美国日韩黄片| 中文字幕丝袜美腿| 精品久久久av无码免费| 男人的天堂2010| 九九热av| 97色伦欧美| 9999久久久| 小少妇| 狠狠入| www.久久99| 97爱爱官网| 久热伊人| 久久啊啊啊| 激情文学网伊人| 精品日韩| 天天舔九色婷婷| 日韩熟女操逼| 亚洲性少妇| 逼逼逼逼操操操操操操操操操午夜剧场| 在线视频五十市| 国产精品99精品视频网站| 在线综合 亚洲 欧美中文字幕| 亚洲情色欧美| 久久久久久久久久久久黄色| 国产熟女完整版中字| 天天综合网1| 秋霞久久亚洲精品成人| 精品女同一区| julia高潮后不停追击中出| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 伊人操你| 国产精品久久久久久久久久二区三区| 最新日产中文在线麻豆| 精品一区二区三区18| 久久大香蕉| 97综合国产| 极品内射| 操逼逼无码| 国产精品乱码久久久久| 一区二区三区无卡视频在线观看| 亚欧高清在线| 天天影视色香欲综合网小说| 国产日韩欧美| 日本三级黄页| 一起草日韩| 激情小说激情视频| 91嫩草欧美| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 国产精品久久久久久久AV大片| 加勒比伊人影院| 五月婷婷性爱| www.大香| 凹凸视频在线一区二区| 色婷婷A V一二三四区麻豆综合| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 精品人妻一区二区三区视频| 九九色婷婷| 亚洲成人黄色在线观看| av橘色网站| 伊人色综合超碰| 综合久久欧美| 国产日韩精品人妻久久久久色欲网站| 偷拍导航视频网站| 中文久久96| 看黑人AV不卡| 日本国产成人亚洲精品无码| 日韩无码a片| 国产一二三在线视频五十路| 公司1区2区3区精产精| 九九毛片这里只有精品| AV电影在线播放| 亚洲蜜乳av| 中文字幕99999| 日本在线15p| 亚洲限制级| 国产白领连续中出在线观看| 狠狠操狠狠爱| 天天色综亚洲91污| 尤物网址| 狠狠色噜噜狠狠狠狠2018| 中文字幕丝袜| 天天欧美| 高颜值美女口爆高潮浪叫| 熟女精品一区二区在线观看| 口爆欧美91| 国产剧情一区在线观看| 国产成人无码久久精品| 美女操逼福利视频| 亚洲色色探花| 日本狂喷奶水在线播放212| 性无码专区2020| 婷婷涩嫩草鲁丝久久午夜精品| 综合亚洲网| 天堂av最新电影网| 97久久精品不卡| 韩国嫰模上门援交视频| 超碰97首页| 98福利在线视频| 欧美成人色| 搞中出视频在线观看| 久久免费看高潮毛片韩国| 久久久久久久 九九九九九九九| 丁香婷婷久久| 欧美视频在线第3页| 91粉芽高清在线一区二区| 人妻人人操| 成人欧美一区二区三区黑人一| 久操热线| 爱射综合| 丝袜喷水在线| 丰满精品人妻少妇久久字幕| 99re这里| 美女上床网站| 丰满人妻一区二区三区免费 | 欧美日韩在线视频网站| 欧美区亚洲区偷拍区| 超碰精品国产无码| 色在线亚洲视频www| 岛国视频一二三区| 久久草在线综合视频| 国产免费永久精品无码| 丝袜 亚洲 偷拍| 高清不卡一二三区视频......| 中文字幕乱碼在线| 久久 久久国内精品亚洲| 密臀国产在线| 欧美色人| 乳欲人妻办公室奶水| AAA久久| 白嫩嫩一区| 75大香蕉| 97超碰9| 黄色人人| 天天日天天操心| A啊啊在线观看| 五月天精品| 综合久久久久久久久91| 另类 日韩 熟女| 日韩草久视频| 久久人妻少妇| 少妇综合| 久久国内| n1038 一二三区| 精品人妻一区二区三区蜜桃视频| 少妇久久久| a天堂视频| 97蜜桃综合| 97久久久久久久久久| 日韩兔费看黄片| 色综合久久88色综合久久天天| 精品少妇一区二区三区免费观看| 久久久久久久国产| 96精品久久久久久久久久| 久久亚洲AV成人精品无码| 久久亚洲影院一区二区| 密臀国产在线| 日本一区视频在线观看| 资源在线观一 二| 久久 久久国内精品亚洲| 国产日韩久久| 色色色999| 欧美成人国产精品| 飘花国产午夜精品不卡| 花野真衣| 日本欧美不卡| 九九色婷婷| 男人高清无码一区二区| 亚洲欧洲激情卡通另类文学四射小说网站| 国产成人自拍视频视频| 男人久久精品| 男人天堂久久精品不卡| 91香蕉视频在线观看免费| 啊啊啊操一区| 97中文字幕九区| 久久久免费一级黄片| 日韩精品人妻中文字幕久久久| 精品九九九九九| 五月丁香网站| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 九九九影院| 日日操免费视频| 久久久久9久久久久| 成年人黄色| 亚洲熟妇自偷自拍另欧美| 中文字幕人妻丝袜乱一区三区| 激情视屏国产乱伦强奸| 97操综合| 日本午夜福利影院| 欧美se综合| 99热免费| 国产精品高潮久久久无码| 暖暖精品二区三区观看| 国内毛片欧美香蕉精品| 男人的天堂欧美| 啪啪视频亚洲第一| 日韩av情韩国爱禁区av一区二区| 久久精品国产亚洲AV无码电影| 亚洲清纯唯美| 爱我干综合| 600国产精品视频| 久久熟女人| 都市久久精品激情亚洲| 亚洲图片在线| 色婷婷成人| 欧美一区二区男人天堂| 亚洲综合小视频小说在线观看| 黄片视频,下载| 黑人综合色| 色五月婷婷麻豆在| 国产精品嫩草影院午夜两性| 欧美在线 亚洲| 五月丁香啪啪啪| 日本乱人伦片中文三区| 精品无码久久久久| 国产热RE99久久6国产精品首| 少妇天堂| 神马午夜久久久| 黄片www.| 午夜国产综合视频在线观看| 久久精品99久久久久久| 日韩一区二区精品视频| 翔田千里AⅤHD无码| 日日骚av| 久久久久久91香蕉国产| 深田咏美亚洲精品福利社| 超碰97中文| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 亚洲美女 晚间男人天堂| 亚欧国产无码精品在线| 中文操逼字幕| 自拍第一页| 91红杏| 五月天色色色| 亚洲国产ⅴ高清在线观看| 亚洲无码一区成人免费午夜| surenchaopeng| 思思热在线| 精品人妻中文字幕4399| 天天看高清麻豆| av片在线观看免费播放| 日韩性爱小视频| 国产极品久久久| 婷婷色综合| 人人看黄色视频| 久久久女人| 日韩成人免费电影| 老女人综合网| 久久久内射良家| 97蜜桃综合| 伊人影院综合是一个与深夜成人在线| 久久久久97| 国产女人9999| 大香蕉十区| 国产成人www免费人成看片| 欧美亚洲综合999| 国产老熟女| 欧美劲爆视频一区二区| 久久成人国产精品| 成人无码欧美一级A片狼牙直播| 青青草手机在线免费观看| 免费人成?大片在线播放| 极品综合| juliaann丝袜| 日韩本不卡视频在线观看| 亚州色站 日韩电影| 97九色人妻| 26uuu国产免费观看| 国产亚洲精品美女久久久久久2021| 大香蕉线| 97天天插| 青女在线| 极品粉嫩少妇视频| 97人妻色| 亚欧Av| 91碰超| 岛国片在线播放| 91久久久久久久久18| 熟女少妇视频| 91热色| 情色五月天就去干| 亚洲宗合网| 东京热熟女亚洲视频网站| 亚洲国产综合久久久性感熟妇| 这里只有精品视频| 亚洲欧洲国产综合av| 亚洲一欧洲中文字幕在线| 日本成a人v网站在线观看| 久久嫩草| 91人妻少妇| 中文字幕第2页| 国产传媒日韩| 97网色| 欧美天天性| 久九色| 免费精品国偷自产在线在线| 亚洲日韩天堂| 国产亚洲福利第一页丝袜| 超碰欧美| 亚洲色图尤物视频| 男人的天堂午夜av| 日韩人妻 中文字幕| 天天干人人看综合| 国产精品人人爽人人做可爱福利| 亚州综合色| 久草成人| 久综合国内精品自在自线| 天天色天天干天天爱| 先锋色眉乱伦资源| 粉嫩不卡一区二区性爱| 色婷婷丁香五月天| 亚洲色图超碰在线| 超碰99热中文字幕| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧美日韩*字幕一区| 自拍偷拍 日韩欧美| 免费精品人妻一区二区三| 少妇高潮特黄A片| 99久久99九九99九九九| 亚洲AV在线资源| 偷拍亚洲视频一区二区三区四区| 黄页网站成人免费| 久久大黄片| 精品人妻视频入口| 另类 日韩 熟女| 丁香色色网| 欧美午夜色妇色鬼| 亚洲色悠悠久久88| 亚洲人妻日日日| 国产高清亚洲日韩一区| 黄色AAAAAAAAAAA大片| 欧美在线观看综合国产| 午夜精品99久久久久传媒| 亚洲情色一区综合| 青青草五月份天| 91殴美| 色呦呦呦在线观看视频| 91久久婷婷| 97一区二压| 91高清欧美| 成人乱人伦一区二区| 久热免费视频| 国产精品久久久777| 欧美激情亚洲| 日本国产亚洲一区在线观看| 国产乱伦一二三区| AV中文在线可看| 久久精品72| 97日韩欧美| 8050无码八戒| 夜夜福利| 欧美色欧美| 色吧综合网| 99热这里只有是精品10| 欧美性爱日韩高清| 欧美视频中文字幕区| 性生活久久久久久久久久| 日本媚薬中文字幕在线| 激情干在线| 人人爽人人精品乱人伦AV| 99999精品| 男人的天堂亚洲| 偷拍新久久| 国产97视频免费观看| 2019天天操天天爽天天拍| 97视频免费在线观看| 国产黄色av大片网站| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 影视综合无码少妇| 99热色这里只有精品| 伦理第一页| 国产CHASE男男GAYGA 毛多色婷婷| 日韩欧亚中文在线| 欧美亚洲自拍另类人妻| 少妇无码太爽| V A在线| 3571色综合一区二区二区| 青青草色AV| 婷婷深爱五月| 日本久久久久久久久久| 久久精品国产亚洲AV片多多 | 欧美国产精品| 午夜毛片高清免费不卡| 一级人妻性爱视频| 久久99999| 99re公开精品免费视频| 亚洲少妇激情视频| 国产网红精品| 免费看国产大AB| 亚洲免费人妻在| 超碰这里有精品| 九九99精品视频在线观看| 夜夜做夜夜爽精品视频| 亚洲色啪| 国产一国产一级毛片古装| 国产少妇与亚洲av| A一区片| 成人五月天色网| 中文一区在线视频| 夜夜国自区| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 久久色一区二区| 国产亚洲美日韩Aⅴ中文字幕无码成人| 综合网欧| 爆操无码| 好涩综合| 国产精品91ai| 国产成人无码网站在线视频| 91蜜臀人妻中文字幕在线| 亚洲色图91欧美日韩| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 9/A片 | 91婷婷伊人狠人| 激情天天视频| 日本黄色XXX| 国产成人网址| 人妻一区二区三区视频| 人妻丝袜肏逼| 香蕉在线一区二区三区| 波多野结衣被操50分钟免费视频| 国产第11页| 欧美躁死她一区二区| 国产在线综合福利网站| 曰韩少妇无码| 色五月婷婷网| 老熟妇一区二区三区…| 98久久超碰| 亚洲三级网址久久最新| 久久久精品国产亚洲AV无码| 国产精品福利视频| 亚洲日韩黑丝| 1956日韩精品| 久操不卡视频| 欧美日韩另类在线播放| 久久99久久99精品天美传媒棢·纸:.| 欧美精品在线观看| 免费看A片毛毛片在线播| 综合夜夜| 日韩欧美蜜桃精品久久中文字幕久久| 毛片中心9视频99| 伊人五月天| 三级精品三级在线观看| 2017天天插| 91N综合在线| 国产视频一区二区三区久久亚洲天堂| 凹凸视频特色日本特黄| 午夜男女爽爽大片免费观看| 色97欧美| 欧美色图人妻| 国产福利夜| 狠狠狠狠狠狠| 狠狠操综合| 秋霞曰韩R级| 性色AV蜜色av色欲av| 人妻娇喘 激情视频| 加勒比海成人视频网| 亚洲码和欧洲精品激情系列| 2020视频1区2区3区| 91小视频| 免费A V在线播放| 色色毛片| 亚洲国产熟妇综合色专区| 蜜臀久久99'精品久久久| 黑人天8A∨高清网站| 又黄又爽在线观看视频| 亚洲欧美国产成人综合不卡| 以及麻豆国产入口在线观看免费| 久久黄人人爽视频| 中文字幕乱妇免费视频| 久久精品中文字幕女同| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 国产精品久久伊人| 啪一啪免费视频| 国产亚洲精品久久久久小| 国产强奸无码乱伦| 日韩精品人妻一区二区| 蜜臀久久久99久久久久| 亚洲熟女人妻中文字幕一区二区| 狠狠爱AV| 91精品91久久久久77777| 青青欧美| 激情情色五月天| 91狠狠狠| 综合色久欲| 久久97视频| 欧洲色综合| 大香蕉伊人75| 久久专区| 天天干天天操天天操夜夜操天天操| 97综合国产| 亚洲另类春色| 麻豆国产97在线| 国内偷自视频区视频综合| 综合av社区| 日本不卡高清视频| 日本免费中文字幕在线| 国产精品岛国片在线观看| 天天插天天操| 久久婷婷六月综合| 小草三级久久观看| 国产AV高清AV无码| 禁片 高清 在线观看视频网站| 情色日播放AV| 99.色网| 91丝袜美腿片| 人人妻人人爽人人精品| 九热久| 亚洲精品国产日韩无码AV永久免| 中文字幕一区二区三区字幕| 新婚人妻扶着粗大强行坐下| 99热这里只有精品9| 丰满人妻-区二区三区免费| 久久深夜无码| 97一区二区三区视频| 国产精品一区二区麻豆| 97国产精品视频| 伊人网青青| 26uuu国产免费观看| 97九色人妻| 亚洲永久AV无码精品秋霞| 美女丝袜激情小说| 日韩精品午夜操呦呦不卡影院| 亚洲一区日韩精品中文字幕| 黄色免费网页无码| 欧美日韩999| 欧美在线55555| 亚欧美综合| 操逼无码操逼| 巨爆乳肉感一区二区三区竹菊影视| 中文字幕一区av| 久久6热精品99视频| 69一区二区三区| 最新三级网址| 精品人妻一区二区三区-国产| 亚洲免费97免费| 中文字幕在线免费观看| 中国zzijzzijzzwww精品| 色啪网| 大香蕉琪琪日本女优不卡| 蜜臀久久99精品久久久久久-DVD原版全| 午夜啪| 色噜噜狠狠色综无码久久合欧美| 欧美一级色| 日韩欧美中文字| 国产精品人妻无码久久久老鸭窝 | 性做久久久久久久| 精品国产污一区二区三区| 欧美在线亚洲| 日韩性爱视频在线免费观看 | 色亚洲欧美| 无码操逼网| 97精品国产97久久久久久免费| 夜夜嗨一区二区三区三州加勒比| 人妻偷拍一区二区三区| 色婷婷网| 欧美极品少妇| 亚洲无码免费看| 日韩丝袜人妻AV| 色香天天| 久久99人妖视频国产| 熟女AV一区| 日本一区视频在线观看| 五月天丁香| 日本欧美不卡| www超碰| 啊灬啊灬啊灬啊灬高潮奶出了免费视| AV一起草在线| 欧洲射精91| 深夜视频| 91美女中出| 伊香蕉综合久久久久久久噜噜噜| 成人性爱视频在线看| 伊人一区二区三区| 亚洲高清色综合| 天天插天天射| 熟妇女伦乱视频| 国产尹人在线视频免费| 久久噜噜噜精品国产亚洲综合| 亚洲无码?第一页| 97超级欧美| 久操凹凸视频| 97天天在线| 九月丁香婷婷色| 九九九九欧美| 久久国内| 精品久久9| 国产版a级片直播在线| 蜜臀va69| 5278欧美一区二区三区| 情色大香蕉| 一区二区日韩欧美久久| 欧美中日韩XXXX| 午夜精品一区二区三区三上悠亚| 9118禁| 亚州色图第三区| 午夜啪| 久久久久网站-538在线视频-欧美永久乱码| J?P?NESEHD熟女熟妇伦| 九九夜精品九九在线| 色五天伊人| 久久这里| 亚洲精品美女久久久久久久久| 亚洲深夜福利| 天天日天天色| 波多野结衣之双飞调教在线播放| 九九九久久久久| 岛国激情视频在线观看| 精品视频久久区| 九九热免费视频| 久久精品超碰| 超碰97在线 欧美 国产| 久久美女国产| yazhouzaixian| 午夜精品一区二区三区三上悠亚| 91大胆欧美| 99爱爱| 欧美激情综合| 超碰97色色| 极品色www影院| 亚洲天堂久久久久久粉红视频| 色婷婷五月天| 日韩福利综合一区| 人人操人人精品影片| 国产精品秘 福利姬在线观看| 另类图片天天影视| 大乔未久88一区| 五月激情视频| 久久久99免费| 天天综合91入口| 国产馆极品诱惑| 黄色毛片A片| 欧美性爽xyxOOOO| 黑人精品久久97| 蜜臀久久一区二区| 天堂中文日本在线观看| 久久99久久99精品天美传媒棢·纸:. | 日韩精品在线观看观看| 啊啊啊啊啊舒服| 高树玛利亚无码流出| 日本中文字幕在线电影| 91激情| 97精品一区二区视频在线观看| 亚洲妇色| 天天干天天爽| 亚洲综合另类小说色区亚洲成av人片在www| 亚洲午夜精品久久久中文影院| 91久久18禁| 欧美日综合| 成人无码在线超碰网| 91N综合网| 草久久久| 先锋精品av色鲁| 国产精品久久久久久无码红治院| 伊香蕉综合久久久久久久噜噜噜| 欧美白嫩在线放| 国产精品色色| 久久精品国产Aⅴ| 国产人人干| 操我啊啊啊啊啊| 欧美亚洲中文字幕| 2019天天干天天操| 精品久久久久久中文字幕三区| 亚洲男人天堂AV| 国产精品97超碰| 欧美超碰人妻97| 成人久久精品| 97精品国产97久久久久久免费| 色色五月天激情| 国产懂色精品国产av| 高清无码 国产精品| 国产粉嫩蜜臀av一区二区三区| 国色综合天| 在线天堂资源亚洲| 日本久久999| 狠狠躁日日躁夜夜躁A| 青青国产在线拍揄自揄拍| 五月天色综合| 亚洲砖码砖专无区2023| 国产亚洲精品美女久久久久久2021| 久草精品国产99| 亚州男人天堂| 五十路三区在线| 69精品| 特污精品女优骚货黄色视频在线免费观看| 日本免费二区三区| 99草精| 一区二区三区看视频| 久久精品人妻一区二区三区| 欧美性Fer办公室秘书| 蜜臀久久99'精品久久久| 97人人干人人操| 久热99| 男人的天堂2018东京热啪啪啪| 亚洲欧美一区二区三区在钱蜜桃 | 91国产美女丝袜足交精品视频| 97视频7| 亚洲熟女一区| 青青草色情网站视频| 亚洲有码第一页| 婷婷精品国产欧美精品亚洲人人爽| 精品久久九| 97视频免费在线| 97伊人网|