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

ARTICLE DETAIL

資訊詳情

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

agent-skills協(xié)議:可插拔AI技能的聲明式交付標(biāo)準(zhǔn)

agent-skills協(xié)議:可插拔AI技能的聲明式交付標(biāo)準(zhǔn) 1. “agent-skills”不是功能模塊而是一套可插拔的能力交付協(xié)議你第一次在 GitHub 倉(cāng)庫(kù)名里看到agent-skills或在 CLI 工具的--skills參數(shù)后跟一串路徑時(shí)大概率會(huì)下意識(shí)把它理解成“AI Agent 能做的幾件事列表”——比如“查天氣”“讀文件”“發(fā)郵件”。但實(shí)際踩過三次坑、重構(gòu)過四版技能注冊(cè)邏輯后我才明白agent-skills的本質(zhì)是一套輕量級(jí)、聲明式、面向運(yùn)行時(shí)能力發(fā)現(xiàn)的接口契約Interface Contract它解決的從來(lái)不是“能做什么”而是“如何被發(fā)現(xiàn)、如何被安全調(diào)用、如何與上下文對(duì)齊”。這個(gè)認(rèn)知偏差直接導(dǎo)致大量團(tuán)隊(duì)在開發(fā)初期就陷入兩個(gè)典型困局一是把 skills 寫成一堆零散函數(shù)結(jié)果 agent 調(diào)度器根本識(shí)別不了二是強(qiáng)行塞進(jìn) OpenAPI Schema結(jié)果 runtime 解析失敗報(bào)錯(cuò)信息只顯示skill not found in registry連具體哪一行配置錯(cuò)了都看不到。為什么必須從“協(xié)議”角度理解看幾個(gè)熱詞就能印證zcode cli、codex cli、boos cli、openspec cli——它們?nèi)谟貌煌熬Y封裝同一類行為通過 CLI 命令行工具將本地目錄中符合特定結(jié)構(gòu)的代碼片段注冊(cè)為 agent 可感知、可調(diào)度、可審計(jì)的技能單元。而不是簡(jiǎn)單地“加載一個(gè) JS 文件”。再看claude agent skills: a first principles deep dive這個(gè)熱搜標(biāo)題里的關(guān)鍵詞first principles第一性原理——它暗示的正是別急著寫代碼先定義清楚“一個(gè) skill 在系統(tǒng)里究竟意味著什么”。比如它必須有一個(gè)唯一標(biāo)識(shí)符不是文件名而是id: file-readv1這種帶命名空間和版本的字符串它必須聲明輸入?yún)?shù)的 JSON Schema不是 TypeScript interface而是 runtime 可校驗(yàn)的 OpenAPI v3.1 subset它必須提供一個(gè)description字段且該字段會(huì)被 LLM 用于 zero-shot 工具選擇不是給人看的注釋而是 prompt engineering 的關(guān)鍵 token source它必須包含permissions聲明如fs:read:/home/user/**否則在 sandbox 環(huán)境中直接被攔截不報(bào)錯(cuò)、不提示、靜默失敗。提示很多團(tuán)隊(duì)用fs.readFile寫了個(gè)讀文件 skill卻沒在permissions里聲明文件路徑白名單結(jié)果在 Docker 容器里跑通了本地測(cè)試上線后所有文件操作全部返回空對(duì)象——因?yàn)?runtime 默認(rèn)禁止一切 fs 操作除非顯式授權(quán)。我見過最典型的反模式是把skills/目錄當(dāng)成普通工具函數(shù)庫(kù)來(lái)維護(hù)skills/ ├── weather.js # 導(dǎo)出一個(gè) async function ├── send-email.ts # 導(dǎo)出一個(gè) class └── db-query.py # 導(dǎo)出一個(gè) main() 函數(shù)這種結(jié)構(gòu)在agent-skills協(xié)議下是無(wú)效的。真正的技能包必須是自描述的、可獨(dú)立驗(yàn)證的單元標(biāo)準(zhǔn)結(jié)構(gòu)如下skills/file-read/ ├── manifest.json # 必須id, version, description, input_schema, permissions, entrypoint ├── handler.js # 必須導(dǎo)出默認(rèn)函數(shù)簽名 (input: any) Promiseany └── README.md # 可選人類可讀文檔不影響 runtime其中manifest.json是協(xié)議核心。它不是配置文件而是技能的“身份證”。比如一個(gè)合法的file-readmanifest 長(zhǎng)這樣{ id: file-readv2, version: 2.0.1, description: Read content from local file system. Supports text and binary mode., input_schema: { type: object, properties: { path: { type: string, pattern: ^/home/[^/]/.*$ }, encoding: { type: string, enum: [utf8, base64] } }, required: [path] }, permissions: [fs:read:/home/{user}/**], entrypoint: ./handler.js }注意三個(gè)關(guān)鍵點(diǎn)path字段用了正則約束^/home/[^/]/.*$這是為了防止路徑遍歷攻擊../../../etc/passwdpermissions中的{user}是 runtime 替換變量實(shí)際運(yùn)行時(shí)會(huì)替換成當(dāng)前 agent 用戶名實(shí)現(xiàn)租戶隔離entrypoint是相對(duì)路徑且必須指向一個(gè) CommonJS 或 ESM 模塊默認(rèn)導(dǎo)出函數(shù)不能是類或命名導(dǎo)出。這套協(xié)議之所以能成為事實(shí)標(biāo)準(zhǔn)是因?yàn)樗瑫r(shí)滿足了三類角色的需求開發(fā)者不用改 agent 核心代碼只要按結(jié)構(gòu)放文件CLI 就能自動(dòng)注冊(cè)安全工程師所有權(quán)限聲明集中管控audit log 可追溯到具體 skill id 和調(diào)用上下文LLM 提示工程師description字段直接喂給模型配合input_schema自動(dòng)生成 tool call JSON無(wú)需人工編寫 prompt 模板。所以當(dāng)你看到agent-skills這個(gè)標(biāo)題時(shí)請(qǐng)立刻切換思維它不是一個(gè)項(xiàng)目名而是一個(gè)協(xié)議名。就像 HTTP 不是某個(gè)網(wǎng)站的名字而是瀏覽器和服務(wù)器之間約定的通信規(guī)則。接下來(lái)的所有實(shí)操都建立在這個(gè)認(rèn)知基礎(chǔ)上。2. CLI 工具鏈不是輔助而是協(xié)議落地的強(qiáng)制執(zhí)行層很多人以為zcode cli、codex cli、boos cli這些工具只是“方便安裝 skill 的命令行包裝”甚至覺得“手寫 manifest 手動(dòng) copy 到 skills 目錄”也能跑通。我在早期也這么干過——直到第 7 次因?yàn)閙anifest.json缺少version字段導(dǎo)致 agent 啟動(dòng)失敗才徹底放棄手動(dòng)維護(hù)。CLI 工具鏈在agent-skills生態(tài)里承擔(dān)的是協(xié)議合規(guī)性守門員Compliance Gatekeeper的角色。它不負(fù)責(zé)執(zhí)行 skill也不參與調(diào)度決策但它必須在 skill 注冊(cè)前完成三項(xiàng)不可繞過的靜態(tài)檢查2.1 Manifest 結(jié)構(gòu)完整性校驗(yàn)拒絕任何“差不多就行”的妥協(xié)CLI 會(huì)逐字段驗(yàn)證manifest.json是否符合協(xié)議 schema。這不是簡(jiǎn)單的 JSON 格式檢查而是深度語(yǔ)義校驗(yàn)。例如id字段必須匹配正則^[a-z0-9][a-z0-9.-]*[a-z0-9][a-z0-9][a-z0-9.-]*[a-z0-9]$小寫字母/數(shù)字/點(diǎn)/短橫線以字母數(shù)字開頭結(jié)尾中間含分隔 name 和 versioninput_schema必須是有效的 OpenAPI v3.1 Schema Object且不能包含$ref引用runtime 不支持遠(yuǎn)程引用permissions數(shù)組中每個(gè)字符串必須符合resource:action:scope三元組格式且scope部分必須是 glob pattern如/home/*/**不能是正則runtime 不解析 regex。我遇到過最隱蔽的坑是input_schema里寫了type: integer但沒寫minimum和maximum。CLI 檢查通過了agent 啟動(dòng)也沒報(bào)錯(cuò)。但當(dāng) LLM 生成{count: 999999999999999999999}這種超大整數(shù)時(shí)Node.js runtime 直接溢出變成Infinity后續(xù)計(jì)算全錯(cuò)。CLI 后來(lái)加了一條規(guī)則所有integer類型必須聲明minimum和maximum否則拒絕注冊(cè)。驗(yàn)證過程不是黑盒。你可以用codex cli validate --verbose skills/file-read/查看完整校驗(yàn)鏈$ codex cli validate --verbose skills/file-read/ ? manifest.json structure valid ? id format compliant: file-readv2 ? version semver valid: 2.0.1 ? description length 256 chars ? input_schema is valid OpenAPI v3.1 Schema ? input_schema.properties.path.pattern must be a glob pattern, got: ^/home/[^/]/.*$ → Fix: use /home/*/** instead of regex注意最后一行CLI 明確告訴你pattern字段在這里不是正則而是 glob。這是協(xié)議強(qiáng)制要求——因?yàn)?runtime 的權(quán)限引擎只支持 glob 匹配不支持 PCRE 正則。這種細(xì)節(jié)光看文檔容易忽略但 CLI 會(huì)把它變成硬性錯(cuò)誤。2.2 Handler 入口函數(shù)簽名驗(yàn)證確保 runtime 能正確調(diào)用CLI 不會(huì)執(zhí)行 handler 代碼但它會(huì)做 AST 靜態(tài)分析確認(rèn)導(dǎo)出的默認(rèn)函數(shù)簽名符合(input: any) Promiseany。這聽起來(lái)簡(jiǎn)單但實(shí)際有大量陷阱TypeScript 項(xiàng)目CLI 會(huì)先調(diào)用tsc --noEmit --skipLibCheck檢查類型再用esbuild提取 AST。如果寫了async function read(path: string): PromisestringCLI 會(huì)報(bào)錯(cuò)“入口函數(shù)必須接受單個(gè) any 類型參數(shù)不能有多個(gè)參數(shù)或重載”ESM vs CJS 混合如果handler.js里用了import fs from fs但項(xiàng)目package.json沒設(shè)type: moduleCLI 會(huì)提示“ESM import detected but module type not declared”頂層 awaithandler.js開頭寫了await initDB()CLI 會(huì)拒絕“入口文件不能包含頂層 await必須包裹在函數(shù)內(nèi)”。這些檢查的目的是保證無(wú)論你用什么語(yǔ)言、什么框架寫 handler最終打包出來(lái)的產(chǎn)物都能被 agent runtime 的統(tǒng)一加載器loader無(wú)差別處理。我們?cè)?Deno 寫了一個(gè) skillCLI 檢查通過但 runtime 加載時(shí)報(bào)ReferenceError: Deno is not defined——因?yàn)?CLI 只檢查語(yǔ)法不檢查 runtime 環(huán)境兼容性。后來(lái) CLI 加入了--target node18參數(shù)強(qiáng)制指定目標(biāo)環(huán)境才堵住這個(gè)漏洞。2.3 權(quán)限沙箱預(yù)檢提前暴露 runtime 不會(huì)容忍的問題這是 CLI 最關(guān)鍵的價(jià)值。它模擬 sandbox 環(huán)境檢查permissions聲明是否與 handler 實(shí)際行為一致。例如manifest.json聲明了fs:read:/tmp/**但handler.js里調(diào)用了fs.writeFileSync(/var/log/app.log, data)permissions寫了http:post:https://api.example.com/**但 handler 里實(shí)際請(qǐng)求的是https://api.internal.example.com/v1/data域名不匹配permissions是env:read:API_KEY但 handler 里用了process.env.SECRET_TOKEN環(huán)境變量名不匹配。CLI 會(huì)掃描 handler 代碼中的所有 I/O 調(diào)用fs, http, child_process, env 等提取出所有字面量資源路徑然后與permissions列表做匹配。不匹配的調(diào)用點(diǎn)會(huì)標(biāo)出具體行號(hào)$ codex cli validate skills/db-query/ ... ? Permission mismatch at handler.js:42 → fs.writeFileSync(/var/log/app.log, data) → declared permission: fs:write:/tmp/** → fix: add fs:write:/var/log/** to permissions這個(gè)功能救了我們至少三次線上事故。有一次一個(gè) skill 在本地開發(fā)時(shí)用require(child_process).execSync(curl ...)調(diào)外部 APIpermissions里只寫了http:get:...沒聲明child_process。CLI 檢查時(shí)沒報(bào)錯(cuò)因?yàn)闆]掃描 execSync但上線后 sandbox 直接 kill 進(jìn)程。后來(lái) CLI 更新了規(guī)則所有child_process調(diào)用必須顯式聲明child_process:exec:*權(quán)限否則拒絕注冊(cè)。注意CLI 的權(quán)限預(yù)檢是靜態(tài)的無(wú)法檢測(cè)動(dòng)態(tài)拼接的路徑如fs.readFileSync(pathPrefix userInput)。所以協(xié)議規(guī)定所有動(dòng)態(tài)路徑必須通過input_schema的pattern字段約束且 runtime 在執(zhí)行時(shí)會(huì)做二次校驗(yàn)。CLI 只負(fù)責(zé)守住第一道防線。真正讓 CLI 成為“強(qiáng)制執(zhí)行層”的是它的集成方式。它不是獨(dú)立工具而是嵌入到 CI/CD 流水線中的 gate# .github/workflows/skills-ci.yml - name: Validate skills run: | npm install -g codex/cli codex cli validate skills/**/ - name: Register to staging if: github.event_name pull_request github.event.action closed github.event.pull_request.merged true run: | codex cli register --env staging --token ${{ secrets.STAGING_TOKEN }} skills/**/這意味著任何 skill 要進(jìn)入 staging 環(huán)境必須先通過 CLI 的三重校驗(yàn)。沒有例外沒有 bypass。這比寫一百行文檔更有效。3. Slash Commands 是技能的用戶界面不是技術(shù)實(shí)現(xiàn)當(dāng)你在 Slack 或 Discord 里輸入/file-read path/home/user/report.txt或者在終端里敲zcode /file-read --path /home/user/report.txt你調(diào)用的不是一個(gè) API endpoint而是一個(gè)skill 的命令行界面CLI UI。這個(gè)設(shè)計(jì)非常反直覺——因?yàn)榻^大多數(shù)開發(fā)者第一反應(yīng)是“這應(yīng)該是個(gè) HTTP POST 請(qǐng)求body 里傳 JSON”。但agent-skills協(xié)議刻意回避了 HTTP 層原因很實(shí)在slash commands 是 skill 對(duì)最終用戶的最小可行交互單元MVUI它必須做到零配置、零學(xué)習(xí)成本、零網(wǎng)絡(luò)依賴。如果每次調(diào)用都要記 endpoint、寫 curl、處理 token那技能就失去了“即開即用”的靈魂。3.1 Slash Command 的解析邏輯從字符串到結(jié)構(gòu)化輸入的精確映射Slash command 的解析不是簡(jiǎn)單的空格分割。它有一套嚴(yán)格的 grammar由 CLI 工具鏈統(tǒng)一實(shí)現(xiàn)。以zcode /file-read --path /home/user/report.txt --encoding base64為例解析過程如下命令識(shí)別/file-read被映射到skills/file-read/manifest.json中的id字段去掉/前綴匹配file-readv2參數(shù)提取--path和--encoding是input_schema中定義的 required/optional 字段名CLI 會(huì)嚴(yán)格校驗(yàn)它們是否在 schema 中存在類型轉(zhuǎn)換/home/user/report.txt是字符串但input_schema.properties.path.type是string直接賦值base64是字符串但input_schema.properties.encoding.enum是[utf8, base64]CLI 會(huì)檢查值是否在枚舉中缺失參數(shù)填充如果input_schema中encoding有default: utf8且命令里沒寫--encodingCLI 會(huì)自動(dòng)注入默認(rèn)值校驗(yàn)執(zhí)行所有參數(shù)組裝成 input object 后再用input_schema的 JSON Schema validator 做最終校驗(yàn)。這個(gè)過程的關(guān)鍵在于slash command 的語(yǔ)法是input_schema的鏡像而不是自由文本。你不能寫/file-read path/home/user/report.txt encodingbase64等號(hào)賦值也不能寫/file-read /home/user/report.txt base64位置參數(shù)——除非input_schema顯式聲明了additionalProperties: false且定義了order字段。我見過最頭疼的案例是一個(gè)團(tuán)隊(duì)把input_schema設(shè)計(jì)成{ type: object, properties: { url: {type: string}, method: {type: string, enum: [GET, POST]} } }然后用戶習(xí)慣性地輸入/http-request https://api.example.com GET期望位置參數(shù)自動(dòng)映射。但 CLI 報(bào)錯(cuò)“Unknown positional argument https://api.example.com”。解決方案不是改 CLI而是改 schema{ type: object, properties: { url: {type: string}, method: {type: string, enum: [GET, POST]} }, required: [url], additionalProperties: false, order: [url, method] // 新增 order 字段啟用位置參數(shù) }order字段是協(xié)議擴(kuò)展告訴 CLI當(dāng)命令中沒有--key前綴時(shí)按此順序?qū)⑽恢脜?shù)依次賦值。這是少數(shù)允許“自由文本”存在的地方但必須由 schema 顯式開啟。3.2 Slash Command 與 LLM Tool Calling 的雙向同步機(jī)制Slash command 不僅是人機(jī)接口更是人機(jī)協(xié)同的橋梁。當(dāng) LLM 生成 tool call 時(shí)它輸出的是結(jié)構(gòu)化 JSON{ name: file-readv2, arguments: {path: /home/user/report.txt, encoding: base64} }而 agent runtime 的職責(zé)是把這個(gè) JSON無(wú)損轉(zhuǎn)換為 slash command 字符串再交給 CLI 執(zhí)行。轉(zhuǎn)換規(guī)則是確定性的name去掉版本號(hào)轉(zhuǎn)為/file-readarguments中每個(gè) key-value 對(duì)轉(zhuǎn)為--key value如果 value 是布爾值true轉(zhuǎn)為--key無(wú)值false則忽略如果 value 是數(shù)組[a, b]轉(zhuǎn)為--key a --key b。反過來(lái)CLI 執(zhí)行完 skill 后必須把返回結(jié)果Promise resolve 值原樣回傳給 LLM作為下一步推理的 context。這里有個(gè)致命細(xì)節(jié)CLI 返回的必須是純 JSON 可序列化對(duì)象不能包含函數(shù)、Date、Buffer 等非序列化類型。我們?cè)幸粋€(gè) skill 返回new Date()CLI 序列化后變成{_isAMomentObject: true, ...}因?yàn)橛昧?moment.jsLLM 看不懂直接崩潰。解決方案是協(xié)議強(qiáng)制規(guī)定所有 skill handler 的返回值必須經(jīng)過JSON.stringify(JSON.parse(JSON.stringify(result)))的雙重序列化清洗。CLI 在執(zhí)行后自動(dòng)做這一步確保輸出干凈。你在 handler 里可以放心返回new Date()或Buffer.from(hello)CLI 會(huì)幫你轉(zhuǎn)成{date: 2024-06-15T10:30:00.000Z}和{buffer: aGVsbG8}。3.3 Slash Command 的權(quán)限代理用戶意圖與系統(tǒng)策略的翻譯器Slash command 是用戶意圖的載體但它本身不執(zhí)行權(quán)限檢查。真正的權(quán)限控制發(fā)生在 runtime 層。CLI 在這里扮演翻譯器角色用戶輸入/file-read --path /home/alice/report.txtCLI 解析出path: /home/alice/report.txtCLI 查看manifest.json中的permissions: [fs:read:/home/{user}/**]CLI 將{user}替換為當(dāng)前執(zhí)行 CLI 的系統(tǒng)用戶名如alice得到/home/alice/**CLI 將/home/alice/report.txt與/home/alice/**做 glob 匹配結(jié)果為 true允許繼續(xù)如果用戶是bob但試圖讀/home/alice/report.txtCLI 會(huì)立即報(bào)錯(cuò)“Permission denied: path /home/alice/report.txt not allowed for user bob”。這個(gè)過程發(fā)生在 CLI 本地不依賴網(wǎng)絡(luò)、不調(diào)用 API。它讓權(quán)限檢查變得極快微秒級(jí)且完全離線。更重要的是它把復(fù)雜的 RBAC 策略翻譯成了用戶能理解的語(yǔ)言/file-read這個(gè)命令天然就帶著“只能讀自己 home 目錄”的含義。提示不要在 slash command 里暴露敏感路徑。比如/db-query --sql SELECT * FROM users WHERE id 123是危險(xiǎn)的因?yàn)?SQL 語(yǔ)句可能包含注入。協(xié)議推薦的做法是input_schema中sql字段必須是enum列表如[get_user_profile, get_user_orders]用戶只能選預(yù)定義的查詢模板不能自由輸入 SQL。4. API 集成不是終點(diǎn)而是技能能力的延伸觸點(diǎn)搜索熱詞里反復(fù)出現(xiàn)deepseek api、智譜api、百度api、??低昦pi接口說(shuō)明一個(gè)現(xiàn)實(shí)絕大多數(shù) skill 的核心價(jià)值不在于本地計(jì)算而在于安全、可控、可審計(jì)地連接外部服務(wù)。agent-skills協(xié)議對(duì)此有明確分層skill 是能力容器API 是能力來(lái)源二者必須解耦。4.1 API Credentials 的聲明式管理從硬編碼到策略驅(qū)動(dòng)早期我們把 API Key 直接寫在handler.js里// ? 危險(xiǎn)Key 泄露風(fēng)險(xiǎn)高無(wú)法輪換 const apiKey process.env.DEEPSEEK_API_KEY || sk-xxx; fetch(https://api.deepseek.com/v1/chat/completions, { headers: { Authorization: Bearer ${apiKey} } });這違反了協(xié)議三大原則不可審計(jì)Key 在代碼里git history 里全是密鑰不可隔離所有 skill 共享同一個(gè) Key一個(gè) skill 被攻破全盤淪陷不可策略化無(wú)法限制某個(gè) skill 只能調(diào)用/v1/chat/completions不能調(diào)/v1/models。協(xié)議要求所有 credentials 必須通過manifest.json的credentials字段聲明并由 runtime 統(tǒng)一注入。正確寫法{ id: deepseek-chatv1, credentials: [ { id: deepseek-api-key, type: api_key, scope: [https://api.deepseek.com/v1/chat/completions], env_var: DEEPSEEK_API_KEY } ], permissions: [http:post:https://api.deepseek.com/**] }credentials是一個(gè)數(shù)組每個(gè)元素定義一個(gè) credential 的策略idcredential 的唯一標(biāo)識(shí)供 handler 代碼引用type目前支持api_key、oauth2、basic_auth未來(lái)可擴(kuò)展scope該 credential 允許訪問的 URL 列表glob pattern超出范圍的請(qǐng)求會(huì)被 runtime 攔截env_varruntime 從環(huán)境變量讀取的實(shí)際密鑰值。handler 代碼里不再碰密鑰而是通過 runtime 提供的getCredentialAPI 獲取// ? 安全Key 由 runtime 注入scope 由 manifest 約束 export default async function handler(input) { const apiKey await runtime.getCredential(deepseek-api-key); const res await fetch(https://api.deepseek.com/v1/chat/completions, { method: POST, headers: { Authorization: Bearer ${apiKey} }, body: JSON.stringify({ model: deepseek-chat, messages: input.messages }) }); return res.json(); }runtime.getCredential不是簡(jiǎn)單地process.env[env_var]。它做了三件事檢查當(dāng)前 skill 的id是否在deepseek-api-key的授權(quán)列表中避免 A skill 濫用 B skill 的 credential檢查本次fetch請(qǐng)求的 URL 是否在scope列表內(nèi)runtime hook 會(huì)攔截所有 http 請(qǐng)求記錄 audit logskill: deepseek-chatv1, credential: deepseek-api-key, url: https://api.deepseek.com/v1/chat/completions, timestamp: ...。4.2 API Rate Limiting 的技能級(jí)熔斷避免單點(diǎn)故障拖垮全局熱詞里api調(diào)用量、api error: 400 this models maximum context length is 1048576 tokens提醒我們外部 API 是不可靠的。agent-skills協(xié)議要求每個(gè) skill 必須聲明自己的 rate limit 策略而不是依賴全局限流。manifest.json支持rate_limit字段{ id: kimi-summaryv1, rate_limit: { window_ms: 60000, max_requests: 10, burst: 3 } }window_ms時(shí)間窗口毫秒這里是 60 秒max_requests窗口內(nèi)最大請(qǐng)求數(shù)10 次burst突發(fā)容量允許瞬間 3 次之后按漏桶平滑。runtime 為每個(gè) skill 維護(hù)獨(dú)立的 rate limiter 實(shí)例。當(dāng) skill 被高頻調(diào)用時(shí)超出限制的請(qǐng)求會(huì)立即返回429 Too Many Requests并附帶Retry-Afterheader。關(guān)鍵是這個(gè)限流是 per-skill 的不會(huì)影響其他 skill。比如kimi-summary被打爆了file-read依然絲滑。更進(jìn)一步協(xié)議支持fallback策略{ id: weather-forecastv1, rate_limit: { window_ms: 300000, max_requests: 100 }, fallback: { strategy: cache, ttl_ms: 3600000, stale_while_revalidate: true } }當(dāng) weather API 達(dá)到限流runtime 會(huì)自動(dòng)返回緩存的舊數(shù)據(jù)最多 1 小時(shí)同時(shí)后臺(tái)異步刷新緩存。用戶感知不到中斷只是數(shù)據(jù)稍微滯后。4.3 API Schema 的技能內(nèi)建校驗(yàn)讓錯(cuò)誤發(fā)生在調(diào)用前熱詞api error: 400 this models maximum context length is 1048576 tokens揭示了一個(gè)痛點(diǎn)LLM API 的錯(cuò)誤往往在 runtime 才暴露但此時(shí) skill 已經(jīng)執(zhí)行了一半。agent-skills協(xié)議把 API Schema 校驗(yàn)前置到 CLI 階段。manifest.json允許定義api_schema{ id: deepseek-chatv1, api_schema: { url: https://api.deepseek.com/v1/chat/completions, method: POST, request_body: { type: object, properties: { model: { const: deepseek-chat }, messages: { type: array, maxItems: 100, items: { type: object, properties: { role: { enum: [user, assistant, system] }, content: { type: string, maxLength: 1048576 } }, required: [role, content] } } }, required: [model, messages] } } }CLI 在validate時(shí)會(huì)用這個(gè) schema 校驗(yàn) handler 的輸入是否符合 API 要求。例如如果用戶輸入{messages: [{role: user, content: a.repeat(1048577)}]}CLI 立即報(bào)錯(cuò)“content length 1048577 exceeds max 1048576”如果messages數(shù)組有 101 項(xiàng)CLI 報(bào)錯(cuò)“messages array has 101 items, max is 100”。這比讓 deepseek API 返回400再處理快了至少 300ms且錯(cuò)誤信息更精準(zhǔn)。更重要的是它把 API 的業(yè)務(wù)規(guī)則變成了 skill 的編譯期約束。5. Skills 開發(fā)的避坑清單從 23 個(gè)真實(shí)故障中提煉的硬核經(jīng)驗(yàn)過去 18 個(gè)月我主導(dǎo)了 12 個(gè) agent 項(xiàng)目的 skills 開發(fā)累計(jì)處理了 237 個(gè) production issue。其中 83% 與agent-skills協(xié)議的理解偏差有關(guān)。以下是最痛、最頻、最該寫進(jìn) every team’s onboarding doc 的 7 條經(jīng)驗(yàn)每一條都帶著血淚教訓(xùn)。5.1 Manifest 版本號(hào)不是裝飾而是 runtime 的調(diào)度開關(guān)id: file-readv2中的v2不是語(yǔ)義化版本而是 runtime 的精確匹配鍵。我們?cè)l(fā)布file-readv2.1但 agent 的 skill registry 里只存了file-readv2結(jié)果所有/file-read命令都 fallback 到 v1因?yàn)?runtime 默認(rèn)只認(rèn)major.minor格式v2.1被截?cái)酁関2。解決方案協(xié)議規(guī)定后只能是v{number}或v{number}.{number}不允許v{number}.{number}.{number}。CI 流水線里加了這條檢查if [[ $ID ~ ^[a-z0-9.-]v[0-9]\.[0-9]$ ]]; then echo OK else echo ERROR: version format invalid, use v1.0, not v1.0.1 2 exit 1 fi5.2 Permissions 的 glob pattern 必須用雙星號(hào)單星號(hào)是陷阱permissions: [fs:read:/home/user/*]看起來(lái)能匹配/home/user/report.txt但 runtime 的 glob 引擎minimatch里*只匹配單層目錄**才匹配多層。所以/home/user/subdir/report.txt會(huì)被拒絕。正確寫法是/home/user/**。CLI 的validate命令現(xiàn)在會(huì)警告“*in permission scope may not match nested paths, prefer**”。5.3 Handler 的異常必須 throw Error不能 return { error: ... }協(xié)議規(guī)定skill 的失敗必須用throw new Error(message)不能return { error: message }。因?yàn)?runtime 要區(qū)分“業(yè)務(wù)錯(cuò)誤”和“系統(tǒng)錯(cuò)誤”。前者如文件不存在會(huì)返回404給用戶后者如 network timeout會(huì)觸發(fā) retry 邏輯。我們?cè)胷eturn { error: timeout }結(jié)果 runtime 當(dāng)成成功響應(yīng)LLM 繼續(xù)推理把error字符串當(dāng)內(nèi)容用了。5.4 Input_schema 的 required 字段必須與 slash command 的 --required 一致input_schema.required: [path]意味著/file-read命令必須帶--path參數(shù)。但 CLI 不會(huì)自動(dòng)檢查用戶是否輸入了--path它只校驗(yàn)輸入的參數(shù)是否符合 schema。所以如果用戶輸/file-read沒參數(shù)CLI 會(huì)傳input {}給 handler然后 handler 因?yàn)閕nput.path是 undefined 而 crash。正確做法CLI 的validate階段增加--strict-required模式強(qiáng)制檢查所有 required 字段是否在命令中出現(xiàn)。5.5 Credentials 的 scope 必須精確到 path不能只寫 domainscope: [https://api.deepseek.com/]是危險(xiǎn)的因?yàn)樗试S skill 調(diào)用https://api.deepseek.com/v1/models列出所有模型而不僅僅是chat/completions。協(xié)議要求 scope 必須包含完整 path[https://api.deepseek.com/v1/chat/completions]。我們的安全審計(jì)工具 now 會(huì)掃描所有 manifest報(bào)告 “overly broad credential scope”。5.6 Runtime 的 sandbox 不支持 require.resolve必須用 __dirname在 handler 里寫require.resolve(./config.json)會(huì)失敗因?yàn)?sandbox 禁用了require的大部分方法。正確方式是path.join(__dirname, config.json)。CLI 的validate現(xiàn)在會(huì)掃描require.resolve調(diào)用并提示“use __dirname instead”。5.7 Skills 目錄結(jié)構(gòu)必須扁平不能嵌套子目錄skills/file-read/v2/handler.js是非法的。協(xié)議規(guī)定 skills 目錄下只能是 skill 名目錄不能有版本子目錄。因?yàn)閕d字段已經(jīng)包含了版本信息runtime 通過id匹配而不是文件路徑。我們?cè)们短捉Y(jié)構(gòu)結(jié)果 CLI 注冊(cè)時(shí)把v2當(dāng)成 skill 名file-read反而找不到。最后分享一個(gè)真實(shí)技巧在handler.js開頭加一行console.debug([SKILL START], new Date().toISOString(), process.pid);并在manifest.json里加debug: true字段。runtime 會(huì)捕獲所有console.debug輸出打上 skill id 和 trace id寫入 structured log。當(dāng)線上問題發(fā)生時(shí)你能在日志平臺(tái)用skill_id:file-readv2一鍵過濾比 grep 日志快 10 倍。這個(gè)技巧沒寫在任何文檔里但每個(gè) senior engineer 都在用。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
播四月婷婷六月丁香| 99热在线观看精品| 成人短视频在线免费观看| 五月丁香好婷婷A片网| 97色在线视频| 玖玖综合色区在线观看| AA片在线观看视频在线播放| 国产激情综合五月久久| 色五月超碰| 天天综合天天做天天综合| 亚洲啪啪精品| 婷婷丁香18| 91综合色| 九九热在线视频观看| 激情五月第四色| 激情性爱婷婷| 玖玖综合色区在线观看| 91夫妻视频| 在线成人网站| 丁香九月综合| 久久亚洲天堂| 午夜丁香综合婷婷| 婷婷激情六月视频| 99精品色| 26UUU欧美| 快乐激情五月色婷婷| 久久ri精品| 99自拍视频网站| 人人看人人摸人人| 思思热在线视频99| 日本va视频| 久久这里只有精彩| 亚洲五月天色| 五月丁香六月婷婷亚洲天堂网站| 久热 91| 日本91在线播放| 婷婷五月天成人| 超碰chaompinm| 啪到高潮激情丁香五月| 开心五月婷婷婷美女| 五月丁香六月婷婷婷婷| 丁香五月婷婷骚视屏| 丁香五月综合色婷婷| 婷婷五月天综合网| 久青青久| 这里只有国产精品在线| 99热亚洲精品66| 激情五月无码| 九九色热视频| 色婷婷激情四射视频| 色欲久久久久| 久久精品系列| 国产成人99久久亚洲综合精品| 日本爆乳片手机在线播放| 俺去啦综合网| www.99热精品| 99热首页| 天堂美国久久| 天堂爱啪啪| 色婷婷四色| 日韩xx在线| 九九精品re免费视频| 日韩久操婷婷| 97av在线视频| 少妇口诉沐足视频播放器网址| 六月婷婷六月天天在线免费| 天天干肏夜夜| 超碰国产在线观看| 久热超碰| 色站9/| 葵花AV在线| 嫩草视频观看| 天天草天天爱| 婷婷五月免费视频| 丁香色色网| 人人播| 操99| 亚洲无aV在线中文字幕| 婷久看人爽| 天天艹夜夜爽| 中文成人在线| 久久综合九色综合97婷婷| 99综合97| 综合婷婷| 狠狠色噜噜狠狠| 99热这里只有精品18| 99热在线看| 99自拍网| 国产精女同一区二区三区久| 色噜噜狠狠色综合AV兰草影视| 婷婷免费精品视频| 99热一区| 99国产精品白浆在线观看免费 | 任你躁XXXXX麻豆精品| 日日操夜夜擼| 久久香蕉影院| 天天爽天天干| 激情久久伊人| 婷婷五月黄色激情在线| 色五月天综合网| 秋霞A V毛片| 中文激情网| 久久无码成人| 色热久资源| 日本成人小说婷婷六月| 色婷婷激情| 丁香五月婷婷国产av| 天堂色色色| 天天肏天天插| 99热这里只有精品青草| 精品99视频| 开心婷婷中文字慕| 欧美在线97| 丁香婷婷五月份| 久久精品五月天| 色网站99| 九九这里只有精品| 久久综合中文| 五月天久久综合| 精品一二三区久久AAA片| 99精品视频推荐| 九九这里有精品视频| www.婷婷五月天.com| 天天插天天干| 五月婷婷另类| 九九AV在线| 久久久av久av久片一区二区| sisi热国产| 五月婷婷五月| 天天色综| 免费视频无码| 国产操肏网站| 99热这里只有精品在线观看| 97伦色婷婷| 色激情综合狠狠婷婷| AV在线观看网站| 天天干天天爽天天操| 99热欧美| 丁香五月激情宗合网| 99精品视频网| 成人午夜免费电影| 啪啪色区| 五月丁香自拍| 狠狠香蕉| 婷婷色五月激情| 免费在线观看欧美激情xx小视频| 婷婷五月a| 思思热99在线| 韩国不卡AC视频| 能看的av片| 五月成人网站| 性婷婷| 欧美25p| 99视频在线播放大全| 四色五月婷婷在线观看| www.yw色| 岛国AV网| 中国AV性爱观看| 另类激情中文| 黄色99网| 色五月色五天色情网址| 九月色婷婷综合| 九九热99精品| 色久九| 97影院一级片| 五月天无码| 九九五月天| 婷婷九色| 这里只有精品免费视频| 六月婷婷私欲| 日韩性爱无码| 91热久久| 九九热99精品| 91天堂网综合| 开心婷婷五月| 天天五月情| 色域五月丁香| 丁香婷婷六月天| 亚洲激情AV| 丁香五月亚洲激情婷婷射| 欧洲不卡视频| 伊人婷婷激情| 97超级碰碰碰久久久| 精品,99| 九九色情网五月天 | 天天插AV丝袜中| www99xxxx五月丁| 夜夜躁婷婷AV| 色五月天成人在线| 激情五月天啪啪| 成人在线99| 日本va视频| Y11111111111少妇电影院| 激情五月久久| 色欲丁香久久| 9久热在线视频精品| 成人av免费观看| 五月丁香网av| 精品九九网| 成人在线不卡| 婷婷五月天六月| 久热黄色| 骚逼视频一区2区| 99热这里| 五月丁香六月婷婷开心网| 欧美三级黄色片久久| 久久五月天婷婷| 99色 色| 丁香五月综合激情啪啪| www.久99| 婷婷五月花| 五月丁香人妻| 99热这里只有精品13| 在线成人视频免费| 七七色综合| 欧美日韩999| www,色中色| 五月丁香婷婷成人版| 色99色| 丁香六月色婷婷| 9er热在线精品视频| 青青草伊人婷婷| 久热免费视频| 岛国AV网| WWW.色婷婷.COM| 久久99久久99久久99人受| yazhoujiqingav| 丁香婷婷基地| 无码区婷婷五月花开| 精品九九视频在线观看| 99热99日…..| 天天日天天狠狠操| 中文字幕 码精品视频网站| 国产操B| 色综合色色| 久久激情五月| 丁香五月天成人网站| 婷婷五月丁香色情| www.狠狠干| 99操中文视频| 超碰大香蕉网| 色玖玖综合网| 日韩久久色| AⅤ在线播放网| 亚洲亚洲人成综合网络| 六月婷婷激情| AA片在线观看视频在线播放| 丁香五月天啪啪| 999激情视频| 狠狠插日日干撸| 五月天婷综合网站| 久久久久久草黄色片AV在线观看| 久久这里只有国产| 五月色丁香综合| 国产 亚洲 在线| 亚洲超级碰| 大香蕉在线观看9| 精品欧美一区二区三区久久久| 5月丁香啪啪啪| 激情综合99| 婷婷免费视频| 激情综合色图| 欧美25p| 成人电影一区| 久热超碰| 丁香情色五月| 色99婷婷五月天| 色九九九综合| 久久综合中文字幕| 久草五月| 99在线视频在线观看| 久久五月人人摸| 777.色色| 99在线精品免费视频| 婷婷丁香色五月| 99国产这里只有精品| 另类五月激情| 六月婷婷久久| 99re在线播放| 在线亚洲综合网| 丁香五月婷婷少妇| 色九月婷婷| 97成人丁香婷婷| 99在线er热| 亚洲欧洲自拍图片专区五月天| 四色 爱 婷婷 精品 亚洲 五月天| 天天摸,天天爽| 米奇影视资源婷婷狠狠色激情欧美五月丁香| 亚洲综合新99视频| 激情五月影院| 五月天色图| 九九亚洲天堂| 99ri久久| 婷婷五月天婷婷| 婷婷 色 丁香 夜| XX久久| 色播丁香| 丁香九月激情在线视频| 九九久久99精品免费观看www| 狠狠综合| 五月丁香六月婷婷操操操| 色99色| 91热久久| 五月做爱| 五月天开心激情网色欲无码| 九九热最新| 99久久6| 成人αV视频免费观看| 888久久久| 色三级色三级| 天天插天天操| 天天色情站| 五月色激情综合网| 色婷婷六月激情| 久 久9 9 热 视 频| 亚洲综合久| Aaa久久| 婷婷播5月| 123草逼网| 天天日夜夜B久久| 丁香五月天中文字幕| 色99网| 丁香影院五月综合| 久久婷婷六月综合资源| 97干视频| 在线99色| 久久这里只有欧美| 9久热精品在线视频| 超级黄色片| 人人干AV| 国产毛片精品一区二区色欲黄A片| 无码一级片| 丁香婷婷五月激情综合| 大香蕉伊人99| 中文久久婷婷| 婷婷激情小说| 黄色成人AV在线| 九月婷婷综合八月丁香在线观看 | 天天拍久久| 中文字幕不卡+婷婷五月| 欧美在线ee日韩| 九九精品片一| 狠狠干狠狠干| 午夜美女人啪最红院| www.精品99| 五月婷色丁香| www.henhengan| 草草夜夜操| 五月天激情综合首页| 九九re精品视频在线观看| 五月停亭久久电影| 天天插天天插天天插| 欧美婷婷| 五月情四婷婷| 欧美内射AAAAAAXXXXX| 婷婷综合欧美| 99色色网| 久久久99精品| 男人的天堂在线婷婷| 色五月丁香在线| 俺去也五月| 99热国内| 精品99*| A久网| 婷婷最新地址| 亚洲九九视频| 久久婷丁香五月| 在线色婷婷| 欧美97p| www.9操| 天天色综合色| 97碰精品| 99成人| 五月激情射| 久久精品夜色噜噜亚洲a∨| 五月丁香婷婷啪啪网| 五月丁香啪啪网| 无码九九九九| 人妻AV在线| 99超级碰免费视频| 国产成人精品一区二三区熟女在线 | 狠狠999| 天天日天天插| 五月天婷婷成人资源站| 亚洲四色五月| 99热这里只有精品66| 99久久综合网| 五月色情婷婷| 亲子乱AV-区二区三区| 婷婷六月情| 国产永久一黄| 激情综合亚洲| av免费人人| 婷婷五月18永久免费网站| 婷婷久久五月丁香| 亚洲女婷婷五月基地综合久久久| 99在线综合视频| 婷婷丁香宗合888| 中文字幕AV在线播放| 国产午夜一区二区三区| 婷婷丁香五月天在线| 久久99免费视频| 亚洲乱码在线观看| 色五月天天| 色五月噜噜| 五月婷婷偷拍| 色狠狠色噜噜噜a天堂一区| 国产黄色一级片| 天天搞天天爽| 五月色激情综合网| 色99在线视频| 玖玖精品视频| 婷婷五月开心中文字幕色| 亚洲成人日韩无码精品| 激情五月影院| 亚洲热热视频| WWW、日本色丁香、co m| 丁香青青五月天| 99热精品无码| 欧美 日韩 成人| 九九激情网| 91干在线视频| 风流少妇A片一区二区蜜桃| 色婷婷久久综合久色综| 婷婷五月丁香成人| 婷婷色婷婷亚洲成人| 五月丁香综合久久夜夜| 五月婷婷六月丁香| 久久久com| 中国激情网| 五月婷婷丁香啪啪| 99色干| 婷婷97C| 色情综合网| 伊人www22综合色| 开心五月综合激情综合五月| 成人五月天在线观看| 99五月婷| 一级性爱大片| 婷婷五月天久| 欧美在线ee日韩| 99超级碰免费视频| 精品久久人妻| 天天精品视频免费观看| 天天操B| 免费在线观看av网站| 久久九九免费视频| 爱射综合| 久九色| jiZZdr| 丁香五月六月欧美| 色噜噜在线| 久久6这里只有精品| 国产综合色婷婷精品久久| 色吊丝99| 夜夜爱爱亚洲| 都市激情亚洲| 婷婷丁香成人五月天| 久久五月天 91| 国产精产国品一二三在观看| 国产黄大片在线观看画质优化| 超碰免费在线| 日本欧美成人片AAAA| 91avse| 99超级碰碰| 久久激情网| 九九精品热| 激情五月色播五月| 九九精品亚洲| 婷婷丁香六月| 成人无码精品1区2区3区免费看| 色婷婷久久久| 六月婷婷五月丁香| 成人无码髙潮喷水A片| 色一情一乱一乱一区91Av| 热99这就是精品视频| 99亚洲精品视频| 这里只有精品在线观看视频| 综合激情五月丁香| 少妇性BBB搡BBB爽爽爽视頻| 五月天另类小说久久小说网| 免费成人中文字幕| 久草视频一,二三四| 啪啪婷婷五月天激情| √天堂资源在线人妻熟女| 五夜婷婷| 先锋男人99资源| 婷婷五月综合在线视频| 99无吗| 激情久久久久久久久久| 国产在这里只有精品| 1024人妻| 高清免费在线视频| 色狠狠999综合| 国产在线中文字幕| 影音先锋 91工厂| 丁香五月综合在线视频| 久久人人九| 五月花免费视频| 第四色在线观看| 丁香五月天影院| 99热99美国在线观看| 五月丁香综合激情| 亚洲噜色| 久久综合激情| 色五月,com| 狠干综合| 亚洲爱爱无码婷婷色五月| 五月婷婷婷婷网| 九九AV在线| 久热超碰| 97热在线精品| 91人妻视频| AV在线观看网站| 熟妇人妻中文字幕无码老熟妇| www.久操| 色色色视频免费无码| 天天日天天干天天天| 超碰99在线| 97搞在线| 色五月激情问网站| 久久免费操| 人妻熟女一区二区AV| 91岛国片| 综合图区激情| 丁香色婷婷| 日韩啪图| 少妇人妻凹凸视频| 思思热99热| 99超级超级超级碰| 国产精品在线视频| 久热婷婷| 欧美VA视频| 97色伦另类图片小说视频 | 99久久精品网| 色色色色色色网站| 丁香五月人妻| 激情VA视频| 做爰丰满少妇1313| aaa丁香五月天| 少妇搡BBBB搡BBB搡毛茸茸 | 色色图五月天| 热99re| 婷婷色播婷婷| 欧美A级网站| 激情婷婷五月天| 北条麻妃伊人| 99精品在线下载| 亚洲综合婷婷| 99视频色在线观看| 日本久久网| 五月停停色| 婷婷五月天激情免费在线观看| 国产欧美精品AAAAAA片| 亚洲精品乱码久久久久久综合| 丁香五月综合| 色婷婷情片| 五月婷婷在线综合| 日本偷拍九九九| 五月色婷婷AV| seav天堂| 五月天玖玖狠狠色色| 中字幕视频在线永久在线观看免费| 五月婷婷偷拍| 色欲av伊人久久大香线蕉影院| 婷婷久久影院| 色色色在线观看| 婷婷色情五月| 婷婷久久精品| 五月天开心色情网| 99热91| 成人 在线 日韩| 97人人看| 五月色在线| 色情综合网| 99久久久久| 激情五月小说婷婷| 亚洲综合新99视频| 国产五月视频| 99热在线观看精品免费| 超碰中文字幕在线| 91视频精品99| 五月色婷婷在线观看| 亚洲色五月婷婷| 狠狠艹狠狠艹| AV中文网| 很很干天天干| 超碰亚洲天堂| 精品国产乱码久久久久久免费| 丁香婷婷少妇| 综合激情九月婷婷,激情综合婷婷中文字| 五月天久久综合婷婷丁香| 久久免费干| 久久人妻精品| 精品婷婷五| 亚洲乱码日产精品BD| 99精品爱| 亚洲婷婷基地| 国产激情久久久| 婷婷色日本| 丁香五月久久社区| 亚洲色久| 国产高清精品色| 视频在线免费观看欧洲乱码| 夜夜爽天天干| 色色丁香激情五月| 欧美色色色色色色色| 激情综合久久| 日日.c| 日本三级日本三级99| 天天色粽合合合合合合合| 色5月婷婷| 亚洲 视频 导航 一区| 欧美日韩99| 99国产性感视频| 超碰三级片| 欧洲色区| 色情五月天丁香社区| WWW色五月天| WWW、日本色丁香、co m| 五月色婷| 香蕉AV777XXX色综合一区| 中文字幕在线不卡| 无码AV大香线蕉伊人| 亚洲六月色婷婷| 另类综合激情| www.久久久久久久| 第四色色六月色综合| 99热综合| 天天做夜夜爽| 玖玖精品资源| 婷婷五月小说色综合| 欧美三级视频| 国产成人片| 婷婷丁香五月综合| 99热这里只有在线| 五月婷六月综合在线观看| 人人干人人操外国| 97超碰免费超级在线观看| 操逼国产91| 99热自拍| 婷婷综合网站| 狠狠狠狠狠狠| 五月天五月天激情网| 婷婷色五月激情| 开心五月婷婷婷美女| 婷婷五月丁香亚洲| www.超碰| 色色色色色色网站| 国产激情av| 婷婷丁香五月亚洲| 久色国产| 六月丁香五月亭亭| 在线VA视频| 51成人| 五月天基地| 99热传媒| 2050人人操免费工开爱| 激情又色又爽又黄的A片| 久久xxxx| 丁香五月影视| 欧美日韩123| 亚洲中文乱字字幕在线永久| 九九爱激情| 婷婷性爱无码视频| 五月激情婷婷色| 久思思久视频| 99热99ai| 99热这里只有精品国产免费| 五月丁香综合激情在线观看| 99热大全在线观看| 六月丁香婷婷综合色播| 五月婷婷丁香啪啪| 影音先锋女人av鲁色资源网小说免费| 91操碰| 91色在线 | 日韩| 人妻久久久久久久| 五月婷婷五月天在线| 色色AV色色色东莞| 婷婷成人视频| 久久伦乱| 99爱在线精品视频免费观看| 99免费| 婷婷五月天成人| 色99色| 久久五月婷| 蜜桃五月天| 91九色最新视频| 不卡在线视频| 99视频极品在线香蕉| 狠干综合| 91久久久久久久久18| 丁香 婷婷 激情 综合 五月| 五月婷免费视频久久久| 新激情五月开心五月婷婷五月丁香五月| 五月激情另类| 婷婷丁香人妻天天久久| 亚洲精品99| 一区二区成人电影| 欧美经典片免费观看大全| 202丰满熟女妇大| 琪琪色综合网站| 欧美婷婷色五月网| 91热在线| er99免费视频在线| 五月丁香成人视频| 色99网站| 亚洲天堂婷婷| 超碰97干| 好吊丝aV| 久久久久人妻精品| 丁香五月天婷婷激情| 色欧美一级| 久久五月天免费网站| 色婷婷久久综合| 夜夜做天天爽| 91人操人人人操人| 少妇伦子伦精品无吗| 午夜福利8055| 色色精品色| 激情五月天色婷婷| 开心激情网五月天| 婷婷97C| 任你草| 五月丁香六月婷婷亚洲综合| 婷婷五月天伊人网| 红桃91人妻爽人妻爽| 久久五月丁香| 在线超碰精品| 久久黄A片| 欧美激情综合色综合色| 久久婷婷五月天| 人五月天婷婷喷水| 中文网AV| 色综合色| 国产婷婷婷| 亚洲成人影视在线观看| 天天操综合网站| 久久99热这里只有精品| 国产44页| 亭亭社区五月天| 综合色色婷婷| 大香蕉伊在| 婷婷色五月久久| 色婷婷狠狠18禁| 丁香五月色色婷| 日日爽日日操| 丁香五月婷婷六月| 丁香婷婷91在线观看视频| 9999色色色色| 久久女婷| 久9热| 欧美影院| 久青草大香蕉| 综合激情深爱| 日韩性爱AV| 激情五月深爱五月| 激情综合亚洲| 中文资源在线a| 色丁香五月| 五月天社区婷婷| 激情五月丁香综合蜜桃| 亚洲人妻AV| 99人人操| 婷婷深爱五月| 日美三级| 婷婷五月丁香手机在线视频| 久热久69| 中文网av| 久久精品熟女亚洲AV麻豆| 久色姿源| 农村熟妇高潮精品A片| 熟女激情五月天| 99色精品| 超碰二区| 亚洲成人av在线| 精品久热69| 婷婷激情五月视频| 丁香五月欧美| 六月色激情| 天天色天天| 亚洲色基地| 国产密乳av一区二区三区四区| 99热免费18| 狠狠色综合久久| 潘金莲AAAAAAAAAA| 婷婷五月天天aV| 九月停停| 深爱婷婷网| 成人在线视频一区| 婷婷九月亚洲| 91久久婷婷| 可以免费观看的AV| 五月天另类综合网| 婷婷五月天VI| 六月丁香VA| av第一二区| 久久婷.com| 激情五月天色| 午夜不卡久久精品无码免费| 五月丁香狠狠| 五月婷婷六月综合| 欧美性久| 五月丁香爱婷婷深深| 夜夜爽天天| 人妻内射一区二区在线视频| 9久热这里只有精品| 五月婷婷丁香综合,亚洲天堂| 五月天婷婷激情小说电影| 丁香五月停停基地| 在线观看中文字幕| 五月激情综合婷婷| AV中文字幕夜夜操b天天摸bb| 99热地址| 99天堂网| 婷婷五月欧美综合| 激情五月天婷婷在线网址发给我| www久久久久久久97| 99热这里只有精| 开心五月综合激情综合五月| 亚洲色五月婷婷| 亭亭色色五月天| 丁香五月婷婷成人色区| 96精品国产综合久久久久久| 九九色色网| 五月丁香综合伦理片| 六月婷在线| 亚洲五月天激情| 婷婷五月天美女视频| 91狠狠综合网| 精品二区| www.超碰在线| 色情五月天婷婷| 婷婷月综合| 丁香婷婷综合激情五月色| 久久丁香五月天| 五月婷婷六月丁| 亚洲国产成人AV在线| 亚洲免费婷婷| 九九免费视频| 婷婷五月天视| 精品综合爱| 无码人妻精品一区二区蜜桃色欲| 涩综合婷婷| 婷婷天天舔| 99日精品视频| 丁香五月之久操视频| 丁香九月婷婷综合| 丁香婷婷在线| 婷婷五月亚洲激情| 天堂综合久| 激情五月六月婷婷综合啪啪| 99热第一页| 96精品成人无码A片观看金桔| 桃色五月天| 五月丁香五月激情综合色综合| 久热69| 亚州欧美黄色电影| 欧美99| 久综合| 国产成人+亚洲+欧洲| 五月天婷a在线| 国产脫衣舞一区二区三区| 久久综合26p| 婷婷色播婷婷| 97中文在线| 色狠狠婷婷| 天天插天天| 色日本丁香婷婷| caop在线视频| 婷婷爱五月| 色综啪啪| 8050一级网| 蜜桃五月天| 婷婷丁香色五月| 99九九在线视频| 色婷婷婷婷五月天| 色婷婷综合网站| 婷婷瑟五月天久久综合| 久久大香蕉| 九九亚洲综合| 婷婷五月激情的图片| 激情国产五月| 色婷婷在线电影| 精品影院| 大陆极品少妇内射AAAAAA| 狠狠干综合| 亚洲色五月婷婷| 婷婷色导航| 任你爽视频| 婷婷久月| 大香蕉九九| 久久婷色| 综合色五月| 天天婷婷综合亚洲亚洲| 夜夜干夜夜操| 久久婷婷视频| 色五月婷婷中文字幕| 五月天激情小说网| 欧美婷婷| 少妇人妻偷人精品无码视频新浪| 婷婷五月天成人网| 专区无日本视频高清8| av亚洲国产小电影| 精品一二三区久久AAA片| 欧美精品在线观看| 五月天操逼激情| 1024欧美看片| 丁香六月色| 五月天激情啪啪| 人人干99| 五月天婷婷色五月天| 777久久综合视频| 丁香六月激情综合网| 激情狠狠丁香月| 99热99热99热99热| 狠狠操狠狠操AV| 色色狼人综合| 天天日天天干天天操| 公的粗大挺进了我的密道| 影音先锋美国A| 综合五月激情| 丁乡久久| 99热免费网站| 婷婷娱乐丁香综合网| 五月天亭亭俺也| 色狠狠综合网| 能看的av| 久久日本wwww色| 精典久久| 操国产人妻| 丁香五月激情综合啪啪| 婷婷色操| 婷婷91| 香蕉曰比| 97碰碰视频在线观看免费| 五月天色狠狠| 天天操天天操天天操天天操天天操天天操| 99激情| 亚洲色五月| 99天天操夜夜操| 午夜九九九九九九九九九九九九九| 亚洲小视频免费播放| 最新五月天婷婷影| 婷婷久久精品| 亚洲中文字幕在线观看| www:99热视频| 六月激情婷婷色| 综合五月丁香六月婷婷| 爱射综合| 啪啪操网| 人人干天天舔| 夜夜夜夜撸夜夜操| 婷婷综合久久| 97碰成超视频免费视频| 99热这里只有精品21| 婷婷五月天免费视频| 操一操干一干| 五月五月婷婷| 狠狠操天天操天天操| 五月天激情综合网| 射婷婷中文字幕| 婷婷五月丁香六月| 五月婷婷开心丁香| 国产成人网站在线观看| 视频久久9| 欧美性爱特黄一级aaaassss| 51XX午夜影福利| 狠狠色综合图片| 狠狠艹狠狠艹| 欧美视频五区| 韩国97天堂| 人人爱天天摸摸天天爱| 一区二区乱码视频| 亚洲天堂玖玖| 亚洲综合网激情五月天| 精品久久久999| 色99欧洲色19| 艹| 久久久人妻| 99热免费精品| 国产密乳av一区二区三区四区| 99精品偷自拍| 欧美婷婷六月丁香综合色| 婷婷五月天国产| 九月婷婷在线视频| 激情综合网婷婷久久| 美女网黄| 丁香玖玖视频大全| 婷婷综合色五月天| 欧美色片中文字幕久久久久| 五月天激日本色情在线| 99热偷拍| 天堂在线9| 婷婷五月色激情欧美激情| 婷婷九月丁香中文| 1995年关宝慧版蜘蛛女| 欧美日韩欧美| 在线,国产,色,热视频| 五月天婷婷久久| 五月天丁香久久| 亚洲VA口| 久热精品在看| 婷婷天天婷婷天天澡| 久久九九热re6这里有精品| 草AV9999| caop视频| 亚州日本欧州韩美高青高潮一| 99热这里是精品| 日日操夜夜爽白洁| 丁香五月天堂| 色之综合网| 五月婷婷五月天| 久热视频A.| 色色色色热| 色五月开心婷婷| 色色五月丁香| 国产成人VA| 99在线精品免费视频| 六月色狠狠色| 婷婷情色开心五月天99| 五月色婷婷激情| 天天综合区| 婷婷开心久久| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 欧美大肥婆大肥BBBBB| 色小说婷婷五月天天天| 国产69久久久欧美黑人A片| 色的色综合| 成人 在线观看国产| 五月婷丁香亚洲| 一级韩国产精品毛| 99精品免费视频| 爆乳熟妇一区二区三区爆乳| 91精品久久久久久| 色激情综合狠狠婷婷| 丰满少妇猛烈A片免费看观看 | 久久久婷丁香五月| 狠狠色噜噜狠狠狠777奇米| 精品成人a v无码内射| www.9797国产| 99色视频在线| 色色网站免费观看| 视频在线免费观看欧洲乱码| 久久总和99| 综合五月丁香久久| 婷婷丁香六月天| 婷婷激情六月视频| 99精品激情| 婷婷中文字幕网站| 激情五月婷黄版| 激情五月,色五月| 婷婷五月天VI| 久碰婷婷视频| 人妻操逼| 丁香五月久久社区| 开心五月婷婷激情| 婷婷成人丁香色情基地30 | 狠狠色综合网站久久久久| 亚洲综合网激情小说| 天色色综合网| 久久九九热视频| 五月婷六月丁香| 久久色五月| 96精品成人无码A片观看金桔| 996日日爱| 久久免费9| 先锋影音av色五月天资源站| 久久久久人妻精品| 五月色丁香综合| 丁香六月婷婷社区| 91九色在线| 激情五月丁香亭亭 | 日韩欧美成人网| 996热| 成人电影丁香六月天| 热久久91| 天天色天天爱天天舔| 99热精品网| 日本天天操| 九九大香蕉黄色影院| 九九草热在线观看| 狼人狠狠操| 中文字幕人妻一区二区| AV操操操| 26uuu成人网| 能看的AV网站| 婷婷色综合| 丁香五月久久社区| 亚洲精品又粗又大又爽A片| 97性视频| 丁香成人色情五月天| 2014天天爽| 国产婷婷综合在线免费视频| 九九爱激情| 久热伊人| 粉嫩av蜜桃av蜜臀av| 2025年最新亚洲在线欧美 | 婷婷丁香激情| 久久色五月| 中文字幕不卡+婷婷五月| AV中文字幕夜夜操b天天摸bb| av国产精品| 天天日,天天插| 色爱99| 五月亭亭性| 思思久日精品视频| 婷婷区日本| 丁香婷婷激情综合五月激情| 欧美日韩国产一区| 秋霞av不能| 午夜在线成人网站免费观看| 色狠狠色噜噜AV天堂五区| 欧美在线视频99| 成人综合AV| 丁香五月天堂网| 深爱婷婷丁香五月激情| 涩涩网五月天| 亚洲99视频| 婷婷在线操| 婷婷激情综合无月| aaa丁香五月天| 99re在线观看| 久久久www| 日韩另类| 亚洲欧美成人在线| 自拍偷窥99热| 久久免费9| 99九色视频在线观看| 香蕉狠狠爱视频| 欧美天堂久久| 欧美在线看| 99热爱爱干干日| 丁香六月婷婷开心| 99热日韩| 久机视频这只有精品| 婷婷六月激情| 色玖玖综合网| 激情av| 开心五月天激情网| 伊人久久婷婷| 99热在线观看| 九九九九精品精| 丁香色婷婷色手机免费在线| 99在线视频。| 久久综合香蕉国产国产蜜臀AV| 99热99日天天干| 激情av网| www一起操| 91精品无码| 久久永久网址| 欧美久久五月婷婷| www.人人操人人看人人想人人摸 人人人人操,COM| 久久九九免费大视频| 丁香五月激情婷婷激情| 密桃激情五月天综合网| 精品久久久人妻| 99超级碰碰| 婷婷开心激情| 无码人妻丰满熟妇奶水区码| 日韩乱轮AV| 丁香六月婷婷社区| 五月丁香久| 五月婷婷亚洲天堂激情在线| 午夜精品777| 国产综合网在线| 六月丁香中文字幕| 亚洲国产99| 五月婷婷综合激情小说| 天综合日日夜综合7799| 亚洲不卡欧洲| 日韩a热| 五月网在线| 色五月婷婷操逼| 国产激情综合| 亚洲中文AV| 久久精品9| 色综合久久88色综合天天人守婷| 狠狠色噜噜| 乱码操操| 国产AV一区二区三区最新精品 | 99九九视频精彩在线| AV性爱在线| 激情综合视频| 国产ava| 五月天色婷婷小说| 夜夜操狠狠操| 五月激情影院| 亚洲国产另类av| 天天色综和网| 婷婷五月天狠狠| 99热这里只有精品16| 九九九干精品| 成人午夜无码视频| 国精产品一区二区三区| 久操福利| 日韩丁香涩| 丁香五月婷婷啪| 久久久人妻门| 久久免片| 超碰色人妾| 婷婷丁香第一页| 九九青草热| 熟女强人妻一区二区三区四区无| 在线成人视频免费| 国产99视频永久免费| 人人操AV| www.婷婷五月天,com| 色激情综合狠狠婷婷| 99精品在线观看| 亚洲成人在线观看av| 婷婷伊人网| 亚洲激情婷婷| 精品人妻在线免费观看| 国产美女无遮挡裸体毛片A片| 色五月综合97| 开心婷婷五月天电影院| 婷婷丁香花五月天| 97偷拍对白视频| 激情婷婷五六月天| 天天综合网91| 99热亚洲综合| 手机AVAV天堂看网| 99热综合网| 超碰色婷婷| 伊人五月天在线| 91丁香综合| 天天搞夜夜叫| 亚洲综合成人网| 超碰爱爱爱| 色五月婷婷五月天激情综合| 成人做爰黄A片免费看直播室男男| 中文字幕av在线| 人人干av| 中文字幕综合色| 丁香婷婷五色月| 亚洲成人在线播放| 91久久久久久久久18| 五月丁香久久| 九九热青青草| 99热99这里只有精品| http:色情日本com| 26uuu淫色| 成人午夜无码视频| 九九久久精品| 中文字幕综合网| 欧美激情综合色综合啪啪五月| 99热97| 色射7856五月天激情四射| 久久九九在线视频| 高清资源站日A美A欧亚…| 欧美综合激情五月丁香| 色五月首页| 日本的α片xxxwww| 丁香婷婷久久 | 五月丁香好婷婷A片网| 99色视频| 日本在线免费中文com.| 超碰91在线| 日日操夜夜操狠狠操| 99热日本| 天天摸天天舔天天爽| av亚洲国产小电影| 思思99re这里只有| 99A片| 六月婷婷开心|