精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Apex AI輔助編碼助手的設計和實踐

人工智能
Apex通過 RuleSync 與 ProjectService 實現CursorRules規則模板一鍵同步,依托配置化 MCP 加速工具集成和能力提升,以安全令牌與白名單機制強化治理,并借助 UsageRecorder 與 TraceService 提供可觀測性,全面支持高效、安全、可控的使用交付與版本去迭代化管理。

一、背景

二、架構設計總覽

三、功能設計&落地

    1. 激活與裝配流程

    2. 認證與安全(AuthService + Storage)

    3. 規則知識庫工程化(RuleSyncService)

    4. 遠程 webview 與版本編排(Webview + VersionChecker + Trace)

    5. 項目服務(ProjectService):Monorepo識別、模板拉取與寫入

    6. 埋點與活躍情況記錄(LoggerService + UsageRecorder)

    7. Webview 消息編排(MessageHandler)

四、總結&展望

一、背景

Apex以vscode插件為主要載體,接入SSO認證、打通CursorRules知識庫、Webview遠程UI、實現無感安裝MCP、創建智能體、使用智能體等能力,幫助實現提示詞撰寫效率的提升,降低了使用過程的費力度。通過知識庫、智能體等可實現在保障代碼質量同時,進一步提升AI代碼生成占比。

除了功能層面的能力,想必大家對Apex內部實現原理應該也很感興趣,如何打通知識庫、智能體使用時,MCP為什么自動安裝了,下面將從技術實現角度,剖析Apex 如何將“AI 能力”工程化落地到 Cursor 開發流程中。了解Apex是如何激活裝配、打通SSO認證,同步 Cursor Rules 知識庫、通過遠程dist包實現webview UI渲染,并提供智能體能力,實現無感更新,消息如何編排,如何識別大倉還是獨立應用等。

二、架構設計總覽

圖片圖片

Apex 以插件為主控,Webview 承載 UI 與業務交互,服務層聚合認證、工程上下文、CursorRules知識庫、埋點等能力,MCP 以“配置即工具”的方式進行邊界的擴展。實現三端(插件-前端-服務端)通過版本編排解耦vscode插件的迭代周期,在安全(鑒權)、可觀測(日志與活躍情況)、工程落地(規則知識庫與智能體模板)之間取得平衡。

三、功能設計&落地

1.激活與裝配流程

為實現插件的穩定啟動,在插件注冊過程中,出現異常失敗也不污染后續狀態,通過事件注冊按需加載,避免了冷啟動插件帶來的抖動問題。

圖片圖片

要點流程介紹:

  • 版本檢查先行:防止低版本 Cursor 帶來功能不兼容。
  • 早期守衛 workspaceRoot,避免在無工作區時繼續初始化產生隱式 NPE。
  • 服務單例初始化順序:ProjectService(工程上下文)→RuleSyncService(規則聚合/監聽)→ StorageService(持久能力)→ AuthService.initialize()(異步認證獲取 token 與 userInfo)。
  • 鑒權失敗直接中斷,避免后續埋點與 webview 的臟狀態。
  • 命令注冊分散在此處,MessageHandler負責Webview 指令編排。

圖片圖片

// ...
VersionChecker.checkVersion();
const root = workspaceRoot(); 
if (!root) return;  // 早期守衛
ProjectService.getInstance();   // 工程上下文
const auth = AuthService.getInstance();
const logger = LoggerService.getInstance(context);
const user = await auth.initialize(); 
if (!user) return;  // 認證失敗即止損
logger.watch();   // 可觀測
// 注冊 Webview/命令/規則監聽 ...

2.認證與安全(AuthService+Storage)

通過接入SSO實現可以單點登錄閉環 + 本地僅存最少信息,降低泄漏面、失敗可針對進行快速反饋。后期記錄用戶維度智能體的使用、記錄用戶的關鍵行為埋點,從而進一步實現及時私聊溝通解決告警出現的問題,另外,針對用戶的使用習慣和使用情況可進行針對性的分析和需求收集。

