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久久大片| 91狠狠色色丁香婷婷综合久久| 色色亚卅| 成人在线二区| 色婷婷亚洲婷婷在线观看| 五月天婷婷涩涩| 亚洲天天| 伊人婷婷青青cao| 99这里都是精品| 天天干,天天舔| 99在线视频。| 91丨九色丨国产打屁股| 日韩AV色色色| 美女婷婷六月色| 无人区码一码二码三码医生系列| 丁香婷婷六月| 天天综合插插| 欧美精品99久久久| 日韩三级视频一区二区| 丁香六月婷| 这里只有九九精品| 艾小青av| WWW.99热| 丁香婷停五月激情综合深爱| www.99热视频| 香蕉久久五月| 99热99色| 五月天久久婷婷| 色情·com| 成人 在线观看国产| 欧美α√| 婷婷五月天天爽| 婷婷激情五月天综合| 大伊香蕉精品视频在线| 亚州操人在线视频| 一区视频网站| 直接看的AV| 丁香五月激情婷婷激情| 婷婷五月亚洲激情| 97精品欧美91久久久久久久| 99免费在线视频| 人人操AV| 性生生活大片又黄又| 激情AV| 天天日本夜夜谢| 玖玖视频福利| 91啪啪视频| 日韩不卡123| 天天肏视频| 这里只有精彩视频| 久久人妻久久| 99热这里只有精品免费观看| 伊人深爱综合| 五月婷婷激情综合av| 久久亚洲激情五码| 99视频精品全部观看10| 色婷婷五月天视频在线| 色五月欧美| 九九99九九99偷拍视频免费看| 人人摸人人干人人做| 秋霞免费三级片| wwwss在线观看| 日本色噜| 色色性爱视频| 99热在线精品观看| 久久婷婷六月综合国际| 久久婷婷五月天丁香| 亚洲中文字幕av| 99性爱| 79色色免费| 人人干AV| 色色网五月激情| 精品无码色| 操97| 狠狠色性| 五月婷婷视频| 99国产精品白浆在线观看免费| 五月天久久婷婷| 97碰| 五月天伊人| 91九九| 欧美成人精品A片免费一区99| 日本强伦片中文字幕免费看| 狠狠爱婷婷爱| 包操45分钟网站| 五月婷婷综合网在线播放| 在线成人网址| 成人丁香婷婷五月天| 99这里有精品视频视频| 午夜婷婷| 色亭亭九月| 久久九九热38| 婷婷五月色花丁香社区| 天天爽综合网| 丁香六月婷婷| 9l视频自拍9l视频自拍九色学生| 91操人视频| 99热思思在线观看| 五月色色激情网| 另类视频一区| 五月丁香久久综合91| 丁香 久久| 99超级碰碰| 免费视频舔| 亚洲 五月 婷婷 成人| www.ywav| 深夜男女福利刺激影院一区完整| 第2色五月婷| www.狠狠干com| 人人爱国产| 五月丁香网站| 色99超碰| 天天日天天干天天爱| 色五月丁香伊人五月| 超碰人人在线| 人妻激情在线| 操逼巨乳91| 欧美性生交A片免费看| 五夜丁香| 开心色播色五月婷婷| 在线成人视频免费| 亚洲色图日韩网址| 丁香五月亭亭六月综合激情网| 综合网亚洲| 婷婷丁香日韩五月| 超碰人人超碰| 99热在线观看精品| WWW.99视频| 欧美婷婷色五月网| 天天爱天天日| 狠狠干五月天| 五月99久久| 99久久精彩视频。| 婷婷五月六月丁香| 99热超| 丁香五月天在线视频| 丁香婷婷情色五月天| 婷婷丁香五月天综合在线日韩| 天天日天天狠狠操| 精品久久久久成人码免费动漫| 久久香蕉福利| 色婷婷五月天亚洲 | www.夜夜| 五月婷婷视频啪啪美女| 少妇被躁爽到高潮无码文| 99九九这里有免费视频| 六月五月婷婷| 狠狠操综合| 久久久激情| 色婷婷六月天在线| 91九色 熟| 丁香五月天欧美| 99视频精品| 99热免费精品热久久66| 国产成人精品一区二三区熟女在线| 五月婷久久综合| 涩涩婷婷五月| 亚洲国产网站| 91超级碰| 2020夜夜操天天爽| 9999综合99综合人| 九九综合伊人| 五月天婷婷爱丁香中文字幕| 日日爽夜夜爽| 六月婷婷国产| 五月婷婷天堂| 色噜噜狠狠色综无码久久合欧美| 天天干天天干天天干天天干天天干天天干天天 | 激情五月婷婷视频| 久久久久er热| 热九九精品| 五月婷婷色播| 精品,99| 久热精品9999| 91精品久久久久久77777| 激情视频网址| 丝雨一区二区| 天天插AV丝袜中| 六月丁香成人| 女同激情久久av久久| 五月色网| 97色综合视频| 丁香五月AV| 亚州操操| 先锋影音av色五月天资源站| 婷婷八月丁香激情综合| 月婷婷亚洲| 丁香五月婷婷久久久| z色五月播播久久| 99视频精品全部免费看| 亚洲成人AV一区在线观看| 99热这里只有精品1998| 91碰| 香蕉久久国产AV一区二区| 国产精品电影| 91干在线视频| 亚洲国产精品VA在线看黑人| 欧日韩成人| 天干干夜夜操| 久久视频婷婷视频| 六月婷婷AV| 九九视频这里只有精品| 亚洲色婷婷五月天| 色婷婷五月综合网| 狠狠搞五月天| 91精品综合久久婷婷九色| 五月婷婷综合视频| 99热99精品| 97碰超级人人看| 欧美槡BBBB槡BBB少妇| av中文网站| 国产精品丝| 狠狠色婷婷7777久| 五月丁香av中文| 99在线观看| 色欲五月丁香| 婷婷五月天影院| 五月婷婷中文字幕AV| 性爱先锋AV| 日韩五月婷婷| 色婷婷五月天综合网| 青青草Avb在线| 国外亚洲成AV人片在线观看| 久久99热这里只有精品| 久久总和99| 色噜噜婷婷| 丁香六月AV| 丁香五月网| 亚洲AV日韩在线观看| 久久久精品人妻| 九九这里有精品| 97涩涩丁香五月天| 久热91精品| 欧美激情Va| 91视频一起草| 1级欧美日韩| 婷婷爱五月天| 99热在线看| 丁香五月欧美成人| 99这里有精品视频| 激情AV在线| 九九精品视频在线观看| 五月婷婷六月丁香综合| 五月丁香六月婷婷久久| 可以看的AV| 色五月婷婷天天操夜夜操| 思思99精品视频在线观看| 高清不卡一区| 色情五月婷婷| 婷婷五月亚洲激情| 五月激情婷婷色| 天天爽成人综合网站| 激情婷婷五月| 五月天婷婷六月激情网| 久久成人性爱| 全国最新疫情| 亚洲综合热| 欧美久久婷婷| 九九精品热播| 99ri精品| 爱之国产色情综合| 天天爱天天做天天爽| 日日干综合| 678五月丁香亚洲综合| 色爱综合视频| 日本五月天一页| 噜噜网免费视频| 久久久久久久久人妻| 人人操人人爱丁香五月| 99久在线精品99re8| 亚洲色另类| 五月天激情四射网站| 天天干天天色天天干| 久久九九99字幕| 色区域网站视频| 日日操天天爽| 色婷婷导航| 久久五月天婷婷| 色婷久久| 激情开心五月天| 超碰在线caop| 超碰在线免费观看日韩| 欧美日韩国产一区二区| 色综合色综合网| 全网最新网黄大秀直播高清,主播国产录屏在线 | 丁香六月婷婷一区| 思恩热国产视频右线观看| 那里有AV网址| 99操逼| 日韩无码成人电影| 男人大jjc女人免费视频| 久久五月天免费网站| 久久婷婷五月综合激情国产| 天天日天天操天天干| 亚洲第一第二网站| 九九av| 欧美日韩国产一二区| 久久精品综合色| VA婷婷| 常久最新免费的色吊丝| 99re8这里只有精品99re8热视频| 九九碰九九爱97超碰| 丁香婷婷成年| 丁香六月色香蕉视频| 婷婷五月六月激情| 五月天成人免费视频| 九月丁香八月婷婷加勒比| 影音先锋偷偷色男人站| 天天色综合天天| 亭亭五月天黑人2014| 久久性爱视频| 依人大香蕉在钱1| 日本一级特黄大片AAAAA级| 婷婷成人综合免费视频| 色久九| 操逼五月婷婷| 欧美精品久久久久久视频观看| 综合色播| 色综色网| 好好日激情五月天| 五月丁香综合| 色婷六月| 五月亭亭性| 色婷婷网| 超碰人人色| 亚城区在线| 成人日韩欧美| 五月丁香爱婷婷深深| 亚洲色在线观看| 激情综合亚洲| 影音先锋色色色资源色资源色| 天天狠狠干| 97人妻碰碰中文无码久热丝袜| 天天综合网~91| 亚洲丁香网| 亚洲成人在线播放| 丁香五月在线人妻| 亚洲热综合| 亚洲99在线| 性色99| 1000部毛片A片免费观看| 激情综合99| 中文字幕婷婷五月天在线观看| 婷婷五月丁香基地| 99热伊人| 亚洲精品午夜国产va久久成人| 婷婷丁香www视频日本韩国| 天天综合天天玩夜夜玩天天玩夜夜玩| 五月天色色婷婷| 伊人99久久| 成人网丁香五月| 国产成人网址| 亚洲婷婷月丁香五月| 丁香五月播播| 玖玖资源部在线播放| 99热在线播放| 婷婷色色狠狠| 成人免费120分钟啪啪| 久久精品色| 综合五月婷婷| 综合激情五月丁香9999久久精| 99视频只有精品| 婷婷丁香色情| 丁香色五月 97干| 五月婷婷基地| 91综合在线| 亚洲精品网站色视频| 69精品人人人人| 九九热99在线视频| www.婷婷.com| 婷婷欧美激情综合| 婷婷色五月大香蕉在线| 999热在线视频| 97成人在线视频| 色色网站在线| 色色色色色色色色五月先| 无码激情| 五月丁香人人婷婷在线观看| 色射7856五月天激情四射| 久久 天天| 综合另类视频| 最近免费中文字幕大全高清大全1 免费看欧美成人A片无码 | 日夜夜久久| 久久久人人操A V| 五月丁香六月婷婷色日| 激情色中文| 婷婷97狠狠成人网站| 五月色天五月色| 爆乳熟女-区二区三区| www,超碰| 99热精品观看| 97精品人人A片免费看| 色噜综| 五月丁香A∨在线| 夜夜资源站| 日本激情ⅩXX免费视频| 韩日AV片| 国产毛片精品一区二区色欲黄A片| 丁香激情六月天婷婷| AV亚洲在线| 九九99热| 五月天婷婷久久| 天天射影院| 色婷婷五月视频| 久久性操| 丁香五月天影院| 超碰激情网| 熟女五月天久久综合| 综合久久综合综合| 开心五月深爱五月| 99男人的天堂| 丁香五月欧美激情| 婷五月丁香俺| 五月婷婷|欧美| 99热在线观看| 久久综合丁香| 天天插,天天射| 97人人干| 国产三级片91| 91久女| 尔尔AV一区| 色五月综合激情| 五月丁香久久| 国产成人在线精品| 91日综合欧美| 丁香五月婷婷免费视频| 人人摸人人干| 91超碰人人操| 综合激情sV| 99国产在线精品视频| 色综合色五月| 伊久久婷婷| 精品久久66| 国产阿姨日皮艹逼内射视频| 激情五月天色色| www.久久婷婷| 亚洲视频久久| 日韩人人操| 狠狠精品干练久久久无码中文字幕 | 色五月超碰| 99久久婷婷精品视频| 日日操天天操| 狠狠狠狠狠| 婷婷色九月| 日本成人噜噜噜| 亚洲 五月 婷婷 成人| 久久五月天综合视频网站| 91人人网| 日韩综合网络男女香蕉a片| 亚洲 欧洲 国产 伦综合| 六月丁香婷婷爱| 99噜噜噜在线播放| 久久久天堂国产精品女人| 五月天婷婷色| 国产成人一区二区三区在线观看 | 丁香五月婷婷啪啪视频| 日韩在线观看网址| 五月丁香色停停啪啪啪| 婷婷五月丁香色色| 97色碰碰公开视频| 99久久色| 六月婷婷啪啪| 九九人人操| 丁香色六月婷婷| 激情图片婷婷| 99久久精| 亚洲五月天伊人| 狠狠va| 婷婷性爱无码视频| 国语精品探花| 99热色精品| 91日日日| 高清无码视频网址| 欧美色综合天天久久综合精品| 最近中文字幕大全免费版在线| 免费看欧美成人A片无码 | 丁香五月天无码AV| 五月婷婷co.m| 99热中文字幕久久| 久婷五月| 成片免费观看视频大全| 牛牛澡牛牛爽| 97色97干| 色色色色色色色综合| 天天在线久久综合 | 99热| A片天天| 精品视频网| 操久久精| 日韩一级网站| 亚洲人成网亚洲欧洲无码久久| 亚洲美女婷婷五月天| 亚洲看av的网站| 亚艹艹| 99.N在线视频| 韩国真做片在线观看| 90色免费视频| 五月丁香免费视频| 亚洲综合婷婷五月| 中文字幕综合| 在线中文AV| 天堂五月婷婷| 综合网激情五月天| 九九99热久久精品66中文字幕| 色婷婷影院| seav天堂| 91婷婷在线| 婷婷六月综合在线| 人人操AV| 成人国产欧美大片一区| 色色色色色色色色色色色色色97| 久久久er热| 日本色色色| 中文字幕婷婷| 久久久久九九九九视屏小说88| 影视av久久久噜噜噜噜噜三级| 丁香婷婷激情五月色| 久久人妻伦理| 国产精产国品一二三在观看| 五月天操逼网| 五月丁香六月婷婷的女人| 婷婷五月花| 欧美三级韩国三级日本三斤| 2015好吊操| 国产婷婷五月色情综合| 国产伦亲子伦亲子视频观看| 狠狠色狠狠| 五月婷导航| 国产67194| 六月婷婷综合久久| 开心五月天激情网站| 天天插天天爽| 久久大香蕉同僚| 狠狠色噜噜狠狠狠狠综合| 美女黄频aⅴ视频| 五月天婷网| 婷婷99狠狠躁天天躁| 99狠狠| 精品无码99| 欧美日韩999| 久久综合中文字幕| 开心婷婷五月| 九九综合88| 五月欧美色色五月| 三人荫蒂添的好舒服A片| 五月天社区| www.色婷婷.com| 丁香六月欧美| 老司机伊人| 天堂久久丁香| 久久九精品| 久久视频在线视频| 亚洲激情高潮| 欧美色综合天天久久综合精品| 99小视频在线| 久久久久9999| 99精品热| 99色色网| 婷婷舔| 五月天激情婷婷| 亚洲欧美成人在线| 婷婷五月无码| 激情五月激情综合俺也去婷婷小说| 欧美精品99| www.maotanji.com| 婷婷四色五月| 99热免费精品热久久66| 欧美日综合| 激情五月婷婷免费视频| 禁欲电影完整版在线播放| 欧美天天爽| 超碰99在线观看| 婷婷五月成年人| 97干在线| WWW.开心五月天.COM| 淫五月停停| 五月天综合影院| 亚洲综合碰| 国产精品色婷婷AV综合色色| 久操97| 91碰视频| 777.色色| 中文字幕综合色| 婷婷丁香人妻天天爽| www.无码com| 成人五月天丁香婷| 激情综合五月激情XXXX| 婷婷五月激情四射手| 丁香五月天视频在线播放| 色9999综合久久| 91视频五月丁香| 亲子乱AV一区二区三区下载| 国产毛片精品一区二区色欲黄A片| 天堂婷婷五月色| 久久桃花网色婷婷| 婷婷五月在线观看| 激情六| 国产在线激情视频| 婷婷色五月婷| 91精品熟女| 任你爽在线视频| 久久9热| 深爱 五月天| 日韩黄色影院| 国产avapp 网| 欧美噜一噜| WWW·色色色·COM| 亚洲乱码日产精品BD| 色丁香影院| 大香蕉五月天婷婷| 丁香综合| 人妻中文在线| 丁香六月婷婷综合在线| 九九精品综合| 欧美97超碰| 97精品综合| 五月丁香无码| 最新日本A片| 久久五月天丁香| 99这里只有精品视频| 国产精品成人av在线观看春天| 五月婷婷深深爱| 狠狠精品干练久久久无码中文字幕| 激情丁香五月天| 婷婷久久国产视频| 99A级片| 亚洲AV无码电影| 天天色综网| 五月停停激情网| 玖热精品综合视频| 九九性爱网| 亚洲网综合在线| 婷婷精品免费久久| 久久久久人妻网址| 狠狠色噜噜狠狠狠888了| 亚洲愉拍99热成人精品| 91日综合欧美| 天天插操| 少妇人妻丰满做爰XXX| 99热主页日本| 狠狠狠色激情综合适合| 色久激情在线| 熟女五月天久久综合| 激情黄色小说色五月| 亚洲成人AV一区在线观看| 涩涩五月天| 国产精品久久..4399| 五月天综合在线观看| 五月的丁香六月的婷婷| 开心 五月 综合| 五月婷婷色影院| 五月亭亭欧美女人| 久久五月婷综合网| 91久久久久| 免费无码毛片一区二区A片 | 玩熟女五十AV一二三区| 色色婷婷五月天| 97香蕉碰碰人妻国产欧美| 婷婷五月激情图片| 激情五月天 婷婷| www色综合| 九月色婷婷综合| 午夜爱爱爱成人| 狠狠狠狠狠狠草| 六月丁香五月婷婷首页| 色婷婷五月天天天天天| 99色激| 噜噜色天天开心| 丁香五月天激情| 亚洲av成人在线| 99操免费视频| 99re6久热只有精品6在线直播| 色丁香六月| 99热99这里只有精品| m色激情网| 婷婷五月天男人影院色色网| 人妻VideOssS人妻高清| 九九热视频精品| 色婷婷的五月天| 噜噜在线| 久久丁香| 乱岳熟女50岁| 99视频热99| 伊人久久大香线蕉亚洲五月天,| www.91AV.com| 99人人干人人| 五月丁香啪啪网| 麻豆科斗777| 五月丁综合在线观看| 五月婷婷伊人久久| 五月天婷婷丁香| 综合99综合久久久久久久| 伊人久久婷婷| 99精品国产乱码久久久人妻| 91色性感五月婷婷丁香| 色站9/| 五月婷婷六月天| 天天看片日日夜夜| 亚洲欧美另类在线23p| 九九亚洲| www.色综合| 一本婷婷丁香久久| 久久人人九| www.夜夜| 9色在线视频精品观看| yellow视频在线观看91| 丁香婷婷偷拍| 久色| 午夜69成人做爰视频| 一区二区乱视频码| 色10月婷婷视频| 热的无码综合视频| 亚洲综合无码| 激婷网| 人人干99| 亚洲丁香网| 99热亚洲| 久久男人网婷婷| 丁香婷婷基地| 久久99性爱视频| 97久久久久| 黄色录像网点| 91丨九色丨东北熟女| 天天综合网亚洲综合网| 超碰九色| 综合 蜜月 婷婷| 丁香五月婷婷久久久| 五月天婷婷在线AN| 国产又黄又爽又色的免费| 热99久| 国产美女最新VA在线免费观看| 操日视频| 天天操天天插天天射| 天天日日夜夜爽| 深爱综合网| 中文字幕 中文字幕明步| www..999热久| 伊人色五月| 婷色成人| 国产在这里只有精品| 日韩AV在线免费| 永久的网站AAAA| 婷婷久久五月天| 91蝌蚪窝视频在线| 丁香综合伊人| 五月停亭六月,六月停亭的英语| 香蕉99网| 欧美va亚洲va在线播放| 涩五月婷婷| 婷婷九九| 色你久久| 五月天社区婷婷丁香社区| www.色擼擼.com| 亚洲视频在线观看| www.久久| 丁香五月性爱| 六月婷久久| 性色天| 日韩性爱无码| 99视频这里只有精品10| 婷婷影视久久| 久久66精品| 少妇AB又爽又紧无码网站| 99er这里只有精品视频| 久久香蕉网| 香蕉综合在线| 婷婷色网站| 久久久99婷婷久久久久久| 天天插天天射| 99在线视频女女视频| 热思思| 人人97碰| 丁香五月综合激情性爱| 能看的AV| 综合99久久天天综合| 五月婷婷六月情| 日日日日日| 91久草五月天婷婷| 五月婷婷激情综合网 | 91亚洲天堂| 色天五月天在线观看视频| 99久久色| 9热在线观看| 激情视频91| 99热亚洲| 久热这里只精品| 丁香五月手机在线| 国产精品在线视频| 午夜天堂一区人妻| 五月丁香色婷婷基地| 久久加勤综合| 天堂草在线看www| 婷婷五月综合色中文字幕| 色五月丁香婷婷久草| 2017狠狠干| 精品久久久人妻| 婷婷五月激情六月丁香| 桃色五月婷婷| 人人干av| 99精品国产热久久91色欲| AV性爱在线| 九九亚洲天堂| 丁香六月激情网C0W| 成人AV综合在线| 2017狠狠干| 99热色无码| 99视频这里有精品| 亚洲色视频| 亚洲av网站在线观看| 在线播放中文字幕| 日韩精品无码99| 五月婷婷六月丁香首页| 久久六月天| 开心五月婷婷在线视频免费观看| 黄色毛片精品| 26uuu最新地址| 思思热在线视频99| 铁牛TV人妻| 九九99精品视频在线观看| 日本九九热| 色一情一乱一乱91Av| 99色精品| 日日.c| 97操碰| 2015在线中文字幕| 五月婷婷激情综合| 色5月婷婷| 91天天操天天干天天射| 五月天影院| www.精品99| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 日韩黄色电影| 丰满人妻一区二区三区| 丁香婷婷成人网站| 欧美va视频不用播放器的va视频网| 日本网站久久| 亚洲色婷婷五月天| 色欲一二三| 日操| 九九色大香蕉| 99视频在线9| 中文字幕成人| 91啪啪网| 大地资源色婷婷视频在线| 免费观看的av| 丁香婷婷色五月合集| 九九黄色网| 色色五月丁香婷婷综合| 全部老头和老太XXXXX| 九九九九综合| 丁香五月天在线| 色五月av伊人| 91精品久久久久久77777| 一起操最新网址| 北京熟妇搡BBBB搡BBBB| 99A级片| 丁香激情综合| 丁香婷五月| 99精品激情| 99干视频| 播五月开心婷婷欧美综合| 成人欧美Va| 色五月丁香五月激情五月激情| 丁香婷婷综合激情五月色| www.丁香黄色五月天人与| 国产成人综合网| 婷婷五月天av| 欧美激情综合色综合啪啪五月| 五月丁香六月婷婷亚洲视频| 久久综合99综合| 第四色五月天| 9色在线| 激情综合五月天| 亚洲无码色| 久久婷婷成人综合色怡春院| 天天干天天叉| 天天舔天天摸天天透| 久久996re热这里只有精品无码| 婷婷五月中文在线| 99自拍视频| 97干免费视频| 丁香婷婷六月天| 99re久热只有精品6在线直播.com| 日本在线wwww| 伊人热婷婷| 碰久久精品w| 视频一区二区在线| 亚洲六月综合激情久久下卡| 七七婷婷综合| 亚洲网在线观看| 激情婷婷丁香| 99热草草| 97婷婷久久丁香| 精品国产a| 亚洲第一影院高清无码网站| 成人在线高清| 丁香五月婷婷亚洲色图| 91人人操人人爱| 丁香激情久久| 天天插天天玩天天干| www.婷婷网| WWW五月天| 久色中文| 婷婷射丁香| 超碰国产AV| 亚洲无码播放| 婷婷丁香六月天| 99精品偷自拍| 丁香婷婷影院| 色九月国产| 亚洲九区| 五月丁香狠狠爱婷婷综合| 99热99这里有免费的精品| 婷婷五月天偷拍| 婷婷五月天天爽| 五月丁香六月婷| 欧美99热| 香蕉久日夜| 九月色婷婷综合| 99ri视频| 五月天婷婷导航| 色色色图| 亚洲99热| 操日本99| 日本色99| 久久伊人日日夜夜| 天天日天天爽夜夜爽| 99精品热视频| 色偷偷AV亚洲男人的天堂| 男同色五月开心五月激情五月| 91chinese 在线| 激情五月天久久丁香| 五月婷婷色吧!| 婷婷娌伦网| 97人人干| 天堂亚洲 在线| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 婷婷五月天久久| 欧美性丁香色色五月天干干| 99久久欧美| 日本久热| dingxiangtingtingliuyue| 激情人妻综合| 99在线精品免费视频| 在线看黄色| 26uuu国产色| 婷婷丁香18| 五月天综合网| 91九色中文| 丁香婷婷人妻综合网| 成人在线99| 性无码专区无码| 亚洲性视频| 丁香涩涩五月天| 久久99久久久久久| 久草x色在线观看99| 六月婷婷综合| 五月丁香婷婷综合视频| 丁香五月天社区| 亚洲 视频 导航 一区| 亚洲精品五月| 久久精彩视频| 视频一二区| 色五月视频,小说| 丁香婷婷激情| 9l视频自拍9l九色9l成人| 99热这里只有国产精品| 婷婷狠狠操| 铁牛TV人妻| 色区域网站视频| 五月天激情小说| 超碰资源在线| 久久人妻伊人| 免费看欧美成人A片无码| 超碰操网| 色激情五月| 婷婷五月娱乐在线| 激情亚洲色图片丁香综合| wwwss在线观看| 激情綜合網址| 婷婷六月丁香欧美视频在线| 国产偷人爽久久久久久老妇APP| 涩五月婷婷| 9l视频自拍9l视频自拍九色学生| 久久久91精品| 69婷婷丁香午夜| 久久98| 五月丁香啪啪啪| 超碰com| 伊人网啪啪| 俺去也综合| 亚洲天堂碰碰婷婷| 互月天综合| 日韩人妻AV在线| 岛国资源网| 色色亚洲| 草美女在线观看视频在线播放| 色五月综合在线| 91啪啪视频| 97香蕉碰碰人妻国产欧美| 大香蕉久热| 毛片新网地| 丝袜激情网| www.97碰碰com| 婷婷激情人妻| 婷婷九月亚洲| 大香蕉久久草| 九色自拍| 三级三久久线久久99久目本WW| 97碰碰视频在线观看| 亚洲天堂啪啪| 91精品无码| 99久久网站| www.五月丁香| 丁香五月天在线观看视频| 五月丁香综合激情网| 丁香五月1页| 久久性爱视频| 综合五月亭亭9| 九九色婷婷五月天| 色久五月天| 69精品人妻不卡视频| 五月婷婷综合视频| 9191avse| 亚洲九区| 人妻尝试久久久久久久久久久久| 九九艹女| 开心五月深爱五月| 91在线日| 激情综合五月| 久久 视频这里只有精总| 亚洲国产网站| 中文字幕不卡+婷婷五月| 激情五月天色| 天天日天天久久青青| 婷婷五月天激情诱惑| 91青娱乐青青草| 婷婷五月天综合网| 99精品视频免费观看,| 丁香五月婷婷五月基地| 五月丁香网站| 色一区高清| 婷婷伊人五月天| 日本丁香五月| 色5在线| 久久看九九90| 九九婷婷综合| 在线VA视频| 色婷婷aV四虎| 狠狠丁香| 开心五月综合激情综合五月| 综合精品99| 九九在线精点品| 婷婷五月精品在线| 人妻中文字幕网| 色婷婷五月综合| 天天日天天干天天插天天射| 先锋资源91| 狠狠狠狠狠| 五月天网站亭亭| 综合亚洲六月婷婷在线| 依人大香蕉在钱1| 婷婷的99视频网站| 婷婷六月丁香色| 久久亚洲无码| 内射人妻视频国内| 九九亚洲| 甈吧vv| 丁香五月激情棕合| 青青草伊人婷婷| 欧美三级欧美一级| 色婷五月| 丁香五月亚洲激情婷婷射| 狠狠爱丁香婷| 激情五月婷婷| 九九热最新| 色欲丁香久久| 色婷婷大香蕉| 1024在线视频| 天天操夜夜操| 碰碰女| 人人妻久久妻| 色亚洲中文| 婷婷成人综合| 成人 九九九九| 风流少妇A片一区二区蜜桃 | 久久久国产精品黄毛片| 婷婷操超碰| 久热精品视频| 精品久久人妻热| 婷婷五月色综合| 91 久热| 国产精产国品一二三在观看| 激情久久久久久久久久久| 玖玖资源天天无码| 99热思思在线观看| 激情五月综合网最新| 9久热在线精品| 99年操人人爽| 亚洲色综合| 在线中文av| 99热精品在线观看| 婷婷五月天综合小说网| av在线播放网站| 色婷婷av在线观看| 国产婷婷综合在线免费视频| 国产一二三四五六七八视频| 五月天色婷婷小说| 无码一区二区日韩| 九九色逼| 欧美三级欧美一级| 久久精品综合色| 色婷婷性爱| 99久久天堂婷婷| 伊人久久丁香五月91| 成人精品一区日本无码网 | 久人操| 天天操婷婷| 九九视频这里只有精品| 69色色视频| 五月婷婷婷婷婷婷艺术| 五月天亚洲最大成人| 人人玩人人橾| 夜夜爽天天| 丁香五月天色| 亚洲小说五月婷婷| 婷婷五月天美女| 婷婷五月在线综合| 五月丁了香蕉综合| 日韩好吊操| 琪琪理论片| 狠狠色性| 五月婷婷伊人久久| 99人人操人人摸| 丁香婷婷综合激情五月色| 99热99热| 人人爱人人摸人人澡| 久机视频这只有精品| www.99精品视频| 综合五月丁香六月婷婷| 六月婷婷香蕉| 久久婷婷网站| 欧美色图45678| 最新热中文字幕| 婷婷国产日本欧美| 色五月婷婷丁香婷婷| 99爱免费视频在线观看| 区区欧美你爱| 色五月在线播放| 久久婷婷五月天激情四射| 美女网黄| 色五月激情网| 精品一二三区久久AAA片| 男人操女人高潮91视频| 亚洲9久久精品| www.婷婷,com| 这里只有精品视频222| 婷婷激情综合无月| 激情五月天婷婷视频| 色色射| 五月婷婷av| 激情又色又爽又黄的A片| 五月久久综合| www91久久| 九九aV| WWW、日本色丁香、co m| 亚洲综合色棒| 成人五月天丁香婷| 激情五月天网站| 婷婷最新地址| 狠狠色丁香久久| www,五月天com| 婷婷色五月色妇| 色播播五月天| 丁香五月电影| 丁香六月欧美| av大香蕉| 色婷婷丁香五月综合| 激情五月综合网最新| 日日日日日| 九九色天堂| 丁香五月婷婷久久久| www.色五月.com| 涩涩涩五月天| 99视频免费播放 | 噜噜噜噜噜久| 婷婷五月天激情丁香| 成人视屏在线观看| 成人超碰网| 成人版视频在线观看| 青草视频在线蜜臀| 五月婷婷综合网| 日韩成人无码| 婷婷激情在线| 五月婷婷深爱六月| 色综合色五月| 丁香五月瑟瑟| 久思思热视频在线观看| 五月丁香六月婷婷亚洲综合| 日本狠狠干| 大香蕉九九操| 欧美性丁香色色五月天| 五月婷婷色影院| 欧美久久久中文字幕| 婷婷激情伍月网| 亚洲综合五月天| 精品久久久久成人码免费动漫 | 九九热这里都是精品6| 久久婷婷亚洲| 丁香婷婷老熟女综合网| 秋霞免费三级片| 婷婷五月天狠狠色| 欧美成人在线观看| 色色五月婷婷| 狠狠干综合网| aⅤ79成人片| 色五月婷婷丁香五月| 五月婷婷丁香六月| 91久久电影| 俺去啦综合网| 极品少妇高潮啪啪AV无码| 伊人婷婷综合| 婷婷五月在线播放| 性做爰1一7伦| 五月天无码| 亚洲 视频 导航 一区| 久久综合香蕉国产国产蜜臀AV| 草美女在线观看视频在线播放 | 这里只有在线精品| 99热免费18| 大香蕉五月天| 亚洲无码你懂的| 狠狠搞狠狠操| 丁香五月婷婷激情小说| 日本99视频| www.丁香黄色五月天人与| 国产干逼片| 久久久久久久人妻| 日日夜夜天天综合| 任你操精品免费| 日本色五月| 色综合久久88色综合天天| 这里只有免费的精品| 丰满老熟妇BBBBB搡BBB| 五月情丁香色| 人妻久久久| 五月婷丁香花| 国产亚洲在线观看| 在线成人网站| 色欲丁香| 91色久| 久99| 99欧美| 六月激情综合| 日日天天天| 五月激情小说| 天天操天天爽天天爱| 久久er99热精品一区二区 | 99热精品在线观看| 国产精品噜噜在线视频| 噼里啪啦在线观看免费完整版视频| 夜夜人妻五月天| 久久在线视频免费观看| 天天色天天噜| 久婷婷久草|