免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
大香久久综合网| www,色色色网站| 国产肥白大熟妇BBBB视频| 久香草视频在线观看| 国产在线自| 色综合色色| 青草激情在线| 欧美综合在线五月天色婷婷| 国产日批视频免费播放| 激情五月丁香社区| 久激情| 婷婷深爱五月| caop在线视频| 久久99久久99精品免观看粉嫩| 婷婷五月天六月综合| 亚洲黄3级片网站欧美| 日本不卡一区二区三区| 激情综合亚洲| 深爱综合网| 天天射色五月天| 久久久婷| 丁香五月性| 五月婷色丁香| WWW久久99久久99久久| 色婷婷五月天| 亚州色色色| 99亚州综合精品成人网| www开心激情网| 大香蕉五月丁香| 91fuliwang| 亚洲天堂婷婷丁香| 午夜天堂一区人妻| 99ER热精品视频| 俺去也五月| 色欲影香| 色婷婷88| 大香蕉精品视频| 播五月丁香三月婷婷| 久久这里只有精品1| 天天 青草 制服丝袜 在线| 日熟女| 五月丁香色色色| 少妇伦子伦精品无吗| 久久久久人妻网址| 色色五月天网站| 婷婷色五月激情| 欧美情色一区| 五月丁香激情综合网官网| www.韩日视频| 色噜噜狠狠狠狠色综合久欧美| 色一情一乱一乱一区91| 婷婷色五月婷婷姐妹| 超碰在线观看9| 丁香五月天激情AV| 久婷视频| 色婷婷丁香网| 丁香五月影院| 综合激情在线| 六月久久婷婷| 激情av| 国产xxxxx在线观看| 被男人添B超爽视频| 亚城区在线| 婷婷五月综合社区| 国产乱人偷精品人妻A片| 婷婷丁香色情五月天| 51成人| 国产精品91抖高| 婷婷综合在线| 色五月天中文字幕| 新97人人上人人| 影音先锋男人AV资源站| 丁香五月天色婷婷| 66色在线日韩| 日本成人噜噜噜噜噜| 色色五月婷婷久久| 国内自拍97在线| 色五月激情五月开心五月| 五月丁香六月激情啪| 五月色情婷婷| 婷婷色五月激情强奸四射| 狠狠精品干练久久久无码中文字幕 | 色婷婷综合亚洲| 啪啪九九色| 日日干夜夜干| 日韩视频99| 91凹凸在线| www五月天激情com| 免費亭亭成人| 五月婷婷新网站| 综合一区二区三区| 狠狠色狠狠色综合日日91| 色热久资源| 99精品自拍| 人妻视频在线| 日韩99视频| 1234操逼网| 丁香婷婷六月| 99热每日| 五月丁香六月综合图| 无码激情AAAAA片-区区| 五月丁香六月| 久9热| 色婷婷激情| 亚洲激情综合| 久久婷婷视频| 久久久国产精品黄毛片| 午夜天堂一区人妻| 黄色中文字目| 99爱在线| 国产小网站| 成人丁香色| 丁香婷婷五月激情| 五月激情综合网| 色噜噜狠狠色综无码久久合欧美| 婷婷成人五月天| 99久久婷婷| 欧美特大片黄| 日本高清不卡免费一区二区三区| 久久色午夜在线导航| www久久久久| 婷婷六月综合激情| 丁香五月色情| 人人综合色| 97色婷婷在线观看| 如何安全看伊人婷婷| 欧洲激情五月天婷婷| 天天cha成人综合网| 色情五月停停丁香| 亚洲超碰在线| 亚洲精品国产A久久久久久| 亚洲天堂婷婷| 亚洲婷婷91丁香| 亚洲色婷婷激情| 深夜A片| 三级三久久线久久99久目本WW| 99性视频| 冬月かえでAV无码播放| 国产69久久久欧美黑人A片| 丁香五月婷婷啪啪视频| 九色 在线| AV天堂淫乩| 欧美日韩AAA| 五月丁香婷婷成人网| 97操在线| 白人荫道BBWBBB大荫道| 综合激情九月婷婷,激情综合婷婷中文字 | 九九黄色网| 五月丁香婷婷俺| 九九99久久| 午夜微拍福利| 婷激情五月天视频导航| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | tingtingjiqingwuyue| 五月色俺婷婷| 丁香六月婷婷| 99热精品观看| 激情丁香五月天| 少妇AB又爽又紧无码网站| 黄网在线观看免费| 精品综合爱| 丁香五月成人论坛| 色99在线| 91狠狠综合网| 天天天天天天操| 无码激情AAAAA片-区区| 亚洲成人综合在线| 日本99在线视频| 91久久国产综合久久| 午夜性爱影视一区77| 91成人性爱视频| 免费AV在线| 亚洲色99| 中文字幕人妻AV| 色情久久久| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 极骚大香蕉伊人| 色网站99| 欧美成人精品A片免费一区99| 五月丁香啪啪网| 色色色五月婷| 五月婷婷色综图片| 青青草轻轻操| 六月婷婷综合激情| 色婷婷操逼| 久久婷婷婷| 久久三级视频| 丁香五月天色| 国产精品久久久久久妇女6080| 天天综合亚洲综合网天天αⅴ| 夜夜骑夜夜撸| 亚洲第一色网站| 日日夜夜狠狠| 五月天婷婷黄色| 欧美日本不卡黄色片| 亚洲va欧洲va国产va不卡| 精品九九久久| 丁香五月天之婷婷影院| 色婷天天| 色色亚洲| 亚洲男人的天堂婷婷色五月| 精品国产a| 亚洲最大视频| 亚洲不卡| 国产精品人成A片一区二区| 成人色站,在线视频,看片-SS1AV| 国产肥白大熟妇BBBB视频| 五月婷婷 激情五月| 99热69| 99在线精品观看99| 五月丁香好婷婷A片网| 91碰操| 91狠狠综合久久久| 奸逼视频| 日韩操逼大片| 桃色成人网| 婷婷五月丁香五月综合网| 日韩在线视频中文字幕| 欧美69久成人做爰视频| 大香蕉伊人爱在线| 678五月丁香亚洲综合| 麻豆忘忧草午夜| 久久婷婷影院| 色天天综合| 久久大香蕉同僚| 专区无日本视频高清8| 色色AV色色色东莞| 电影爱拉战争免费观看| 五月天丁香综合在线| 99无码精品| www.久热| 91精品国产综合久久密臀| 99干视频| 九九热青青草| AA片在线观看视频在线播放| 99热免费精品| 五月婷婷视频28| 五月份婷婷| 男人視頻站| 亚洲亚洲人成综合网络| 天天日夜夜拍| 欧美色97| nvrentiantang av| 五月色俺婷婷| 色婷婷丁香五月高清在线| 99精品在线观看视频| 丁香五月激情啪啪综合| 亚洲亚洲人成综合网络| 丁香五月播播| 五月婷婷亚洲| 色婷久久| 激情五月四色| 五月婷婷自拍视频| 成人色五月天| 热99精品视频观看| 欧美噜噜噜草| 99re66热这里只有精品| 超碰91在线| 97欧美在线| 噜噜狠狠色综合久| Www.久久| CAoub青青超碰| www.9色色色| 久久久久久五月天| 亚洲亚洲人成综合网络| 99精品网| 亚洲乱码精品久久久久..| 超碰99热| 99国产精品白浆在线观看免费| 欧美大肥婆大肥BBBBB| 99熟女| 亚洲激情四射| 亚洲视频在线网站| 五月美女婷婷风骚| 热久久999| 精品婷婷丁香五| 亚洲啪啪精品| 香蕉久久国产av一区二区| 99免费热视频在线| 久久婷婷五月国产色综合激情| 丁香婷最新动态| 久热这里这里有精品| 五月天色综合服务平台| 99国产小视频| 色色无码| 开心婷婷五月| 久久九九激情五月天| 91热在线观看视频| 9精品视频在线| 亚洲旡码| 综合激情伊人影视在线| 九九视频免费| 综合激情综合啪啪| 亚洲色模骚货| 丁香五月网址| 九九热最新| 色伦专区97中文字幕| AV在线不卡播放| 五月丁香婷婷激情爱爱| 丁香九月久久| 天天插夜夜爽| 99综合久久| 日日操天天| 黄色五月婷| 久久婷婷影院| 五月天激情中文字幕| 亚洲 五月 婷婷 成人| 日韩视频99| 97碰碰人人| 九九热99久久99| 色偷偷狠狠| 色婷婷丁香五月在线观看| 九九成人视频| 色射影院| 99热只有这里才是精品| 电影爱拉战争免费观看| 插插干干干色| 婷婷五月天首页| 六月丁香影院| a久久| 六月婷婷开心| 玖玖爱资源站| 五月丁香网站| 久久五月婷综合| 国产原创视频91九色| 91热视频| 五月天AV大香蕉| 久草九九| 色性综合| 天堂草在线看www| 天天插天天日| 天天干夜晚夜操| 91九色网| 色色999三级片| 久久九九99桃花视频| 精品久久婷婷| 天天射夜夜爽| 婷婷五月综合激情免费视频| 亚洲在线操| 国产古装妇女野外A片 | 久久五月网| 六月 丁香 视频| 日韩色色视频| 色综合婷婷99| 久久综合干| 五月婷婷高清| 五月婷在线| 97在线精品| 狠狠精品干练久久久无码中文字幕 | 91网站黄| 午夜婷婷六月天| 亚洲六月婷婷| 丁香五月天堂网| 久久性都花花世界成人免费视频| 伊人激情综合网| 精品99爱免费视频在线观看| 第四色五月婷婷| 色婷婷亚洲精品天天综| 久久爱综合| 超碰免费99| 色久五月| 亚洲色在线观看| 亚洲精品久久久久久久久久飞鱼 | 五月婷婷啪啪啪啪| 色综合久久88色综合天天99| 色色婷五月天| 久热69| 亚洲精品视频在线播放| 婷婷五月精品中文| 26uuu欧美亚洲日韩| 狠狠干五月天| 天天干,天天日| 午夜激情久久| 日日夜夜综合| 精品亚洲国产成AV人片传媒| 五月婷婷色播| 激情六月日韩| 精品亚洲国产成人A片在线鸭王| 丁香五月手机视频| 亚洲五月婷婷在线| 开心五月婷婷| 日本偷拍九九九| 久久老码第一| 久热九九| 亚洲免费在线观看岛国| 成人婷婷五月天| 国产成人AV在线播放| 天天狠狠综合精区| 91精品电影18T| 五月天啪啪啪| 亚洲无码性爱| 停停色综合伊人| 激情综合五月天| 成人在线观看国产| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 一区=区操屄高清大全av| 国产乱码久久| 日本久久综合| 玖玖精品婷婷| 99综合| 色婷青青| 五月亭亭激情综合| 婷婷精品视频| 免費亭亭成人| 五月婷久久| 男人天堂99| 五月婷婷成人| 婷婷五月丁香综合桃花色网| 五月丁香影视| 91九色中文| 色婷婷五月天不卡| 老司机视频lsj爱就色| 婷婷成人五月天一区| 9l视频自拍9l九色成人| 五月丁香日本片| 亚洲啪啪啪啪| 国产1区2区3区在线观| 婷婷五月丁香综合| 99热这里都是精品| 婷婷亚洲综合| 久婷| 99热这里只有精品16| 99人人操人人操人人精| 婷婷久久免费| 九九色之九九色88| 激情综合网五月| 久久久久久久97| 人人人操| 99超级碰免费视频| 婷婷亚洲综合| 日在线V视频在线播放| 色五月亚洲| 久久亚洲网| 欧美激情综合五月色丁香| 婷婷色播六月无码| 成人做爰黄A片免费看直播室男男 久草热8精品视频在线观看 | 在线观看中文字幕| 视频综合网| 开心五月激情网| 狠狠色五月激情| 天天噜噜| 五月婷婷色丁香| 韩国不卡AC视频| 天天情色五月天| 久久综合五月天激情小说网站| 另类小说五月天激情| 无码少妇高潮喷水A片免费| 欧洲激情五月天婷婷| 丰满老熟妇BBBBB搡BBB| 丁香五月色情| 97热超碰| 性爱视频99| 国产亚洲色婷婷99精品| 婷婷综合性爱网| 久久 视频这里只有精总| 91久久九色| 神马欧美精| 91色在线/日韩| 色播五月婷婷| 日日舔夜夜操| 日本啪啪网| 91综合在线| 久久激情综合| 婷五月天| 久久久激情| 欧洲亚洲免费视频区| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 色色色com| 丁香五月亚综合图片| 啪啪夜久久| 99热国产免费| 99无码黄色视频| 狠狠爱婷婷爱| 中文字幕乱码亚洲精品一区| 天天搞天天爽| 少妇婷婷五月天| 我想看国产大学生口爆吞精的视频| 久热超碰91| 伍月婷丁香婷| 色哟哟www| 色人久久| 激情综合五月婷婷| 激情五月天之六月婷婷| 天天综合五月天| 99色天堂| 五月婷婷影院| 激情网狠狠干| 99 r热| 久久九九热re6这里有精品| 色哟哟www| 日韩五月天婷婷| 91丨九色丨白浆秘| 婷婷丁香久久网| 婷婷五月天色色| 色色综合视频| 深爱网深爱综合网| 狠狠久久婷五月| 操逼五月婷婷| 五月天综合视频| 色婷婷综合网| 五月四色婷婷| 成人五月天婷婷| 狠狠色丁香婷婷| 日本精品人妻无码77777| www.henhenl| 婷婷五月色网| 六月婷婷深深爱| 亚洲免费观看高清完整版AV线| 搡BBBB搡BBB搡五十| 91人人网| av狠狠操| 丁香六月久| 亚洲九九免费| 四色永久成人网站| av操一操| 色五月婷婷1| 九九婷婷激情综合网| 九九99久久| 婷婷伊人综合中文字幕| 综合网亚洲| 丁香涩涩五月天| 中文字幕成人| 欧美极品999| 婷婷的色色五月天| 五月激情婷婷四射| 综合久久十三| 超级碰碰碰久久网站| 男女啪啪做爰高潮无遮挡| 超碰人人超碰| 婷婷久久精品| 无码人妻电影| 五月丁香激情婷婷| 激情丁香九九五月综合网| 天天爽日日爽夜夜爽| 久久婷婷六月综合资源| 777久久精品| 丁香五月婷婷黑人妻黄色电影院| 日韩无码成人电影| 激情综合区| 久久99激情| 人人干人人操外国| 五月丁香婷婷激情影院欧美| 亚洲AV免费国产电影| 日韩aⅴ视频| 综合福利网| 99热 日韩| 激情5月婷婷| 国产偷人爽久久久久久老妇APP| 五月色婷婷综合| 天天干电影| 99热婷婷| 色色热| 丁香色五月 97干| 成人看片网站| 99精品无码| 九九热在线视频| 国产精品国产成人国产三级| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 久久丁香五月| 日韩啪啪网| 91日本在线观看| 超碰av在线| 天天爽天天干| 国产高清av黄色看片| 久久综合99综合| 成人做爰A片免费看视频| 亚州在线中文字幕| 99啪在线视频| 玖玖激情五月天| 九九国产视频| 亚洲看av的网站| 五月丁香六月婷婷在线播放| 怡红院一二三| 亚洲情欲| 国产乱妇乱子在线播视频播放网站| 成人美女网| 欧美一级a | 六月亭亭久久综合激情| 狠狠99| 99A片| 福利视频在线播放| 天堂亚洲 在线| 台湾无码A片一区二区| 成片免费播放| 色婷婷六月综合| 思思精品视频| 五月丁香人妻| 激情亚洲五月| 久9久9久9久9久9久9| 亚洲色婷婷色| 五月激情久久| 狠狠干狠狠色| 久久精99| 亚洲AV免费在线| 亚洲婷婷丁香五月天激情小说| 色五月影视| 丁香六月婷婷综合激情欧美| 激情内射人妻1区2区3区| 国产AV网页| 伊人影音无码一区二区三区| 丁香五月六月欧美| 爱操人妻| 91碰操| 91九九| 五月激情丁香| 五月天激情小说| 五月激情四射网站| 久久东京热婷婷五月| 丁香五月婷婷六月婷| 色丁香五月| 五月天激情小说| 五月丁香A片| 亚洲激情在线| 丁香五月婷婷六月丁香| www,999日本色| AV成人在线播放| 开心亚洲久久开心| h亚洲| 亚洲亚洲人成综合网络| 五月天婷婷香蕉狠狠超碰综合| 五六月丁香激情视频| 国产激情在线| 色九四色| 丁香五月婷婷亚洲综合精品在线| 日韩久久色| 五月婷A V在线| 97九色| 96丁香六月婷婷蜜桃综合久久| 国产成人+综合亚洲+天堂| 墨西哥毛片内射精| 久久久99精品| 另类视频在线| 久久婷婷五月天蜜桃| 噜噜精品| 日本色色影片| 97丁香花五月天激情小说| 这里只有精彩视频| 久9草在线观看视频| 丁香五月综合激情久久潮喷| 99噜噜| 午夜日韩久久久网站| 六月丁香婷婷天堂| 亚洲中文乱字字幕在线永久| 综合 蜜月 婷婷| 婷婷五月天另类网站| 99热久| 久久东京热婷婷五月| 婷婷色操| 99玖玖人人| 1010日日无码| 果冻传媒A片一二三区| av在线超清中文| 色情综合| 丁香六月婷婷久久高清| 野战毛片三一3| 综合 激情 婷婷| 99爱这里只有精品| 裸体做A爰片毛片A片免费| 婷婷色色网| 亚洲第一成人无码A片| 啪啪婷婷五月天激情| 综合激情视频| 五月婷婷亚洲综合在线| 欧美丁香五月夫妻天| av人人操| 欧美日韩aaaa| 99视频日韩| 日本熟女一区二区| 日韩啪啪自拍| 天天干夜夜想| 六月丁香婷婷综合影院| 天天干天天拍| 久热超碰91| 在线观看免费狠狠色丁香香综合| 激情婷婷九月| 久久九九爽| 久久性爱视频| 热99在线| 六月色色综合| 婷婷在线五月综合| 婷婷五月天成人网站| ...婷婷五月综合不卡,国产在线手机| 亚州色色色| www.91在线看| 亚洲综合五月天婷婷| 激情综合网五月在线播放| 婷婷香五月天| 亚洲人妻一区二区| 婷婷五月日本| 97超碰在线免费观看| 久久婷婷青草五月天| 五月天婷婷综合| WWW五月天| 热久久婷婷| 蜜桃人妻无码AV天堂三区| www.97碰碰com| 婷婷丁香熟妇综合网| 99这里只有免费的小视频在线观看| 欧美成人精品三区综合A片| 五月色欧洲| 婷婷色基地在线看| 六月婷婷综合| 色必久悠悠影院| 激情婷婷护士激情| aaa久久| 激情五月综合色| 淫五月停停| 成年人丁香五月| 午夜成人天堂久久无码日韩久久| 风流少妇A片一区二区蜜桃| 亚洲色亚洲精品| 操逼巨乳91| 天天爱天天操| 五月花在线观看视频| 96精品久久久久久久久| 欧美电影在线播放| www.com五月天| 亚洲色综合| 婷婷在线五月综合| 少妇搡BBBB搡BBB搡毛茸茸 | 婷婷色五月综合丁香| 大香蕉娱乐| 美日韩成人| va婷婷在线免费观看| 色婷婷先锋| 开心激情站| av狠狠操| 五月天自拍网| 激情九月天天天天婷婷| 伊人综合网站| 色九月婷婷综合| 伊人天天色| 97色图片中文字幕视频在线观看 | 国产精品第一国产精品| 色色a| 青青草护士中出内射-欧美电影在线天堂新版| 玖玖综合玖玖| 另类图片五月天| 欧美性爱中文字幕| 久久成人综合五月天| 色婷另类| 五月婷久久综合| 激情综合婷婷| 99爱视频| 国产裸舞表演WWWW| 欧美噜噜久久久XXX| 黄色av高清| 狠狠干狠狠干| 五月婷婷,狠狠操| 丁香五月天啪啪激情综和网| 色九月婷婷| 亚洲成人AV在线| 亚洲宗合激情| 天天日天天爽| 99九九热视频| 久久伊人五月天| 思思99精品视频在线观看| 4399在线观看免费毛片| 午夜丁香久久久久久| 色99视频| 婷婷成人综合| 超碰99资源站| 毛片毛片毛片毛片| 丁香六月激情综合网| 五月六月播婷婷| 高清成人综合| 99久热在线精品99re6热| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 激情综合在线播放| 丁香五月婷婷天激情| 激情五月综合网| www超碰| 综合五月丁香六月婷婷| 精品久久这里热66| 色欲AV导航| 婷婷五月天激情影片| 这里只有精品99视频| 亚洲综合婷婷| 久久丁香| 大香蕉啪啪网| 五月天天堂久久| 99狠狠| 97久久久免费福利网址| 91色五月在线观看| 综合五月激情| 91精品91久久久久77777| 丁香五月婷婷欧美性爱| 久久久国产精品黄毛片| 亚洲综合在线视频| 国产毛多水多女人A片| 久久99久久99精品免视看婷婷| 色99网| 欧美操人| 婷婷成人五月天| 9有码中文| 五月天丁香网站| 久久与婷婷| 久草五月天| 性综合网| 色综合天天| 黄色国久久| 黄色av高清| 久9热在线免费观看| 日本久久高清| 精品婷婷五月视| 五月花激情网| 91碰碰碰| 日日婷婷不卡| 激情五月天色播| 99re久久| 九九99九九精品视频| 国产精品涩涩涩视频网站| 五月丁香网av| 色婷婷激情小说网| 欧美综合五月丁香五月天| 久久婷网| 无码动漫AV| 色亭亭九月| 五月天婷婷丁香人人操91| 好吊操这里只有精品| 思思久久99| 强辱丰满人妻HD中文字幕| 色色性爱视频| 色五月婷婷五月久久| 久9久成人精品视频| 五月天婷婷久久视频| 久久婷.com| 成人丁香五月天| 中文网婷婷字幕婷| 青青热久久综合| 丁香五月天激情婷婷丁香六月| 日韩另类在线观看| 亚洲V国产V欧美V久久久久久| 操老逼综合网| 久色视频| 婷婷五月天视频在线观看| 91网站黄| 123草逼网| 五月停视频天堂| 色爱五月天| 婷婷六月丁香五月图区| 婷婷五月天亚洲综合| 婷婷五月天激情网站| 538任你爽视频不一样的| 激情五月天激情网| 天天色天天干天天插| 久操人妻| 亚洲人人操| 五月开行婷婷色五月| 国产精品日日躁夜夜躁| 最新无毒无码AV| 日本99在线| 丁香五月天成人| 日韩在线视频中文字幕| AⅤ网站在线看| Blackedraw视频一区二区| 很很操很很操| A网在线欧洲| 婷婷在线中文字幕| 伊人狠狠操| 婷婷丁香成人五月天| 丁香五月婷婷偷拍| 五月天婷综合| 天天狠狠色噜噜| 26uuu成人网| 在线观看av网站| 久/久精品99看9| A久久| 婷婷激情图片| 91精品久久久久| 婷婷色综合中心站| 一起草AV| 自拍偷窥99热| 丁香五月天激情综合| 五月天色五月天| 久久婷丁香五月| 婷婷五月天午夜激情影院| 老师的粉嫩小又紧水又多A片视频| 日韩一级片| 激情丁香五月天| WWW.开心五月天.COM| 色色色色色级无码| 另类专区在线| 丁香婷婷老熟女综合网| 99免费在线| www.五月丁香| 超碰人人91| 日韩五月丁香| 天天爽天天透天天爱| 青青草护士中出内射-欧美电影在线天堂新版| 婷婷97碰碰| 色天堂在线| 日逼影音先锋AV男人资源站| 9精品久久999| 色婷网站| http:色情日本com| 2018国产大陆天天弄| 99热6这里只有精品| 99热热这里只精品996小说| 蜜臀99精品| 日韩精品二三区| 天天干天天干天天干天天干天天干| 久操热| 久re热视频| 久久人妻超碰一区| 久久东京热婷婷五月| 99re思思在线视频| 久久五月六月| 久99999热视频在线观看免费| 五月天综合视频| 激情五月婷婷综合| 射久久丁香五月| 日日噜噜久久婷婷五月天| 婷婷伊人久久无码色五月| 欧州婷婷五月天综合| 日本精品人妻无码77777| 久久5 9视频免费观看| 开心五月婷婷在线| 九月婷婷激情| 丁香五月在线视频黑人| 久久婷狠狠色| 一级操逼大片| 九九99精品视品| 色都都狠狠色都都色综合色| 欲色人妻| 色五月激情综合网站| 五月婷婷婷综合网| 国产综合色婷婷精品久久| 99啪啪视频| 亚洲一个色| 九九这里精品| 韩国三级五月天婷婷。| 亚洲婷婷婷| 亚洲第一精品成人999久久精品| 色婷婷五月天小说| 国产精品视频| 激情综合色图| 婷婷99综合| 九九九九无码| 日韩操啪| 久久永久网址| 三级成人网站| 性综合网| 大香蕉婷婷| 婷婷五月综合性爱| 9999热在线观看| 色播五月婷婷综合| 狠狠五月天激情| www.狠狠操| 丁香五月影院| 极品五月天| wWwCom夜操wwW| 丁香婷停五月激情综合深爱| 婷婷五月天国产在线播放| 久久五月天视频| 色婷婷丁香五月| 97人妻碰碰碰碰碰久久久久久| 在线中文字幕av| 五月激情综合深爱| 色五月五月婷婷| 亚洲在线免费成人| 青青草原伊人网| 色综合五月婷婷狠狠干| 婷婷五月六| 九九色综合九九色| 91免费试看| 少妇高潮一区二区三区99欧美| 影音先锋人妻出差| 九九热啪啪| www.婷婷五月.com| 欧美色色色| 婷婷激情五月天在线视频| 9l视频自拍九色9l视频在线观看| 婷婷综合久久| 婷婷涩五月| 欧美日本一区二区三区| 五月天综合| 伊人久热91| 五月丁香六月婷婷不卡免费无码| 日日操天天操| 67194线路二在线观看| 超碰在线人人| 五月深爱激情网| 少妇AB又爽又紧无码网站| 亚洲爱婷婷| 婷婷五月偷拍| 丁香五月在线播放| 99福利导航| 九九精品在线观看视频6| 亚洲国产精品VA在线看黑人| 久久久久久97| 色偷偷五月天| 亚洲超碰青涩| 99,色| 天天操无码| 丁香伊人五月色婷婷五十路| 婷婷亚洲丁香五月| 欧美日韩一区二区三区四区| 免费看无码视频A级| 日日射天天射| 久久精品99国产精品日本| 丁香九月久久| 内射综合网| 久久aaaaa| 色婷婷www| 精品成人在线| 天天草天天日| 96精品成人无码A片观看金桔| 色,激情五月天| 精品女人九九九| 色综合网页| 狠狠色综合网站| 午夜不卡久久精品无码免费| 久久这里面只有精品视频| 色噜噜婷婷| 九九成人精品免费视频| 大香蕉伊人99| 色琪琪一综合久久激情五月视频| 久久人妻乱| 天天综合五月天| 婷婷性福五月天| 九九色大香蕉| 午夜婷婷久久 | AA片在线观看视频在线播放| 六月婷婷无码观看| 久久综合五月| 99 频99热国里只有精品| 精品久久人妻| 不卡在线中文字幕无| 丁香五月婷婷天激情| 国产69久久久欧美黑人A片| 99热这里只有精品96| 欧美大片| 99在线精品视频免费观看20| avh片在线观看| 噜噜狠狠色| 97自拍99| 久久性爱视频| 人妻久久久久| 乱岳熟女50岁| WWW五月天| 婷婷五月天综合久久日美女| 性天天中文网| 超碰猛烈的性猛交| 五月天丁香| 99欧美| 91狠狠综合久久久久久| 九九色99| .肏屄视频一区二区| 久久五月天网| 丁香五月天网站| 欧美交换配乱吟粗大25P| 婷婷深爱色五月| 在线色婷婷| 丁香六月婷婷色XXXXX| 中文无码婷婷| 六月色色| 激情婷婷网| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 五月天最新网| 日本黄色在线观看| 丁香五月天激情视频| 99热这只有| 麻豆123区| 日本婷久久| 色播五月天天| 婷婷五月丁香四射| 亚洲中文字幕网| 五月天婷五月天综合网在线观| 婷色综合| 激情综合区| 激情五月丁香在线观看直播| 婷婷WWW久久| 色婷婷小说| 天天狠狠插| 欧美色图天堂网色| 九九激情综合| 亚洲激情免费视频| 夜色综合网| 日本精品人妻无码77777| 丁香5月啪啪| 国产精品操| 桃色五月婷婷| 伊人久久婷| 五月婷婷九| 久久婷婷网站| 色九月丁香婷婷蜜桃在线观看| 国产午夜精品一区二区| 色丁香婷婷美女视频网站| 色婷久| 色婷婷8| 婷婷丁香宗合888| 五月婷婷精品视频| 97久人人| 日美三级| 99操视频| 午夜成人网站在线观看| 激情校园 亚洲| 激情综合啪啪| 99碰碰碰| 丰满少妇猛烈A片免费看观看| 深爱激情综合| 婷婷涩五月天综合| 日韩成人综合网| 久9久成人精品视频| 五月丁香亭亭| 在线播放中文字幕| 色色亚洲| 五月丁香六月情亚洲| 亚洲天堂亚洲色色色| 亚洲小电影在线观看黄999| 五月色情婷婷| 99网| 任你草| 日韩啪| 久久99激情| 五月婷婷在线综合| 精品怡红九九九| 久久精品综合色| 欧美婷婷色五月网| 国产99久9在线+|+传媒| 在线只有精品| 激情六月天| 狠狠狠狠狠狠色| 五月丁香色综合| 丁香婷婷六月在线资源观看| 五月天综合区| 精品热九九| 激情婷婷五月| 五月 婷婷 成人| 亚洲激情高潮| 六月色色综合| 五月天激情黄色小说在线观看| 欧美性猛交99久久久99| 色婷婷五月丁香色| 91/九色黑人| 欧美黄色一级录像| 人妻无码视频网| 丁香综合网| 丁香五月婷婷啪啪| 天天爽夜夜操| 色色色成人网| 99热官网| 亚洲天天操| 久操热| 欧美日韩91| 激情图片五月天| 五月大香蕉| 色五月丁香五月| 婷婷午夜天| 五月天另类视频| 婷婷色五月天在线观看| 日狠狠| 亚洲av骚货| 免费看欧美成人A片无码| 99自拍视频| 亚洲成人无码专区| 热九九精品| 最新高清无码专区| 丁香婷婷AV| 丁香五月玖玖| 久热伊人9| 大香蕉九九操| 99热综合网| 99热伊人| 26UUU亚洲欧美| 婷婷五月天偷拍| 九九色综合视频| 9久热在线视频精品| 午夜天堂啪啪| 丝袜大香蕉| BBWCUCKOLD精品熟妇| 69久久久| 色五月婷婷av| 免费九九热| 99视频精品8| 色人妻五月| 99精品一二三四视频| 综合色色网| 亚洲亚洲人成综合网络| 五月丁香A片| 色99色| 午夜理论片最新午夜理论剧| 天天婷婷天天| 五月丁香在线观看| 色情五月婷婷| 99热综合网| 久久婷婷五月综合色丁香花| 日本久碰| 五月丁婷香| 99热在线这里只有精品| 狠狠色成人影片| 99综合| www.韩日视频| 99色在线视频| 99在线看片| 97热在线精品| 五月激情综合网| 9色天堂| 丁香五月激情天AV无码| 五月丁香六月综合激情网| 99色干| 人人摸人人搞| 国产伊人大香蕉| 亚洲VA欧美VA| 五月激情久久综合网| 六月激情婷婷| 在线观看免费视频| 9热在线观看| 99热精品综合| 五月天综合网| 久久女伦| 久久丝袜婷婷| 涩涩涩.com| 狠狠色综合网| 色婷婷成人久久| 五月婷婷这里都是精品| 影音先锋一区| 五月桃花网综合| 秋霞黄色一级久久| 婷婷五月天BBw| 亚洲色五月| 婷婷精品免费久久| 99热精品一| 97精品综合久久| 免费成人网在线观看| 久久这里只有精品网| 激情深爱五月天| 狠狠爱婷婷色| 五月婷婷激情四月| 九九热婷婷| www.婷婷五月.com| 五月婷婷这里都是精品| 69久久99精品久久久久婷婷| 五月色情婷婷| 婷婷综合激情五月综合| 操99| 激情文学第四色婷婷丁香五月| 涩涩五| 国产人妻人伦精品一区二区| 五月丁香美女视频| 丁五月激情视频免费| 久久综合图片| 久久久久久丁香五月| 婷婷五月激情中文字幕| 色婷婷操逼| 99精品在这里| 9l视频自拍九色9l黑人| 久久机只有这里精品| 狠狠色噜噜狠狠狠狠综合| 超碰成人在线观看| 久久婷婷久久| 六月婷婷最新网址| 久久色情综合免费网站| 伊人无码高清| 婷婷基地成人五月天| 人人爱操| 五月久久五月激情| 亚洲中文乱字字幕在线永久| 久久99综合| 久久激情五月天| 国产操B视频| 婷婷综合五月天| 婷婷色中文| 中文无码婷婷| 九九日本视频|