免费国产精品自在自线-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
返回資訊列表
精品久久婷婷| 99成人精品| 亚洲色另类| 婷婷5月开心6月| 久久久久久婷| 色级停停| 成人日韩欧美| 99热最新| 超碰在线人人| 开心婷婷五月| 日日噜狠狠色| 色噜噜婷婷| 第四色婷婷日本| 9久9久9久女女女九九九一九| 超碰在线9| 五月丁香在线国产 | 综合婷婷久久| 色偷偷色婷婷| 婷婷五月天欧美图片在线播放电驴| 91vip在线观看| 欧美情色电影一区二区| 中文字幕乱码亚洲精品一区| 日本综合色图| www.天天干| 五月丁香婷草| 色婷婷丁香五月| 丁香五月婷婷乱| 超碰人人操人人干| 中文字幕av在线| 亚洲人成网站999综合| 久久久婷| 亚洲网在线观看| 26uuu成人网| 婷婷无码五月天| 26UUU在线观看| 丁香五月首页| 亚洲思思热久| 二人电影免费版在线观看| 97碰成超视频免费视频| 婷婷五月丁香超碰| 亚洲婷婷91丁香| www.五月婷| 久久大大香| 亚洲精品一区中文字幕乱码| 99热在线观看| YW无码| 国产偷人爽久久久久久老妇APP| 91爱啪啪| 国产亚洲成AV人片在线观黄桃| 丁香婷婷基地| 香蕉人妻AV久久久久天天| 日韩视频99| 九九久久五月天| 日本婷婷在线| 激情综合网五月天| 久久精品99国产精品日本| 婷婷五月天色| 任你干线上免费视频有3吗| 在线18av | 少妇AB又爽又紧无码网站| 婷婷网五月天| 三男玩一女三A片| 婷婷99狠狠| 99ri在线视频| 亚洲激情Av| 伦乱人妻| 操碰97| 五月婷婷综合激情| 天天色天天噜| 成人在线99| 欧洲色色| 国产欧美熟妇另类久久久 | 日本色五月| 五月婷婷深深爱| 五月丁香综合啪啪| 婷婷五月天天激情| 色五月丁香六月资源站| www.成人婷婷综合| 五月天久久婷婷| h在线看免费版在线看| 激情98色婷婷五| 秋霞九九无码| 99热这里只有99| 五月婷婷之六月丁香| 丁香色综合| 思思热这里只有精品| 日韩综合久久| 另类图片激情五月天| www99热| 俺来也综合网精品一区| 79精品视频| 五月婷婷偷拍| www久久久久久久久久久久久久久久久| 久久精品日| 亚洲成人网在线观看| 亚洲婷婷月丁香五月| 色综合色色色色色| AV九九| 成熟妇人A片免费看网站| 婷婷伊人五月丁香天堂网| 激情九月综合| 丁香六月在线| 久久久99精品免费观看| 久九色| 欧美97p| 五月色综合| 99精品综合视频| 3DAV亚洲香蕉久久 一区二区| 日本在线视频www色| 另类综合激情| 五月丁香婷婷欧美| 99在线视频精品| 五月天成人在线| 国产97色在线| 欧美日比视频| www.com五月天| 97色色网| 九九国产视频| 啪啪一区| 九九九九综合| 男女99免费视频| 久草丁香婷婷1024| 99热这里只有精品50| 色婷久久| 丁香激情网| 六月婷婷开心| 中文字幕av网站| 思思热在线视频精品| 9999三级片| 九九色热| 国产成人av在线播放| 婷婷丁香综合网| 五月天日日操夜夜操| 久久久免费精彩视频| 少妇熟女视频一区二区三区| 激情六月下句是什么| 97色女人在线| 激情婷婷丁香五月天| 免费不卡狠操美女视频网 | 天天色月| 亚洲精品视频在线播放| 国产xxxxx在线观看| 九九热精品视频在线观看| 天堂美国久久| 婷婷亚洲欧美丁香五月| 久久精品噜噜噜成人A∨色欲| 日韩欧美四五区| 啪啪啪综合网| 天天艹天天色| 五月丁香日逼| 91综合色| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | AV无码免费| www.婷婷五月| 色呦呦美女| 婷婷丁香六月天| 蜜乳人妻一区二区三区| 337p大胆噜噜噜噜噜91Av| 日本99视频精品免费播放| 久草热视频在线观看| 一本色道久久综合狠狠躁一二三| 美女五月天| 超碰免费电影| 激情av| 免费九九热| 九九激情网| 7月婷婷六月丁香| 成人丁香五月天| 九九综合视频在线观看| 超碰在线观看三级片| 另类丁香五月天区图| 91 九色大美女| 婷婷五月综合激情小说| 国产激情在线| 日本欧美成人片AAAA| 在线,国产,色,热视频| 性爱AV天堂| 久久久久er热| 色色色色网色色网色色| 久久色五月| 日日天天干| 欧美色六月婷婷| 亚洲岛国电影| 色情婷婷| 激情性五月天免费小说视频| 玖玖爱综合网| 亚洲av| 五月天婷婷影院影院观看| g00d人体西西| 蜜臀AV在线观看| 日韩精品二三区| 中文字幕日韩成人| 九九操屄| 99热在线观看精品| 少妇达人正片在线播放_ikun_福利吧| 久久永久网址| 色五月97| 北条麻妃伊人| 99热66| 国产在线激情视频| 99热这里都是精品| 思思热久久婷婷五月天| 狠狠色丁香| tingtingcaobi| 丁香五月香蕉| 噜噜色噜噜网| 婷婷六月激情丁香| 国产噜一噜天天噜| 亭亭色网| 9久久网| 五月天另类激情在线| 婷婷丁香五月,狠狠综合| 日本久久爽| 免费观看全黄做爰的视频| 五月婷婷激情| 97色色色色色| 久色五月婷婷综合| 538在线| 99玖玖精品| 丁香五月天激情| 九九无码| 九伊人网| 影音先锋 萱萱| 亚洲综合色色色| www激情| 婷婷五月天少妇| 99久扒热| 丁香五月先锋| 久久婷婷综合国产| 男人天堂AV在线一区二区| 精品一二三区久久AAA片| 丁香九月综合激情| 另类视频五月天| 深爱五月天天| 婷婷综合网伊人| 99精品在线观看| 五月婷久久久| 激情久久丁香| 色v综合网| 九九九九成人| 丁香五月婷婷欧美激情-中文天堂最新版在线观看 | 日日做A爰片久久毛片A片英语| 中文字幕丰满人妻无码专区| www热久久yy9| 69久久久| 丁香五月婷婷欧美成人色图| 超碰在线观看caop| 九九超日本| 国产毛片操B| 97干干干丁香| 99碰碰碰| 97色色综合| 天天艹| AⅤ在线播放网| 26uuu色五月| 51精品国自产在线| 就爱日五月天| 丁香五月婷婷五月| 婷婷伊人中文字幕| 九九热这里有精品视频| 午夜青草资源| 日日夜夜久| 色深爱五月| 九九精品视频在线观看| 久久999久久999久久999久久| 99热这里只有精品3| 99玖玖视频| 亚洲在线免费成人| 色开心五月婷婷丁香HD| 嫩模aV在线| 婷婷五月香蕉| 日日夜夜青青草| 婷婷丁香五月天综合网| 狠狠色噜噜狠狠| 亭亭五月色男人| 五月丁香六月情| 噜啊噜在线| 亚洲愉拍99热成人精品| 免费视频WWW在线观看网站| 丁香伍月婷电影全集| 五月丁香六月激情| 欧美日韩成人在线观看| 欧美色六月婷婷| 99热99热| 久久久婷婷婷| 欧美婷婷色| 国产原创视频91九色| 久久中国毛毛片爱久久| 日日操天天操| 成人网在线观看视频| 狠狠色丁香乆乆| 六月丁香天堂| 色色永久| 久久婷五月综合| 天天干天天干天天操| 国产精品成人AV在线观看春天| 狠狠久久婷五月综合色| 人妻av在线| 婷婷天天舔| 这里只有精彩视频| 成人免费120分钟啪啪| 嫩草视频。| 嫩草视频在线观看| 狠狠干综合网| 少妇大叫太大太粗太爽了A片| 五月丁香在线观看国产| 综合激情伊人影视在线| 天天久| 婷婷91| 亚洲性爱AV在线| 婷婷五月天AV在线| 狠狠插狠狠| AA久久| AⅤ网站在线看| www.日本91| 丁香婷婷人妻综合网| 嫩草乱码一区三区四区| 少妇AB又爽又紧无码网站| 激情五月份婷婷| 激情亚洲五月| 久久激情综合| 国产99热| av网址在线| 操啊操av| 婷婷六月色| 狠狠99| 丁香五月婷婷成人网| 黄网在线免费观看| www.99日本| 久热这里只有精品66| 人人摸人人搞| 超碰女人天堂| 9l视频自拍九色9l视频自拍九色9l社区 | 97在线碰| 99ri在线视频| 国产熟女大叫受不了| 九九机热| 国产精品成人网址| 五月丁香婷婷中文网| 久久久久这里只有精品| 午夜免费试看| 久久久WWW| www.com在线操视频免费观看| 千人斩操逼| 日本三级黄色大片| 午夜天堂啪啪| 激情五月天小说网| 台湾综合丁香五月蜜桃| 五月丁香激情综合网| 婷婷五月天综合网| 亚洲天堂热| 91疯狂操操操操| 狠狠操性爱av| 婷五月天| 色五月婷婷综合在线| 五月花激情网| 97碰| 深爱婷婷基地| 99爱视频| 永久地址 色| 婷婷五月久久| www.成人婷婷综合| 97人操| 久久精品人妻| 激情五月综合网最新| AV在线免费播放| 五月丁香婷婷在线| 亚洲精品视频在线| 综合色色婷婷| 97碰碰在线观看视频| 久热免费| 五月丁香综合| 精品一二三区久久AAA片| 激情综合5| 亚洲免费看片| 天天爽天天摸| 久久久久网站| 女人天堂AV| 色五月在线| 夜夜嗨一区二区三区直播内容 | 天天弄天天爽| 超碰cap| 自拍盗摄 另类| 久热伊人在91| 日韩AV大全| 久久亚洲色导航| 色五月丁香com| 色欲AV导航| 91疯狂操操操操| 九九热超碰| 婷婷六月插屄激情| 开心五月婷婷婷美女| 丁香婷婷色五月| 天天摸天天爽| 99久免费视频| 99性视频| 岛国av网站| 99啪啪| 国产又爽又猛又粗的视频A片| 九九在线这里只有精品视频| 日韩成人综合网| 色婷婷五月天亚洲| 久久大香蕉丁香| 五月丁香激情综合网| 九九五月天| 亚洲综合激情五月久久| 99热成人| 色五月成人在线| 成人丁香色| 中文字幕日产A片在线看| 丁香六月久| 五月丁香香蕉| 婷婷六月天| 99性色| 婷婷色丁香六月| 99熟女| 六月丁香婷婷爱| 91色涩| 狠狠操.COM| 精品亚洲国产成AV人片传媒| 久久性爱99国产| 黄色成人网站在线播放| 日日夜夜小色哥| 激情五月综合网| 黄色aa观看aaguochan| 五月总合激情网| 婷久久久| 俺也去五月婷婷丁| 99热精品在线| 99人人干| 97干视频在线| 色五月婷婷一二| 婷婷五月永远18免费久久久| 五月天婷婷色| 婷婷综合网站| 国产av基地| 波多婷婷久久| AⅤ网站在线看| 99热啪啪| 亚洲另类婷婷综合| h在线看免费版在线看| 99热日| 五月婷成人| 殴美日韩成人| 成人午夜在线视频| 亚洲免费在线观看岛国| 五月婷婷黄网站大全| www久| 综合啪啪| 99欧州偷拍视频| 91国产精品视频播放| 女人被躁到高潮嗷嗷叫小| 狠狠穞A片一區二區三區| 久久婷婷91| 五月丁香欧美综合| 综合婷婷| 99在线精品视频| 91操碰| 人妻AV在线观看| 少妇激情五月天| 丁香五月激情视频| 欧美α√| 九色91国产| 伊人色综合久久久| 九九色婷婷五月天| www五月天激情com| 激情六月日韩| 狠狠五月天| 五月丁香激情综合久久| 九月婷婷激情| 国产99久久久| 任你草| 99噜噜噜在线播放| 色综合视频在线| 中文字幕丰满乱孑伦无码专区 | 婷婷丁香五月天影院| 五月婷婷六月丁香首页| 91玖玖| 久久激情网| 婷婷色婷婷亚洲成人| 九九蜜臀精品| 丁香五月六月婷婷综合激情| 久久人妻人人| 丁香五月激情综合| 亚洲成人在线观看av| 色婷婷很很丝袜| 六月婷婷操逼| 情色婷婷五月天| 久久婷五月天| 久久在线人妻| 影视av久久久噜噜噜噜噜三级| 丁香婷婷大香蕉| 久久综合婷婷| 色综合久久8| 97色永久免费视频| 色婷婷最爱五月| 婷婷六月天亚州| 丁香五月天成人网站| 五月丁香网站| 啪啪综合网| 5月婷婷六月丁香| 五月天婷婷在线观看| 天天日天天操心| 99视频精品在线| 九九成人电影婷婷| 亚洲国产成人综合| 婷婷五月天a| 五月丁香啪| 丁香五月天堂网| 亚洲av另类在线观看| 另类视在线| 婷婷免费成人视频| 精品人妻久久久久久久| 99热情这里只有精品在线播放| 亚洲AV人人操| 亚洲黄色网址| 色综合婷婷| 婷婷五月免费在线| 国产激情综合| 亚洲综合欧美色丁香婷婷888月图片| 色婷婷久久综合久色综| 婷婷五月天色综合| 99视频| 大香蕉丁香婷婷| 色综合久| 成人短视频在线免费观看| 超碰久热| 大香蕉啪啪| 久久人妻视步| 欧美丰满熟妇BBB久久久| 97自拍99| 精品久久久久久久人妻| 大香蕉久久| 日韩欧美老妇性视频91久久久| 欧美色骚婷婷五月天| 色噜噜五月天| 国产人人操| 99热这是里只有精品| www.色婷婷.com| 九九精品免费视频99| 噜噜噜噜婷婷五月天| 久久六月天| 亚洲妇女熟BBW| 99久.| 俺去也综合| αv中文字幕在线观| 亚洲成人在线播放| 成人婷99最新| 超碰97久久| 涩涩涩.com| 中文字幕无码人妻少妇免费视频| 九九熱最新視頻| 久久婷婷成人| 久99久在线| 免费播放片大片| 久久精品日| 天天爽天天做| 国产精品黑丝| 这里只有精品视频99| 九色在线五月婷婷网址| 天天草天天日| 色色丁香婷婷五月天| 秋霞电影理论| 好叼操在线观看| 大伊久久| 国产原创视频91九色| 99热这里只有精品1998| 北条麻妃伊人| 99热九九热| 色色综合五月| 色五月婷婷五月天| 外国碰视频网站97| 色五月综合网| 欧美成性色| 婷婷五月综合在线| 狠狠干在线视频| 99热个人在线| 五月婷婷性| 婷婷久久色| 天天干夜晚夜操| 91丁香| 婷久久| 丁香五月天堂网| 久久激情五月婷婷| 日韩按摩二区| 成人短视频免费| 日本3级片一区2区| 狠狠色色| 九九色网专区| 伊人玖玖婷婷| 五月丁香久人妻中文| 九九热精品视频在线观看| 天天色,天天操,天天射| 伊人久热91网| 97久久久| 色婷婷激情视频| 五月伊人婷婷999| 丁香婷婷五月六月久久| 国产精品在线视频| 婷婷天天五月天| 九九大香蕉黄色影院| 玖玖婷婷五月天| 亚洲妇女熟BBW| 色久五月天| 97人凄人人操人人爽| 99爱视频| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 美国不卡视频| 丁香六月综合激情| 天天天天爽爽天干| 天天操无码| 国产看真人毛片爱做A片| 色综色五月天婷婷| 啪啪激情综合| 99丁香五月| 精品人妻在线| 毛片新网地| 啪啪婷婷五月天激情| 九九AV| 中文字幕 中文字幕明步| 大香蕉啪啪啪| 极品九九九九九九| 欧亚成人A片一区二区| 五月草视频| 播五月婷婷开心| 超碰免费电影| 国产亚洲精品久久久久久郑州 | 激情综合啪啪| 91色色色视频| 国产亚洲精品久久久久久牛牛| www,天天干| 久久这里面只有精品视频| 香蕉99网| 99精品视频在线观看| 婷婷五月天六月丁香| 深爱丁香网| 欧美熟妇一区二区三区| 国产偷人爽久久久久久老妇APP| 激情五月天啪啪| 插插五月天| 九九九这里只有精品| 日韩天堂久久| 九九一区| 99精品网| 久久九九色| 婷婷中文字幕网| 五月丁香婷婷啪啪综合网| 亚洲色久| 色域五月婷婷丁香| 久热精品在看| 怡春院天天干| 五月婷婷丁香日韩在线| 五月丁香六月激情| 99re8这里只有精品99re8热视频| 天天影院色| 久99热| 色亚洲色宗合| 久热这里只有精品在线观看 | 欧美激情五月综合| 99性视频| 爆乳熟妇一区二区三区爆乳照片| 在线观看亚洲AV| 国产探花一片区| 丁香九月激情在线视频| 99婷五月| 超碰操日| 97操碰日本女人| 欧美熟女视频 色婷婷| 亚洲成av人影院| 丰满老熟妇BBBBB搡BBB| 五月激情影院| 久久久天堂国产精品女人| 色噜噜狠狠色综无码久久合欧美| 国产无套精品一区二区| 婷婷精品| 亚洲精品99| 婷婷五月影院| 亚洲春色奇米影视| 久久涩视频| 久久人人添人人爽添人人片αV| 国产AV影片| 丁香婷婷激情网站| 丁香五月婷婷香| 殴美97色| 超碰色婷婷| 婷婷黄色| 精品婷婷五月视| 人人干天天操五月丁香| 六月丁香五月激情婷婷| 狠狠干综合网| 亚洲性视频| 日韩另类| 五月激情小说| 国产精产国品一二三在观看 | 日日噜噜久久婷婷五月天 | 日韩专区五月天婷婷丁香| 婷婷五月丁香青青草在线| 日本色超碰| 日韩高清久久| www.99视频| 五月激情影院| 国产欧洲欧洲精品久久| 99ER热精品视频| 狠狠爱丁香婷| 日本操碰碰| 五月天婷婷午夜丁香| 丁香五月婷婷丫| 米奇影视五月天| 日日操天天操| 六月婷婷激情| 天天操天天插天天射| 五月天另类图片区99| 久久综合婷婷| 丁香六月无码| 色99网| 中文字幕日产A片在线看| 91丁香色五月| 丁香婷婷啪啪| 久久婷婷五月综合色丁香| 日本高清久| 五月婷婷色| 性爱七区| 天天噪夜夜爽| 婷婷99热| 性爱激情久久| www久久久| 26uuu另类亚洲欧美日本一| 日本激情91| AV成人在线网站| 五月丁香色| 丁香丝袜五月| 激情五月婷婷视频一区二区三区| 奇米四色五月天| 五月婷婷激情综合在线| 色五月天电影| AAA级久久久精品| 婷婷情色五月天| 五月婷婷插一插| 丁香六月婷婷综合激情欧美| 婷婷五月,综合伊人| 欧美 日韩 成人在线| 丁香婷婷久久综合在线| 丁香五月激情网| 啪精品| 五月婷婷精品视频| 色99在线| 中美日韩成人在线| 六月婷婷开心| 影音先锋秋秋五月婷婷| 99精品色色| 免费婷婷| 91热网址| AV人人操| 97久久精品视频| 人人人人人人人人人草| 五月婷婷激情综合网| 成人短视频在线免费观看| 丁香婷婷色六月| 无码人妻少妇色欲AV一区二区| 日本美女五月天| 欧美A级成人婬片免费看理论| 激情丁香五月天综合| 超碰99资源站| 色九月综合网| 天天天天爽爽天干| AV色色天堂中文| 激情五月丁香色婷婷| 激情综合五| 九久9精品| 97人人做| 成人在线网址| 亚洲综合视频在线| 婷婷九月综合| 久久久性爱视频| 九月久久婷婷| 思思99热| 97人妻碰碰碰久久香蕉| 视频一二区| 日本丁香久在线| 天天爱天天秀天天做| 丁香六月激情综合网| 国产婷婷五月在线视频| 五月婷婷亚洲色图| 四月丁香五月婷婷久久| 超碰在线播放免费观看| 欧美婷婷综合| 99视频久久久| 97干视频| 婷婷五月天堂网| 人人草人人爱| 国产Va视频| 国产国产乱老熟女视频网站97| 99超在线| 免费在线观看AV网站| 色婷婷丁香中文在线播放| 大香蕉伊人丁香五月| 开心婷婷五月中文字幕组| 大香人妻| 色婷婷a v| 婷婷五月天色色| 夜夜操狠狠操| 色五月激情综合| 九九伦子片| 五月丁香六月激情综合| 97干视频| 婷婷丁香五月综合| 五月婷婷六月婷| 丁香五月最新网址| 激情九月综合| 5月丁香婷婷| 亚洲岛国电影| 天堂综合久久 | 99热九九在线| 丁香六月激情毛片| 91操人视频| 深爱激情网婷婷| 色级婷婷| 91综合在线| 天天射综合网天天插| 色五月婷婷影视| 丁香五月性| 色婷婷色五月色丁香| WWW.久久99| 五月天婷婷在线播放| 激情五月五月五月婷婷| 丁香五月天婷婷91| 久久久97| 丁香五月亚综合图片| 国产67194| 婷婷五月天VI| 婷婷五月亚洲综合| 99热99这里有免费的精品| 亚洲操B视频| 成片免费观看视频大全| 26UUU欧美| 久久五月视频| 永久热91| 精品一二三区久久AAA片| 丁婷婷五月天在线播放| 五月丁香久久网| 丁香九月综合在线| 久久婷婷影院| 九九无码| 国产一级婬片毛片| 欧美影院婷婷| 午夜福利成人AV91| 丁香六月婷婷| 99在线视频精品| 亚洲综合婷婷五月天| 色综合久久天天综合网| WWW.五月com| 无码色| 五月天伊人久久久久| 婷婷丁香五月天在线视频| 婷婷五月丁香91| 91热视频| 五月激情天| 婷婷99狠狠躁天天| 亚洲狠狠干| 九九热再线九九视频免费在线观看 | www.99.色| 91九色精品熟女内射| 综合网啪| 深爱激情丁香五月| 五月丁香婷婷综合激情基地| 激情综合网五月婷婷| 激情婷| 婷婷亚洲在线| 国产成人精品亚洲线观看| 日本一道久久| 九九成人| 99久久网站| 丁香久久久| 天天干天天操天天干天天操天天干天天操 | 日本人妻丁香婷婷久久寝取熟女五月| 丁香五月婷婷Av| 九九99九九精品视频| 日本黄色三级片内射| www.99在线| 日本久久网| 超级碰碰碰97免费| 色色A| 99热费观看| 丁香婷婷激情网站| 天天天摸夜夜夜玩| 丁香五月天欧美| 丁香六月婷婷高清| 精品婷婷五月天| 韩国情人在线电视剧免费观看高清版全集| 色5月婷婷色| 亚洲色色五月天| 9久久精品视频| 大香蕉人人网| 九九超碰人人| 91色在线 | 日韩| 五月天基地| 99热久97| 猫咪伊人久久| 五月婷婷色影院| 九色91国产| 丁香蜜臀黄色婷婷五月天| 婷婷久久五月天丁香| 一本久道综合99| 中文字幕AV在线播放| 久久五月激情| 久久女婷| 五月婷无码| 亚州日本欧州韩美高青高潮一| 亚洲综合视频一下| 5月丁香六月婷婷| 狠狠激情五月天| 激情五月婷婷五月丁香五月开心五月| 婷婷五月免费视频| www.精品99| 五月天精品视频| 极品人妻VIDEOSSS人妻| 天海翼中文字幕高| 色开心五月婷婷丁香HD| 爆乳熟女一区二区三区爆乳| 9久热在线视频精品| 色愛综合网| 五月婷伊人| 99免费视频网| 色婷婷AV在线| 亚洲超碰在线| 丁香六月成人| 超碰爱爱爱| 婷婷五月深情丁香深爱日韩| 丁香五月激情婷婷激情| 79色色| 大香蕉婷婷丁香天堂AV| 99热精品在线观看| 影音先锋男人av资源站| 碰碰人人漕| 五月六月丁香激情视频| 亚洲激情五月丁香久久久久| ji'qi'luan'ren'lun| 日韩久热| 香蕉97碰碰碰欧美| 久久精品噜噜噜成人A∨色欲 | 噜噜狠狠色| 久久激情五月| 99超碰欧美| 色综合久久88色综合天天99| 一本久久亚洲五月婷婷| 综合在线色婷婷| 天天色视频| 97操女视频| 久热9| 色婷婷丁香香香蕉视频| 91久久婷婷| 天天插操| 少妇水多A片太爽了| 免费无码毛片一区二区A片 | 激情图片婷婷| A片试看50分钟做受视频| 久久婷婷的综合色丁香五月| 色八月婷婷| 日本婷婷| 日韩黄色影院| 91一起艹| 这里只有精品2| 伊人久久婷婷| 婷婷丁香社区| 成 久久| 色色五月丁香| AV大片在线观看| 丁香五月综合激情久久潮喷| 久草热在线视频| 偷偷与邻居做爰完整视频| 色综合久久88色综合天天看| 99精品无码网站| 永久精品| 五月天激情网址| 天天天天天天天操| 婷婷激情五月| 久久久久亚洲AV无码网影音先锋| 婷婷丁香五月天在线| 丁香五月激情五月| 色9月| 五月激情五月婷婷五月天在线| 色婷婷综合网| 婷婷午夜激情| 五月婷婷激情综合网| 国产又爽又猛又粗的视频A片| 天天射美女| 激情五月天综合婷婷网| 六月婷婷毛片| 久久这有这里精品| 久久一热| 97人人做| 久久婷婷综合国产| 婷婷中文字暮| 五月综合色播播丁香婷婷| 国产看真人毛片爱做A片| 在线另类| 99ri在线观看视频| 色www.con| 色爱亚洲| 婷婷六月久久| 婷婷色情五月| 九一娱乐在线观看视频| 天天干夜夜欢| 日韩无码AV电影网站| 亚洲色婷婷99一9|| 婷婷五月天社区| 五月丁香六月在线欧美| 色婷婷亚洲婷婷| 日本久久婷| WWW.99热| 99热偷拍| 色色日本| 最新日本A片| 91狠狠综合久久| xxxx五月| 亚洲亚洲人成综合网络| 国产裸舞福利资源在线视频| 日本色色网| 婷婷另类开心| 五月丁香婷婷成人网| 综合在线丁香五月| www.婷婷com| 五月天婷婷丁香社区| 超级久久久| 激情综合五月开心狠狠| 久久综合播放| 五月色网| 热热久久精品视频| 无码激情AAAAA片-区区| 午夜爱爱爱成人| 丁香五月狠狠在线观看| 久久婷婷五月综合色和| 婷婷丁香综合| 亚洲成人AV在线观看| 久久综合婷婷| 在线观看国产高清视频免费网站 | 俺来也狠狠| 久久美女五月天| 99热99精品| 狠狠穞A片一區二區三區| 五月婷婷内射网| 亚洲成人在线观看av| 激情五月婷婷色| 九伊人网| 五月婷婷中文| 久色中文| 久久99精品久久久久久青青AR| 人人综合久| 综合激情啪啪| 婷婷丁香五月在线观看91| 亚洲色热| 激情综合网五月在线播放| 国产美女无遮挡裸体毛片A片 | 婷婷狠狠操| 五月天婷婷午夜丁香| 国产特黄色精品一区二区三区精品无广告 | 五月丁香成人| 俺也去色| 丁香婷婷色五月激情综合| 九色PORNY9l原创自拍| 亚洲乱码日产精品BD| 天天插天天插天天插天天插| 91热在线| 久久六月婷婷| 中文字幕AV在线播放| 热99久久这里只有精品| 久久久精品99| 中文字幕成人| 久久久久人妻网址| 久久er视频6| 久久免费高| 99超级碰免费视频| 六月丁香激情综合| 在线成人网站| 99视频热99| 五月婷婷婷婷| 婷婷五月天黄色小说| 欧亚洲在线高清视频| 久久九九思思| 五月天色丁香| 五月天综合激情网| 99噜噜噜在线播放| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 79精品视频| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 亚洲一个色| 丁香五月WWW| 成人无码髙潮喷水A片| 无码动漫av| 狠狠色 综合色区| 婷婷五月激情欧美| 人人操9| 99色婷婷| 色色色色色色色色五月先| 五月天精品综合| 天天五月香欧美| 久久99精品久久久久久噜噜| 九九艹女| 日韩精品AV一区二区三区| 99九九在线精品热动漫| 99愛国产| 色久五月| 丁香六月婷婷开心| 成人版视频在线观看| 五月色亭丁香| 色欧美一级| 日本三级大片| 国产一级片| 久久玖玖综合| 丁香五月开心婷婷| 五丁香激情综合| 久久久婷婷| 九九狠狠干| 97超级碰碰碰| 超碰五月婷婷五月天| 国产精品久久久爽爽爽麻豆色哟哟| 操碰97| 亚洲视频二区| 操逼三区| 日本女人久久| 丁香婷婷激情五月天无毒不卡蜜桃| 婷婷五月天综合色| 久久只这里有精品| 夜夜www| 久久五月丁香六月婷| 丁香五月婷婷久久久| 亭亭玉立国色天香| 婷婷在线视频| 玖玖色综合| 99热在线播放| 五月天狠狠网站| 天天爽在线视频| www.yw尤物| 去干网av| 亚洲激情网站无码| 热热久久精品视频| 五月天亚洲最大成人| 婷五月天天| WWW,色五月| 袁子仪视频观看| 五月天天天开心激情网| 天天上天天爽| 婷婷六月中文字幕| 就爱射中文字幕资源网| 99色热综合| 五月天影院| 99爱视频在线| 精品99在线| www.色综合| www.夜夜操.com| 少妇性按摩无码中文A片| 国外亚洲成AV人片在线观看| ...婷婷国产成人亚洲日韩| 综合激情啪啪| 先锋资源996| 五月丁香啪综合| 丁香色播五月天| 婷婷五月婷| 色在线99| 欧美五月婷婷| 涩综合网| 99热这里有精品| 五月成人网站| 俺去也五月| 激情五月天影院| 九九久热| 丁香五月婷婷天堂大香蕉| 丁香五月天亚洲综合| 中文字幕丰满孑伦无码专区| 黄色片久久| 性爱视频久久| 日本久久色| 99超碰在线免费| av在线观看免费| 婷婷六月丁香色| ji'qi'luan'ren'lun| 碰97久久| 中文人妻AV久久人妻18| cao视频,现在观看| 国产69久久久欧美黑人A片| 日本啪啪网| 专区无日本视频高清8| 婷婷激情五月呦呦| 五月天婷综合| 六月婷婷视频| 婷婷无码五月天| 天天狠天天叉| 婷婷操无码| 成人在线视频网| 色综合网综合| 中文字幕永久免费| 九九亚洲天堂| 色婷婷狠| 国模淫穴色图| 五月婷婷之综合激情| 91在线97视频| www.久久99| 丁香月六月| www夜夜操| 97热超碰| 69五月天视频| 99在线资源| 色色婷婷综合| 亚洲成人网站在线观看| 天天做天天爱综合| 丁香五月手机在线| 91精品丝袜久久久久久久久粉嫩| 婷五月丁香俺| 久久五月天网| 色色色五月天婷婷| 日本久久天堂| 野战毛片三一3| 亚洲妇女熟BBW| 丁香五月性| 五月丁香六月激情在线| 亚洲亚洲人成综合网络| 日韩AV片| 美女五月狠狠| 五月婷婷综合激情小说| 99re在线视频精品,这里只有精品18,| 成人五月天视频播放| 任你艹| 婷婷激情在线| 婷婷噜噜| 97干干干丁香| 丁香五月亚洲激情婷婷射| 久久久27操| 久久婷婷电影| 99热只有精品在线观看| a在线观看| 成人AV免费观看| 99免费在线| 不卡成人免费| 99 这里只有精品| 五月婷婷激情| 成人在线不卡| 婷婷狠狠18禁久久| 99视频在线看| 亚洲色频| 91成人品| 婷婷欧美综合| 91人人操人人看| 婷婷王月天影院| 超碰2021| 婷婷激情丁五月| 亚洲 在线 另类| 亚洲视频色色| 天天爽天天| 91九色首页| 伊人干综合| 伊人网大香| 日本色99| 色丁香五月| 久草视频一,二三四| 97人妻碰碰碰久久| 99热都是精品| 操操精品| 亚洲精品色| 97碰人人操| 日本色久| 日本99在线| 99re免费精品视频| 99ri国产| 五月综合久久| 亚洲色五月天在线| 三年高清大片免费观看国语|