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

ARTICLE DETAIL

資訊詳情

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

AI代理Gateway架構(gòu)解析:消息模型、渠道適配與部署避坑指南

AI代理Gateway架構(gòu)解析:消息模型、渠道適配與部署避坑指南 做AI代理工具的朋友大多都有過這種體驗(yàn)Agent核心能力已經(jīng)調(diào)通任務(wù)規(guī)劃、工具調(diào)用、上下文管理都運(yùn)轉(zhuǎn)正常了但真正想把一個(gè)代理投入日常使用卡住你的往往不是模型本身而是“消息到底怎么進(jìn)去、結(jié)果怎么出來”。終端、飛書、Webhook、定時(shí)任務(wù)……每個(gè)渠道都有自己的協(xié)議和交互方式如果每接入一個(gè)渠道就給Agent核心開一個(gè)專屬入口代碼很快就會(huì)變成一團(tuán)亂麻。這個(gè)系列前面幾篇拆了插件機(jī)制、工具調(diào)用鏈和Agent核心調(diào)度這次終于輪到整套入口設(shè)計(jì)中最重要的模塊Gateway。這篇會(huì)從源碼視角把nanobot的Gateway架構(gòu)、消息模型、渠道適配器、模型路由分發(fā)逐一拆開同時(shí)結(jié)合我實(shí)際部署時(shí)遇到的502、路由不匹配、Windows任務(wù)計(jì)劃失敗這些坑整理成一份可以直接對照排查的實(shí)操手冊。無論你是打算從OpenClaw遷移到nanobot還是只想在自己項(xiàng)目里同時(shí)接入終端和IM機(jī)器人這篇應(yīng)該都能給你一個(gè)清晰的地圖。1. 為什么先聊GatewayAI代理的“喉嚨”與“神經(jīng)中樞”1.1 沒有Gateway的代理會(huì)怎樣先設(shè)想一個(gè)最簡單的場景我只想在自己電腦的命令行里跟Agent對話。一個(gè)最原始的實(shí)現(xiàn)是把終端輸入直接喂給Agent核心拿到結(jié)果再打印出來。這個(gè)流程確實(shí)能跑但一旦加上HTTP調(diào)用、飛書機(jī)器人、定時(shí)觸發(fā)問題就來了——每個(gè)渠道的鑒權(quán)方式不同飛書要求校驗(yàn)簽名HTTP要解析JSON body終端要處理ANSI轉(zhuǎn)義每類消息的格式也不同有的帶用戶有的帶圖片有的消息本身只是系統(tǒng)回調(diào)。如果這些邏輯全部堆在Agent核心層核心代碼會(huì)被渠道細(xì)節(jié)污染得一塌糊涂。我在自己改造第一個(gè)代理項(xiàng)目時(shí)就是這個(gè)狀態(tài)核心模塊里塞了一堆“如果是飛書請求就取event.message.text”、“如果是HTTP請求就取body.prompt”這種分支判斷。剛開始只有兩個(gè)渠道勉強(qiáng)能維護(hù)加到第三個(gè)渠道時(shí)差點(diǎn)重構(gòu)。那之后我才真正理解網(wǎng)關(guān)層存在的意義它不是錦上添花的抽象而是讓Agent核心保持純粹的關(guān)鍵邊界。Gateway把所有渠道的差異攔在外面向上只暴露統(tǒng)一的消息模型向下只負(fù)責(zé)把Agent的回復(fù)翻譯成對應(yīng)渠道能理解的形式。1.2 三種網(wǎng)關(guān)形態(tài)的取舍聊到Gateway很多人第一反應(yīng)是微服務(wù)里的Spring Cloud Gateway或者最近的Envoy AI Gateway。這幾個(gè)概念容易混淆我放在一起對比一下網(wǎng)關(guān)類型代表項(xiàng)目關(guān)注的核心問題典型場景流量網(wǎng)關(guān)Spring Cloud Gateway路由、熔斷、限流、負(fù)載均衡微服務(wù)集群的南北向流量入口AI基礎(chǔ)設(shè)施網(wǎng)關(guān)Envoy AI Gateway多模型接入、統(tǒng)一協(xié)議、成本治理企業(yè)級AI平臺統(tǒng)一管理模型API代理內(nèi)置網(wǎng)關(guān)nanobot Gateway渠道接入、消息標(biāo)準(zhǔn)化、會(huì)話粘滯個(gè)人/小團(tuán)隊(duì)AI代理的多端接入nanobot的Gateway和前兩者的定位完全不同。它不需要處理大規(guī)模并發(fā)也不需要考慮跨多個(gè)后端的負(fù)載均衡它要解決的是“一個(gè)Agent服務(wù)多端”的問題。所以它的設(shè)計(jì)不是轉(zhuǎn)發(fā)流量的代理而是渠道適配層。這門動(dòng)態(tài)也解釋了為什么它比Spring Cloud Gateway那一套更輕——在nanobot里Gateway與Agent就在同一個(gè)進(jìn)程內(nèi)消息直接通過內(nèi)存?zhèn)鬟f而不是走HTTP再轉(zhuǎn)一圈。1.3 Gateway要解決的四個(gè)核心問題把nanobot的Gateway邏輯梳理完后我發(fā)現(xiàn)它所有設(shè)計(jì)都圍繞四個(gè)問題展開這四個(gè)問題也是你接任何渠道時(shí)都必須回答的問題第一是協(xié)議屏蔽。終端是標(biāo)準(zhǔn)輸入輸出HTTP是請求響應(yīng)飛書是事件訂閱加開放API它們底層的傳輸協(xié)議完全不同。Gateway要讓Agent核心感知不到這些差異。第二是消息標(biāo)準(zhǔn)化。飛書消息里有event.message.contentWebhook里可能有prompt字段終端里就是一行純文本Gateway要統(tǒng)一成一個(gè)標(biāo)準(zhǔn)結(jié)構(gòu)。第三是會(huì)話粘滯。同一個(gè)用戶在同一個(gè)渠道里的多輪對話必須命中同一份上下文不能因?yàn)橄碜圆煌肟诰桶焉舷挛母盍?。第四是安全邊界。哪些渠道允許執(zhí)行高權(quán)限工具、哪些操作需要審批這個(gè)校驗(yàn)必須在入口層做掉否則每個(gè)渠道自己處理安全邏輯遲早出漏洞。這四個(gè)問題對應(yīng)到源碼里就是消息模型、渠道適配器、調(diào)度器和審批機(jī)制。2. 消息模型與渠道抽象nanobot Gateway的“骨架”2.1 統(tǒng)一消息模型讓所有渠道站在同一條起跑線在nanobot里所有進(jìn)入Agent核心的消息最終都會(huì)被打包成一個(gè)統(tǒng)一的消息對象。我在閱讀源碼時(shí)留意到這個(gè)對象的核心字段設(shè)計(jì)非??酥茮]有把各渠道的特殊字段全部塞進(jìn)去而是只保留了所有渠道都需要的最小公共集合。# nanobot/message.py dataclass class Message: channel: str # 來源渠道標(biāo)識如 tty / http / feishu user: str # 用戶標(biāo)識如 user_001 session_id: str # 會(huì)話標(biāo)識用于多輪上下文關(guān)聯(lián) role: str # 消息角色user / assistant / system / tool content: str # 消息正文統(tǒng)一為純文本 raw: Any # 原始渠道數(shù)據(jù)調(diào)試時(shí)保留 metadata: dict # 擴(kuò)展字段渠道特有信息放這里這里的核心設(shè)計(jì)思路是公共字段用于主流程路由特有信息全部通過metadata傳遞。比如飛書消息里的chat_id、HTTP請求里的X-Request-ID都屬于渠道特有信息放在metadata里讓上游插件按需取用不會(huì)干擾主流程。我一開始總覺得應(yīng)該在Message里為飛書、釘釘各預(yù)留一個(gè)字段后來看到nanobot這個(gè)設(shè)計(jì)才反應(yīng)過來——預(yù)留字段看起來方便實(shí)際上是把渠道差異泄露到了核心層每加一個(gè)渠道就要改一次消息結(jié)構(gòu)。統(tǒng)一走metadata之后核心代碼完全不需要變動(dòng)。2.2 渠道適配器接口接一個(gè)渠道要寫哪些代碼統(tǒng)一消息模型是數(shù)據(jù)層面的事情渠道接入則是代碼層面的事情。nanobot里每個(gè)渠道對應(yīng)一個(gè)BaseChannel的子類這個(gè)抽象類我結(jié)合源碼結(jié)構(gòu)還原出來大概長這樣# nanobot/gateway/base.py class BaseChannel(ABC): name: str base def __init__(self, config: dict, dispatcher: Dispatcher): self.config config self.dispatcher dispatcher abstractmethod async def start(self): 啟動(dòng)渠道監(jiān)聽比如 HTTP 服務(wù)啟動(dòng)、WebSocket 連接建立、飛書長連接注冊 abstractmethod async def stop(self): 優(yōu)雅關(guān)閉渠道監(jiān)聽 abstractmethod async def send(self, channel_target: str, message: Message): 把 Agent 的回復(fù)推送到渠道指定目標(biāo)如飛書的 chat_id、HTTP 連接的 response body abstractmethod async def recv(self) - AsyncIterator[Message]: 從渠道接收原始事件解析為統(tǒng)一的 Message 對象一個(gè)渠道要接入核心就是實(shí)現(xiàn)這四個(gè)方法。start和stop負(fù)責(zé)渠道生命周期recv負(fù)責(zé)把渠道的原始輸入翻譯成Messagesend負(fù)責(zé)把Message翻譯成渠道輸出。dispatcher是渠道與Agent核心之間的紐帶它負(fù)責(zé)把recv收到的消息交給Agent處理再把Agent返回的結(jié)果交給send推回去。這里有一個(gè)很容易被忽視的點(diǎn)recv不是一次性返回一個(gè)消息而是一個(gè)異步迭代器。這是因?yàn)锳I回復(fù)是流式的——Agent在生成過程中token是一個(gè)一個(gè)或一段一段產(chǎn)生的如果等整段回復(fù)生成完再發(fā)送飛書和HTTP上的用戶體驗(yàn)會(huì)非常差。異步迭代器讓渠道可以把流式輸出一段段推給用戶這就是為什么在實(shí)際使用中TTY里能看到一個(gè)字一個(gè)字蹦出來。2.3 會(huì)話粘滯與上下文路由多渠道接入后最苦惱的問題不是“消息進(jìn)不來”而是“聊著聊著上下文串了”。如果你在飛書里跟Agent聊了十輪第五輪問“剛才那個(gè)方案里的第二步是什么”——Agent必須知道“剛才”指的是這十輪里哪個(gè)會(huì)話。nanobot的調(diào)度器在處理消息時(shí)會(huì)按照channel user或channel session_id組合生成一個(gè)會(huì)話上下文鍵。飛書里一個(gè)用戶的私聊上下文和HTTP請求里同一個(gè)用戶發(fā)的消息會(huì)被視作兩個(gè)獨(dú)立的會(huì)話除非在metadata里顯式傳了session_id來指定歸屬。這個(gè)設(shè)計(jì)在不同渠道之間做了會(huì)話隔離而同一渠道內(nèi)部通過user保證多輪上下文連續(xù)。實(shí)際使用中HTTP渠道最容易踩這個(gè)坑。因?yàn)镠TTP請求是無狀態(tài)的如果外部系統(tǒng)每次調(diào)用都傳一個(gè)新的session_id那么Agent永遠(yuǎn)無法感知多輪上下文。后來我習(xí)慣在業(yè)務(wù)系統(tǒng)側(cè)自己維護(hù)session_id每次請求帶上這樣跨請求的上下文連續(xù)性問題從應(yīng)用層就解決了。2.4 一次消息的完整生命周期把前面幾個(gè)模塊串起來一條消息從進(jìn)入到返回的完整鏈路是這樣的渠道監(jiān)聽器收到原始事件比如飛書Webhook推過來一條JSON。recv將JSON解析提取event.message.content結(jié)合配置的app_id、chat_id等信息包裝成統(tǒng)一的Message對象。dispatcher拿到Message根據(jù)channel user計(jì)算會(huì)話鍵從上下文中取出歷史記錄組裝成完整的請求消息序列。主Agent核心處理消息可能調(diào)用工具、檢索知識庫最終生成回復(fù)。如果是流式響應(yīng)Agent產(chǎn)生一段文本就回調(diào)一次。dispatcher把回復(fù)包裝成Message調(diào)用渠道的send方法將文本逐段推送到原始渠道。這個(gè)鏈路最巧妙的地方在于核心Agent完全不知道消息來自飛書還是終端它只看到“用戶發(fā)來了一條文本現(xiàn)在要把文本回復(fù)返回給用戶”。所有渠道差異都被壓縮到了recv和send這兩個(gè)方法的內(nèi)部實(shí)現(xiàn)里。這也是你后續(xù)想接入新渠道時(shí)的唯一工作區(qū)。3. 多渠道集成實(shí)操從TTY到HTTP到IM機(jī)器人3.1 配置與網(wǎng)關(guān)注冊機(jī)制想啟用哪個(gè)渠道改配置就行源碼解析不能只看理論得落到實(shí)際配置。nanobot的渠道啟停走的是配置驅(qū)動(dòng)核心思路是你要在啟動(dòng)時(shí)加載哪些渠道全部寫在配置文件里程序啟動(dòng)時(shí)掃描這些渠道類并實(shí)例化注冊。{ gateway: { enabled: [tty, http, feishu], http: { host: 0.0.0.0, port: 8090, token: sk-local-token }, feishu: { app_id: cli_xxx, app_secret: xxx, verify_token: xxx } }, models: { main: { provider: openai, model: gpt-4o, base_url: http://127.0.0.1:15721/v1, api_key: sk-xxx } } }enabled數(shù)組是總開關(guān)配置了哪個(gè)渠道啟動(dòng)時(shí)就會(huì)加載哪個(gè)渠道類并實(shí)例化。沒配置的渠道不會(huì)被初始化這相當(dāng)于用一份配置實(shí)現(xiàn)了渠道的可插拔。啟動(dòng)命令也很直白nanobot start --config nanobot.json控制臺顯示[gateway] enabled channels: tty, http, feishu基本就說明渠道注冊成功。我實(shí)測下來這個(gè)注冊機(jī)制對多渠道集成的擴(kuò)展非常友好新增渠道只需要在gateway目錄下新增一個(gè)適配器文件然后在enabled數(shù)組里加上名字不需要改路由、不需要重啟Agent核心。3.2 TTY網(wǎng)關(guān)開發(fā)調(diào)試的黃金搭檔TTY渠道是我開發(fā)時(shí)最常用的它的本質(zhì)是“命令行直接對話”。啟動(dòng)nanobot后在終端里輸入文本回車即發(fā)送Agent的回復(fù)直接在終端流式打印。TTY網(wǎng)關(guān)沒有鑒權(quán)、沒有回調(diào)、沒有消息格式轉(zhuǎn)換它的recv實(shí)現(xiàn)核心就是一行異步讀輸入# nanobot/gateway/tty.py async def recv(self): while True: content await asyncio.to_thread(input, you ) yield Message( channelself.name, userself.config.get(user, local), session_idtty-default, roleuser, contentcontent, )這個(gè)渠道雖然簡單但定位很重要它是最佳的調(diào)試手段。當(dāng)HTTP渠道或飛書渠道出現(xiàn)問題時(shí)我會(huì)先在TTY里跑一遍同樣的話術(shù)看是否能復(fù)現(xiàn)。如果TTY正常、其他渠道報(bào)錯(cuò)基本可以斷定問題出在“渠道適配層”而不是Agent核心。這能幫你快速定位問題邊界。3.3 HTTP/Webhook集成給外部系統(tǒng)開一扇門HTTP渠道是讓nanobot接入現(xiàn)有業(yè)務(wù)系統(tǒng)的常用方式。它本質(zhì)上是一個(gè)輕量的HTTP服務(wù)接收POST請求把請求體解析成消息處理后返回響應(yīng)。外部系統(tǒng)調(diào)用時(shí)發(fā)送的請求格式長這樣curl -X POST http://127.0.0.1:8090/message \ -H Content-Type: application/json \ -H Authorization: Bearer sk-local-token \ -d { user: external_001, session_id: conv_009, content: 幫我把這份需求整理成執(zhí)行計(jì)劃 }HTTP渠道的recv實(shí)現(xiàn)邏輯是解析請求頭里的token校驗(yàn)權(quán)限從JSON body里提取content作為消息正文將user和session_id映射到Message字段然后把這個(gè)Message交給dispatcher。返回時(shí)則把Agent的完整回復(fù)或流式片段作為HTTP響應(yīng)體返回。權(quán)限上建議給HTTP渠道配置獨(dú)立token不要復(fù)用模型API的key。我在項(xiàng)目里的做法是在HTTP渠道上多包一層白名單校驗(yàn)只有來源IP在預(yù)設(shè)范圍內(nèi)才允許調(diào)用這樣即使token泄露風(fēng)險(xiǎn)也被控制在內(nèi)網(wǎng)訪問級別。3.4 即時(shí)通訊接入以飛書機(jī)器人為例的接入思路把Agent接進(jìn)IM是我覺得最有成就感的集成方式——直接在聊天框里跟Agent對話交互體驗(yàn)遠(yuǎn)比終端溫和。以飛書為例整個(gè)接入鏈路分成三步第一步在飛書開放平臺創(chuàng)建應(yīng)用拿到app_id和app_secret同時(shí)配置事件訂閱。飛書的新版機(jī)器人支持長連接模式不需要公網(wǎng)回調(diào)地址這大大簡化了本地調(diào)試的復(fù)雜度。第二步在nanobot.json的feishu節(jié)點(diǎn)里填上應(yīng)用憑證啟用渠道。第三步啟動(dòng)服務(wù)觀察日志里是否出現(xiàn)“飛書長連接注冊成功”的提示。飛書渠道適配器的核心關(guān)注點(diǎn)不是消息格式而是事件處理。飛書推送的事件可能有三種類型普通聊天消息、機(jī)器人被的事件、消息被撤回等系統(tǒng)事件。接管recv時(shí)要判斷事件類型聊天消息包裝成Message系統(tǒng)事件直接忽略或記一條調(diào)試日志。# nanobot/gateway/feishu.py (簡化) async def recv(self): async for event in self.client.event_stream(): if event.type im.message.receive_v1: text extract_text_from_event(event) yield Message( channelfeishu, userevent.user_id, session_idevent.chat_id, roleuser, contenttext, metadata{raw: event, chat_id: event.chat_id}, )這里有一個(gè)很實(shí)用的session_id映射把session_id直接設(shè)為chat_id天然實(shí)現(xiàn)“每個(gè)群一個(gè)會(huì)話上下文”。同一個(gè)群里多輪對話自動(dòng)關(guān)聯(lián)不同群之間互相隔離既符合直覺又不用自己維護(hù)映射表。3.5 模型路由配置多渠道背后的模型分發(fā)多渠道集成后一個(gè)容易忽略的問題是模型怎么分發(fā)。低優(yōu)先級渠道可能只需要用便宜的小模型命令行調(diào)試可以用滿血旗艦?zāi)P惋w書群里則可能同時(shí)有兩個(gè)不同模型處理不同群。這時(shí)候就輪到模型路由出場。其次還要給真模型路由配置。路徑是models.route.field{ models: { main: { provider: openai, model: gpt-4o, base_url: http://127.0.0.1:15721/v1, api_key: sk-xxx }, lite: { provider: openai, model: gpt-4o-mini, base_url: http://127.0.0.1:15721/v1, api_key: sk-xxx } } }在渠道配置里可以通過model_route字段聲明當(dāng)前渠道綁定哪條路由。例如HTTP渠道給外部系統(tǒng)用綁定lite省tokenTTY和飛書私聊綁定main效果優(yōu)先。這個(gè)方案本身很常規(guī)但確有一個(gè)隱蔽的坑很多人在配置base_url時(shí)會(huì)習(xí)慣性把它填成模型服務(wù)商的主域名比如https://api.xxx.com/v1結(jié)果請求發(fā)過去返回502。后面我會(huì)詳細(xì)說這個(gè)坑。4. 部署實(shí)戰(zhàn)中的典型故障與排查實(shí)錄4.1 502 Bad Gateway先從服務(wù)有沒有起來查起凡是用Gateway的地方502基本是最高頻的錯(cuò)誤。我查了大量用戶反饋?zhàn)畛R姷囊活悎?bào)錯(cuò)是在部署時(shí)看到類似這樣的一行unexpected status 502 bad gateway: unknown error, url: http://127.0.0.1:15721/v1/responses這句話的重點(diǎn)不在“502”而在URL。它說明你的gateway或agent核心已經(jīng)把請求轉(zhuǎn)發(fā)到了http://127.0.0.1:15721/v1但那個(gè)端口上沒有服務(wù)在監(jiān)聽或者監(jiān)聽了但上游返回了異常狀態(tài)。502本身只是表象它后面的URL才是破案線索。我總結(jié)了一套排查套路第一檢查端口是否真的有服務(wù)在監(jiān)聽。在部署機(jī)上執(zhí)行curl -v http://127.0.0.1:15721/v1/models如果連接被拒絕說明模型服務(wù)沒有啟動(dòng)或者啟動(dòng)的端口和配置里的端口不一致。用netstat -tlnp | grep 15721再確認(rèn)一下。第二如果端口有服務(wù)但curl返回502說明上游服務(wù)自身出了問題通常是模型服務(wù)依賴的模型文件沒加載、顯存不足、或API key校驗(yàn)失敗。這時(shí)候要去看模型服務(wù)自己的日志而不是盯著agent日志。第三如果用的是網(wǎng)關(guān)轉(zhuǎn)發(fā)模式還要確認(rèn)轉(zhuǎn)發(fā)路徑和配置路徑是否一致。比如配置的base_url是http://127.0.0.1:15721/v1但實(shí)際模型服務(wù)的監(jiān)聽前綴是/api/v1路徑不匹配也會(huì)表現(xiàn)為502。我自己的經(jīng)驗(yàn)是遇到502先別慌按“端口 - 日志 - 路徑配置”的順序排查絕大多數(shù)能在五分鐘內(nèi)定位。真正難的是那些端口正常、日志正常、路徑也一致但依然報(bào)502的情況這時(shí)候大概率是上游服務(wù)在返回層做了特殊邏輯比如鑒權(quán)失敗也返回502那就需要抓取HTTP響應(yīng)體來分析了。4.2 模型路由不匹配expected a gateway model route另一個(gè)高頻報(bào)錯(cuò)是這類提示doesnt look like an anthropic model: expected a gateway model route reference從字面看是說“返回結(jié)果不像預(yù)期的模型格式”。我第一次遇到時(shí)很懵因?yàn)槲铱床欢癳xpected a gateway model route reference”到底是什么意思。后來排查才明白這個(gè)問題通常不是模型服務(wù)本身的問題而是配置里model_route或模型路由的映射沒有生效。在nanobot這類多模型路由架構(gòu)里model_route的作用是告訴網(wǎng)關(guān)“哪條路由應(yīng)該用哪個(gè)模型”。如果路由名配置錯(cuò)了或者路由名在models節(jié)點(diǎn)里不存在網(wǎng)關(guān)就不知道應(yīng)該把請求轉(zhuǎn)給誰只能把請求發(fā)到一個(gè)默認(rèn)地址結(jié)果對方返回了預(yù)期之外的格式于是拋出“doesnt look like”的提示。排查方法是先確認(rèn)配置文件models節(jié)點(diǎn)下有幾條路由route名分別是main、lite還是自定義的渠道配置里引用的model_route是否在路由列表中路由配置的base_url是否指向了正確的模型網(wǎng)關(guān)端口如果配置沒問題再看運(yùn)行時(shí)日志。啟動(dòng)nanobot時(shí)正常會(huì)打印“model route main - http://127.0.0.1:15721/v1”這樣的信息對照一下路由名是否和你預(yù)想的一致。這個(gè)問題的根源一般是“配置文件的key拼寫不一致”比如一個(gè)地方寫main另一個(gè)地方寫main-model兩邊對不上。4.3 Gateway服務(wù)啟動(dòng)失敗Windows計(jì)劃任務(wù)與權(quán)限部署到Windows上時(shí)很多人遇到過這個(gè)經(jīng)典錯(cuò)誤gateway start failed: error: schtasks run failed: 錯(cuò)誤: 由于已禁用計(jì)劃任務(wù)“xxx”這個(gè)錯(cuò)誤是在把Gateway注冊為Windows計(jì)劃任務(wù)時(shí)出現(xiàn)的。我在Windows Server上部署時(shí)踩過同樣的坑原因是計(jì)劃任務(wù)被系統(tǒng)策略禁用或者當(dāng)前啟動(dòng)用戶沒有創(chuàng)建/運(yùn)行計(jì)劃任務(wù)的權(quán)限。排查優(yōu)先級從低到高排列錯(cuò)誤環(huán)節(jié)常見原因處理手段schtasks run failed計(jì)劃任務(wù)被策略禁用檢查任務(wù)計(jì)劃程序庫右鍵啟用以管理員身份重跑安裝命令權(quán)限不足當(dāng)前賬戶不是Administrator使用管理員終端執(zhí)行安裝腳本路徑含中文/空格腳本解析路徑異常將nanobot安裝路徑改為純英文目錄殺毒軟件攔截網(wǎng)關(guān)注冊服務(wù)被攔截臨時(shí)關(guān)閉實(shí)時(shí)防護(hù)加入白名單其實(shí)不只是nanobot很多工具在Windows下注冊系統(tǒng)服務(wù)時(shí)都會(huì)遇到計(jì)劃任務(wù)的問題。我的建議是如果只是想本地跑不必非要把Gateway注冊成系統(tǒng)服務(wù)直接前臺運(yùn)行nanobot start即可。系統(tǒng)服務(wù)是為“開機(jī)自啟、后臺常駐”準(zhǔn)備的開發(fā)調(diào)試階段沒必要增加這層復(fù)雜度。等真正需要7x24小時(shí)跑的時(shí)候再考慮用nssm這類工具包裝成Windows服務(wù)可控性比計(jì)劃任務(wù)高很多。4.4 審批機(jī)制與安全窗口exec-approvals 在渠道層的作用最后聊一個(gè)容易忽略的安全話題。在OpenClaw那一類完整功能的代理框架里存在一個(gè)審批機(jī)制配置文件例如exec-approvals.json。這個(gè)文件的作用是定義哪些危險(xiǎn)命令需要在執(zhí)行前彈窗審批。執(zhí)行exec、shell等敏感操作時(shí)代理會(huì)讀取該文件里的審批策略決定是放行、拒絕還是請求人工確認(rèn)。這個(gè)機(jī)制在Gateway層面同樣值得引入。因?yàn)槎嗲澜尤牒蠼K端渠道可能由你自己控制但HTTP和IM渠道未必——一個(gè)外部系統(tǒng)或者群聊里的用戶不應(yīng)該擁有和你命令行會(huì)話同等的執(zhí)行權(quán)限。我的做法是在消息進(jìn)入dispatcher之前根據(jù)Message.channel和Message.user做一次策略拉平把高權(quán)限渠道TTY本地的指令放行低權(quán)限渠道HTTP外部調(diào)用的shell、文件寫入類指令直接降級或拒絕。這實(shí)際上就是把安全邊界從“Agent核心”前移到了“Gateway入口”。很多人覺得這些審批機(jī)制是給CI/CD用的個(gè)人項(xiàng)目不需要。但當(dāng)你的Agent同時(shí)接入飛書群和公網(wǎng)Webhook時(shí)一個(gè)不設(shè)防的“幫你執(zhí)行Shell命令”的Agent是早晚要出事的。我強(qiáng)烈建議在渠道層把權(quán)限策略和審批配置提前做好不要等到被他人投喂惡意構(gòu)造的Prompt時(shí)再后悔。5. 我再多說幾句Gateway設(shè)計(jì)里的取舍與心得讀到這你應(yīng)該對nanobot的Gateway結(jié)構(gòu)有了一個(gè)完整的圖景。源碼里這個(gè)模塊不復(fù)雜甚至可以說每個(gè)類都很小但它把“協(xié)議、會(huì)話、權(quán)限、路由”這些原本糾纏在一起的問題用清晰的接口分割開了。這種取舍給我的啟發(fā)比代碼本身更大一個(gè)再小的項(xiàng)目也值得在“入口層”花時(shí)間做抽象。不要覺得只有兩個(gè)渠道就不需要Gateway等你需要加第三個(gè)渠道時(shí)前期這半小時(shí)的抽象會(huì)幫你省下至少一整天的重構(gòu)時(shí)間。我自己的實(shí)操體會(huì)是Gateway和渠道適配器最適合按“最小可用先跑通”的節(jié)奏迭代。先接TTY把消息模型跑通再加HTTP驗(yàn)證異步迭代器和流式輸出最后才接飛書這類IM平臺。每一步都在前一步的基礎(chǔ)上增加一種協(xié)議形態(tài)而不是一次性鋪開。這個(gè)順序能讓你在早期就發(fā)現(xiàn)問題集中在渠道適配層而不是核心調(diào)度層調(diào)試體驗(yàn)會(huì)好非常多。最后再分享一個(gè)擴(kuò)展性的小技巧如果你覺得nanobot自帶的渠道不夠用不要急著改它源碼。先照著BaseChannel接口實(shí)現(xiàn)一個(gè)自己的適配器丟到gateway目錄下注冊進(jìn)配置再用TTY先驗(yàn)證——這個(gè)過程順利了基本就說明你已經(jīng)吃透了這個(gè)項(xiàng)目的渠道模型后面不管是接釘釘、接企業(yè)微信還是接自己開發(fā)的內(nèi)部IM工具都是同一套方法論。代碼最怕的不是沒有擴(kuò)展接口而是擴(kuò)展接口長得太復(fù)雜讓人提不起勇氣去實(shí)現(xiàn)它。nanobot的Gateway是我見過的少數(shù)能把“擴(kuò)展一個(gè)渠道”這件事做到讓人愿意動(dòng)手的設(shè)計(jì)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
另类婷婷五月天啪帕帕| 在线观看免费观看在线9久| 26uuu青青| 色综合久久无码| 婷婷开心久久| www.久久爱.com| 欧美草久久五月天91| 日本波多野结衣视频| 开心激情网五月天| 婷婷六月天精品| 五月丁香另类网| 亚洲秘 无码一区二区三区妃光/1| 久9久9久9久9久9久9| 狠狠操狠狠插| 欧美超级视频97| a69在线视频| 黄色av高清| 婷婷五月丁香图片人人操| 五月婷婷AV| 伦乱天堂| 五月丁香黄色| 亚洲精品444久久久久久| www.91操| 色色五月婷婷久久| 久久五月人人摸| 五月色情婷婷| 九九热123| 影视av久久久噜噜噜噜噜三级| 日日日日做夜夜夜夜无码| 婷婷五月天亚洲综合网| 亚洲中文字幕AV在线| 五月天开心网| 亚洲六月综合激情久久下卡| jiZZdr| 99热精品一| 99久久99九九九99九他书对| 精品一二三区久久AAA片| 婷婷成人五月天成人文学| 五月激情丁香五月| 亚洲一个色| 玖玖精品婷婷| 女人天堂久久| 狠狠色丁香久久| 免费看成人AA片无码视频吃奶| 亚洲无AV在线中文字幕| 婷婷五月丁香成人| 色婷婷小说网| 亚洲婷婷五月天| 99久久精品国产色欲| 玖操97| 欧美性爱五月天| 久热视频这里只有精品| 91丨九色丨丰满人妖| 丁香五月社区| 色婷婷五月天在线观看| 五月天色色网站| 五月婷婷九九热| 天天综合中文| 激情五月色综合网| 五月天基地| 91久女| 色偷偷AV亚洲男人的天堂| 丁香五月性| 久狠狠| 天天情色综合网| 伊人婷婷色激情丁香| 婷婷五月天免费小说| 久热99视频在线观看| 综合激情网激情五月。| 欧美成人Va| 五月丁香花激情啪啪网| 色五月中文字幕| 亚洲天天综合| 五月婷婷综合色啪首页| 精品久久99码| 99啪在线| 九九色大香蕉| 丁香五月婷婷六月婷| www.91色| 襙比视频| 五月开心激情| 涩五月婷婷| 思思精品视频| 丁香花大香蕉婷婷综合| 大香蕉欧美在线| 69人人操人人爽| 玖玖热视频| 五月婷婷亞洲中文| 色色99| 九九视频在线观看| 99在线视频观看| 色综天天综合| 婷婷色五月色妇| 久热中文字幕在线线观看| 99热这里只有精品98| 秋霞午夜理论| 五月天成人在线视频网站| 中文av网| 粉嫩AV久久一区二区三区| 国精产品一区一区三区免费视频| 天天干天天日蜜臀av| 五月综合激情网| 亚洲四色五月| 秋霞少妇AV网站| 97色五月婷婷在线| 亚洲啪啪啪啪| 久色网五月| 日婷婷| 欧美精品999| 五月婷婷基地| 色色色综合色| 狠狠干思思热| 超碰99在线观看| 久草热8精品视频在线观看| www.99.色| 欧美 日韩 成人在线| 99热这里只有在线播放| 久久人人九九| 亚洲激情免费视频| 久久婷婷视频| 丁香六月婷婷综合激情欧美| 国产成人综合亚洲| 婷婷五月中文在线| 九九热最新视频| AAAA亚洲| 99热亚洲精品| 五月色精品| 色欲午夜无码久久久久久张津瑜 | 激情五月天色色| 激情玖玖sh| 丁香婷婷五月六月久久| 欧美丁香五月| 国产,欧美,学生妹,视频| 亚洲午夜Av| 天天日日天天| 亚洲熟妇无码乱子AV电影| 狠狠精品干练久久久无码中文字幕| 五月天激情黄色网址| 99热性色| 五月涩涩网| 五月天婷婷久久视频| 久久婷婷激情久久| 亚美欧色影院| www99xxxx五月丁| 五月天另类综合网| 九九视频在线观看视频6 | 亚洲成人网站在线| 五月天丁香久久| 九九视频这里只有精品| 另类激情中文| 婷婷五月激情丁香| 五月婷婷综合久久| 超碰在线9| 97在线天堂| 777丁香六月青青草婷婷综合久月 五月丁香综合伦理片 | 久99热在线观看| 久久婷婷色丁香| 婷婷成人五月天成人文学| 91色色五月天| 九九视频这里有精品| 亚洲亚洲人成综合网络| 久久久久久综合五月婷婷| 日本三级日本三级99| 97狠狠色| 色五月色五天色情网| 日本久久99久久| 欧美三级欧美一级| 六月婷婷激情图片| 综合色图区| 欧美性久| 久久综合网桃花| 九月av在线| 久草a片| 深爱激情婷| 婷婷五月丁香超碰| 色色色com| 在线观看免费人成视频无码| 精品色色网| 国产熟妇的荡欲午夜视频| 天天日日夜夜爽| 久久精彩视频| 天天操综合网站| 青柠影视免费高清电视剧| 五月停停直播| 婷婷日本在线| 99热亚洲精品| 五月婷婷播| 最近免费中文字幕大全高清大全1| 免费的日逼视频| 丁香九月激情| 丁香六月婷婷激情| 狠狠色丁香久久| 色综合久久88色综合天天看| 婷婷丁香六月| 丁香五月综合网| 五月天色裸体视频| 久热大香蕉| 婷婷综合在线| 无码动漫av| www婷婷| 色情综合| 干一干xxxx| 92久久| 欧美婷婷| 国产精品色色| 97久久人人| 裸体美女丁香五月天。| 天天天天天天噜| 欧美综合123区| 九月丁香亭亭| 这里只有精彩视| 六月色丁香婷婷| 激情久久丁香| 热这里| 色婷婷啪啪| 另类专区在线| 五月开心深爱激情网| 五月丁香婷色| 丁香狠狠干| 色999五月色| 国产日比| 色高清无码视频| 99国产精品久久久久久久久久久| 激情亚洲五月| 日本啪啪天堂| AV片在线观看| 亚洲精品久久久久AV无码| 天天做天天爱天天要| 激情综合国产| 欧美色五月| 五月婷婷天天色| 狠狠狠夜夜夜| 六月色狠狠色| 欧美日本综合网| 国成人网| 嫩草AV久久伊人妇女超级A| 欧美xx激情视频在线观看| 欧美精品999| 在线看AV| 中文字幕永久免费| 婷婷久久精品| 99视频这里有精品| 一级操逼内射在线视频| 狠狠色婷婷| 99热一本| 91丁香婷婷综合资源| 97在线视频观看| 亚洲乱码在线观看| 丁香五月天网友自拍啪啪啪视频| 伊人六月丁香婷婷| www.99久| 51XX午夜影福利| 亚洲成人综合网在线免费观看| 色婷婷激情| 亚洲中文av| 久久免费婷婷视频| 日日夜夜小色哥| 天天色伊人| 五月丁香美女视频| 色欲人妻综合aaaaaaaa网| 热久69| 亚洲精品又粗又大又爽A片 | 人妻丰满精品一区二区A片| 五月婷婷导航| AA丁香综合激情| 99操逼| 狠狠色97| 丁香五月av| 亚洲色婷婷五月| 51XX午夜影福利| 天天综合精品| 色色日本欧美| 狠狠色官网| 激情综合网址| 97AV在线视频| 九九综合九九| 色五月激情视频在线综合| 91九色小视频| 四月婷婷五月色综合| 在线日韩av| 丁香六月天婷婷| 影音先锋高清无码资源网| 亚洲人妻AV| 精品99在线| 五月婷婷综合在线| 婷婷狠狠操| 五月丁香人妻| 香蕉AV福利精品导航| 国产成人精品一区二三区熟女在线 | 色婷婷狠狠| 婷婷五月天激情综合婷婷五月天激情综合| 婷婷六月丁香色| 亚洲激情色色| www五月天com| 8区视频在线| 99视频只有这里精品| 丁香六月婷婷综合麻豆| 丁香六月亚洲综合| 天天爽,天天操。| 国产片色| 日本99久久| 久久草大香蕉| 99玖玖精品| 成人中文字幕在线| 色狠狠999综合网| Av狠狠色丁香婷| 夜夜躁狠狠 | 亚州欧美国产久精国产99综合视频| 五月丁婷香| 五月丁香六月色情网欧美| 国产视频久色| 深爱激情丁香| 99日在线视频| 久久AAAA片一区二区| 日日爽日日| 色优久久| 激情综合国产| 99re这里只有精品在线观看| 超碰人人色| 少妇高潮呻吟A片免费看软件| av操B网站| 色婷婷国产精品综合在线观看| 久久这里都是精品| 天天揷综合网| 五月丁香六月香香蕉| 综合色吧| 婷婷五月丁香成人| 久久五月天综合| 婷婷五月激情综合| 非洲一级AV| 中文人妻主播久久| 色久五月| 色性五月天| 五月伊人网| 久久婷婷午夜| 色情·com| 狠狠色噜噜狠狠狠狠综合| 97色天堂| 日本高清久久| 99热在线观看精品| 久久婷婷五月天激情新地址| 九九性视频| 丁香六月婷婷色XXXXX| 97色色色色色| 91婷婷伊人牛牛| 青青草视频福利| 婷婷五月天无码视频| 五月婷婷中文字幕| 天天天操天天天日| 亚洲情综合五月天| 亚洲不卡123| 久色| 五月婷视频| 伦99热| 五月丁香色婷| 色色九九五月天 | 狠色色狠网| 五月婷婷啪啪啪| 久久久18| 成人超碰AV| 8区视频在线| 99热精地址| 欧美99热| 99精品免费| 色婷婷a| www激情网站| 五月丁香六月激情综合在线| 激情综合色| 超碰不卡在线| 啪啪99| 欧美婷婷丁香五月| 99热6色| 天天狠狠综合精区| 99热这里只有在线| 情欲禁地| 99热这里只有精品最新网址| 综合网精品99| 五月天伊人综合| 伊久大香蕉| 五月永久激情| www.热99热| 狠狠色 综合色区| 99er这里只有精品视频| 亚洲第一黄网| 婷婷五月视频| 91pornav在线| 亚洲人人操| 久碰综合| 五月天激情影院| 综合大香蕉| 丁香88AV五月婷婷| 亚洲av网站| 婷婷丁香五月亚洲综合网在线视频观看| anquye五月| 99人妻碰碰久久久禁片| 色色综合网络| 色爽九九| 狠狠肏综合网| 丁香婷婷老司机久操| 99热.com| 中文字幕婷婷| 丁香五月婷婷大香蕉| 99色热综合| A片一曲| 午夜婷婷| 97luluse| 99热亚洲精品| 婷婷丁香水多多视频| 激情五月天天| 91免费看片| 五月婷婷丁香啪啪| www.婷婷五月.com| 六月丁香五月婷婷| 丁香婷婷综合五月天| 级人人91| 丁香婷婷精品视频| 中文AV网站| 婷婷婷婷婷开心无码播放| 色吧婷婷| 五月四色激情| 99精品国产热久久91色欲| 第二色AⅤ| 欧美一级毛卡片无码| 99精色| 先锋五月婷婷丁香草草| 婷婷欠久少妇| 五月婷婷综合网| 射久久丁香五月| www狠狠com| 亚洲天堂99| 五月亭亭六月天| 色综合网上班开心婷婷久久| 免费99色| 国产精品久久久爽爽爽麻豆色哟哟| 九九99视频| 黄色aaaaa| 丁香五月婷婷色综合| 久久新地址| 国内精品玖玖| 综合激情网五月激情| 精品福利911| 亚州欧美黄色电影| 狠狠色丁香久久婷婷综合五月| 婷婷色五月婷| 天插天啪天啪天啪| 天天色一道本综合婷婷| 亚洲视频二区| 99草在线免费观看视频| 99re在线播放| 五月丁香啪啪| 成人av在线网站| 丁香五月天婷婷久久综合| 99玖玖在线视频| 五月婷A V在线| www.99热视频| 97碰碰在线观看视频| 久久这里只有国产视频| 五月丁香六月婷婷中合网| 夜夜 操无码| 色99www.| 丁香五月成人丝袜| 影音先锋男人av资源站| AA片在线观看视频在线播放| 久久婷婷视频| 九九av| 99操逼视频| 婷婷激情综合色五月久久图片| 婷婷五月花| 狠狠干综合| 婷婷五月色播放| 丁香婷婷色五月| A1片久久久| 五月天婷婷视频| 欧美婷婷五月| 久久久久久久久久人妻| 日韩精品无码99| 伊人午夜综合色啪| se99视频| 婷婷丁香五月综合免费视频百花| 久久五月天婷婷| 99re热视频这里只精品| 色播五月| 日本啪啪网| 99热思思| 在线中文字幕视频| 色婷婷丁香五月| 99久在线精品99re8| 97色碰| 激情综合网五月婷婷| 国产超碰在线| 欧美成人精品三区综合A片| 婷婷在线播放| 色婷婷五月天激情在线观看| 性色欲情 网站| 欧美色一级色| 色停停五月天| 久热九九| 久久小视频| 全部老头和老太XXXXX| 操操操97| 激情五月天婷婷色色色色色色色色色色色| 久久久久思思热| Av在线资源| 日韩三及成人AV片| 伊人婷婷大香蕉| 久久五月网| 丁香五月天无码AV| 99久久久国产精品免费蜜乳tv| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 丁香六月无码播放| 91婷色| 人人干av| 久久婷婷五月综合色丁香花| 99超级碰碰| 婷婷五月色天| 婷婷五月色播天| 大香蕉伊在| 天天日天天舔天天摸| 五月丁香婷色| 能看的av| 国产黄色在线观看| 色婷婷88| 五月婷婷干| 97热精品| 国产XXXX搡XXXXX搡麻豆| 俺去婷婷 丁香| 久久9精品| 婷婷五月丁香伊人网| 深爱激情综合| 激情婷婷丁香五月| 亚洲无码11| 伊人久久大香网| 激情久久五月天| 色婷婷综合久久| 婷婷五月天天| 91viP在线看| 白天AV月月| 亚洲国产精品五月天| 色色色五月天婷婷| 久久婷色| 爱草人视频| 99精品网| 99九九热在线观看| 亚洲成人无码片| 激情六月丁香综合| 另类精品视频在线观看| www.99色在线| 99热欧| 超碰免费大香蕉| 国产黄色在线观看| 第四色色六月色综合| 婷婷五月激情五月激情| 欧洲电影在线观看免费版英语版 | 激情综合色婷婷啪啪五月天| 国产亚洲99| 色停停五月,在线观看| 日欧一片内射VA在线影院| 亚洲成人一区| 五月天激情啪啪| 久久久精品免费啪啪国| 婷五月天天| 色偷偷色婷婷| 加勒比日本一区二区三区| www.五月婷婷久久.com| 精品久热| 色欲Av五月天| 婷婷狠狠操| 97在线/亚洲| 丁香五月天在线观看| 亚洲精品又粗又大又爽A片| 这里只有精品在线视频精品| 亚洲AV网站| 在线色色| 婷婷爱五月| 激情内射p| 99青青草99| 色五月天成人在线| 亚洲第一成人无码A片| 色五月丁香六月资源站| 99热这里只有精品中文字幕| 婷婷久久五月天丁香| 五月丁香六月婷婷网站| 好吊兆人妻| 91婷婷五月天综合视频| 久久久久亚洲AV综合| 亚洲性爱99| 99热精品在线| 婷婷6月综合网| 激情综合网五月激情| 亚洲超碰在线| 色婷婷色99国产综合精品| 久久久ww| 久久丁香五月婷婷| 六月丁香视频网站| 国产精品久久久久久久久久| 无码四色色色| 八戒青柠影视剧在线观看| 五月丁香婷成人网| 欧美日韩精品人妻狠狠躁免费视频 | 婷婷色五月情| 丁香激情五月天| 九九热re99re6在线精品| 激情六月天| www.五月天婷婷| 色色五月婷| 爱爱色五月天| 97超级碰人人| 婷婷大乡焦噜噜| 综合激情在线视频| 九九热免费视频| 五月天激情国产综合婷婷婷| 亚洲五月花| 99综合视频在线| 99亚洲精品| 天天久| 91人妻色色网| 在线日韩av| 五月天婷婷基地| 成人片在线播放| 公的粗大挺进了我的密道| 久久婷婷五月天激情唯美| 精品操逼一区二区| 亚洲激情综合| 日日狠夜夜狠| 26UUU欧美激情一区二区| 色播五月婷婷| 欧美色五月天| 97人妻碰碰碰久| 一本道在线电影| 色狠狠色综合| 激情五月天在线观看婷婷| 丁香六月婷婷姐网| 色五月婷婷影院| 国产这里只有精品| 久热精品视频| 亚洲综合在线伊人婷| 婷婷大香焦| 五月丁香激情婷婷| 五月丁香啪啪激情| AV色婷婷| 久久99大| 亚洲视色| 日本ww亚洲| 久青操| 丁香五月大香蕉在线99| 九九综合精品| 五月丁香婷婷成人网| 天天综合网、天天综合色| 中文AV网站| 婷婷六月啪啪| 很很干五月天| 婷婷五月天国产精品| 亚洲成人精品三区| 女人天堂AV| 天天摸,天天爽| 在线看黄色| 欧美黄色一级录像| 五月激情综合网| 播五月,色五月,开心五月播放器| 丁香5月啪啪| www久久99| 婷婷五月综合社区在线| 九九热视频免费观看| 婷婷亚洲久久| 婷婷丁香精品视频在线观看| 色婷婷伊人| 97色色在线视频| 欧美激情xxxXX| 26.uuu丁香五月婷婷| 激情小说色五月| 丁香久久| 九九免费视频| 97丁香花五月天激情小说| 福利视频在线播放| 五月婷婷久久综合| 玖玖婷婷五月天| 婷婷天堂综合| 色播五月婷婷| 99热这里只有精品亚洲| 天天拍天天操| 婷婷五月天六月综合| 开心五月激情网| 五月丁香六月色| av在线播放网址| 久99久在线观看| 99热欧美偷拍| 色~性~乱~伦~噜| 五月婷婷六月天| 亚洲av网站| 精品久热| 色情五月婷婷| 五月在在观看| 丁香五月瑟瑟| 99热亚洲| 日韩三级片一区二区| 337p大胆噜噜噜噜噜91Av| 91精品婷婷国产综合久久| 色热久| 成人短视频在线| 女人天堂AV| www.激情五月天。com| 久久怕怕视频| 五月花婷婷最新| 五月色亭丁香| 五月天激情图片| 六月丁香视频网站| 婷婷福利影院| 五月丁香综合激情网| 天天做天天爱高潮片| 亚洲精品V天堂中文字幕| 五月天开心色情网| 九九婷婷热| 播五月丁香三月婷婷| 婷婷五月丁香综合| www久久久久久久久久久| 五月婷婷久久综合| 丁香五月婷综合| 九九黄色网| 六月色五月天天婷婷| 激情性爱网站| 伊人在线视频| WWW,婷婷,COM| 五月婷婷五月天| 午夜无码熟熟妇丰满人妻| 六月丁香婷婷综合在线| 天天做天天爱天天爽夜夜揉| 国产偷人爽久久久久久老妇APP| 婷婷六月激情综合| 五月婷婷综合网| 九九视频在线免费视频| 婷婷五月六月| 婷婷五月丁香综合激情| 日韩av变天就操逼不卡区| 六月婷婷色| 男人天堂伊人五月丁香| 99热 在线播放| www久| 人人操人av| 婷婷四色五月| 熟妇天天综合| 九九这里都是精品| 天天久综合| 色VA| 久久新| 超碰亚洲欧美| 色婷婷欧美| 精品国产va久久久| 思思热久在线观看视频| 久久九九国产| 99久久婷婷国产综合精品电影| 六月婷婷色综合| 丁香五月天天高清在线| 欧美黑人大吊| 婷婷五月天中文字幕| av免费在线看不卡无毒| 欧美色婷婷| 天堂网啪啪| 久久久久人妻中文| 久久永久网址| 99视频在线播放大全| 国成人网| 国产偷人爽久久久久久老妇APP| 欧美日本国产欧美日本韩国99| 天天热夜夜操| 99热这里有精品6| 色欲色天天香综合| 碰碰碰91| 亚洲殴洲精品Av在线| 欧美肉大捧一进一出免费视频| 91碰| 激情图片婷婷丁香五月| 影音先锋777xfplay色资源网站| 婷婷综合久久| 97碰| 久久久99婷婷久久久久久| 精品无码片| 国产成人AV| 午夜色婷婷| 五月丁香啪啪综合| 色停停香蕉视频| 婷婷丁香六月天| 丁香六月在线| 天天日夜夜帕| 五月天激情子轮| 26uuu国产精品| 成人婷婷桔色| 九九精品这里只有| www色色com| 六月99天天婷婷激情综合| 人橾人| 久热久操久热久草国产91| 狠狠色综合无线观看| 丁香五月婷婷国产av| 成人 在线观看国产| 成人精品视频99在线观看免费| 搡BBBB搡BBB搡五十| 另类少妇人与禽zOZZ0性伦| 日本久久精品| 人妻啪啪啪| 99热首页| 色色综合网站| 国产成人精品一区二三区熟女在线| 五月天激情小说| 一区二区你懂的| 亚洲色区17| 91av成人| 久久久宗合视频88| 91九九九色在| Www.久久| 五月丁香九九| yazhochengrenavwang| www色综合亚洲92| 韩国中文字幕91| 伊人免费视频9| 热久久婷婷| www.99精品视频| 久婷久婷| WWW,色五月| 婷婷五月天,影院| 激情影院免费视频婷婷五月天| 狠狠操.COM| 亚洲成人噜噜| 激情综合五月| 色色色色色色色色综合网| 天天操夜夜操| 九九热AV| 第九色区AV在线| 99热在线看| 99日本在线| 九九热10| 啪到高潮激情丁香五月| 婷婷五月天综合AV| 精品乱码久久久久| 国产看真人毛片爱做A片| 亚洲AV影片在线观看| 婷婷五月综合免费在线| 色色色色区| 91久久婷婷| 五月激情视频网| 婷婷五月激情视频在线| 婷婷五月天综合网| 五月丁香偷拍| 婷婷五月丁香综合亚洲| www.9797国产| 激情无码五月天| 五月婷婷丁香在线视频| 欧美天堂久久| 精品夜夜澡人妻无码AV| 久久99jiu9| 五月天色色激情综合| 色色cOm| 九九操操| 97在线99| 婷婷免费无马| 久久有码| 久久色天堂| 成人午夜天| 98永久精品| 欧美色骚婷婷五月天| 天天色综网| 欧美25p| 视频一区二区在线| 97在线精品| 五月婷婷丁香综合| 久久九九99| 日韩AV免费| 婷婷久久综合久| 开心激情站婷婷五月天| 久久久久9| 精品AV无码超碰| 久操人妻| 色婷婷狠狠久久综合五月| 亚洲精品电影| 四色五月视频| 色五月天综合| 五月丁香六月香香蕉| 日韩99无码| 天天综合久久| 六月婷婷色色色| 大香蕉220| 婷婷九月| 五月天综合在线| 久久99热网| www.狠狠| 激情综合五月开心狠狠| 中文中文在线| 99久re热视频精品98| 伊人五月天婷婷| 久久婷婷东京热大香樵| 加勒比色色| 丁香六月啪| 9超碰在线| 欧美婷婷五月| 亚洲日韩一页精品发布| 日韩欧洲亚洲| 久久精彩免费视频| 九九爱精品网站| 婷婷午夜激情| 婷婷五月娱乐在线| 丁香婷婷免费| 玖玖热视频| 99在线视频观看| 激情综合网,婷婷| 婷婷九月| 激情综合网五月| 色婷小说| 在线观看av网站| 国产激情综合五月久久| 五月婷婷丁香啪啪| 亚洲成人婷婷| 十二区无码| 日韩成人精品一区久久久久| 开心五月激情网| 99精品热| 超碰成人电影| 色狠狠999综合| 狠狠色噜噜狠狠狠888| 人人操人人妻| 99九无网码| 狠狠狠狠狠干| 97碰 在线视频观看| 色情五月天视频网| 日本色色色| 久久精品国产AV一区二区三区 | 97超碰,人人舔,人人操,人人摸 | 国产精品国产成人国产三级| 激情五月综合色| 婷婷九月| 色色综合色视频| 欧美婷婷五月丁香| 色优久久| 99视频这里有精品| 9超碰在线| 婷婷激情六月| 日韩精品无码AV| 丁香五月天激情免费在线观看AV777| 91国产精品视频播放| 五月丁花六月丁香综合| 激情综合网站| 亚洲免费av在线| 婷婷精品在线| 高清无码视频网址| 爱之国产色情综合| www.五月天| 婷婷五月天熟妇| 碰超亚洲| 日本婷婷色日| 人妻激情视频| 超碰色综合| 成人在线视频网| 五月激情在线| 天天干,噜噜色,狠狠色| 亚洲愉拍99热成人精品| 婷婷五月六月激情| 五月伊人婷婷999| 婷婷中文在线| 丁香五月天啪啪| 激情综合五月婷婷| 丁香六月婷婷综合在线| 7777精品伊人久久久大香线蕉最新版| 可以看的av网站| 亚洲黄色精品| 亚洲精品99| 狠狠狠激情网| 爆乳熟女-区二区三区| 女人天堂AV| 九月婷婷久久久| 嫩草AV久久伊人妇女超级A| 另类国产综合| AVV黄| 婷婷五月天精品| 婷婷综合成人五月天| 色色综合五月| 99啪啪视频| 日日干综合| 久久综合香蕉国产国产蜜臀AV| 婷婷婷久久久| 五月激情六月| 亚洲无码AV片| 人妻操逼视频| 六月婷婷狠狠| www99xxxx五月丁| 激情AV| 五月丁香六月婷婷网站| 九九九九无码| 99色免费观看全部| 九九在线91| 99热综合色图| 色色色色色级无码| 婷婷综合中文| 另类图片激情五月| 思思视频精品| 丁香婷婷浪潮AV久久综合| 草草操操| 日本狠狠爽| 婷婷色六月| 丁香伊人网| 五月婷婷激情色情网| 五月婷婷色啪| 免费看成人AA片无码视频吃奶| 丁香六月激情综合| 婷婷丁香六月影视| 六月婷婷日| 久久丁香五月天| 婷婷五月天精品| 婷婷在线操| 久久久久99精品成人网站| 桃色五月婷婷| 色吧五月婷婷| 停停五月丁香| 亚洲mm色| 激情性爱五月天| 久久久久久久久月丁| 久热超碰| 色99网| 天天操天天操综合| 亚洲婷婷91丁香| 色五月色开心开心五月| 色婷久久| 综合久久综合久久| 99在线观看视频蜜臀| 九九精品热播| 一本久久婷婷| 国产乱人偷精品人妻A片| www狠狠| 婷婷久久丁香| 色综合日日| 青青夜夜狠狠夜夜狠狠| 激情文学第四色婷婷丁香五月| 亚洲偷| 五月色综合| 婷婷五月香蕉| 另类激情首页| 婷婷娱乐丁香综合网| 99久久99视频只有精品| 4438激情网| 狠狠色噜噜狠狠亚洲A∨| 亚洲亚洲人成综合网络| 99精品热| 超级碰碰91| 天天综合中文| 天天色天天噜| 欧美综合激情五月丁香| 亚洲久艹| 婷婷黄色网| .青娱乐天天操B| 777精品久无码人妻蜜桃| 99热这里只有精品中文字幕| 98色花堂98t.R| 亚洲AV成人无码久久精品老人法拉利| 多精窝99在线视频| 欧美情月伍月天| 91久久久久久久久久久| 久久精品91视频| 区欧美日韩成人| 亚洲第一成人无码A片| 精品久久99| 色色a| www.五月天婷婷| 色色激情五月| 色五月婷婷91| 婷婷久久精品| 五月天婷婷影院| 狠狠xx| 丁香婷婷视频在线| 丁香五月婷婷在线观看| 色五月激情| 五月丁香六月婷婷激情视频在线观看免费 | 美女激情综合| 欧美日韩99| 久久久中文| 九九综合久久| 婷婷丁香六月综合激情站| www.99视频| 婷婷六月色开| 大香蕉啪啪啪| 99热免费精品| 丁香婷婷老司机久操| 1024人妻| 色色五月天婷婷| 五月丁香六月婷婷综合在线| 婷婷性爱| 99热这里有精品6| 丁香五月婷婷色五月| 五月天色导航| 人人操A| 婷婷视频在线| 五月激情丁香五月宗合| 99热精品综合| 5月婷婷五月天| 影音先锋天天日| 乱码操操| 亚洲日韩一页精品发布| 亚洲xx在线| 久草婷婷网| 综合九九日本| 日本99婷婷| WWW.久久久久久久| 丁香五月天网站| 怕怕av| 激情久久综合网| 蜜乳中文字| 99狠狠操一| 丁香婷婷基地| 亚洲精品国产熟女久久久| 热99色| 久9精品| 成人精品在线观看| 丁香婷婷综合五月天| 丁香五月天激情综合网| 亚洲狠狠干| 五月婷婷三级| 亚洲国产精品SUV| 激情五月婷婷老师| 光棍影院日韩精品| 激情婷婷内射| 天天爽天天做| 六月色婷婷| 成人AV在线电影| 高清a片基地| 久久婷婷丁香| 激情五月天婷婷久久久久久久久久久| 色五月天在线| 日本色爽| 超碰99在线| 粉嫩AV久久一区二区三区| 五月婷综合| 久99| 婷婷五月天欧美图片在线播放电驴| 色五月综合资源推荐| 日本色五月| 色婷婷亚洲综合天堂| 碰超99| 视频这里只有精品16| 色色热| 无码日本精品XXXXXXXXX| 吊色AV男人的天堂| 2020久久婷婷五月| 久久久性爱视频| 丁香五月天电影| 九九九九中文字幕| 婷婷五月激情综合| 久久AV电影| www.色色五月天.com| 成人精品视频99在线观看免费| 超碰在线94| 玖玖色资源站| AV人人操| 亚洲欧美在线观看| 激情内射人妻1区2区3区| 影音先锋91资源站| 玖玖色综合| www.久久av.com| 丁香婷婷久久 | 五月丁香六月香综合激情| 99re在线观看| 十二区无码| 欧美日韩99| 天天精品视频免费观看| 日韩精品一区二区三区,四区,五区视频| 久久综合影院| 99综合激情久久精品久久| 97超碰在线免费观看| 亚洲AV成人一区二区在线观看| 五月婷婷黄色| 色色丁香婷婷综合| 日本大人久久| 色五月xxx| 亚洲综合无码| 婷婷五月超碰| 激情五月天色爱| 激情五月天综合网| 婷婷激情在线| 婷婷五月天第四色| 亚洲激情网| 亚洲一级色电影| 色丁香五月| 国产精品a无线| 久久三级视频| 就爱射中文字幕资源网| 色久综合| 婷婷和五月天| 日韩久久色| 久草丁香婷婷五月天婷| 综合网五月天123| 亚洲AV免费在线| 99视频网址| 国产色色色色| 色色亚洲99com| 99在线看片| 思思久久99热只有频精品66| ri电影在线| 人人操99| 性欧美日本| 色色色综合| 丁香五月欧美色综合| 互月天综合| 色综合色香蕉网| 五月天婷婷激情小说| 色色国产| 亚洲激情免费久久| 99精品网| 97色色色色色色色| 五月婷色| 免费黄色视频网址| caop在线视频| 久久婷婷色色| 啪啪综合| 五月丁香大相交| 九九热最新| 五月亭亭色| 午夜福利成人AV91| 婷婷天堂综合| 激情久久久久久| 狠狠操综合| 激情五月综合| 噜噜色五月| 人妻AV在线| 综合色久| 人妻精品一区二区三区| 丁香五月婷婷啪| 国产性爱亚洲是图| 操操操操操操婷婷五月天| 国产婷婷五月天| 91久久综合亚洲鲁鲁五月天| 欧美天堂久久| 婷婷精品在线| 亚洲精品色| 人人爱天天摸摸天天爱| 极品人妻VIDEOSSS人妻| 亚洲激情视频网| 69人人操人人爽| 色五月欧美| 色天使色婷婷| 人妻综合网| Xx色综合| 香蕉AV777XXX色综合一区| 亚洲五月天狠狠| 精品自拍99| 综合在线丁香五月| 久操乱| 97色色网| 99啪啪视频| 色婷婷五月天| 狠狠色激情综合| 久久99jiu9| www九九热| 亚洲天天免费| 99热很操老逼| 97婷婷狠狠| 深爱激情四射| 丁香五月停停av| 天天做天天爽| 丁香五月1页| 丁香六月激情| 五月情婷婷| 98色花堂98t.R| 丁香五月成人| 久久精品亚洲一级牲爱综合 | 五月停亭久久电影| 日日干日日| 久久九九怡红院| 玖久久网站| 色五月综合激情| 五月综合777| 99偷拍视频在线日本|