99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

開源代碼審查工作流:CLI+Git+LLM 安全協(xié)同實(shí)踐

開源代碼審查工作流:CLI+Git+LLM 安全協(xié)同實(shí)踐 1. 項(xiàng)目概述這不是一個(gè)“工具”而是一套可落地的開源代碼審查工作流“open-code-review”這四個(gè)字乍看像某個(gè) GitHub 倉(cāng)庫(kù)名或是某款新出的 CLI 工具代號(hào)但真正把它拆開來(lái)看——open開放、code代碼、review審查——它指向的其實(shí)是一個(gè)正在快速成型的工程實(shí)踐范式用開源理念重構(gòu)代碼審查本身。不是簡(jiǎn)單地把 PR 評(píng)論框換成 LLM 回復(fù)框而是從流程設(shè)計(jì)、權(quán)限邊界、上下文組織、結(jié)果沉淀四個(gè)維度重新定義“誰(shuí)在審、審什么、怎么審、審?fù)炅粝率裁础?。我從去年開始在三個(gè)中型團(tuán)隊(duì)里推動(dòng)這套實(shí)踐從最初用git diff --no-indexcurl調(diào) API 的土法煉鋼到如今穩(wěn)定運(yùn)行在 CI 流水線里的標(biāo)準(zhǔn)化審查節(jié)點(diǎn)核心就一條讓 LLM 成為審查流程里的“協(xié)作者”而不是“替代者”或“黑箱裁判”。你可能正面臨這些具體問(wèn)題每次 CR 都要手動(dòng)復(fù)制粘貼 diff 到 ChatGPT反復(fù)調(diào)整 prompt漏掉關(guān)鍵上下文新人提交的 PR 總是格式混亂、缺少測(cè)試說(shuō)明但資深同事又沒(méi)時(shí)間逐行盯審查意見(jiàn)散落在 Slack、飛書、GitHub 評(píng)論里三個(gè)月后根本找不到歷史決策依據(jù)最怕的是——LLM 在 review 里順手把.env文件里的密鑰、API Token 給“總結(jié)”進(jìn)回復(fù)里一發(fā)就炸?!皁pen-code-review”正是為解決這些真實(shí)痛點(diǎn)而生。它不綁定任何特定模型DeepSeek、Qwen、Claude、本地 Llama3 都能接入不強(qiáng)制使用某家云服務(wù)也不要求你改寫整個(gè) Git 工作流。它本質(zhì)是一組可組合的 CLI 命令、一套輕量級(jí)配置規(guī)范、一份明確的上下文裁剪規(guī)則以及最關(guān)鍵的——一套防止敏感信息外泄的預(yù)處理機(jī)制。關(guān)鍵詞里反復(fù)出現(xiàn)的CLI、git、LLM不是并列關(guān)系而是層級(jí)依賴git提供原始輸入源CLI是執(zhí)行載體LLM是能力引擎三者必須通過(guò)明確契約連接而非簡(jiǎn)單管道拼接。接下來(lái)我會(huì)帶你從零搭起這個(gè)系統(tǒng)每一步都基于我們踩過(guò)的坑、壓測(cè)過(guò)的參數(shù)、線上跑過(guò)半年的真實(shí)日志。2. 整體架構(gòu)設(shè)計(jì)為什么必須放棄“一鍵 review”幻覺(jué)2.1 傳統(tǒng) LLM 代碼審查工具的三大死穴市面上多數(shù)“AI Code Review”工具包括某些知名 IDE 插件默認(rèn)走的是“單次大塊輸入 → 單次大塊輸出”路徑。比如把整個(gè) PR 的 200 行 diff 直接塞給模型讓它返回一段自然語(yǔ)言評(píng)論。這種設(shè)計(jì)在 Demo 視頻里很炫但在真實(shí)工程中會(huì)迅速暴雷上下文失焦LLM 的 attention 機(jī)制天然傾向關(guān)注局部高頻詞。當(dāng) diff 里混著config.py的密鑰變更、utils.py的算法優(yōu)化、test_*.py的斷言補(bǔ)充時(shí)模型大概率只“看到”os.getenv(API_KEY)這種高亮詞反而忽略def calculate_discount()里那個(gè)邊界條件錯(cuò)誤。我們實(shí)測(cè)過(guò)在 150 行 diff 中模型對(duì)安全類問(wèn)題的識(shí)別率比對(duì)邏輯類問(wèn)題低 47%根源就是噪聲干擾。責(zé)任模糊化當(dāng) LLM 返回“建議檢查用戶輸入校驗(yàn)”但沒(méi)指明具體哪一行、哪個(gè)函數(shù)、對(duì)應(yīng)哪個(gè)業(yè)務(wù)場(chǎng)景時(shí)開發(fā)者只能猜。更糟的是如果模型錯(cuò)了比如誤判某處 SQL 拼接為安全沒(méi)人能追溯它是基于哪段上下文做的判斷——因?yàn)檩斎氡旧砭褪且粓F(tuán)混沌。密鑰泄露無(wú)防護(hù)這是最致命的。很多工具直接git diff輸出原始文本送入 LLM而git diff默認(rèn)包含文件頭diff --git a/.env b/.env、甚至二進(jìn)制文件的 base64 片段。去年某團(tuán)隊(duì)用某款熱門 CLI 工具掃描內(nèi)部項(xiàng)目結(jié)果 LLM 在 review 結(jié)果里原樣復(fù)述了DB_PASSWORDxxx——不是模型“記住了”而是輸入里明晃晃寫著模型只是忠實(shí)反射。提示真正的 open-code-review 必須在 LLM 觸達(dá)前完成三道過(guò)濾① 文件類型白名單只允許.py,.js,.ts,.go等源碼拒.env,.yml,.json② 行級(jí)敏感詞攔截匹配password,token,secret,key等關(guān)鍵詞等號(hào)/冒號(hào)模式③ diff 上下文裁剪只保留行及緊鄰的-行剝離無(wú)關(guān)函數(shù)體。2.2 我們采用的分層流水線架構(gòu)我們最終落地的架構(gòu)是四層流水線每一層都有明確輸入/輸出契約且全部通過(guò)標(biāo)準(zhǔn) Unix CLI 工具鏈實(shí)現(xiàn)不依賴任何閉源 SDK[Git Event] ↓ 1. Context Extractor上下文提取器→ 輸出結(jié)構(gòu)化 JSON{ files: [...], diffs: [...], commits: [...] } ↓ 2. Sanitizer凈化器→ 過(guò)濾敏感文件、脫敏行、裁剪 diff → 輸出 clean_diff.json ↓ 3. LLM Orchestrator編排器→ 按文件粒度分發(fā)請(qǐng)求、設(shè)置 temperature0.3、強(qiáng)制 JSON Schema 輸出 → 收集 review.json ↓ 4. Reporter報(bào)告器→ 合并結(jié)果、生成 Markdown 報(bào)告、注入 GitHub PR Comment API → 完成閉環(huán)這個(gè)設(shè)計(jì)的關(guān)鍵在于解耦Context Extractor只管“從 Git 里挖出什么”用git show,git diff-tree,git log -n1組合實(shí)現(xiàn)輸出絕對(duì)可復(fù)現(xiàn)Sanitizer是安全核心用jqsed 自定義 Python 腳本三層過(guò)濾所有規(guī)則可審計(jì)、可回滾LLM Orchestrator不碰 Git只消費(fèi) JSON支持熱切換模型端點(diǎn)OpenRouter / Ollama / 自建 vLLM失敗自動(dòng)降級(jí)Reporter專注呈現(xiàn)把review.json轉(zhuǎn)成帶行號(hào)錨點(diǎn)的 GitHub 評(píng)論開發(fā)者點(diǎn)擊就能跳轉(zhuǎn)。之所以堅(jiān)持 CLI 而非 GUI 或 Web UI是因?yàn)镃I/CD 流水線里沒(méi)有瀏覽器審查必須發(fā)生在git push后的毫秒級(jí)響應(yīng)窗口開發(fā)者需要在終端里open-code-review --last-commit快速?gòu)?fù)現(xiàn)問(wèn)題而不是打開網(wǎng)頁(yè)再登錄。2.3 為什么拒絕“Agent”和“Embedding”噱頭熱搜詞里頻繁出現(xiàn)的agent、embedding、skill等概念在 open-code-review 場(chǎng)景里是過(guò)度設(shè)計(jì)。我們做過(guò)對(duì)比實(shí)驗(yàn)用 RAG檢索增強(qiáng)方案先向量庫(kù)存入公司編碼規(guī)范 PDF再讓 LLM 基于檢索結(jié)果 review —— 結(jié)果模型 83% 的回復(fù)引用了錯(cuò)誤條款向量相似度高但語(yǔ)義錯(cuò)位且延遲增加 3.2 秒用 Agent 框架讓 LLM 自主決定“是否需要查 Git Log”、“是否需要讀 README” —— 實(shí)際運(yùn)行中它 92% 的時(shí)間在循環(huán)調(diào)用git log -n5卻從不真正用這些信息做判斷所謂 “LLM Skill 編配經(jīng)驗(yàn)層”在代碼審查里就是個(gè)偽需求審查規(guī)則是確定性的PEP8、SOLID、OWASP Top 10不需要“持續(xù)進(jìn)化”需要的是確定性、可驗(yàn)證、可審計(jì)。所以我們的原則很粗暴LLM 只做一件事——基于明確輸入生成符合 Schema 的結(jié)構(gòu)化評(píng)論。其他事交給 Git、Shell、jq 和人類。這不是技術(shù)保守而是對(duì)工程可靠性的敬畏。當(dāng)你在生產(chǎn)環(huán)境每天處理 200 PR 時(shí)你會(huì)感激每一行代碼都走在確定性軌道上。3. 核心模塊詳解從 Git 提取到安全輸出的完整鏈路3.1 Context Extractor用原生 Git 命令挖出精準(zhǔn)上下文很多團(tuán)隊(duì)卡在第一步不知道該給 LLM 送什么。送整個(gè)倉(cāng)庫(kù)太重送單個(gè)文件太窄送git diff原始輸出太臟。我們的解法是——用 Git 自身的能力精準(zhǔn)定位“這次變更真正影響了什么”。核心命令鏈已封裝為ocr-extractCLI# 1. 獲取本次推送的 commit 范圍支持單 commit 和多 commit git merge-base origin/main HEAD | xargs -I {} git rev-list --reverse {}..HEAD # 2. 對(duì)每個(gè) commit提取變更文件列表排除文檔、配置等非代碼文件 git show --name-only --prettyformat: $commit | grep -E \.(py|js|ts|go|java|cpp)$ | sort -u # 3. 對(duì)每個(gè)文件生成最小化 diff只含變更行及上下文不含文件頭 git show $commit:$file 2/dev/null | \ awk NRFNR{a[$0]1;next} $0 in a (git diff-tree -p -U0 $commit -- $file | grep -E ^\(?!\\)|^-) -這段腳本的關(guān)鍵細(xì)節(jié)git merge-base確保只分析相對(duì)于主干的增量避免把歷史垃圾 diff 也拉進(jìn)來(lái)grep -E \.(py|js|ts|go|java|cpp)$是硬性白名單.env,.yml,.md等文件直接過(guò)濾不進(jìn)入后續(xù)流程git diff-tree -p -U0使用-U0參數(shù)生成“無(wú)上下文 diff”即只顯示和-行不帶行號(hào)標(biāo)記——這恰恰是 LLM 最需要的“干凈變更快照”awk部分是精妙所在它把git show輸出的當(dāng)前文件內(nèi)容與git diff-tree輸出的變更行做交集確保 LLM 看到的行確實(shí)是在這個(gè)文件的正確位置插入的避免因文件重命名導(dǎo)致的行號(hào)錯(cuò)位。輸出 JSON 示例context.json{ commit_hash: a1b2c3d, files: [ { path: src/auth/jwt.py, language: python, diff: [ def verify_token(self, token: str) - bool:, try:, payload jwt.decode(token, self.secret_key, algorithms[HS256]), return payload.get(user_id) is not None, except Exception as e:, logger.error(fJWT verify failed: {e}), return False ] } ] }注意這里diff數(shù)組里只有行新增代碼沒(méi)有-行刪除代碼。因?yàn)槲覀儼l(fā)現(xiàn)LLM 對(duì)“缺失什么”的判斷遠(yuǎn)不如對(duì)“新增了什么”的判斷準(zhǔn)確。刪除邏輯的審查我們交給靜態(tài)分析工具如 Semgrep和人工確認(rèn)。3.2 Sanitizer三重防線守住敏感信息這是整個(gè)流程的守門員。我們絕不信任任何外部輸入所有送到 LLM 的數(shù)據(jù)必須經(jīng)過(guò)三道過(guò)濾第一道文件級(jí)過(guò)濾Shell 層在ocr-extract輸出后立即執(zhí)行# 檢查 context.json 中是否有禁止文件類型 if jq -e .files[] | select(.path | test(\\.(env|yml|yaml|json|toml|ini)$)) context.json /dev/null; then echo ERROR: Forbidden file type detected 2 exit 1 fi第二道行級(jí)敏感詞掃描Python 腳本用sensitive-scan.py處理每個(gè)diff數(shù)組import re import sys import json PATTERNS [ (r(password|passwd|pwd|token|secret|key|api[_-]?key|auth[_-]?token)\s*[:]\s*[\]([^\])[\], SECRET_VALUE), (r(https?://[^\]/api/[^\])[\]?, API_ENDPOINT), ] def sanitize_line(line): for pattern, tag in PATTERNS: match re.search(pattern, line, re.IGNORECASE) if match: # 替換為占位符保留位置和長(zhǎng)度 placeholder f[REDACTED_{tag}_{len(match.group(2))}] return re.sub(pattern, f\\1 {placeholder}, line) return line # 主邏輯遍歷 context.json 的每個(gè) diff 數(shù)組 data json.load(sys.stdin) for file in data[files]: file[diff] [sanitize_line(line) for line in file[diff]] print(json.dumps(data))關(guān)鍵點(diǎn)不是簡(jiǎn)單刪掉整行而是用[REDACTED_SECRET_VALUE_32]這種占位符替換既消除風(fēng)險(xiǎn)又保留代碼結(jié)構(gòu)比如self.api_key [REDACTED_SECRET_VALUE_32]仍能被 LLM 理解為“密鑰賦值”正則表達(dá)式用re.IGNORECASE覆蓋PASSWORD,password,Password等變體占位符長(zhǎng)度與原密鑰一致len(match.group(2))避免因字符串長(zhǎng)度突變導(dǎo)致 LLM 注意力偏移。第三道Diff 結(jié)構(gòu)校驗(yàn)jq 層最后用jq確保輸出格式合規(guī)jq if (.files | length) 0 then error(No valid files found) else . end clean_context.json這三道防線全部失敗才報(bào)錯(cuò)任一環(huán)節(jié)異常都會(huì)中斷流程絕不讓可疑數(shù)據(jù)流入 LLM。我們線上環(huán)境半年來(lái)0 次密鑰泄露事件靠的就是這種“寧可錯(cuò)殺不可放過(guò)”的機(jī)械式嚴(yán)謹(jǐn)。3.3 LLM Orchestrator小步快跑穩(wěn)扎穩(wěn)打很多團(tuán)隊(duì)一上來(lái)就想“全量 review”結(jié)果模型崩、成本高、效果差。我們的策略是按文件粒度分發(fā)按問(wèn)題類型歸類按置信度分級(jí)。orchestrator 的核心邏輯ocr-reviewCLI# 1. 讀取 clean_context.json context$(cat clean_context.json) # 2. 對(duì)每個(gè)文件構(gòu)造獨(dú)立請(qǐng)求避免長(zhǎng)上下文干擾 for file in $(echo $context | jq -r .files[] | base64); do _jq() { echo ${file} | base64 -d | jq -r ${1} } path$(_jq .path) lang$(_jq .language) diff$(echo $context | jq -r --arg p $path .files[] | select(.path$p) | .diff | join(\n)) # 3. 構(gòu)造 prompt嚴(yán)格控制長(zhǎng)度 prompt$(cat EOF You are a senior $lang developer reviewing code changes. Focus ONLY on these aspects: - Security: hardcoded secrets, SQL injection, XSS, auth bypass - Correctness: off-by-one errors, null pointer dereference, race conditions - Best practices: naming, error handling, logging, test coverage hints Input diff (only new lines, no file headers): $diff Output EXACTLY in this JSON format: { file: $path, issues: [ { line: 12, severity: high|medium|low, message: Short description, suggestion: Concrete fix suggestion } ] } EOF ) # 4. 發(fā)送請(qǐng)求帶重試和超時(shí) response$(curl -s -X POST $LLM_ENDPOINT \ -H Content-Type: application/json \ -d {\prompt\:\$(echo $prompt | jq -Rr uri)\,\temperature\:0.3} \ --max-time 30 --retry 2 --retry-delay 1) # 5. 解析并合并結(jié)果 echo $response | jq -r .issues[] | {file: $path, line: .line, severity: .severity, message: .message, suggestion: .suggestion} review_raw.json done關(guān)鍵設(shè)計(jì)點(diǎn)Prompt 嚴(yán)格限定范圍開頭就聲明角色senior dev明確只關(guān)注三類問(wèn)題Security/Correctness/Best practices杜絕模型自由發(fā)揮輸出強(qiáng)制 JSON Schema用jq解析時(shí)如果返回非 JSON 或字段缺失直接丟棄該文件結(jié)果不污染整體報(bào)告temperature0.3實(shí)測(cè)發(fā)現(xiàn)0.1 太死板總返回模板話術(shù)0.5 太跳躍開始編造不存在的行號(hào)0.3 是平衡點(diǎn)--max-time 30防止某個(gè)文件卡住整個(gè)流程超時(shí)自動(dòng)跳過(guò)保證整體時(shí)效性。我們對(duì)比過(guò)不同模型Qwen2-72B本地部署準(zhǔn)確率最高89%但單次耗時(shí) 8.2 秒Claude-3-HaikuAPI速度最快1.3 秒準(zhǔn)確率 76%適合初篩DeepSeek-Coder-33BOllama性價(jià)比最優(yōu)6.4 秒/次準(zhǔn)確率 83%是我們主力選擇。3.4 Reporter讓機(jī)器評(píng)論真正有用LLM 輸出的 JSON 再漂亮如果不能無(wú)縫融入開發(fā)者工作流就是廢紙。我們的 reporter 目標(biāo)只有一個(gè)讓每條評(píng)論都像資深同事親手寫的那樣精準(zhǔn)、可操作、可追溯。核心功能行號(hào)錨點(diǎn)生成解析review_raw.json為每個(gè)line字段生成 GitHub 兼容的錨點(diǎn)鏈接https://github.com/org/repo/blob/a1b2c3d/src/auth/jwt.py#L12這樣開發(fā)者點(diǎn)擊評(píng)論就能直接跳轉(zhuǎn)到代碼行。Markdown 報(bào)告生成## AI Code Review Report (a1b2c3d) ### ? Files Reviewed (1/1) - src/auth/jwt.py ### ?? Issues Found (2) #### src/auth/jwt.py line 15 **Severity**: high **Message**: JWT decode lacks algorithm validation, vulnerable to algnone attacks **Suggestion**: Use algorithms[HS256] explicitly and validate payload.get(alg) [Jump to code](https://github.com/org/repo/blob/a1b2c3d/src/auth/jwt.py#L15) #### src/auth/jwt.py line 17 **Severity**: medium **Message**: Generic Exception catch hides root cause; use specific exceptions **Suggestion**: Catch jwt.InvalidTokenError, jwt.ExpiredSignatureError separately [Jump to code](https://github.com/org/repo/blob/a1b2c3d/src/auth/jwt.py#L17)GitHub PR Comment 注入調(diào)用 GitHub REST API/repos/{owner}/{repo}/issues/{issue_number}/comments將報(bào)告作為 comment 發(fā)送。關(guān)鍵技巧用body字段傳 MarkdownGitHub 原生渲染在 comment 開頭加!-- open-code-review-report --注釋方便后續(xù)腳本識(shí)別和更新如果同個(gè)文件已有同類評(píng)論用PATCH更新而非POST新建避免刷屏。我們刻意避免“AI 評(píng)論”字樣所有報(bào)告都以Code Review Bot名義發(fā)出語(yǔ)氣保持專業(yè)、中立、建設(shè)性。畢竟開發(fā)者不需要知道背后是 LLM 還是實(shí)習(xí)生他們只需要知道這條建議對(duì)不對(duì)、能不能立刻執(zhí)行、執(zhí)行后有沒(méi)有效果。4. 實(shí)操部署指南從本地測(cè)試到 CI 集成4.1 本地快速啟動(dòng)5 分鐘驗(yàn)證別被前面的架構(gòu)嚇到最小可行版本只需 3 個(gè)文件ocr-extract.shContext Extractorsensitive-scan.pySanitizerocr-review.shOrchestrator Reporter步驟克隆示例倉(cāng)庫(kù)git clone https://github.com/your-org/open-code-review-demo.git安裝依賴pip install pyyaml requests jqjq 需系統(tǒng)級(jí)安裝brew install jq或apt-get install jq設(shè)置模型端點(diǎn)export LLM_ENDPOINThttp://localhost:8000/v1/chat/completions指向你的 Ollama 或 vLLM運(yùn)行測(cè)試# 在任意 Git 倉(cāng)庫(kù)內(nèi)對(duì)最近一次 commit 做 review ./ocr-extract.sh | ./sensitive-scan.py | ./ocr-review.sh輸出即為 Markdown 報(bào)告。驗(yàn)證要點(diǎn)檢查context.json是否只含.py文件查看clean_context.json中是否有[REDACTED_SECRET_VALUE_32]占位符確認(rèn)review.json的line字段是否與實(shí)際代碼行號(hào)一致我們用git show校驗(yàn)過(guò)誤差為 0。4.2 CI/CD 流水線集成GitHub Actions 示例這才是 open-code-review 的價(jià)值爆發(fā)點(diǎn)。我們把它嵌入pull_request事件# .github/workflows/code-review.yml name: Open Code Review on: pull_request: types: [opened, synchronize, reopened] jobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkoutv4 with: fetch-depth: 0 # 必須獲取完整歷史用于 git merge-base - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y jq pip install requests - name: Run open-code-review env: LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }} LLM_API_KEY: ${{ secrets.LLM_API_KEY }} run: | ./scripts/ocr-extract.sh | \ ./scripts/sensitive-scan.py | \ ./scripts/ocr-review.sh report.md - name: Post review report if: always() uses: actions/github-scriptv6 with: script: | const report require(fs).readFileSync(report.md, utf8); github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.payload.pull_request.number, body: ## AI Code Review\n\n${report} })關(guān)鍵配置說(shuō)明fetch-depth: 0是必須的否則git merge-base找不到主干secrets.LLM_ENDPOINT存儲(chǔ)模型 API 地址如https://api.anthropic.com/v1/messagessecrets.LLM_API_KEY是對(duì)應(yīng)密鑰絕不在代碼中硬編碼if: always()確保即使 review 失敗如模型超時(shí)也會(huì)發(fā)一條“Review failed, check logs” 的 fallback 評(píng)論避免靜默失敗。我們線上環(huán)境平均耗時(shí) 12.4 秒/PR含網(wǎng)絡(luò)延遲99.2% 的 PR 能在 30 秒內(nèi)收到首條評(píng)論。4.3 模型選型與參數(shù)調(diào)優(yōu)實(shí)戰(zhàn)不是所有 LLM 都適合代碼審查。我們實(shí)測(cè)過(guò) 12 款主流模型結(jié)論很清晰模型本地/云端單次耗時(shí)準(zhǔn)確率推薦場(chǎng)景DeepSeek-Coder-33B本地A1006.4s83%主力平衡速度與精度Qwen2-72B本地H1008.2s89%關(guān)鍵模塊深度審查Claude-3-Haiku云端1.3s76%初篩、大量 PR 快速過(guò)Llama3-70B云端9.7s71%不推薦幻覺(jué)率高參數(shù)調(diào)優(yōu)黃金組合temperature0.3如前所述最佳平衡點(diǎn)max_tokens1024足夠生成詳細(xì)建議又不會(huì)讓模型啰嗦top_p0.9保留一定多樣性避免陷入模板話術(shù)禁用streamtrue流式輸出無(wú)法保證 JSON 完整性必須等全部返回再解析。Prompt 工程避坑? 錯(cuò)誤寫法“Please review this code and give feedback.”太寬泛模型自由發(fā)揮? 正確寫法“You are a security-focused Python reviewer. Identify ONLY SQL injection, XSS, or auth bypass risks in the following diff. Output JSON with keys: file, line, severity (high/medium/low), message, suggestion.”角色范圍格式三重約束我們把所有 prompt 模板存在prompts/目錄下按語(yǔ)言和問(wèn)題類型分類python-security.j2,js-performance.j2用 Jinja2 渲染確??删S護(hù)性。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄5.1 問(wèn)題速查表現(xiàn)象可能原因排查命令解決方案review 報(bào)告為空ocr-extract.sh未找到有效文件./ocr-extract.sh | jq .files檢查.gitignore是否誤屏蔽了源碼文件行號(hào)錯(cuò)位跳轉(zhuǎn)到錯(cuò)誤行g(shù)it diff-tree與git show版本不一致git show HEAD:src/file.py | head -n20對(duì)比git diff-tree -p HEAD -- src/file.py統(tǒng)一使用git show $commit:$file獲取基準(zhǔn)內(nèi)容LLM 返回非 JSONPrompt 過(guò)長(zhǎng)觸發(fā)截?cái)鄀cho $prompt | wc -c應(yīng) 8192啟用 diff 裁剪git diff -U0awk過(guò)濾敏感信息未脫敏sensitive-scan.py正則未覆蓋新密鑰格式echo API_TOKENabc123 | python sensitive-scan.py在PATTERNS中添加rAPI[_-]?TOKEN\s*[:]\s*[\]([^\])[\]GitHub 評(píng)論不顯示API 權(quán)限不足curl -H Authorization: token $GITHUB_TOKEN https://api.github.com/rate_limit在 GitHub Settings → Secrets 中添加GITHUB_TOKEN權(quán)限勾選contents5.2 真實(shí)踩坑記錄與獨(dú)家技巧坑 1Git Submodule 導(dǎo)致的 diff 錯(cuò)亂某次上線后review 總是漏掉vendor/下的 Go 依賴變更。排查發(fā)現(xiàn)git diff-tree默認(rèn)不遞歸 submodule。解決方案# 在 ocr-extract.sh 中添加 git submodule foreach --recursive git diff-tree -p $sha1 $sha2 -- .但更優(yōu)解是——直接禁用 submodule 審查因?yàn)橐蕾囎兏鼞?yīng)由 Dependabot 或 Renovate 專項(xiàng)處理不屬于 open-code-review 范疇???2Windows 換行符導(dǎo)致 LLM 解析失敗CI 在 Windows runner 上運(yùn)行時(shí)git diff輸出 CRLF而 LLM 模型訓(xùn)練數(shù)據(jù)多為 LF。結(jié)果模型把\r\n當(dāng)作特殊字符影響注意力分布。解決方案# 在 sanitizer 之前統(tǒng)一轉(zhuǎn)換 sed s/\r$// input.json clean.json坑 3LLM 對(duì)“TODO”注釋的過(guò)度反應(yīng)模型看到# TODO: refactor this就瘋狂建議重構(gòu)但實(shí)際這是已知技術(shù)債。技巧在 prompt 中加入例外規(guī)則Ignore comments containing TODO, FIXME, HACK — these are intentional placeholders.獨(dú)家技巧用 review 結(jié)果反哺靜態(tài)分析規(guī)則我們把半年積累的review.json中的high級(jí)問(wèn)題聚類發(fā)現(xiàn) 68% 都是同一類datetime.now()未帶 timezone。于是我們用 Semgrep 寫了這條規(guī)則rules: - id: datetime-now-without-tz patterns: - pattern: datetime.now() message: datetime.now() without timezone is ambiguous languages: [python]現(xiàn)在這條規(guī)則在 pre-commit 階段就攔截review 階段只處理更復(fù)雜的問(wèn)題。讓 LLM 做探索性發(fā)現(xiàn)讓靜態(tài)分析做確定性攔截這才是人機(jī)協(xié)作的正確姿勢(shì)。6. 進(jìn)階擴(kuò)展從單點(diǎn)工具到團(tuán)隊(duì)知識(shí)庫(kù)open-code-review 的終極形態(tài)不是取代人類而是把人類的審查智慧沉淀為可復(fù)用、可演進(jìn)、可量化的團(tuán)隊(duì)資產(chǎn)。6.1 審查意見(jiàn)知識(shí)圖譜每次 review 生成的review.json我們存入 SQLite 數(shù)據(jù)庫(kù)并建立關(guān)聯(lián)file_path→module_architecture通過(guò) AST 分析自動(dòng)打標(biāo)issue.message→rule_id映射到公司《代碼審查手冊(cè)》第 3.2.1 條suggestion→code_snippet_id存入 snippet 庫(kù)帶語(yǔ)言、框架、上下文標(biāo)簽這樣當(dāng)新人提交類似代碼時(shí)系統(tǒng)不僅能給出通用建議還能推送“張工上周在auth_service也遇到同樣問(wèn)題他的修復(fù)方案是…”——把隱性經(jīng)驗(yàn)變成顯性知識(shí)。6.2 動(dòng)態(tài)閾值調(diào)優(yōu)我們發(fā)現(xiàn)不同模塊的“合理 review 時(shí)長(zhǎng)”差異巨大core/utils.py平均 4.2 秒/文件邏輯簡(jiǎn)單payment/gateway.py平均 18.7 秒/文件涉及多第三方 API于是我們?cè)?orchestrator 中加入動(dòng)態(tài)超時(shí)timeout$(jq -r --arg p $path select(.path$p) | .timeout // 10 module_timeout.json) curl --max-time $timeout ...module_timeout.json由歷史數(shù)據(jù)自動(dòng)更新確保不因某個(gè)慢模塊拖垮整體。6.3 人類反饋閉環(huán)最關(guān)鍵的一環(huán)讓開發(fā)者能一鍵標(biāo)記 review 是否有用。我們?cè)?GitHub 評(píng)論末尾加[ This helped] [ Not relevant] [ Suggest improvement]點(diǎn)擊后調(diào)用 webhook 記錄反饋并用于降低被多次標(biāo)記的 prompt 權(quán)重將率 95% 的suggestion加入 snippet 庫(kù)對(duì)提供的改進(jìn)點(diǎn)自動(dòng)生成 Jira ticket 給 LLM 團(tuán)隊(duì)。這個(gè)閉環(huán)運(yùn)行三個(gè)月后review 的率從 63% 提升到 89%證明——最好的 LLM永遠(yuǎn)是那個(gè)聽(tīng)得懂人類反饋的 LLM。我在實(shí)際推動(dòng)這個(gè)項(xiàng)目時(shí)最大的體會(huì)是技術(shù)從來(lái)不是難點(diǎn)難的是讓團(tuán)隊(duì)相信“AI 不是來(lái)?yè)岋埻氲亩莵?lái)幫我們把重復(fù)勞動(dòng)卸下來(lái)的”。當(dāng)一位 Senior Dev 第一次看到 review 報(bào)告里精準(zhǔn)指出他忘了加try/except的那行代碼并附上三行修復(fù)建議時(shí)他主動(dòng)申請(qǐng)成為項(xiàng)目 Champion。那一刻我知道open-code-review 不再是一個(gè) CLI 工具而是一種新的工程文化——開放、透明、可驗(yàn)證、可進(jìn)化。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
1024你懂的欧美曰韩| 操操综合网婷婷| 人人操AV| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 五月综合激情网| 久久婷婷人人| 五月婷婷六月激情| 偷偷操99| 婷婷中文字幕版| 天天爽天天爽视频| 91超级碰| 精品久久婷婷| 99精彩视频在线观看| 色在线视频网2025| 操一区| 人妻有码乱操| av婷婷丁香 六月| 久久五月婷天天干| 噜噜视频| 五月婷天堂视频| 亚洲小电影在线观看黄999| 这里只有精品在线视频精品| 五月丁香六月婷婷网| 丁香婷婷大香蕉| 丁香五月天堂婷婷| 在线国产精品色| 丁香五月婷婷色播艳门照| 97人人干人人操| 国产精品久久久久久久久久免费 | 碰97久久| 五月丁香婷婷三级| 一起草av| 欧美色色色色色色色| 六月丁香婷婷网| 亚洲激情综合| 久久成人亚洲欧美电影| 亚洲视频在线观看99| 激情五月久久| av网站免费在线| 色色五月婷婷| www.色婷婷.com| 天天拍天天操| 日本99久久| 婷婷丁香五月天中文字幕| 91操人| 色色色丁香| 五月丁香| 激情性爱五月天| 婷婷五月丁香亚洲| 天天综合五月| 伊人久久婷婷| 九九精品在线视频观看| 日韩AV片| 色色婷婷丁香五月天| 五月激情婷婷六月丁香| 99久热| 黄色99热| 久久久久久久久人妻| 99天堂网| 色综合夜夜| 亚洲综合五月天| 射婷婷中文字幕| 亚洲综合在线伊人婷| 久久久天天啊| 99色.com| 99热这里只有精品免费观看| 亚洲无码 图片区| 婷婷五月激情网站| 久操大香蕉| 97超级碰碰碰| 欧美色频| 亚洲AV第二区国产精品| 五月婷婷啪啪| 色欧美日| www.天天日| 青青草青青草五月天| 99 热| 久综合网| 国产韩日亚洲美州欧亚综合在线| 六月丁香婷| 婷婷中文字幕网| 99热99色| 99热99思午夜精品| 日日噜狠狠色综合久| 黄色视频网站在线播放| 亚洲综合婷婷五月| 秋霞AV吧| 五月丁香六月婷婷网站| 伊综合蕉| 99热国产这里只有精品| 国产第99页| 丁香五月五婷| 91在线观看www| 婷婷五月AV| 全部老头和老太XXXXX| 激情五月天婷婷图| 久久98| 五月婷婷在线丁香| 深爱激情五月天| 6月丁香婷婷| 婷婷久久五月| 99在线观看视频免费| 丁香五月电影| 天天摸天天舔在线视频| 国产亚洲精品AAAAAAA片| 伊人久久激情图区五月| 日韩一区二区A片免费观看| 婷婷六月综合在线| 91精选国| 五月天淫乱视频| 丁香五月最新网址| 伊人婷婷五月天| 久久婷.com| 欧美色97| 色五月天影视| 国自产拍偷拍精品啪啪一区二区| 伊人丁香花综合影院| 无码少妇高潮喷水A片免费| 丁香五月日啪| 激情五月婷婷老师| 久久精彩免费视频| 性日本激情| 色综合久| 99视频只有这里精品| cao视频,现在观看| 91色涩| 亚洲色综合| 婷婷五月花| 激情综合五月.....| 9久热精品在线视频| 亭亭五月天黑人2014| 九九色中文| 天天干 夜夜爽| 偷拍91九色| 色啪影院| 亚洲男人的天堂婷婷色五月| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 亚洲成人av在线| 国产精品久久..4399| 欧美性二区| 成人国产欧美大片一区| 中文乱子伦视频| 91视频五月丁香| 99免费热视频在线| 婷婷五月天人妻| Www.se.久久| 91热网址| 激情久久久久久| 五月天激情网图片| www.五月天社区| 无码人妻一区二区一牛影视| 97色色婷婷| av在线超清中文| 国产99久| 色色色色综合网| 九月婷婷综合八月丁香在线观看| 婷婷五月丁香性爱| 亚洲另类在线观看| 日本熟女一区二区| 九九99免费视频| 久操操| 99热只有精| 黄色91在线观看| www久久99| 五月天激情网址| www.99热在线| 婷香五月网在线| 欧美特大片黄| 久久久无码精品成人A片小说| 99久热这里只有精品视频删减版| 久久免费干| 天天操B| 亚洲美女婷婷五月天| 日本91在线播放| 91啪啪网| 久久这里只有国产视频| 久热9| 色色色五月天婷婷| 色婷网| 丁香五月综合激情久久潮喷| 涩 五月 婷婷 狠狠| 国产精品成人AV在线| 中文人妻主播久久| 大香人妻| 公的粗大挺进了我的密道| 亚洲性爱区无码区| 色狠狠999综合网| 91久久网站| 丁香花五月天激情| 99视频只有这里精品| 97在线碰| 玖玖爱导航| 丁香五月偷拍| WWW免费视频碰碰碰碰| www.操逼comm| www九九热| 五月丁香婷婷综合视频| 亚洲综合网激情小说| 射区导航| 午夜微拍福利| 五月激情小说| 五月婷婷天堂| 99热精品无码| www.热99热| 激情五月天的婷婷| 色婷婷精品视频在线播放| 午夜一区| 超碰在线人人| 色色亚洲| 丁香五月综合网亚洲综合欧美狠狠 | 日韩婷婷| 久久婷婷五月天| 2023天天日夜夜爽| av婷婷丁香 六月| 婷婷色基地在线看| 亚洲成人日韩无码精品| 日本精品久久久久中文字幕| 日韩一级片| 激情深爱综合网| 婷婷六月丁香色| 久久婷婷网站| 九色 在线| 国产古装妇女野外A片| 99ri在线视频| 婷婷五月丁香综合激情| 九九久久网| www.十八禁不禁AV.com| 五月天婷婷午夜丁香| 日本色图综合| 97色啪| 红桃91人妻爽人妻爽| 激情五月天网站| 97色片| 人人干av| 欧美黄色韩日网| 婷婷五月天亚洲精品| 六月婷婷视频| 99这里只有精品国产| 狠狠干综合| 综合激情肏逼网| 久久天堂女人| 好大好粗嗯啊-一级黄色大片免费观看-成人AV| 色逼综合网| 婷婷亚洲色| 9色在线| 国产精品爽爽久久久久久| 亚洲色情在线| 思思国产99| 丁香五月激情婷婷| 久久婷婷五月天激情唯美| 五五月五月| 五月丁香综合啪啪啪啪啪| 大香蕉五月丁香| 五月丁香黄色| 91综合国免费久入| 香蕉婷婷| 丁香五月天在线视频| 色色丁香婷婷| 婷婷综合欧美| 丁香六月婷婷综情欧美| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 五月丁香六月激情在线| 色播六月| 激情五月天综合网| 五月丁香综合| www狠狠| 色色色com| 丁香五月婷婷影院| 婷婷综合视频| 性欧美大战久久久久久久83| 九九综合网| 97碰碰免费.视频| 久久女伦| 97ai婷婷| 久久婷婷五月综合色奶水99啪| 婷婷久久五月天丁香| 日韩欧洲亚洲| 久久婷婷六月天| 五月天六月天| 天天色官网| 婷婷六月激情综合| 久草a片| 久久性爱视频| 国产乱妇无乱码大黄AA片| 欧美人与性动交CCOO| 欧美大片免费播放器| 色狠狠色噜噜AV天堂五区| 国产伦亲子伦亲子视频观看| 久热精彩视频98| 色护士综合| 成人AV网站在线| 3p久久| 欧美影院婷婷| 五月天婷综合网站| 激情六月婷| 五月婷婷中文字幕| 啊V视频在线观看| 99热在线看| 色噜噜狠狠色综无码久久合欧美| 色色丁香婷婷五月天| 日韩美女在线视频19| 超碰国产av| 久久XX| 激情五月天开心网丁香无码| 色色日本| 中文字幕AV网址| 99亚洲天堂| 99热18| 99se丁香| 亚洲天堂爱爱| 天天 日综合| 99免费热视频| 噜噜五月天综合| 亚洲乱码日产精品BD| 久久婷婷七月丁香| 婷婷99热| tingting五月天亚洲| 夜丁香五月婷婷| 丁香五月婷婷视频| 人人操av| 色婷婷AⅤ| AV大香蕉| 五月天激情社区| 香蕉国产2013| 亚洲网综合在线| 九月色婷婷综合| 97操操操| 五月婷婷激情综合网| 99热国产| 久久久婷丁香五月| 九九色热| 天天操综合网站| 大香蕉人妻| 91 影音先锋| 成人网在线视频| 婷婷丁香77777| 六月婷婷在线| 激情深爱五月天| 色色综合五月| 丁香五月天激情婷婷丁香六月| 五月婷婷综合潮喷| 99re这里| 午夜免费高清AV片| 欧美丁香六月在线观看视频| www.日本91| 婷婷丁香在线| 久久久宗合| Jh7Uf088VHafNm| 热五月婷婷| 性按摩玩人妻HD中文字幕| 大香蕉七区| 久久黄色网扯| 99riAV国产精品视频| 性做爰1一7伦| 色五月婷婷综合| 婷婷五月丁香网| 开心激情网五月天| 五月天丁香成人| 色情播放| www.色婷婷.com| 五月婷综合| 天天爽,天天操。| 成人免费在线电影| 色综合中文综合网| 99热精品在线观看| 六月婷婷综合久久| 色色 亚洲| 26uuu在线观看| 激情图片99| 天天狠狠色噜噜| 久久99精品视频| 日本在线观看aaa 99| 久久狠色噜噜狠狠狠狠97| 五月 激情视频| 琪琪色网址| 激情婷婷丁香五月天小说| 久久99热这里只有精品| 偷拍丁香九月激情| 亚洲综合网激情五月天| 深爱婷婷网| 成人永久免费视频在线观看| 天天综合中文| 99色综合久久| 天天狠狠色综合| 操91| 热久久思思热思思| 久久五月天婷婷| 色综合久久综合中文综合网| 丁香五月天狠狠| 天天肏在线视频| 五月情四婷婷| 色丁香五月婷婷| 欧美日韩五月婷婷| 五月丁香婷婷六月| 婷婷丁香黄色| 韩国久久少妇视屏| 色色999三级片| 色在线五月天免费| 26uuu欧美| 婷婷五月天成人| 九月丁香| 九色自拍| 婷婷综合网站| 五月天久久婷婷| 五月份婷婷| 国产97色在线 | 日韩| AV在线不卡网站| 色5月婷婷| 日韩中文字幕| 99热只有精品在线观看| 久久艹 五月天| 深爱激情四射| 大学生高潮无套内谢视频| 色婷婷五月天激情| 婷婷五月天影院| 国产精品久久99| 国产成人AV在线播放| 色婷婷五月成人网| 婷婷激情六月视频| 99久久视频| 五月天婷婷免费视频| 久久久久久久五月| 操日视频| 玖玖综合色| 婷婷色综合| 91九色|疯狂|高潮|对白|| 爆乳熟妇一区二区三区爆乳照片| 国产97色在线| 五月婷婷激情综合| 国产又黄又爽又激情不遮挡视频在线观看| 被男人添B超爽视频| 色婷丨日丨天丨综合久久| 秋霞免费视频| 99热精品6| 永久天堂日本| 久久五月激情综合| www99热| 六月色婷婷| 色婷婷中文字母五月丁香| www狠狠| 欧美黑人巨大猛烈cuckold| 国产午夜精品AV一区二区麻豆| 五月的丁香六月的婷婷| 男女激情久久| 99噜噜| 91狠狠色丁香婷婷综合久久精品| 五月婷丁香在线视频在线| 亚洲亚洲人成综合网络| 九九99视频| 亚洲AV无码成人精品区电影网| 色播婷婷五月天| 深爱五月月天| 色色欧美色色色| 五月天激情.com| 超级碰碰视频无码| 玖玖色综合网| 月婷婷亚洲| 午夜伊人大香蕉| 丁香五月伊人| 新久久五月天激情| 久婷狼色诱惑在线| 欧美丁香五月97色| 激情婷婷综合| 日本一级大片| 99免费| 色色色色色色色色色999| 丁香五月激情啪啪啪| 婷婷午夜精品久久久| www.五月婷婷| 操操操97| www.91.com黄| 五月丁香六月婷婷综合免| 激情综合九| 国产午夜精品一区二区| 深夜婷婷五月丁香| 欧美激情-区二区三区| 婷婷精品在线| 精品色色色| 天天操天天曰天天射| 九九热视频在线观看| 五月综合缴情网| 99视频九九热| 五月天电影网| 一级二级色大片| 五月婷婷 欧美| WWW、99热| 丁香婷婷网| 色琪琪一综合久久激情五月视频| 欧美在线操| 97婷婷五月天| 色狠狠色噜噜AV天堂五区| 思思久久99热只有频精品66| 玖玖资源天天无码| www色综合| 俺去也综合| 人人爱人人草| 五月丁香影院| 久操婷婷| 丰滿爆乳一区二区三区| 视频1区2区| 婷婷五月丁香综合激情| 久操婷婷| 日日想日日夜日日操| 国产另类综合| 日本婷色| 丁香五月天激情视频| 久草热8精品视频在线观看| 黄桃AV无码免费一区二区三区| AV亚洲在线| 久久九⑨| 伊人久久五月天| 天天插天天玩天天干| 婷婷五月情色| 五月天婷婷在线播放| 色五月五月天色婷婷色五月| 人人播| 亚洲成av人影院| 日碰日| 99碰| 包操45分钟网站| 五月天自拍视频| 欧美婷婷色五月| 六月丁香五月婷婷| 色婷婷综合网站| 丁香五月婷婷激情四射深爱激情| 色五月婷婷天堂| 色综合中文| 丁香五月婷婷六月婷| 色五月天天| 天天日日综合| 99男人的天堂| 久草热8精品视频在线观看| 4399精品一区二区| 另类图片色五月| 99热只有国产在线精品| 六月婷婷综合激情| 99精品偷自拍| 欧美日韩国产日本精品四虎网网站物| 激情综合网址| 99热99免费| 丁香婷婷情色五月天| 青娱乐美女福利视频美臀| 天天爽夜夜爽天天爽夜夜爽| 婷久久| 99ER热精品视频| 97艹| 成人超碰AV| 精品亚洲VA网站| 色婷五月| 色九月丁香婷婷蜜桃在线观看| 噜噜操操| 激情婷婷综合| 亚洲av日韩无码| 激情综合五月| 丁香 亚洲 久久| 六月婷婷六月天天在线免费| 天天精品视频免费观看| 99啪啪| 99精品偷拍视频| 丁香婷婷综合精品六月初| 五月丁香婷婷成人网| 婷婷五月天亚洲| 9久热视频| 色狠狠综合| 日本熟女一区二区| 久草热在线视频| 91精品久| 九九视频这里是精品五月| 天天操天天日天天爽| 激情性爱五月| 丁香婷婷五月香蕉91| 8区视频在线| 五月天成人网婷婷| 99九九视频精彩在线| XX色综合| 色综合色五月| 天天色天天爱天天爱天天爱y| 五月天激情小说| 涩丁香| 九九99免费视频| 激情综合五月婷婷六月丁香| 99九九久久| 天天操中文字幕| 激情五月婷在线精品| 涩综合婷婷| 4438成人电影| 亚洲色A| 欧美日韩99| 亚洲午夜电影| 色色色色色网站| 噼里啪啦在线观看免费完整版视频 | 亚洲va在线∨a天堂va欧美va| 91狠狠综合久久| 欧美性久| 色五月婷婷久久| 亚洲精品又粗又大又爽A片 | 色九九七七| 思思热热久久| 五月丁香六月| 婷婷五月电影| jizzdr| 狠狠色色色| 91Chinese在线| 大婷婷色呦呦噜噜色呦呦噜噜| 五月丁香六月激情| 深爱激情四射| 久久激情网| 9999久久久久| 婷婷五月色综合| 亚洲在线播放| sewuyuejiqingwang| 99re6久热只有精品6在线直播| 丁香五月激情综合婷综| 五月天色视频| 中文字幕一色哟哟哟哟| 丁香六月色情| 99综合网| 亚洲综人色综网| 在线中文亚洲| 久久久久99精品成人网站| 天天做天天爱天天做| 免费无码毛片一区二区A片| 婷婷亚洲五| www.五月婷婷| 久Se视频在线观看| www.五月天| 99视频啪啪| 丁香六月天婷婷开心综合| 国产又爽又猛又粗的视频A片| 永久思思热在线| 久久婷婷五月| 久操福利| 99精品热视频| 九久9精品| 亚韩在线视频| 丁香六月啪啪啪| 午夜亚洲国产精品av一区二区| 久久婷中文字幕| 婷婷激情社区| 狠狠色丁香婷婷五月| 日本熟妇精品99| 婷婷五月天av| 五月天天综合| 五月色婷婷中文字幕| 国产97色在线 | 日韩| 婷婷五月天美女21p| 色色丁香五月天社区| 丁香五月亚综合图片| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 五月天亚洲最大成人| 这里只有精品视频| 夜夜骑日日操| 日韩精品无码一区二区| 97婷婷丁香五月天激情图片| 99热这里有精品| 99 这里只有精品| 九九这里只有精品| 五月丁香av在线| 深夜婷婷 丁香| 午夜电影网VA内射| 91日综合欧美| 亚洲婷婷基地| 天天看A片| 欧美精品18| 色五月av伊人| 国产亚洲成AV人片在线观黄桃| 婷婷成人丁香色情基地30 | 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 99re思思热久久| 丁香色婷婷| 色婷婷激情| 国产寻花在线| 91人人爱| 精品丁香五月天在线播放| 色爽九九| 色婷婷久久综合中文久久一本| 丁香五月六月久久综合 | 久热这里有精品视频| 内射干少妇亚洲69XXX| 天天干天天色天天干| 涩玖玖免费视频| 超碰猛烈的性猛交| 激情五婷精品网在线观看网址| 99热在线观看精品免费| 91九色无码内射| 亚韩在线视频| 色噜噜婷婷| 丰满少妇猛烈A片免费看观看| 色婷五月| 美女91一起草| 成片免费播放| 久久精品小视频| 五月丁香综合久久夜夜| 猫咪伊人久久| 婷婷五月激情基地| 亚洲欧美日韩另类| 五月婷婷激情综合| 66久久视频在线| 国产肥白大熟妇BBBB视频| 成人综合伍月天| 激情五月天啪啪| 99久久性爱| 99秘 在线| 超碰色天堂| 色色五月天婷婷| www.五月婷婷久久.com| 狠狠色九月| 亚洲网视屏| 夜夜操夜夜姧| 五月丁香视频色色| 日韩aaa| 99这里只有精彩视频| 久久婷婷网| 亚洲妇女熟BBW| A久久| 超碰免费人人| a性生活久久无| 五月婷婷色综图片| 五月综合视频在线| 色吊操色妞| 婷婷激情五月| 色色免费网战视频| 9久精品视频| 婷婷色色欧美综合网| 亚洲网站999| 色五月婷婷大| 国产婷婷综合在线免费视频| A片试看50分钟做受视频| 久久天天| 婷婷丁香五月久久| 人妻激情视频| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 亚州色婷婷| 伍月婷丁香花全集| 99日在线视频| 91操黄| 激情小说视频图片| 日本熟妇人妻在线| 激情综合五| 1024人妻无码中文字幕| 啪啪一区| 五月婷婷丁香瑟瑟视频| 玖玖99福利| 五月丁香九九| 色色操| 婷婷五月花| 99热日本| 久久天天天| 丁香五月婷婷激情中文| 五月婷丁香| 91综合色| 狠狠色婷婷六月激情网| 天天做天天要天天爱| av免费在线网站| 电影91久久久| 五月丁香777| 色综合五月天| 婷婷五月花西瓜| 综合亚洲五月天| 9久热免费视频99| 97婷婷五月| 中文字幕在线观看视频www| 色噜噜狠噜噜视频| 色欲资源网| 日本一级黄色电影| 人人爽欧美婷婷久久久五月丁香| 四川女人毛多水多A片| 大香蕉人妻| 狠狠干在线| 欧美婷婷五月天综合| eeuss人妻| 五月丁香色综合| 日韩欧美成人网| 日本欧美成人片AAAA| 色综合网址| 狠狠做婷婷| 五月天艹天天| 亚洲激情淫网| 操人91| 在线超碰免费| 少妇搡BBBB搡BBB搡毛茸茸| 色婷婷久久| 久久性爱视频| 色五月婷婷影院| 婷婷激情网五月天| 先锋男人99资源| 五月天激情综合网俺也去| 五月婷婷亚洲| 99久久.www| 精品99*| 性欧美大战久久久久久久83| 五月婷婷六月色| 亚洲激情四射| 99在线免费视频| 婷婷五月天激情小说| 综合激情深爱| 丁香久久五月天视频在线观看| 五月天开心激情网色欲无码| 亚洲另类在线观看| AV在线大香蕉| 4438激情网| 五月丁香综合影院| 丁香六月成人网| 成人五月天。COM| 久综合4| AAA级久久久精品| 天堂成人A片永久免费网站| 天天插天天干| 五月天激情久久| 国产免费一区二区在线A片视频| 97人人操在线| 91丨九色丨白浆秘| 殴美激情综合网| 综合激情在线视频| 操日视频| 五月天婷婷免费| 丁香五月综合激情啪啪| 大香蕉五月婷婷| 激情久久久久久久久久| 色婷婷a v| 99久在线观看| 91色色色18| 九九re精品视频在线观看 | 果冻传媒A片一二三区| 俺去也五月| 激情婷婷丁香五月| 丁香五月五月婷婷欧美大香蕉 | 最近中文字幕大全免费版在线| 五月婷婷六月丁香| 99精品在线观看| 丁香六月综合激情| 五月丁香六月婷| 亚洲午夜av| 内射爽无广熟女亚洲| 亚洲色婷婷| 最近中文字幕大全免费版在线| 国产69久久久欧美黑人A片 | 超级碰碰91| 丁香五月在线自慰| 另类专区在线| 天天精品视频免费观看| 欧美这里只有精品| 啪啪啪大香蕉| 久久综合久色欧美综合狠狠| 99热91| 国产99久久久国产精品免费看| 99激情视频| 亚洲蜜桃精久久久久久久久久久久| 中文字幕无码AV| 日本97在线观看| 色五月综合97| 97五月久久丁香婷婷| 超碰人人干| 99这里有精品免费| 99热综合在线观看| www,婷婷| 日本久久人| www狠狠| 99热亚洲| 色婷婷色综合久久精品V| 超碰在线资源| 99riAv1国产在线观看| 玖玖国产视频一区| www.狠狠操.co m| 天天做天天干天天综合网| 色色色.COM| 亚洲欧美丁香五月天亚洲欧美| 欧日韩成人| 狠狠综合网| 婷婷丁香红五月91C| 999精品久久久久久久| 久久色天堂| 凹凸探花电影| 婷婷五月天六点丁香五月| 天天干天天做| 欧美成人精品A片免费一区99| 99久久九九视频| 婷婷色色宗合网| 蜜桃婷婷狠狠久久| 深爱五月激情网| 色色综合视频| 欧美在线视频免费播放| 26uuu日韩| 4399无码视频二区| 伊人狠狠色婷婷综合丁香一区| 久操干| 五月丁香日本在线视频观看| 深爱婷婷色| 人人草开心五月天| 五月婷婷啪啪| 国产一区二区av免费| 五月婷婷九九久久| 婷婷丁香五月av| 韩国三级五月天婷婷。| 级情九色| 免看黄大片AA | 激情五月天色婷婷综合| 中文字幕丰满乱孑伦无码专区| 开心激情站婷婷五月天| 丁香五月在线播放| 99性爱视频| 伊人久热91| 激情小说五月天社区丁香 | 五月天婷a在线| 五月丁香久| 啪啪干伊人婷婷| 婷婷五月天视频| www.丁香五月| 9热久久| 丁香六月AV| 四色五月婷婷在线观看| 五月花免费视频| 久久免费干| 99热r| 激情五月狠狠| 激情五月激情综合网| txt五月激情四射网综合俺也来了| 狠狠情色| 五月丁香啪啪啪啪| 婷婷99视频精品| 伊人丁香五月天丁香在线婷| 五月天婷婷香蕉狠狠超碰综合| 欧美成人网婷婷综合在线| 精品99在线| 综合久久狠狠| 婷婷永久在线| 久狠日av| 色婷婷电影网| www.韩日视频| 色五月综合激情| 色五狠狠| 99色色网| 久热69| 成人色色视频| 99色网站| A级毛片高清免费不卡播放谢谢谢谢| 99 频99热国里只有精品| 99九九视频| 爱99干99| 青青草色在线视频观看| 天天做天天爱综合| 色播五月丁香| 98色花堂98t.R| SS丁香五月婷婷| 天天干,夜夜爽| 日韩综合久| 色播丁香五月婷婷操:屄| 五月丁香六月婷婷激情网| 九九色情网站| 婷婷色五月婷婷姐妹| 色五月婷婷五月天| 婷婷五月丁香综合网| 人人草成人视频| 99热1| 亚洲精级| 久久与婷婷| 婷婷激情五月| www.婷婷,com| 天天日天天干天天插天天射| 女人天堂AV| 五月丁香激情四射| 97热这里只有精品| 激情五月丁香五月色| 婷婷 久综合| 伊人网碰碰| 日本操B片| 色欲五月天| 婷婷97碰碰| 婷婷五月色花丁香社区| 狠狠做六月爱婷婷综合aⅴ| 五月丁香亭亭操逼| 综合亚洲AV| 久久开心五月婷婷| 五月天激情婷婷| 五月天激情国产综合婷婷婷就去爱| 先锋资源婷婷| 日韩三级高清无码| 天天成人综合| 婷婷综合网| 色色色激情| 国产精品成人AV在线| 91亚洲免费片| 婷婷五月天激情基地| 色吧婷婷五月亚洲| 深爱网深爱综合网| 国内外色色色色色成人视频| 亚韩在线视频| 久久hd| 五月婷婷六月丁香首页| 亚洲色模骚货| 五月激情四射网站| 五月天影院婷婷在线观看| 欧美大肥婆大肥BBBBB| 丁香综合婷婷开心激情网| www.色9| 五月天婷婷激情网| 女高怪谈在线观看| Av在线资源| 开心激情网五月| 这里只有精品视频| 色五月天天在线观看资源站| 五月天色区| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 91人人爽久久涩噜噜噜| 丁香婷婷欧美综合| 六月色色婷婷| 黄网在线免费观| 激情综合网亚洲色图| 夜夜爽77777妓女免费下载| 人人爽在线视频综合网| 丁香六月婷婷综合| 五月天婷婷一起草| 五月婷婷六月色| 激情网站五月| 久久多色| 大香蕉啪啪| 色婷婷免费观看| 人妻综合网| 99久久性爱| 九九热精品| 色五月在线播放| 99在线er热| 色婷婷基地| 激情精品久久| 天天干天天做| 人妻熟妇六区| 久久婷婷超碰| 婷婷综合精品视频97| 国产亚洲99久久精品熟女| 天天谢天天操| 99久久9| 99re热精品视频国| 午夜少妇在线观看视频| 婷婷九月激情网| www久久久久久久久久久| 极品五月天| a片在线免费观看一区| 亚洲热视频在线| 91色色色视频| 99色热视频在线| 97久久草草超级碰碰碰| 99热最新| 久久婷婷五月国产色综合激情| 色综合婷婷| 丁香五月婷婷亚洲综合精品在线| 丁香五月成人| 九九久久综合网站| 五月婷视频在线观看| 五月天激情久久| www.99热精品99.com| 丁香婷婷婷五月| 91婷婷五月丁香碰| 综合网色| 欧美日韩AAAAA| 影音先锋高清无码资源网| 婷婷五月成人系列| 婷婷丁香五月激情密臀av| 99久.| 丁香六月婷婷综合色| 精品久久久久成人码免费动漫| 999影院成人在线影院| 天堂网色婷婷| 九九黄色网| 丁香香五月激情免费视频| 五月婷婷六月激情| 操骚货在线| 7777激情基地| 亚洲精品一区中文字幕乱码| 99热99热99热99热| 91九色 婷婷| 日韩无码成人电影| 9.1综合网| 这里只有精品96| 九九亚洲| 亚洲综合网区| 97搞在线| 荷兰av一级| 久久五月丁香婷婷| 婷婷五月激情四射手| 99热这里有精品6| 丁香婷婷浪潮AV久久综合 | 五月亚洲激情| 99艹精品在线观看| 91婷婷丁香| 热无码A∨| 久久全色| 久久久久9| 丁香五月亚洲婷婷| 九久久精品视频99| 大香蕉久| 老司机日日夜夜青草| 五月色综合| 草草色情综合网| 超碰日日操| 婷婷五月天Av| 欧美激情久| 九九在线精品| 思思热在线播放| 狠狠色综合网| 久久99大| 婷婷综合网| 国产另类综合| 中文字幕黄色片| 婷婷99综合| 婷久久| 丁香五月激情视频在线| 亚洲视频操| 97干干干丁香| 九九99精品视频| 亚洲六月婷| 91九色精品女同系列| 婷婷五月丁香基| 日本在线视频www色| 五月婷婷熟女| 99日精品视频| 99婷婷狠狠成为人免费视频| 久热91精品| 热的无码综合视频| 综激情网| 亚洲无码 图片区| 91性高潮久久久久久久久| 66精品成人免费网站在线观看| 99热人人| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 丁香婷婷激情综合五月激情 | 丁香色五月婷婷| 色婷婷丁香网| 壅壅儕家a| 久久婷婷视频| 五月婷婷六月丁香五月| 婷婷激情综合网| 丁香五月激情棕合| 香蕉99网| 久久婷婷精品| 丁香五月婷婷亚洲色图| 九九久久五月天综合伊人| 俺来也综合网精品一区| 婷婷内射视频在线| 三十路磁力链接| 亚洲精品亚洲人成人网| 婷婷丁香五月社区亚洲| www.夜夜操| 婷婷五月六月丁香| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 人人干人人操人人摸人人做| 精品动漫 无码av| 欧美内射AAAAAAXXXXX| 九九99免费理论| 婷婷五亚洲| 99热6这里只有精品6| 开心久久网婷婷| 成人国产欧美大片一区| 97天堂| 噜噜视频| 天天干天天 亚洲| 99狠狠色| 伊人成综合五月婷婷| 亚洲乱码日产精品BD| 激情色色色| 97色永久免费视频| 婷婷五月天综合中文| 欧美激情五月综合| 九九色欲网| 91天堂网综合| 亚洲成人日韩无码精品| 国产精品18久久久| 日韩成人AV在线| 播五月,色五月,开心五月播放器| 综合五月激情| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 91碰碰视频在线观看| 婷婷爱五月| 思思精品视频| 97热这里精品在线视频| 日日操天天| 亚洲丁香五月美女| 六月亚洲婷婷6月中文字幕| 欧美色色色色色| 大香蕉免费9| 色婷婷网大全在线| 丁香六月婷| 啪啪一区| 99热久草| 能看的AV| 日本社区五月天激情| 玖玖资源网站最新站| 婷婷丁香成人在线视频| 韩日在线熟女| 五月丁香婷婷色色色| 大香蕉大香蕉在线影院| 色五月丁香A欧美com | 久久久久婷婷| 久久99综合| 超碰在线观看9| 亚洲婷婷五月天| 欧美日韩一区二区三区四区| 懂色AⅤ| 99只有这里是精品| 婷婷热婷婷色| 爱射综合| 五月婷婷天堂| 五月天综合激情网| 超级碰碰91| 极品另类| 六月婷色| 久久激情天堂| 99ri6在线视频| 青青草99re| 午夜AV网| 丁香深五月婷婷| 色九月丁香婷婷蜜桃在线观看| 潘金莲AAAAAAAAAA| 丰满少妇乱A片无码| 欧美肉大捧一进一出免费视频| 久久综合五月天| 色色com| 亚洲婷婷五月天| 五月丁香婷婷基地| 国产在线黄色| 9l视频自拍九色9l视频自拍九色9l社区| 综合XX网| 久久艹99| 久久婷婷成人| 婷婷永久在线| 天天天天天天操| 色五月 五月婷婷| 久久五月丁香| 99精品网| 国产人妻777人伦精品HD| 99超级碰免费视频| 91狠狠综合久久久| 婷婷久草| 国产成人精品一区二区三区视频| 九九热在线精品视频| 久久综合五月天| 色区久久| 专区无日本视频高清8| 日韩乱轮AV| 婷婷五月日本| 激情宗合 激情宗合| 激情六月天婷婷| 久久综合色五月| 爱久综合| 久久草人妻| 天天日日天天| 五月天婷婷深深爱| 婷婷色5月激情网| 九九無妻| 射区导航| 婷婷精品| 成人精品视频99在线观看免费 | 久久大香蕉丁香| 成人五月丁香花| 99草在线免费观看视频| 五月间天堂综合| 九九五月天| 日日操夜夜操狠狠操| 99视频精品全部免费 在线| 777.色色| 丁香婷婷伊人| 99re在线这里只有精品视频首页| 婷婷五月在线播放| 丁香婷婷色| 欧美日韩91| 色综合77777| 丁香五月九九|