圖片圖片

圖片圖片

圖片圖片

令牌獲取流程(嵌入端口監聽 + 瀏覽器回調):

async initialize(){
  const saved = await storage.getAuthToken();
  const token = saved?.trim()? saved : await login();
  return await validateToken(token) ?? await login();
}

令牌回調服務器(端口探測 + CORS + 路由校驗):

import http from 'http';
import * as vscode from 'vscode';
const LOWCODE_PLATFORM_API = 'https://xxx.yyy.zzz/ddd';
const PORT = 9527;


const findAvailablePort = (startPort: number, endPort: number = startPort + 10): Promise<number> => {
 //  端口監聽邏輯
};


export const requestToken = async () => {
  // 驗證token有效性
}
  • 數據結構與算法設計:

a.端口探測算法:線性遞增(最多 10 次),失敗上拋;簡單可靠,代價可接受。

b.CORS 與 OPTIONS 預檢處理;路由嚴格校驗zzz/ddd,僅取請求頭 accesstoken。

c.超時控制(5 分鐘)避免懸掛。

  • 持久化:
// ... 省略若干
export class StorageService {
    // ...
    public async saveAuthToken(token: string): Promise<void> {
        await this.secureStorage.saveSecret(
            StorageService.CACHE_KEYS.AUTH_TOKEN,
            token
        );
    }
    public async getAuthToken(): Promise<string | undefined> {
        return await this.secureStorage.getSecret(
            StorageService.CACHE_KEYS.AUTH_TOKEN
        );
    }
    public async deleteAuthToken(): Promise<void> {
        await this.secureStorage.deleteSecret(
            StorageService.CACHE_KEYS.AUTH_TOKEN
        );
    }
    public async clearAll(): Promise<void> {
        for (const key of Object.values(StorageService.CACHE_KEYS)) {
           // 遍歷清除key值
        }
    }
}
  • 在 secrets 中存敏感數據,安全性較高;clearAll() 同時清理多個狀態緩存值,防止殘留。

3.規則知識庫工程化(RuleSyncService)

通過Gtlab維護遠程知識庫文檔,實現知識庫聚合,模板/規則“一鍵對齊”,多包倉不會出現雜亂和上下文丟失等情況。大倉模式下實現批量并發拉取,非大倉模式下實現兜底向上拉取能力。

知識庫規則拉取至各應用邏輯

圖片圖片

模板拉取過程:GitLab 分批并發,chunk 化。

export async function fetchTemplateFiles(
    projectId: number,
    templatePath: string,
    branch: string
): Promise<Array<{ path: string; content: string }>> {
    // git接口獲取文件并進行分發同步
}
  • 數據結構:數組分塊 + Promise.all 并發,有效權衡吞吐與限流風險(每批 5 個)。
  • 模板寫入(按類型路由到 .cursor/rules/basic.mdc、notepads 或工程根):
export async function writeTemplatesToDisk(files, templatePath, targetRoot, type?) {
    for (const file of files) {
        // 處理模板寫入
    }
    return true;
}
  • .gitignore 同步策略(追加不重復的規則):
export const syncGitIgnoreToPath = async (targetPath: string, ignoreRules: string[]) => {
    // 追加ignore邏輯
};

子應用規則同步至邏輯

圖片圖片

監聽與同步策略:

public startWatcher() {
  const pattern = new vscode.RelativePattern(this.workspaceRoot, '*/**/.cursor/rules/*.mdc');
  this.watcher = vscode.workspace.createFileSystemWatcher(pattern);
  
  this.watcher.onDidCreate(uri => {
    // 同步變更mdc
  });
  
  this.watcher.onDidChange(uri => {
    // 同步變更mdc
  });
  
  this.watcher.onDidDelete(uri => {
    // 移除指定mdc
  });
}

規則改寫:

