亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

Happy × OpenCode 運行時協(xié)議追蹤實錄:從源碼跑通到消息-部件(message+parts)的權限、媒體與子會話對照

Happy × OpenCode 運行時協(xié)議追蹤實錄:從源碼跑通到消息-部件(message+parts)的權限、媒體與子會話對照 人工智能AI AgentAI 應用移動開發(fā)CLI后端【免費下載鏈接】happyMobile and Web client for Codex and Claude Code, with realtime voice, encryption and fully featured項目地址https://gitcode.com/gh_mirrors/happy20/happy點擊查看免費下載本文是 Happy 項目針對 OpenCode 做的一輪協(xié)議層運行時追蹤從源碼啟動 OpenCode 服務、復制全局認證到隔離臨時根目錄、驅動真實樣例項目只相信「發(fā)給 OpenCode 的請求體、OpenCode 返回的 JSON、/event的原始 SSE 日志、以及 OpenCode 源碼」四類證據從而回答一個核心問題——OpenCode 的實時同步與轉寫模型到底是什么樣Happy 的轉寫與同步層又該從中借鑒什么。讀完本文你將掌握 OpenCode 目錄路由、權限詢問、媒體輸入、子會話四類真實協(xié)議的完整載荷與事件序列并理解docs/plans/provider-envelope-redesign.md中「消息 部件」改造方案的證據來源。一、追蹤背景與證據邊界這份追蹤記錄撰寫于 2026-03-21是較早一輪競品分析缺失的協(xié)議級補充。其方法非常直接運行 OpenCode 源碼把全局安裝里的認證復制進一個隔離的臨時根目錄驅動一個真實的小項目并且只信任以下證據發(fā)送給 OpenCode 的精確請求體OpenCode 各端點返回的精確 JSON 響應OpenCode/event的原始 SSE 日志OpenCode 源碼本身。在 Happy 一側這份文檔只信任 Happy 倉庫內的代碼。換言之這是一份「用真實運行軌跡說話」的對照文檔而不是紙面推測。1.1 實際使用的環(huán)境項值OpenCode 源碼檢出../happy-adjacent/research/opencode作者本地外部檢出目錄檢出版本commit2e0d5d230893dbddcefb35a02f53ff2e7a58e5d0樣例項目倉庫內的 environments/lab-rat-todo-project純前端靜態(tài)小項目index.html、app.js、styles.css、README.md隔離運行時根/tmp/opencode-trace-dev.ptZAVJ認證來源~/.local/share/opencode/auth.json復制到/tmp/opencode-trace-dev.ptZAVJ/share/opencode/auth.json復制后的認證文件中僅保留了openai一個 provider key1.2 服務端啟動命令XDG_DATA_HOME/tmp/opencode-trace-dev.ptZAVJ/share \ XDG_CACHE_HOME/tmp/opencode-trace-dev.ptZAVJ/cache \ XDG_CONFIG_HOME/tmp/opencode-trace-dev.ptZAVJ/config \ XDG_STATE_HOME/tmp/opencode-trace-dev.ptZAVJ/state \ OPENCODE_CONFIG_DIR/tmp/opencode-trace-dev.ptZAVJ/profile \ OPENCODE_DB/tmp/opencode-trace-dev.ptZAVJ/share/opencode/opencode.db \ bun run --cwd packages/opencode --conditionsbrowser src/index.ts \ serve --hostname 127.0.0.1 --port 4098 --print-logs --log-level DEBUG這套命令的要點在于通過XDG_*系列環(huán)境變量把 OpenCode 的數據、緩存、配置、狀態(tài)全部隔離到/tmp/opencode-trace-dev.ptZAVJ下OPENCODE_CONFIG_DIR指定獨立配置目錄OPENCODE_DB顯式指定 SQLite 數據庫路徑服務監(jiān)聽127.0.0.1:4098并以 DEBUG 級別打印日志。這樣既能復用全局認證只含 openai key又不會污染真實環(huán)境。支撐這套實測的關鍵 OpenCode 源碼文件作者本地檢出路徑從../happy-adjacent/research/opencode起packages/opencode/src/auth/index.tspackages/opencode/src/server/server.tspackages/opencode/src/server/routes/experimental.tspackages/opencode/src/session/message-v2.tspackages/opencode/src/session/prompt.tspackages/opencode/src/tool/task.tspackages/opencode/src/permission/index.ts二、什么是「真實」證據分散在四個面追蹤得出的第一個重要結論是OpenCode 有用的協(xié)議證據并不是一個大的隱藏 RPC 信封而是分散在四個面上發(fā)送到POST /session/:id/prompt_async的請求體從GET /session/:id/message讀到的持久化消息行從GET /event獲得的實時補丁流控制面端點如/path、/permission、/session/:id/children、/experimental/worktree、/experimental/workspace的響應。這個區(qū)分對 Happy 至關重要。OpenCode 并沒有一條「一次性提供給 UI 全部所需」的 append-only 轉寫流而是由四類機制協(xié)同帶類型部件的穩(wěn)定消息行stable message rows with typed parts針對這些行的實時補丁事件live patch events權限與會話狀態(tài)的一等旁路事件first-class side-channel events轉寫之外的獨立 workspace / worktree 路由。三、Flow 0目錄路由、worktree、workspace 與「sandbox」的真實含義在觸碰任何 prompt 之前先驗證服務端如何限定請求范圍。關鍵路由輸入是請求頭x-opencode-directory: /Users/kirilldubovitskiy/projects/happy/environments/lab-rat-todo-project真實的GET /path響應{ home: /Users/kirilldubovitskiy, state: /tmp/opencode-trace-dev.ptZAVJ/state/opencode, config: /tmp/opencode-trace-dev.ptZAVJ/config/opencode, worktree: /Users/kirilldubovitskiy/projects/happy, directory: /Users/kirilldubovitskiy/projects/happy/environments/lab-rat-todo-project }當前項目對應的真實空列表GET /experimental/worktree - [] GET /experimental/workspace - []這意味著項目限定是請求路由問題不是轉寫問題當前項目位于一個更寬的worktree根目錄之下以及一個更窄的directory之內worktree 與 workspace 是顯式的控制面資源這些內容不會以type: sandbox或type: workspace之類的轉寫部件出現。所以當 OpenCode 的產品語言說「sandbox」時落在具體實現上主要是三件事目錄限定、可選的 workspace 路由、可選的 git worktree 管理。它不是Happy 已經擁有代碼的那種 OS/文件系統(tǒng)/網絡沙箱策略——后者可以參考 packages/happy-cli/src/sandbox/config.ts 中的buildSandboxRuntimeConfig它按sessionIsolationstrict/workspace/custom構造文件系統(tǒng)allowWrite/denyRead/denyWrite白名單并按networkModeblocked/allowed/custom配置allowedDomains/deniedDomains/allowLocalBinding等網絡策略。這是兩種完全不同的「沙箱」語義。四、Flow 1圍繞apply_patch的權限詢問——最完整的一條真實鏈路這是整個追蹤中最干凈的一條鏈路因為它一次跑通了用戶 prompt 創(chuàng)建 → 助手步驟生命周期 → reasoning → 工具調用 → 權限請求 → 權限回復 → 文件編輯副作用 → 助手最終跟進。4.1 會話創(chuàng)建強制詢問的編輯權限規(guī)則POST /session { title: trace permission ask, permission: [ { permission: edit, pattern: *, action: ask } ] }會話創(chuàng)建時顯式帶上權限規(guī)則把edit的*模式設為ask從而強制觸發(fā)權限詢問。4.2 實際發(fā)送的 Prompt 請求體POST /session/{sessionID}/prompt_async { agent: build, model: { providerID: openai, modelID: gpt-5.4-mini }, parts: [ { type: text, text: Create a new file named TRACE_PERMISSION.md in the current directory with exactly one line: rat permission trace. Then reply with one short sentence. } ] }注意prompt 本身就是「帶類型部件的數組」agent與model在消息外層顯式聲明。4.3 用戶消息被持久化{ info: { role: user, id: msg_d0f8263b50016s8bKlZ36Te52c, sessionID: ses_2f07d9c71ffeikGiLoOKqF2Evb }, parts: [ { type: text, text: Create a new file named TRACE_PERMISSION.md in the current directory with exactly one line: rat permission trace. Then reply with one short sentence. } ] }消息被持久化為info角色、id、會話 idparts有序類型部件兩層結構與請求體形態(tài)一致。4.4 實時權限事件SSE真實 SSE 事件{ type: permission.asked, properties: { id: per_d0f826ef60011FReJ16cM2d0MK, sessionID: ses_2f07d9c71ffeikGiLoOKqF2Evb, permission: edit, patterns: [ environments/lab-rat-todo-project/TRACE_PERMISSION.md ], always: [*], tool: { messageID: msg_d0f8263b9001UcnDrNrnbyYeyT, callID: call_uJj6gIQfIPpSoBV9oOWBT7cF }, metadata: { filepath: environments/lab-rat-todo-project/TRACE_PERMISSION.md, files: [ { relativePath: environments/lab-rat-todo-project/TRACE_PERMISSION.md, type: add, after: rat permission trace\n, additions: 1, deletions: 0 } ] } } }這是追蹤里最重要的發(fā)現之一OpenCode 的權限不是簡單的「工具 X 想要批準」。這個請求攜帶了權限種類edit精確路徑模式patterns穩(wěn)定的請求 idper_...與工具調用的回鏈tool.messageIDtool.callID一份可直接渲染的 diff 載荷metadata.files帶type、after、additions、deletions。也就是說權限事件本身就為 UI 準備好了審批界面的全部素材。4.5 工具調用前后的助手消息批準后持久化的助手消息{ info: { role: assistant, finish: tool-calls, id: msg_d0f8263b9001UcnDrNrnbyYeyT }, parts: [ { type: step-start, snapshot: dfd3f0873ec51c2ddbf0b6b79acc154e5ab15c5d }, { type: reasoning, text: **Creating a file**\n\nI need to create a file..., metadata: { openai: { itemId: rs_..., reasoningEncryptedContent: gAAAAA... } } }, { type: tool, callID: call_uJj6gIQfIPpSoBV9oOWBT7cF, tool: apply_patch, state: { status: completed, input: { patchText: *** Begin Patch\n*** Add File: TRACE_PERMISSION.md\nrat permission trace\n*** End Patch }, output: Success. Updated the following files:\nA environments/lab-rat-todo-project/TRACE_PERMISSION.md } }, { type: step-finish, reason: tool-calls } ] }隨后 OpenCode 又發(fā)出第二條助手消息承載最終可見文本{ info: { role: assistant, finish: stop }, parts: [ { type: step-start }, { type: text, text: Done. }, { type: step-finish, reason: stop } ] }關鍵點工具調用攜帶自己的狀態(tài)機state.statuspending → running → completed且step-start/step-finish是獨立部件reasoning 也是獨立部件最終文本又落在單獨的 assistant 消息里。整條鏈在持久化層是自解釋的。4.6 實際看到的實時事件序列原始 SSE 流的順序18 步session.createdmessage.updated用戶消息message.part.updated用戶text部件session.status→busymessage.updated助手消息殼message.part.updated→step-startmessage.part.updated→reasoning大量message.part.delta塊流式推送 reasoning 文本message.part.updated→ 工具部件status: pendingpermission.askedpermission.repliedfile.editedfile.watcher.updatedmessage.part.updated→ 工具部件status: runningmessage.part.updated→ 工具部件status: completedmessage.part.updated→step-finish第二條助手消息攜帶最終textsession.status→idle文件確實在磁盤上被創(chuàng)建TRACE_PERMISSION.md: rat permission trace五、Flow 2媒體輸入失敗路徑——provider 拒絕前的誠實存儲失敗場景很有價值因為它展示了 provider 拒絕請求之前 OpenCode 到底存了什么。5.1 Prompt 請求體{ agent: build, model: { providerID: openai, modelID: gpt-5.4-mini }, parts: [ { type: text, text: Describe the attached image in one short sentence. Do not use any tools. }, { type: file, mime: image/png, filename: tiny.png, url: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO7Z0XQAAAAASUVORK5CYII } ] }5.2 用戶消息被持久化原樣{ info: { role: user }, parts: [ { type: text, text: Describe the attached image in one short sentence. Do not use any tools. }, { type: file, mime: image/png, filename: tiny.png, url: data:image/png;base64,iVBORw0K... } ] }5.3 助手錯誤被持久化{ info: { role: assistant, error: { name: APIError, data: { message: The image data you provided does not represent a valid image. Please check your input and try again., statusCode: 400, isRetryable: false, metadata: { url: https://api.openai.com/v1/responses } } } }, parts: [] }實時流同時發(fā)出了session.error。這是一個 OpenCode「誠實」的好例子用戶側的file部件被原樣存儲失敗則成為助手/會話的錯誤狀態(tài)而沒有被「規(guī)范化」掉。對 Happy 而言這意味著消息層必須能表達失敗而不是把失敗折疊進某個模糊的文本里。六、Flow 3媒體輸入成功路徑——本地文件被 OpenCode 自行解析成功路徑完全不同因為輸入 URL 是本地file://...由 OpenCode 自己解析。6.1 Prompt 請求體{ agent: build, model: { providerID: openai, modelID: gpt-5.4-mini }, parts: [ { type: text, text: Describe the attached image in one short sentence. Do not use any tools. }, { type: file, mime: image/png, filename: logo.png, url: file:///Users/kirilldubovitskiy/projects/happy/logo.png } ] }6.2 規(guī)范化后的用戶消息{ info: { role: user }, parts: [ { type: text, text: Describe the attached image in one short sentence. Do not use any tools. }, { type: text, synthetic: true, text: Called the Read tool with the following input: {\filePath\:\/Users/kirilldubovitskiy/projects/happy/logo.png\} }, { type: file, mime: image/png, filename: logo.png, url: data:image/png;base64,iVBORw0K... } ] }這是session/prompt.ts的真實行為原文檔明確標注非猜測OpenCode 注入一條synthetic: true的文本部件描述這次讀取再把媒體本身作為file部件存儲且本地文件被解析成具體的data:URL。6.3 助手響應被持久化{ info: { role: assistant, finish: stop }, parts: [ { type: step-start }, { type: reasoning, text: , metadata: { openai: { itemId: rs_..., reasoningEncryptedContent: gAAAAA... } } }, { type: text, text: A cute cartoon otter is lounging in water while using a laptop. }, { type: step-finish, reason: stop } ] }6.4 實時流證明了什么/event日志顯示message.part.updated合成讀取文本→message.part.updatedfile部件→ reasoning 創(chuàng)建 → 流式message.part.delta助手文本→session.status回到idle。所以真實的媒體故事是三段式用戶側 prompt 部件type: file內部轉寫展開synthetic text 具體file助手側回答普通文本輸出。七、Flow 4子任務 / 子會話 / 權限約束——與 Happy 對照最重要的一環(huán)這是四類追蹤里與 Happy 做并排對照最重要的一條。7.1 Prompt 請求體含 agent 部件{ agent: build, model: { providerID: openai, modelID: gpt-5.4-mini }, parts: [ { type: text, text: Find the main files in this tiny project and report back briefly. }, { type: agent, name: explore } ] }7.2 用戶消息被改寫OpenCode沒有只存原始的agent部件而是把用戶消息重寫為{ info: { role: user }, parts: [ { type: text, text: Find the main files in this tiny project and report back briefly. }, { type: agent, name: explore }, { type: text, synthetic: true, text: Use the above message and context to generate a prompt and call the task tool with subagent: explore } ] }同樣是session/prompt.ts的真實行為追加一條合成文本把「派生子代理」這件事顯式寫進轉寫。7.3 父會話的助手消息與task工具部件{ info: { role: assistant, finish: tool-calls, id: msg_d0f855de2001b0RbgA3JGA5lzk }, parts: [ { type: step-start }, { type: reasoning, text: **Generating a task prompt**\n\nI need to call the task tool with the subagent explore... }, { type: tool, callID: call_OqUEr7ccnf3zEb2rgLYDp5uR, tool: task, state: { status: completed, input: { description: Find main project files, prompt: Inspect the repository and identify the main files in this tiny project. Focus on the key entry points, config files, and any top-level files that define how the project runs. Return a brief list of the most important files with one short note each about what they appear to do. Keep it concise and do not modify anything., subagent_type: explore }, output: task_id: ses_2f07a8dd6ffeRc23sIIgM4ZpMT (for resuming to continue this task if needed)\n\ntask_result\nMain files:\n\n- .../index.html ...\n- .../app.js ...\n- .../styles.css ...\n- .../README.md ...\n\nNo build/config files are present; it looks like a simple frontend-only static app.\n/task_result, metadata: { sessionId: ses_2f07a8dd6ffeRc23sIIgM4ZpMT, model: { modelID: gpt-5.4-mini, providerID: openai } } } }, { type: step-finish, reason: tool-calls } ] }兩個關鍵點父轉寫存儲task工具調用及其結果可恢復性由子會話 id 提供以task_id形式返回ses_2f07a8dd6ffeRc23sIIgM4ZpMT即子會話 id可用于續(xù)跑該任務。7.4 子會話真的被創(chuàng)建了真實GET /session/{parentID}/children響應[ { id: ses_2f07a8dd6ffeRc23sIIgM4ZpMT, parentID: ses_2f07aa25affeqiZHSnBiN8pSyG, title: Find main project files (explore subagent), directory: /Users/kirilldubovitskiy/projects/happy/environments/lab-rat-todo-project, permission: [ { permission: todowrite, pattern: *, action: deny }, { permission: todoread, pattern: *, action: deny }, { permission: task, pattern: *, action: deny } ] } ]這是「OpenCode 子代理就是子會話」最干凈的證明子會話擁有自己的 id、自己的parentID指向父會話、自己的標題、繼承的目錄以及自己的權限規(guī)則這里顯式 deny 了 todo 寫入/讀取與再派生子任務防止無限遞歸。7.5 跨父子的實時流原始/event流父會話用戶消息創(chuàng)建父會話助手step-start父會話 reasoning 增量父會話task工具部件 →pending子會話session.created父會話工具部件 →running子會話內出現子會話用戶消息子會話助手消息開始子會話 reasoning 增量流式推送子會話達到idle父會話工具部件 →completed結論OpenCode 并沒有在一條扁平消息泳道里「假裝」子代理而是使用父會話轉寫 子會話轉寫 父工具元數據鏈接到子會話 id。八、與 Happy 當前代碼的逐項對照以下對照只使用 Happy 代碼不做 Happy 運行時追蹤表中 OpenCode 側結論由日志/源碼證明主題OpenCode日志/代碼證明Happy代碼證明外層信封消息行已有頂層info 有序類型化partspackages/happy-wire/src/messages.ts 仍把較新格式包裝為role: session 內層content: sessionEnvelope事件判別部件用頂層type如text、reasoning、tool、file、agent、subtask、step-startpackages/happy-wire/src/sessionProtocol.ts 仍把事件類型嵌套在ev.t之下sessionEventSchema是t判別聯(lián)合權限實時permission.asked/permission.replied事件攜帶工具回鏈與 diff 元數據packages/happy-app/sources/sync/reducer/reducer.ts 仍需通過合并類轉寫消息與加密agentState來重建權限狀態(tài)子代理帶parentID的真實子會話task_id是可恢復的子會話 idpackages/happy-wire/src/sessionProtocol.ts 的信封只有可選的subagent字段cuid2 校驗沒有子會話身份 轉寫級鏈接媒體用戶file部件 合成輔助text成功的本地文件變成具體data:URLpackages/happy-wire/src/sessionProtocol.ts 只有一種file事件形態(tài)計劃文檔提出直接采用photo/video/file變體沙箱 / 隔離路由靠 directory/workspace 與可選 worktree「sandbox」大多是 worktree/workspace 語言packages/happy-cli/src/sandbox/config.ts 已有具體的文件系統(tǒng) allow/deny 規(guī)則與網絡模式客戶端復雜度OpenCode 的 reducer 把實時補丁合并進已類型化的消息行packages/happy-app/sources/sync/typesRaw.ts 與 packages/happy-app/sources/sync/reducer/reducer.ts 仍保留多個 legacy 載荷族系agentEvent、session 事件、tool-call 等及復雜的重建邏輯對照結論非常直白OpenCode 擁有更干凈的轉寫形態(tài)Happy 擁有更強的真實沙箱配置Happy 當前的 reducer 復雜度是「不再保留多個明文載荷族系」的最強論據。關于沙箱這一點可以進一步說明Happy 的buildSandboxRuntimeConfig在sessionIsolation: strict時只允許寫入會話目錄 額外寫入路徑 共享 agent 狀態(tài)路徑~/.codex、~/.claude在workspace模式放寬到 workspace 根網絡側blocked模式把allowedDomains與deniedDomains都清空allowed模式則放行。這套文件系統(tǒng) 網絡的策略能力是 OpenCode 目錄路由式「沙箱」所不具備的。九、對provider-envelope-redesign.md的啟示當前規(guī)劃上下文來自 docs/plans/provider-envelope-redesign.mdDRAFT v2OpenCode 衍生現有判斷仍然成立p6 信封重設計工作位于 dirty worktree尚未進入已提交的分支歷史該工作已經驗證了若干有價值的清理動作type放頂層、去掉外層role: session、引入parentId/agentId、轉寫級權限、直接媒體變體該計劃文檔中的現有提案仍是「記錄的方案」plan of recordOpenCode 的原始協(xié)議形態(tài)仍是鎖定 Happy 新穩(wěn)態(tài) schema 前最值得評估的外部參照Claude 更舊的類轉寫格式如果最終證明最簡單穩(wěn)定的模型更接近那段歷史仍是合理的回退選項。原文檔特別強調OpenCode并不主張照抄 ACP 包裝器行為而是主張照抄原始轉寫形態(tài)穩(wěn)定的消息行stable message rows類型化部件typed parts顯式的權限對象explicit permission objects顯式的子會話身份explicit child-session identity轉寫狀態(tài)與實時補丁傳輸的清晰分離。這與provider-envelope-redesign.md的取舍一致該計劃采納 messageparts 形態(tài)但拒絕OpenCode「權限/問題走旁路 SSE 事件」的做法——計劃在工具部件狀態(tài)機中加入顯式blocked狀態(tài)讓權限請求與決策永久落在工具部件上block字段 decision: once | always | reject并拒絕以原始message.part.delta回放作為持久化同步模型改為可打補丁的規(guī)范消息pending → blocked → running → completed 原地演進同步發(fā)完整更新消息refetch 拿最新狀態(tài)。十、Happy 最難的部分加密存儲下的三個落地方案這是 OpenCode 與 Happy 分歧最大的地方。OpenCode 之所以能長期維持規(guī)范消息行 部件補丁是因為它的存儲層能看到明文會話狀態(tài)SQLite 明文行可隨意打補丁。而Happy 存儲的是不透明加密 blob。因此直接照抄 OpenCode 就必然要做一個存儲決策。以下是三個候選方案。方案 Aappend-only 規(guī)范轉寫事件存儲已規(guī)范化的、自身可持久化的加密記錄。示例心智模型{ kind: agent-event, type: tool-start, ... } { kind: agent-event, type: permission-request, ... } { kind: agent-event, type: tool-end, ... }優(yōu)點存儲不可變refetch 簡單匹配 Happy 當前的傳輸假設避免重放原始 delta 來重建可用轉寫。缺點不是對 OpenCode 補丁模型的字面照搬要么 start/end 事件永遠分離要么客戶端必須為 UI 便利推導「最新狀態(tài)」視圖。方案 B給規(guī)范加密消息行打補丁保留穩(wěn)定加密消息 id但當部件獲得新狀態(tài)時重寫加密載荷使 refetch 返回最新的規(guī)范快照。示例心智模型初始{ messageId: msg_123, parts: [ { type: tool, state: { status: pending } } ] }之后被重寫為{ messageId: msg_123, parts: [ { type: tool, state: { status: completed, input: { ... }, output: ... } } ] }優(yōu)點最接近 OpenCode 的服務端模型refetch 直接拿到最新規(guī)范狀態(tài)客戶端重建問題更少。缺點加密消息行變得可變同步/版本控制更微妙除非同時保留影子事件日志否則失去純 append-only 歷史。方案 C追加原始補丁事件客戶端重建存儲原始流客戶端重建消息狀態(tài)。示例心智模型{ type: message.updated, ... } { type: message.part.updated, ... } { type: message.part.delta, ... } { type: permission.asked, ... }優(yōu)點最接近 OpenCode 實時流只要每個補丁都被追加就是完全不可變的。缺點這恰恰是最可能復刻 Happy 當前 reducer 之痛的路線refetch 需要回放/物化加密存儲 遺留格式支持使其成為復雜度最高的選項。推薦結論如果 Happy 要向 OpenCode 借鑒應該借形態(tài)shape而不是整套持久化策略。最強的兩個選項是append-only規(guī)范事件方案 A可打補丁的規(guī)范消息快照方案 B。最弱的選項是把原始補丁流重建作為主要持久化格式方案 C——那會保留太多我們正試圖消除的復雜度。方案 B 也正是docs/plans/provider-envelope-redesign.md選定的方向消息 id 穩(wěn)定、工具部件狀態(tài)演進時整體重加密并同步完整消息、refetch 直接拿最新狀態(tài)、不以 append-only 事件日志作為主存儲而 DB 行、seq排序、localId、v3 HTTP 消息 API、Socket.IO 失效通知與加密 blob 格式均保持不變。小結以真實運行軌跡為唯一證據可以確認 OpenCode 的協(xié)議核心是「穩(wěn)定消息行 類型化部件 顯式權限對象 顯式子會話身份 轉寫與實時補丁分離」。它對 Happy 的最大價值不是可照抄的傳輸層而是可作為穩(wěn)態(tài) schema 的參照形態(tài)而 Happy 真正的差異化優(yōu)勢文件系統(tǒng)/網絡級沙箱策略、端到端加密存儲決定了它必須把 OpenCode 的形態(tài)改造進自己的加密存儲約束之內——這正是docs/plans/provider-envelope-redesign.md正在做的事。建議繼續(xù)閱讀同一研究系列中的 docs/competition/opencode/message-protocol.md 與 docs/competition/opencode/sources.md以及 docs/plans/provider-envelope-redesign.md 的完整方案。贊分享人工智能AI AgentAI 應用移動開發(fā)CLI后端【免費下載鏈接】happyMobile and Web client for Codex and Claude Code, with realtime voice, encryption and fully featured項目地址https://gitcode.com/gh_mirrors/happy20/happy點擊查看免費下載相關推薦Happy Provider Envelope 重構設計以 OpenCode messageparts 模型統(tǒng)一多 Provider 會話協(xié)議Happy Provider Envelope 重構設計以 OpenCode messageparts 模型統(tǒng)一多 Provider 會話協(xié)議 本文基于 d人工智能AI AgentAI 應用移動開發(fā)CLI后端OpenCode 消息協(xié)議深度剖析happy 項目借鑒的 Envelope Typed Parts 轉寫模型OpenCode 消息協(xié)議深度剖析happy 項目借鑒的 Envelope Typed Parts 轉寫模型 導讀 本文基于 happy 倉庫 docs/人工智能AI AgentAI 應用移動開發(fā)CLI后端Happy 競品協(xié)議矩陣解析OpenCode、Codex、Claude、Superset 的傳輸、轉錄、權限與沙箱設計對照Happy 競品協(xié)議矩陣解析OpenCode、Codex、Claude、Superset 的傳輸、轉錄、權限與沙箱設計對照 本文基于 docs/competi人工智能AI AgentAI 應用移動開發(fā)CLI后端上一篇Medusa 開源電商框架完整指南從零搭建可定制的 Commerce 后端下一篇開源項目推薦mir_eval創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色香综合| 人爽不卡视频| 91综合中文字幕| 密臀在线视频| 性色高清在线| 亚洲另类春色| 成人五月香网在线| 亚洲AV无码秘 蜜桃臀国精产品| 亚洲性感丝袜诱惑在线观看| 久久午夜色播影院免费高清| 99热最新| 97av,com| 九九九九一区| 996热| 美日韩一二三区| 欧美偷拍| 国产精品交换一区二区| 欧美美女视频| 大香蕉在线视频15| 中文一区在线日| 激情抓乳插进去啪啪啪日韩| 亚洲欧洲无码一区夜| 欧美aaaaaaa| 欧美超碰在线| K8久久久久| 免费操逼视频下载| 熟女一区二区三区四区| 2023天天操夜夜操| 五月天激情小说| 99最新日韩偷拍视频| 国产精品国产自产高清AV| 天天噜| 激情五月综合| 欧美性91| 少妇蜜汁| 91人妻最真实刺激绿帽| 精品乱码久久久久| 免费中文在线| 性感美女91影视| 在线播放中文字幕| 亚洲本色精品一区二区久久| 精品综合久久久久久97| 国模少妇一区二区三区| 综合网亚洲在线| 国内毛片无码一级毛片| 人妻性爱一区二区| 天天天操天天天爱| 九九热免费国产视频婷婷伊人五月 | 乱精品一区字幕二区| 无套后入双马尾| 91碰碰碰| 久久精品国产99精品亚洲蜜... | 骚货| 天天射影院| 天堂成人网| 操逼精品视频| 99自拍视频在线观看| 国产自产91区13区| 国产人妖视频一区在线观看| 一本色道久久综合亚洲二区三区| 夜夜嗨一区| 人人噜夜夜操| 久久国产在线一区二区| 亚洲精品久久久久毛片A片拉屎 | 人妻一区久久二区三区色播| 又大又长又粗又爽又黄| 国产精品乱码久久| 91久久国外网| 国产精品久久发布| 五月天激情网站| 国产资源中文字幕在线| 欧美熟女逼久久久久久| 九九内射在线| 一区二区三区欧美激情| 日韩欧美性爱电影在线观看| 国产妇女精品视频青青草| 99精品成人免费看| 校园春色亚洲无码| 天堂亚洲欧美| 国产高潮AA片免费看| 99久久综合| 久久一区二区三区入口| 另类图片天天影视| 久久九精品| 这里只有精品视频在线| 3028国产精品| 亚洲色图亚洲无码强奸乱伦| 在线小视频| 日韩AV电影网站| 国产精品毛片?v一区二区三区| 国产精品午夜福利| 欧美色三级片91| 日本视频一区二区三区| 操逼www.| 亚洲综合999| 欧美日韩精品青青| 性爱AV天堂| 亚洲 图片 综合91| 国产这里只有精品| 欧美一级黄片免费播放| 玖玖在线视频| 综合久| 日B操| 精品无码少妇| 91色伦| 综合久久99亚洲人妻中文在线| 久久久九97| 超碰人人操97碰| 精品国产乱码久久久久久蜜臀| 97视频新免费| 色偷偷综合91久久噜噜| 中国黄色特级精品一区二区三区片| 欧美在线官网| 爱欲AV| 中文字幕一区av| 亚洲最新a在线观看| 欧美一区二区三区四区综合| 又粗又长又大国产不卡| 九九碰九九爱97超| 探花精品视频| 久久亚洲av成人无码国产| heyZO天然素人无码AⅤ专区| 超碰97人人cao| 欧美一二三级精品在线| 香蕉黄色一级视频| 国产操伦| 国产精品岛国片在线观看| 人人操人人摸人人看人人干| AV污污污污| 国产女人操逼视频| 韩国一级做A片免费的| 国产激情在线| 丁香五月色| 亚洲欧洲综合视频在线| 欧美激情综合| 欧美专区日本专区| 国产白丝网站| 成人五月天丁香激情综合| aaa亚无码专区| 亚洲色悠悠久久88| av日韩在线观看电影| 变态乱伦伪娘灌肠一区二区| 亚洲精品中文字幕一区在线视频| 国产女人91精品嗷嗷嗷嗷| 欧美人妻精品一区二区| 丁香九月激情啪| 亚洲精品人妻吞精av| 日韩精品永久在线观看| 色97| 精久久久91| 啊啊啊要高潮了| 中文字幕精品专区搜索结果91| 成人精品水蜜桃久久久久久久| 欧美青青草视频| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 精产品久久| 国产福利合集| 欧美一级特黄淫片在线观看| 立川理惠加勒比无码| 九九亚洲| 色男人色天堂东京热| 久热精品在线| 蜜桃臀一区二区三区久久| 欧美日韩欧美| 天天操夜夜嗨| 麻豆人妻精品一区二区| 射丝袜大香蕉| 视频一区二区三区精品| hd成人一区二区在线| 色播五月丁香| 大香蕉综合在线| 精品黄色电影| 国产一区二区欧美日本| 亚洲一区二区三区久久 亚洲一区二区| 亚洲AV乱码专区国产噜噜亚洲| 爱爱动态试试看6 0秒| 九九免费影片| 日韩国产乱子伦App| 久久精品国产精品亚洲艾通辽熟妇| 美女淫穴| 亚洲欧美综合| 国产热RE99久久6国产精品首| 日日狠狠久久偷偷色综合免费| 啊啊啊啊操死我了| 蜜臀久久99精品久久久久久酒店 | 激情小说亚洲| 五月激情视频| 亚洲污污网站| 亚洲国产丝袜熟女av| 亚洲人妻中文高清| 神马午夜久久久| 中文字幕激情小说| 亚洲av无线观看| 黄色二级片网站| 精品人妻一区二区蜜桃视频 | 情色五月天网| 欧美日韩在线视频网站| 女人的久久久| 久久免费少妇| 婷婷导航| 91丝袜美女视频| 日本日皮视频逼| 国产乱人妻精品入口| 男人在线天堂| 久久‘黄片视频| 亚洲欧美日产国产91毛片| 97爱爱爱| 欧美色图亚洲色图成人在在线| 天天天肏屄肏屄肏屄欧美欧美| 精品人妻一区二区视频| 91性感网站| 日韩黄片影院| 操人妻逼91| 国产黄色视频久久| 屌妞视频久久久久久久| A 在线网址| 国产午夜视频| 天天干人人干天天日97| 91爱看| 日韩激情毛片一级久久久| 美女露胸露屁股| 九月伊人中文字幕| 精品人人| 100啪啪视频大全| 91色黑人少妇| 秋霞成人一级在线观看| 亚洲精品欧美专业| 中文色综合| 色哟哟1区2区| 美女被艹尤物视频| 98久久超碰| 夜夜嗨一区二区| 韩国一级做a久久久久| 天堂九九九九九九九九九| 女优大全 - 91n| 性欧美另类高清| 三级日本一区二区三区| 偷拍在线观看视频| 免费av大片| 伊人九九| 亚洲综合在线高清| 久久91精品国产9丨久久分亭| 超碰综合色| 欧美爱三级日韩久久| 国产熟妇一区二区| 久久鲁干| 欧美亚洲小说| 2026国产精品视频| 日本午夜久久电影| 日本东京热久久久电影| 欧美成人国产精品| 97干日韩| 亚洲激情av| 人妻三级在线中文字幕| 日本中文字幕一区| 99热精品在线| 国产成年女人免费视频播放a| 天堂综合| 东京太热久久久| 搞中出久久| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 开心五月深爱五月| 久久久久久一日韩字幕无码| 久久线上视频免费看| 极品粉嫩一区二区| 99久久网站| 亚洲熟女人妻中文字幕一区二区| 国产大片精久久久久久| 国产亚洲精品自在线亚洲情侣| 麻豆精品一区二区三区四区免费观看| 偷拍亚洲情色| 91丝袜美女| 秋霞曰韩R级| 色视频蜜乳| 深喉吞精| 九九九九九九视频| 亚洲棕合电彰| 成人情色一区二区| av无码精品久久久久| 午夜精品久久久| 男人的天堂三级| 天操老女人| 成人婷婷丁香| 亚洲av强奸乱伦| 久久久久久久久久久免费精品| 天天躁日日躁狠狠狠躁| 国产日韩中文字幕欧美| 啊好爽快点-国产一区二区三区撒尿在线-成人AV| 久久草在线综合视频| 亚洲 小说 欧美 激情 另类| 欧美+日产+中文| 狠肏骚人妻| 99色热| 国产 亚洲 丝袜 制服| 91精品国产91综合久久蜜臀| 国产一级高清免费观看| 久久超碰97| 日日摸日日弄日日拍| 1204金沙人妻懂旧版免费| 亚洲激情综合| 亚洲国产高清福利视频| 天天看天天日| 91人人| 三四中文字幕| 国产午夜精品一区二区三区牛牛| …中文字幕亚洲乱,97人妻无码费视…| 男人久久精品| 日韩综合97P| 日韩情色AV| 男人天堂站| 黑丝少妇在线观看| 丝袜美腿操av| 91天美传媒在线| 巨乳特殊服务按摩| 不卡av在线中文字幕| 蜜臀久久99精品久久久久电影| 9精品在线| 人妻大相焦在线| 美女毛片999| 久久最新视频免费观看| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 2024人人操人人摸| 99操碰| 婷婷中文字幕| 久久天堂婷婷网| 大香蕉九九| 激情色色| 高潮内射在线| 69人妻精品丰满熟女区| 91无码人妻| 亚洲 另类 丝袜 自拍 动漫| 成人AV在线网站| 四方色播| 桃花色综合影院| 黄色免费一级在线毛片| 操逼片中文| 99久久久久| 天天摸天天插天天日| 色噜噜综合网| 91美女在线看| asc国产精品| 玖玖综合网| 国产精品999aaa| 亚洲91在线播放影院| 国产女性无套 免费观看| 很很干很很操| 欧美熟妇亚洲版| 九九九九一区| 乱性AV| 日本性交操一区二区不卡系列| 中国一级特黄大片护士| 欧美成人一区二区三区在线播放| 久久一区无码| 18禁免费视频| 国产激情在线| 超碰97色色| 日本免费一区二区不卡| 久久久久久久久999| 国产中出内射一区二区| 色爱三区| 九九国产热| 熟女人妻一区二区三区| 国产精品呦一区二区三区| 五月丁香啪啪| 久久发布国产伦子伦精品| 日韩黄色一区二区三区| 发朗少妇买婬全视频中文| 精品176精品2| 人妻在线大香蕉| 91狠狠狠| 国产自产自拍| 色鬼在线综合| www.男人的天堂| 日韩欧美国产一区二区三区四区 | 91爱看| 91精品人妻一品二品三品| 清纯唯美亚洲综合| 亚洲国产欧美中日韩成人综合视频| 日韩欧美成人大香蕉| 国产97/欧美| 亚洲欧美日韩免费电影| 亚州色站 日韩电影| 亚洲天天更新| 99自拍视频在线观看| 无码视频一区二区| 人妻二区| 极品少妇99| 九九无码| 蜜臀久久99精品久久久久久久久| 中文字幕欧美精品亚洲日韩蜜臀| 中文字幕91页| 91超碰人人| 岛国毛片在线观看免费| 免费综合亚洲中文| 亚av顶级裸体一区二区三区四区五区 | 国产激情av女片自拍| 婷婷色网| 日韩性爱1级片视频| 后入 亚洲 美女 射| 日韩91网站| 性爱综合网| 78精品在线| 91GD.COM| 中国特猛少妇色xxx| 综合久久欧美| 精品久久久久综合无码| 亚洲天堂,男人| 高精欧美色| 综合色播| 亚洲熟女综合一区二区| Julia在线播放亚洲久久| 欧美九一精品久久久熟妇| 国产性爱强奸乱伦大全| 久久一二三四五六七八九区区区 | 天天日天天爽| 大香蕉在线SuP| 香一区二区三区| 91精品久久久久久77777| 不卡av在线中文字幕| 亚州久久9| 丁香六月激情| 欧美在线|亚洲| 26uuu国产| 亚洲超碰97| 中文一区二区婷婷视频| 久久一二三四| 狠综合网| 亚洲欧洲网站免费观看| 操熟女91| 密臀在线免费观看| 淫荡熟女乱伦网| 本道在线| 国产精品一二三免费网站| 黄骗免费网站| 国产美脚女优尤物在线观看| 中文一区二区三区影院| 免费国产| 精爱久久| 日本黄 R色 成 人网站| 精品视频一区二区| 日韩国产十八禁| 美女露胸露奶头| 国产最新AV| 911粉嫩人妻| 超碰久超碰久| 美女久久久久久久| 人妻无一区二区三区| 动漫区日韩区欧美区| 欧美成人黄网色网站| 91丝袜在线播放| 9久久美女首页| 毛片99-全集电影手机免费观看完整-B029AV | 成人草草视频| 人人干人人操人人..com| 青青草日本中文字幕 | 欧美综合狠| 影音先锋国产精品| 东北熟女91| 美女黄页| 家庭乱伦国产| 99精品综合久久久久五月天| 国产熟女完整版中字| 国产诱惑| 久久香蕉国产传媒一区剧情天美| 日本人妻最新在线中| 日韩无码嘿咻黑热久| 91伊人久| 中出欧美| 久久亚洲一区女同性恋中文字幕 | 欧美 亚洲 偷拍自拍| 人人看人人插| 91精品国产综合久久久蜜臀酒店| 热久久99999| 熟妇熟女亚洲天堂网| 欧美日韩操逼动图| 99热精品在线| 天天草天天干天天日| 欧美组图日韩亚洲中文字幕| 欧美日韩在线小说 | 一区在线观看中文字幕| 中文字幕91页| 亚洲日韩精品在线播放| 天堂无码精品国产久| 大香蕉伊人网| 国产自制av蜜乳| 伦理第一页| 久久不卡一区二区| 天天操女人| 开心激情站| 国产激情综合五月久久| 色综合尤物| 无码免费在线观看黄色片| 天堂无码| 加勒比久久综合网高清| 密乳AV免费观看| 中文字幕一区二区三区高清| 亚洲AV成人无码一二三久久| 国产日韩精品人妻久久久久色欲网站 | 色丁香五月婷婷| 日韩精品一二三四| 青青草吊丝| 亚洲大色鬼| 久久精品日韩专区免费观看| 99re这里只有| 国产多人在线观看视频| 亚洲欧美日韩精品久| 黄片www.| 人妻精品综合中文字幕在线| 黄网站黄视频网站进入口 | 国产成人在线观看网址| 嗯啊抽插大香蕉网页| 婷婷五月天av| 97公开久久| 神马麻豆福利院| 人人操人人插人人摸人人干| 五月丁香啪啪| 黑人精品久久97| 久伊人网78| 日韩操逼性鲍| www.婷婷| 97在线播放| 91精品久久久久五月天精品| 丁香五月AV| 日本精品性生活久久久| www国产无码| 三级三久久线久久99久目本WW| 91强在线播放| 国产福利电影| 麻豆天美电影一区二区| 伊人久大| 影音先锋国产精品| 久久成人东京热人妻| 亚洲啪啪视频一区二区| 久久a久久| 欧美小说区视频区| 黄片www.| 精品丰满熟妇人妻一区 | 天天肏美女| 欧美极品| 99国产天美| 啊啊啊免费视频| 丁香五月自拍| 熟女熟妇伦久久影院毛片一区二区| 玖玖爱在线视频免费观看| 99色色网| 中国操逼无码| 亚洲综合69| 欧美日韩另类在线播放| 精品人妻视频一区二区三区蜜桃视频| 欧美操人视频| 人妻社区男人天堂| 免费黄色A片| 999久久久久久久久| 无码自拍SM| 精…码一二三区| 69AV女优男人的天堂| 日本东京热久久久电影| 亚欧免费| 91亚洲电影| 久久的网站啊啊啊啊啊| 久久精品午夜国产亚洲AV无码| 老熟女熟妇| www.yeyecao| 97操综合| 天堂蜜桃无码视频一区二区| 午夜福利免费精品视频| 中文字幕人乱码中文字的预防方法 | 26uuu久久| 四虎免费视频| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 哈哈操 大香蕉| 怡红院怡春院| 色色综合网站| 国产中文大片资源中文字幕| 久久久久久久9| 青青草中日韩在线| 亚洲国产综合久久天堂| 99久在线精品99re8热| 狠狠色噜噜狠狠狠狠2018| 99日免费视频中文字幕| 亚洲国产剧情少妇激情| 色五月婷婷中文字幕| 久久亚洲欧美中文字幕国语| 亚洲欧美高清无码| 91国产丝袜白虎| 日本黄页视频在线观看| 美日韩在线不卡人妻| 天天天肏屄欧美| 亚洲欧美一区二区三区在钱蜜桃| 国产成人在线观看综合| 日本免费专区| 日韩欧美成人午夜福利| 久操免费在线| 日本一道在线播放高清| 岛国大片国产| 国产日韩欧美中文在线播放| 青娱乐欧美激情一区二区| 天天懆天天日| 中国国产精品一区视频| 特级毛片特黄久久免费看| 日韩卡一卡二卡三在线| 特级丰满少妇一级AAAA爱毛片| 国产高清精品一区二区三区毛片| 免费一级精品啪啪视频| 18禁精品网站在线看| 欧美日韩在线国产在线| 久久精品亚洲成a人天堂| 日本一区二区不卡精品| 操狠狠| 真实高潮91| 丝袜无码a片| 中文字幕人乱码中文字的预防方法| 欧美图片色综合| 丰满精品人妻少妇久久字幕| 天天操天天日天天干| 99这里只有精品| 欧美天天综合网| 超碰精品日韩欧美国产| 美国aaaaa一级黄片| 人人扣人人操| 色综合中文字幕不卡| 欧美精品三区| 国产精品播放| 亚洲一区二区久久久久| 秋霞网无码| 网友自拍第1页 | 麻豆人妻偷人精品无码视频| 哈哈操电影| 国产极品精品美女视频| 欧美亚洲综合色| 亚洲高清在线se| 久久久久久亚洲Av无码精| 婷婷99狠狠| 91美女在线视频| 九七色图| 操人91| 人人噜夜夜操| 亚洲欧洲日本精品中文a∨| av中文在线| 加勒比性爱成人在线| 精品无码不卡视频| 午夜精品99久久久久传媒| 色五月AV在线| 日欧操屄视频| 日韩Va亚洲va欧美Ⅴa久久| 国产欧美精品日韩区二区麻豆天美| 91欧美少妇| 日韩精品亚洲专区在线影视| 亚洲精品黑丝| 日本在线一二| 91P0RNY大屁股人妻| 97大色网| 亚洲va有码在线天堂| 动漫av中文| 在线A日本| 欧美白嫩在线放| heyZO天然素人无码AⅤ专区| 97精品第3页| 精品中文字幕一区二区| 极品一区二区三区免费| 国语av最新自产拍在线观看| 性感美女啊啊啊在线| 亚洲精品一区二区三区在线播放| 97色欧洲| 一区二区三区网站日日骚| 91一区二区三区蜜桃| 超碰97资源中文字幕| 一区不卡在线观看av| 内射卯月麻衣| 人妻少妇精品一区二区三区| 色y情视频免费看| 欧美日动态视频| 亚洲欧洲另类| 日韩精品人妻一| 色欲天天综合久久久无码网中文| 啊啊啊啊在线观看网址| 亚卅熟女乱色| 黄色视频60分钟| 欧美色亚洲色| 久久有碼| 91丨九色丨43老版熟女| 国产乱伦亚洲| 成人性交免费视屏| 99精品久久久久久| 色哟哟-国产专区| 免费A V在线| 日韩人妻一区二区| 日韩干B| 婷婷15月天青娱乐| 亚洲男人天堂2019| 色拍偷亚洲| 视频二区美腿丝袜制服人妻欧美| 亚洲中文日韩欧美大香蕉视频| 美欧色综合| 中文字幕一区二区三四五区日日骚| 亚洲美乱| 91久久久久免| 五月丁香| 久久性爱视频| 东京热激情视频一二三区| 91精品伊人久久久大香线蕉91| 欧美呦呦性爱| 91久久九九精品国产综合| 蜜臀久久99精品久久久久久无删减 | 为用户提供免费看黄网址在线观看| 欧美加勒比| 中国和日本人色哪个不下载能放| 国产自产22区| 亚洲欧美啪啪| 亚州91| 欧美做爰无码A片视频| 99精品高潮| 久久久久免费看少妇A片特黄| 很很干很很操| 久久久久久九| 色九久| 夜夜操夜夜高潮夜夜爽国产精品区| 亚州中文字幕超碰97| 97超碰无码网| 色香在线| 综合久久9| 黄色免费网| 白丝被操91| 亚洲黄色视频在线观看视频| 亚洲伊人成综合成人网| 91久久久亚洲| 免费观看一区| 粉嫩av在线| 日韩无码黄色片| 亚洲成a人在线观看久| 激情啪啪拍91| 精品久久青青草| 牛牛久久国产精品视频一二三| 欧美一区二区三区互相| 天天躁日日躁成人字幕aⅴ| 亚欧毛片基地国产毛片基地| 亚洲在线a| 亚洲精品一区二区精品| 亚洲欧美经典一区二区| www老逼91| 一二三卡欧美日韩人妻免费精品| 亚洲另类春色| 性影在线视频| 精品四五区| 天天操天天日天天干| 久久久久久久久久久精| 婷婷色综合欧美日韩| 18禁网站在线播放| 一区二区首页| 日本精品五区| 九九成人视频| 在线观看 99热| 99无码| 日韩一级特黄av毛片| 97高清啪啪| 日韩综合97p| 午夜一区二区三区国产| 精品免费一区二区三区在线亚洲人成| 久久中文字幕女同性恋一区| 色吧5亚洲| 99r九九| 九九九不卡| 午夜福利在线合集| 亚州综合色图| 激情视屏国产乱伦强奸| 亚洲欧美在线综合| 中文字幕一区电影在线观看| 欧美中文狠| 天天综合AV| 久9爱精品| 91国产美女丝袜足交精品视频| 色青青久久影视| 激情小说激情视频| 92大香蕉| 人妻少妇久久中文字幕一区二区 麻豆| 老熟妇乱轮| 国产av强奸美女| 色香色欲天天综合网天天来吧 | 激情综合五月婷婷| 射 色综合| 色五月天AV| 97精品久久久久中文字幕| 色悠久久久av| 狠狠91| 亚洲一卡二卡在线免费| 亚洲成人性爱在线观看| 色色色欧美| www.高清无码诱惑一区.com | 91人妻视频在线| 国产一级内射高清视频| 人人色97| 亚洲91色| 中文字幕片| 99精品在线播放| 欧美日韩小说| 做爱A级亚欧| 大屁股熟女一区二区三区| 国产一区二区欧美日本| AV男人天堂网| 日韩精品在线观看网站| 99re在线视频这里只有精品 | 97超碰国产亚洲精品| 5278欧美一区二区三区| 亚洲日韩97| 色蜜AV| 97欧美视频| 99操| 亚洲精品无码少妇久久| 国产9熟妇视频网站| 亚洲美乱| 精品久久无码午夜福利| 97视频www| 精品国产一级久久| 国产白丝av| 99热精品青草在线 | 可以免费观看的av| 国产青一二三| 91性网| 久久久久久精品免费看A级| 日韩超碰精品综合| 人妻精品一区二区三区| 日本肏逼视频在线观看| 国产精品久久久777| 久操91视频| 亚洲色婷婷| 亚洲精品国产拍免费91在线| 日韩中文字幕人妻视频| 97日视频| 天天插夜夜操| 爱射综合| nuu12国产麻豆精品| 欧美18老人禁| 熟妇一区二区三区| 中文字幕欧美丝袜07资源| 爽 好舒服 无码刺激久久| 婷婷色网| 操b在线观看| 青青草原人妻| 波多野结衣之双飞调教在线播放 | 欧日韩在线观看| 视频一区二区三区精品| 国产极品999| 精品视频一区二区| 男人天堂婷婷五月天校园春色| 99热这里都是精品| 自偷自拍的亚洲视频| 无码二级三级| 9999免费精彩视频| 日本欧美不卡| 无码91| 亚洲 欧美 日韩 国产一区二区| 亚洲人精品久久久喷水| 国产精品97超碰| 性爱网站一区二区| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 色呦呦呦在线观看视频| 超碰人妻久久人妻中文97| 欧美一级特黄淫片在线观看| 亚州综合AⅤ| 99国产精品视频尤物| 香蕉免费一区二区三区不读| 乱伦图一区| 超碰4A| 日韩三级视频一区二区三区| 亚洲中文字幕在线视频一区二区| 婷婷亚洲色| 国产美女高潮| 久久精彩视频9| 国产精品蜜臀久久久久无码AV| 天美一区在线| 巨爆乳肉感一区二区三区竹菊影视| 亚洲成人ab| 热天堂一区二区| 黄色区免费观看中文字幕| 999热日韩精品| 成人资源中文字幕在线观看天天| 久96热在线观看视频| 9精品在线| www久久99| 在线五区| 熟女人妻av在线资源,黄色的资源| 男人天堂欧美| 日本五十路在线| 色丁香五月婷婷| 国产辣妈在线视频福利| 亚洲se电影| 亚洲av夫妻操穴网| 欧美一二三级精品在线| 啊啊啊啊啊啊啊啊啊在线观看| 囯产乱伦一区二区三女| 日本爽爽爽爽爽爽免费视频| 四虎在线观看网站| 男人夜色天堂ss| 成人无码在线超碰网| 91激情国产| 一区黄二区黄| 婷婷五月综合激情| 一本色道久久天天射天天干| 亚洲欧美啪啪| 艳美熟妇先锋一二三区| 亚洲成人无码影院| 久久国产精品视频| 日韩高潮一区| 亚洲精品亚洲人成在线麻豆| 久久免费少妇| 亚州色图片在线色| 95精品在线| 玖玖爱免费观看视频| 欧美性爱18观看| 欧美se综合| 国产亚洲精品美女| 91精品久久久久久77777| 操人人| 天天日天天干天天操| 男人的天堂三级| 91久久久老司机| 天天天乱色综合全| 精品超碰中文在线| 97自拍视频在线| h无码动漫在线观看| 一级@啪啪视频| 91精品国产91久久福利| 精品视频一区二区| 久久久天美| av婷婷色网| 99国内精品| 日韩亚洲Av人人夜夜澡人人爽| 人人爱人人乐人人操| 久9无限国产| 国产AV线| 亚洲高清少妇| 超碰人妻久久人妻中文97| 丝袜 亚洲 偷拍| 日日夜夜干| 性爱av网站| 亚洲国产成人精品久久久国产成人一区二区三.| 九九九热| 亚州男人天堂| 精品91日日夜夜超清资源| 精品二区久久| 超碰综合97在线| 国产欧美后入| 久久华人网| 久久最新视频免费观看| 800zy一区二区| 天天影视色香色欲| 小少妇| 亚洲男人天堂2019| 污啪啪啪视频| 亚洲老熟妇xxx| 桃色五月天| 曰韩精品九九无码| 一牛影视久久久一区二区三区| 午夜天天碰综合视频| 天综合中文| av操操不卡| 午夜天堂网| 欧美一级专区免费大片| 亚洲综合色在线| 欧美成人精品一区二区男人蜜臀| 视频二区美腿制服人妻欧美| 天天操福利视频综合网站| 欧亚日韩中文在线| 1769国内精品视频| 99re国产精品视频| 亚洲精品成人激情在线| 亚洲天堂综合AV| 人人澡人人爽人人精品| av久日| 国内操逼视频二区| 久久精品人妻一区二区三区| 色九久| 精品欧美不卡在线播放| 不卡一区二区日本视频| 日韩人妻中文视频| 90后性网国产欧美| 性色乱AV一区二区| 精品美女少妇一区二区三区| AV色图| 成年人黄色| 免费无码婬片AAAA片直播色戒| 在线有码中文字幕| 天堂无码精品国产久| 大香蕉久操| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 熟女天天干| 一级免费精品| 一本色道综合久久欧美| 伊人网综合在线视频| 婷婷五月天网| 天天弄欧美| 久久三区四区| 一级做a爰片性色毛片久久| 女人 A一级| 狠狠色婷婷7777久| 国产精品天美传媒| 97丝袜亚洲在线播放| 欧美亚洲特P| 无码精品久久| 天美传媒国产原创中文字幕亚洲欧美另类 | 五十路人妻在线| 亚洲国产97| 精品欧美А∨无码黑人大荫蒂| 五月婷婷综合在线| 欧美日韩222| 午夜福利合集| 九色精品视频导航1| 五月天婷婷影院| 久久9精品网站| 少妇一区二区三区高速| 婷婷亚洲综合| 欧美97se| 亚欧性爱ab| 麻豆婷婷成人一二三| 99热在线播放| www.狠狠操| 激情婷婷丁香| 操操操日本的逼| 91欧美偷拍| 91人人操| 欧美拳交在线播放| 91撸色网 玖玖网 欧美| 久热热| 久热无码| 亚洲久草AV色图| 尤物黄色在线观看网站| 久久綜合很很很| 97欧美精品| 凹凸视频特色日本特黄| 久久久精| 郑州宾馆老熟女露脸啪啪| 一牛影视久久久一区二区三区| 日少妇视频| 日韩av乱伦| 九九九草| 在线观看黄色电话| 日韩大香蕉精品在线视频| 国产精品久久天天干| 欧美狠狠操| 亚洲影院成人| 午夜精品一区二区三区三上悠亚| 国产路线专区| 91久操| 中文字幕福利视频一区二区三区在线观看| 国产色综合亚洲色综合吹潮| 1024亚洲中文字幕久在线看片你懂的| 蜜桃久久久久久| 人人爱人人乐人人操| 日本久久999| 91精品久久久久久77777| 夜夜躁狠狠躁日日躁av| av72网| 激情综合五| 日韩极品无码B| 日本精品加勒比海一区| 91在线综合网| 国产区91柔拿会所技师| 男人的天堂2019| 美腿色图| 久久AV无码网址| 97se亚洲| 欧美一区二区日韩传媒搭讪精品| 人人人人插| 日本媚薬中文字幕在线| 男人的天堂在线有码| 噜噜噜在线视频| 亚洲97在线观看| 操曰本熟女| 黄色污污污污污污网站| 天堂8在线新版官网| 一级片视频啪啪| 日本2020一区二区| 蘋果手機免費看成人Av| 啊啊啊 在线观看| 操逼视频免费日韩无码| 中文字幕人成乱码熟女香港| 亚洲一区二区三区婷婷| 久久熟女久| 91精品国产综合久久久蜜臀| 色五月婷婷色| 囯产精品久久久久久久久久梁医生| 91N综合网在线| 国产精品视频| 日韩精品人妻中文字幕有码午| 欧美性爱系列| 久久精品中文字幕无码l| 亚洲日韩在线a不卡99精品| 欧洲亚洲人妻无码久久三区四区| 伊人一区二区三区| 观看视频图片一区二区三区| 啪啪自拍九九综合| 玖玖综合.com| 秋霞蝌科网日本一区| 91美女在线观看| 性老妇一区二区三区| 97综合在线| 福利操逼| 91国产大片| 成人情色一区二区| 亞洲久久直播| 欧美人与动性人交a| 欧美超碰人妻97| 日本成熟少妇A∨网站| 97精品免费视频网站| 色99久草| 天堂亚洲精品| 久久久久久久久女黄| 人人妻天天做天天爽| 欧美视频激情久久久久久| 久久一二三四不卡 | 曰本精品久久久| 天天影视网综合少妇| 成人看片网站| 噜噜噜噜天天狠狠| 精品视频97| 亚洲精品 大香蕉| 国产精品久久久无码AV网站| 欧美成年人性爱视频免费观看| 亚洲综合 欧美| 青青草亚洲一区| 超91综合网| av无码精品久久久久| 26uuu欧美日韩| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 人妻密肉在线观看| 污啪啪啪视频| 精品v日韩欧美国产| 三级日韩一区二区三区| 操东北女人| 欧美超碰在线| 成人区人妻精品一| 99热这里只有精品1| 久久久精品视频欧州站| 亚洲男人的天堂AV| 91neishe| 另类一区| 91c色| 成人免费看吃奶视频网站| 秋霞Av理论一级在线| 日韩精品 欧美激情| 六月丁操逼| 日日骚 av| 搡老女人老妇女老妇老熟女怎么读| 五月天激情婷婷| 欧美劲爆视频一区二区| 国产1769在线| 婷婷午夜成人色中色| 人人人人插| 岛国毛片在线观看免费| 韩三级a视频在线观看| 91久久九九精品国产综合| 12一15性XXXX粉嫩国产| 久久系列| 亚洲第一页色网| 欧美色青| 日韩精品资源| 五月天精品| 少妇xx精品| 熟妇最新先锋一二三区| 久草视频制服诱惑|