export function writeRelativePathToContent(content: string, relativePath: string) {
    // 相對路徑注入 + 目標文件聚合為 .sync.mdc
}
  • 算法說明:

a.提取 mdc 頭中的 globs,對不含路徑分隔符的 glob 自動加 /**/,再拼接相對路徑前綴,確保規則定位到子包內。

b.默認兜底 **/*.*,覆蓋子目錄所有文件,提升易用性。

  • 目標文件命名:
private getTargetPath(fsPath: string) {
  // 針對同步過來的所有mdc文件進行重命名
}
  • 將子倉的規則扁平化同步到根目錄 .cursor/rules/*.sync.mdc,避免分散規則導致的遺漏。

4.遠程 webview 與版本編排(Webview+VersionChecker+Trace)

由于Apex插件的更新需要手動通過dx vs更新,修復問題或有新功能無法實時進行更新,新版本有問題無法回滾及時止損。

Apex通過DNF接口獲取當前遠程版本webVersion、coreVersion,對比當前local加載版本,實現無感更新或回退。

  • 重新加載方式:直接拉取最新版本。
  • Tab重新點開,實時檢測最新版本,點擊更新按鈕實現更新。

圖片圖片

遠程加載邏輯(支持本地調試、回退遠端 CDN):

const v = await fetchWebVersion() || 'latest';
const local = useLocal() && await ping('http://localhost:9527/...');
const js = local ? mapToExternal(local) : cdn(`@apex-plugin/web@${v}`);
return htmlWith(js, csp());
  • 關鍵要點:

a.從DNF后端接口獲取webVersion,優先 USE_LOCAL且本地可訪問則映射本地端口。

b.動態 CSP(當前較寬松,含'unsafe-eval'),滿足構建產物運行,未來會按資源域名白名單收緊。

c.版本編排:Web UI 可獨立灰度;插件端僅負責加載版本號對應的資源。

Cursor 版本下限攔截:

export class VersionChecker {
  private static readonly MIN_VERSION = "0.46.0";
  
  public static async checkVersion() {
    const isCursor = vscode.env.appName.toLowerCase().includes("cursor");
    if (!isCursor) {
      return;
    }
    // ... 讀取本機 Cursor 安裝目錄,比較版本,小于閾值彈升級引導
  }
  // compareVersions(v1, v2) 三段位點比較
}

版本注入的位置(可用于埋點/展示):TraceService.setPluginVersion(v)+ getPluginVersion() 默認讀取core package.json。建議在宿主(packages/plugin)激活時注入真實發布版本,確保埋點準確。

5.項目服務(ProjectService):Monorepo識別、模板拉取與寫入

通過識別應用是否是大倉應用,便于后期進行不同類型應用的業務邏輯處理,如知識庫同步在大倉下和單倉下的不同分支邏輯是不同的。大倉下子倉的規則會被自動聚合到頂層.cursor/rules下,實現規則命中率顯著提升。

Monorepo 識別與項目列表收集方式:

public isMonorepo(): boolean {
    try {
        // 通過判斷是否有`pnpm-workspace`判斷是否是大倉
        // 獲取 package.json 中 workspaces 進行判斷是否大倉
    } catch (error) {
        console.error('判斷monorepo失敗:', error);
        return false;
    }
}

6.埋點與活躍情況記錄(LoggerService+UsageRecorder)

通過組合心跳與焦點事件,確保用戶離開窗口也能形成完整閉環記錄,便于后期進行用戶行為畫像等分析。

事件監聽與活躍態判定:

start() {
  // 開啟事件監聽記錄
  this.eventList = [
    // 多個事件記錄綁定...
  ];
}
startInterval() {
  if (!this.walkClocker) {
    this.walkClocker = setInterval(() => { this.reportUsage(); }, this.walkInterval);
  }
}
  • walkInterval=30s 的心跳,配合窗口焦點事件強制上報一次,確保離開窗口時記錄“單次活躍時長”。

埋點上報示例:

const reportTimenote = async () => {
  // 記錄用戶活躍情況、包含分支、版本、倉庫等等信息
}

性能與可靠性:

  • 事件監聽廣泛但回調輕量(更新時間 + 定時器驅動),無重 IO。
  • 遠端上報失敗未中斷主流程,可再考慮指數退避與采樣策略。

7.Webview 消息編排(MessageHandler)

MessageHandler 作為 Webview 與服務層的協調者,不承載復雜業務邏輯,單一職責,實現路由 Webview 消息到服務層,支持失敗統一回發,前后端協作清晰,便于后期擴展和灰度,有良好的可維護性。

  • 獲取插件/核心版本:handleGetPluginVersion(從 TraceService.getPluginVersion() + package.json.version)。
  • 生成規則:handleGenerateRule→.gitignore 同步 + 模板拉取寫入+ AI 角色寫入 + README 打開。
  • MCP 相關:handleHandleServerConfig、checkMcpList、fetchInstalledMcpList、initRuleMcpConfig。
  • 導入提示詞:handleImportPrompt寫入 .cursor/notepads/note-*.private.md 并輔助插入到 Composer。

四、總結&展望

Apex通過 RuleSync 與 ProjectService 實現CursorRules規則模板一鍵同步,依托配置化 MCP 加速工具集成和能力提升,以安全令牌與白名單機制強化治理,并借助 UsageRecorder 與 TraceService 提供可觀測性,全面支持高效、安全、可控的使用交付與版本去迭代化管理。

Apex 的核心在于“把 AI 真正落在工程實踐之中”,以插件為載體打通認證、上下文、CursorRules規則和Cursor;以 MCP 為能力邊界實現“配置即擴展”;以可觀測為保障推動插件能力持續演進。通過“單例化、配置化、遠程化、工程化”的設計原則,讓團隊在享受 AI 編碼效率的同時,最大限度保持工程可控與可治理。

但是受限于智能體執行需要手動觸發,開發者可能會存在遺忘執行的情況等,下一步計劃智能體執行支持命令行觸發,預期試行添加到 git hook中commit提交代碼后自動執行,避免遺忘,提升Apex更多可玩性。

責任編輯:武曉燕 來源: 得物技術
相關推薦

2024-11-15 16:35:13

2024-09-13 10:01:51

2023-01-31 07:47:14

Dooring低代碼輔助設計

2024-12-31 13:30:00

2025-02-10 03:55:00

2024-08-26 09:30:00

AI編程

2012-06-05 01:08:12

設計開發

2025-01-08 13:30:00

2024-02-29 10:05:23

AIGitHub編碼助手

2018-11-12 12:45:19

2024-06-06 08:42:01

2025-05-28 04:00:00

谷歌AI編碼助手

2020-11-06 08:54:05

SAP ABAP

2023-05-12 18:42:13

得物AI平臺

2025-05-20 00:08:00

2023-05-16 09:53:18

ChatGPT人工智能

2024-07-11 15:26:23

2025-05-23 10:41:00

點贊
收藏

51CTO技術棧公眾號

26uuu国产电影一区二区| 国产精品久久久久9999赢消| 午夜视频在线观看一区二区 | 国产午夜精品理论片a级大结局| 一个色免费成人影院| 色综合 综合色| 中文精品一区二区三区| www.国产视频| 日韩国产精品久久久久久亚洲| 日韩在线播放一区| 中文字幕免费在线播放| 精品视频一区二区三区四区五区| 亚洲精品免费一二三区| 欧美激情专区| 精品二区在线观看| 日本欧美一区二区| 97香蕉久久超级碰碰高清版| 国产精品18在线| 精品按摩偷拍| 日韩视频一区二区在线观看| 国产麻花豆剧传媒精品mv在线| 成人毛片av在线| 国产日韩欧美精品综合| 国产一区二区三区av在线| 96亚洲精品久久久蜜桃| 久久亚洲综合| 668精品在线视频| 欧美成人片在线观看| 欧美日中文字幕| 亚洲精品第一页| 91精品人妻一区二区三区蜜桃2| 草莓视频成人appios| 欧美性极品xxxx娇小| 一本久道高清无码视频| 91亚洲天堂| 亚洲视频 欧洲视频| 视频一区视频二区视频三区高| 午夜av免费观看| 成人丝袜高跟foot| 波多野结衣精品久久| 999免费视频| 狠狠色丁香久久婷婷综合_中 | 久久av日韩| 在线观看亚洲成人| 国产精品乱码久久久久| a日韩av网址| 欧美午夜精品久久久久久浪潮| 国产午夜精品视频一区二区三区| 色影视在线观看| 国产精品免费视频观看| 亚洲国产成人不卡| av中文字幕一区二区三区| 国产视频一区二区在线观看| 欧洲久久久久久| jizz亚洲| 免费网站免费进入在线| 久久久.com| 日韩av影视| 国产精品一二三区视频| 欧美国产精品一区二区三区| 日韩国产高清一区| av在线播放网站| 中文字幕国产精品一区二区| 亚洲精品成人久久久998| h视频在线播放| 中文字幕一区二区三区蜜月| 中文字幕久久一区| 中文在线免费| 亚洲国产精品久久不卡毛片| 天堂…中文在线最新版在线| 日本乱码一区二区三区不卡| 欧美视频在线免费看| 极品美女扒开粉嫩小泬| 爱看av在线入口| 欧美日韩国产激情| 天天操天天爱天天爽| 性欧美video另类hd尤物| 日韩欧美资源站| 最新在线黄色网址| 国产精品密蕾丝视频下载| 中文字幕在线日韩 | 欧美在线制服丝袜| 亚洲小视频网站| 99re8这里有精品热视频免费| 亚洲国产精品字幕| 级毛片内射视频| 欧美1区免费| 97av在线播放| 97超碰人人草| 99国产精品视频免费观看| 日韩精品一区二区三区丰满 | 国内成人精品视频| 激情网站在线观看| 国产成人自拍在线| 欧美一区二区福利| 欧美24videosex性欧美| 在线观看不卡一区| 好吊操视频这里只有精品| 国产精品密蕾丝视频下载 | 国产亚洲欧美精品久久久久久| 国产日产高清欧美一区二区三区| 国产精品久久久久久久久久99| 午夜老司机福利| 中文字幕精品三区| 国产毛片视频网站| 综合欧美精品| 国产一区二区动漫| 日韩欧美一区二区一幕| 精品一区二区三区蜜桃| 久久精品久久精品国产大片| 国产精品一卡二卡三卡| 欧美午夜丰满在线18影院| 一级黄色免费毛片| 欧美亚洲高清| 日本久久久a级免费| 国产高清第一页| 中文字幕国产一区| 苍井空浴缸大战猛男120分钟| 日本精品国产| 日韩视频精品在线| 伦av综合一区| 成年人午夜久久久| 91精品一区二区三区四区| 成人国产一区| 亚洲欧美日韩综合| 久久久久久久久久久久久久av| 精品一区二区三区视频| 香蕉久久夜色| 色成人免费网站| 日韩成人激情视频| 国产亚洲精久久久久久无码77777| 久久福利视频一区二区| 午夜精品区一区二区三| 中文字幕 在线观看| 亚洲国产精品久久久久秋霞不卡| 男人与禽猛交狂配| 国产一区在线视频| 中文字幕在线亚洲三区| 欧美综合影院| 日韩中文娱乐网| 亚洲一区在线观| 国产精品久久久久久久久免费丝袜 | x88av在线| 久久蜜桃资源一区二区老牛| 精品视频在线观看| 成人免费影院| 亚洲欧美国产精品专区久久| 黄色一级片免费在线观看| 91在线视频观看| 欧美女人性生活视频| 日韩大胆成人| 国产99视频在线观看| 黄视频在线观看免费| 91成人免费在线视频| 国产美女免费网站| 奇米四色…亚洲| 在线看视频不卡| 国产精品一区二区三区av| 久久婷婷国产麻豆91天堂| 国产丝袜在线视频| 亚洲图片欧美一区| 中文字幕在线免费看线人| 免费国产自线拍一欧美视频| 秋霞久久久久久一区二区| 91福利精品在线观看| 日韩视频在线免费观看| 国产99对白在线播放| 亚洲综合久久久| 一级国产黄色片| 日韩国产高清在线| 中文字幕第50页| 林ゆな中文字幕一区二区| 欧洲亚洲妇女av| 色影院视频在线| 日韩免费成人网| 国产一级18片视频| 国产精品久久久久毛片软件| 波多野结衣电影免费观看| 99热这里只有精品8| 亚洲国产一区二区三区在线| 久久69av| 欧亚精品中文字幕| 欧洲不卡av| 亚洲电影在线看| 中文字幕一区二区人妻痴汉电车 | 国产亚洲精品日韩| a级片在线播放| 色素色在线综合| 丁香花五月激情| 久久久久久久久久久电影| 亚洲成人手机在线观看| 久久国产精品99国产| 黑人巨大国产9丨视频| 中文字幕av一区二区三区人| 91免费精品国偷自产在线| 深夜成人在线| 免费91在线视频| 欧美69xxxxx| 精品久久久久久无| 91禁在线观看| 日韩欧美成人区| 免费看一级一片| 中文无字幕一区二区三区| 免费看91视频| 麻豆国产欧美日韩综合精品二区| 欧美午夜小视频| 欧美成人日本| 亚洲五月六月| 久久99视频| 国产一级特黄a大片99| 精品久久免费| 国产精品视频播放| 综合另类专区| 性欧美亚洲xxxx乳在线观看| 精品孕妇一区二区三区| 亚洲人成在线一二| 色综合视频在线| 日韩欧美色电影| 一本久道久久综合无码中文| 色综合久久综合中文综合网| 国产一级做a爱免费视频| 最新国产精品久久精品| 国产又黄又粗的视频| 91丝袜国产在线播放| 精品无码av一区二区三区| 激情五月播播久久久精品| 一本岛在线视频| 日韩极品在线观看| 欧美极品欧美精品欧美图片| 亚洲国产免费| 国内少妇毛片视频| 欧美a级片网站| 国产又大又长又粗又黄| 日韩精品欧美激情一区二区| 日本一区二区三区免费看| 精品按摩偷拍| 国内精品久久国产| 国产调教精品| 国产一区不卡在线观看| 老牛影视av一区二区在线观看| 国产精品国产三级国产专区53| 亚洲不卡视频| 国产激情一区二区三区在线观看| 亚洲精品在线a| 99se婷婷在线视频观看| 成人h动漫免费观看网站| 国产精品国产精品| 青青一区二区| 免费试看一区| 国产一区99| 五月婷婷一区| 欧美黄色大片在线观看| 中文字幕99| 亚洲综合色网| 国产高清www| 国产视频亚洲| 91激情视频在线| 麻豆久久久久久| 日本在线观看视频一区| 国产精品99久久久久久似苏梦涵| av电影中文字幕| 99re热视频精品| 天天躁夜夜躁狠狠是什么心态| 国产精品无码永久免费888| 91久久国产综合| 亚洲第一av色| 亚洲天堂五月天| 7777精品伊人久久久大香线蕉经典版下载 | 精品国产午夜福利| 欧美色网一区二区| 精品久久国产视频| 日韩av在线一区| av电影在线观看网址| 久久视频国产精品免费视频在线| 青春草免费在线视频| 2021国产精品视频| 久久亚洲国产精品尤物| 99在线观看视频网站| 曰本一区二区三区视频| 亚洲 欧洲 日韩| 在线视频亚洲| 日韩av一卡二卡三卡| 成人av免费观看| 男女男精品视频网站| 亚洲一区在线观看免费| 亚洲视频 欧美视频| 777精品伊人久久久久大香线蕉| 日韩一级中文字幕| 最近2019年手机中文字幕| 都市激情久久综合| 国产精品视频久| 国产一级成人av| 伊人婷婷久久| 免费精品视频| 亚洲美女精品视频| 国产精品久久久爽爽爽麻豆色哟哟| 久久影院一区二区| 欧美日韩一区久久| 色一情一乱一乱一区91av| 日韩在线观看免费高清完整版| 91黄页在线观看| 91久久国产精品91久久性色| 欧美一区 二区| 日韩一级片一区二区| 日日摸夜夜添夜夜添精品视频| 四虎精品一区二区| 亚洲四区在线观看| 亚洲精品国产无码| 亚洲国产古装精品网站| 快射视频在线观看| 国产精品网站大全| 你懂的一区二区三区| 热99这里只有精品| 国产成人小视频| 一级免费黄色录像| 欧美亚洲国产怡红院影院| 日本久久一级片| 欧美激情免费看| 婷婷丁香久久| 视频一区视频二区视频三区高 | 天天爽夜夜爽一区二区三区 | 午夜爱爱毛片xxxx视频免费看| 色香蕉久久蜜桃| 国产又爽又黄网站亚洲视频123| 欧美老女人性视频| av在线成人| 男人的天堂成人| 麻豆91在线播放| 欧美亚洲色综久久精品国产| 欧美性猛交xxxx偷拍洗澡| 免费av网站观看| 久久久人成影片一区二区三区观看| 中文幕av一区二区三区佐山爱| 神马欧美一区二区| 视频一区视频二区中文| 久久久无码人妻精品一区| 欧美日韩免费看| 青青草手机在线| 国产成人精品av| 精品大片一区二区| 人人爽人人av| 国产精品蜜臀av| 一区二区视频播放| 日韩在线观看精品| 国产精品18| av片在线免费| 成人av在线资源| 日韩av大片在线观看| 亚洲美女视频网| 精品免费av在线| 天堂社区 天堂综合网 天堂资源最新版 | 亚洲一二三区av| 国产精品久久免费看| 一级片在线免费观看视频| 久久精品国产91精品亚洲| 国产精品美女久久久久人| 少妇大叫太大太粗太爽了a片小说| 国产91精品一区二区麻豆网站| 国产亚洲自拍av| 精品视频在线观看日韩| 日韩av免费| 老司机午夜网站| www.日韩在线| 69av视频在线观看| 久久精品国产亚洲精品| 日韩免费成人| 亚洲国产精品久久久久婷蜜芽| 久久精品一区八戒影视| 一区二区 亚洲| 欧美日韩国产成人高清视频| 色老板在线视频一区二区| 熟妇人妻va精品中文字幕| 日韩理论片网站| 天堂在线视频免费| 国产精品91在线观看| 在线精品国产| 少妇大叫太粗太大爽一区二区| 欧美在线不卡一区| 怡红院红怡院欧美aⅴ怡春院| 久久99九九| 蜜桃视频免费观看一区| 久久久久久久久久久网 | 国产一区免费在线| 蜜臀久久久99精品久久久久久| 丝袜美腿小色网| 精品呦交小u女在线| 欧美黄色a视频| 国产精品又粗又长| 国产精品视频一二三| 亚洲乱色熟女一区二区三区| 日韩**中文字幕毛片| 91精品观看| 国产熟妇久久777777| 日韩三级av在线播放| 一区在线影院| 欧美 丝袜 自拍 制服 另类 | 国产在线精品观看| 日韩在线精品一区| 校园春色另类视频| 日本成人在线免费观看|