色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

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
返回資訊列表
久久少妇视频| 色综合久久88色综合久久天天| 亚洲AV无码国产精品久久久久| 五月天春色激情网| 中国熟妇| www.91久久| 啊嗯嗯啊好大好爽| 乱伦系列一区二区| 天操天操夜操夜月操月年年操操| 黄色AAAAA欧美| 精品九九九九九九九九九| 日本孕妇一区二区视频操逼免费看| 日本肏逼视频在线观看| 蜜臀无码一区二区| 丰满高潮18xxxx| 西西美女视频网| 亚洲精品国语在线播放| 怡红院怡春院| 日韩黄色片子| 亚洲少妇色图自慰直播| 亚洲成熟国产精品美女| 欧美国产操逼| 性爱av网站| 99精品在线| 国产精品免费视频人成| nuu12国产麻豆精品| 亚洲第一狼人丝袜美女另类| 蜜乳av一区二区三区| 综合操逼| 一二区在线观看视频| 欧美 亚洲 偷拍自拍| 一本色道久久综合亚洲二区三区| 精品人妻美妇91job| 成人一级二级| 免费一级视频特黄色大片| 亚洲色棕合| 中日高清无码操逼视频| 久草午夜| 乱老熟女一区二区三区| 日韩国产成人自拍视频| 好涩综合| 91青视频| 国产精品久久久久久久毛片1| 亚洲AV色图一区| 91人妻Pr| 中文字幕国产在线天堂| 97中文字幕一区| av凤凰久久久| 男人综合网| 色女99一级片在线观看| 国产欧美亚洲精品a第2页| 久久后入制服| 青娱乐 成人娱乐在线| 亚洲国产精品成人久久蜜臀| 色九九九综合| 亚洲色五月| 秋霞色色影院| 亚洲交换| 天天日美女的B| 99久久99久久综合| 国产一区二区欧美日本| 欧美一区二区日韩三区| 久久久久久久久久久精| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 91性高| 国产黄色在线播放观看| 欧美日日人人天天| JULIA人妻风俗店中出电影| 久操凹凸视频| 久久国产乱子伦精品免费女,网站| 91殴美大片| 日韩一级片在线看| 十八禁成人网站在线观看| 日日骚网站| 插老姨肥穴| 丁香九月激情啪| V A在线| 精品丰满熟妇人妻一区| 嗯嗯啊啊好疼| 国产欧美日韩在线观看麻豆传媒公司 | 欧美亚性天堂| 亚洲成人在线播放| 日韩国产成人自拍视频| dy888午夜老子影视达达兔| 欧美成人一区二区| 天天影视射综合网| 啊啊啊好大好湿| 五月丁香啪啪| 国产精品99久久久www| 日本人妻最新在线中| 啊啊啊久久久视频| 中文字幕-区二区三区四区视频中国| 色999五月色| 一区操逼| 国产操逼视频在线观看| 精品午夜福利导航| 色色97爱| 久久九九热| 九热大香蕉| 天美AV片| 黑丝内射一区二区三区| 美女自卫慰黄网站免费| 国产又粗又长又爽又色| 中文字幕久热视频在线| 免费作爱一级视频| 欧美日韩国产三级黄色| 久操操AV电影| 日韩性爱长视频免费| 人人妻人人操人人乐| 亚洲无992tv| 欧美日韩成人| 色噜噜综合在线| 在线观看综合精品亚洲| 欧美婷婷| 欧美日韩999| 午夜啪啪片| 日韩av电影成人在线| 99在线精品视频| 嗯~啊~轻一点 视频| 丰满人妻一区| 校园春色家庭伦理欧美激情| 91少妇香蕉久久精品| 人妻密肉在线观看| 欧美A√综合网| 大香蕉AV丝袜| 一区=区三区视频| 色婷婷五月天| 碰碰在线视频| 欧美亚洲第1页| oumeisetu综合| 女人的久久久| 嫩草 人人网精品| 超碰久在线天天做| 久久精品国产亚洲av水密被窝| 青青青草原| 国产精品久久久午夜夜伦鲁鲁| 天天综合网亚洲综合网| 99热在线只有精品| 9Ⅰ超碰| 亚洲高清91| 国产怡红院在线| 96精品久久久| 毛片一区二区| 亚洲成人在线高清| 亚洲AV无码成人精品久久| 日韩国产在线观看av| 日本视频在线观看污污污| 激情视屏国产乱伦强奸| 亚洲av无码成人精品国产| 亚洲日韩精品在线播放| 精品一区二区三区蜜桃臀赵总 | 夜夜夜久久| 日日干夜夜操视频h| 91老熟女老女人国产老太 | 伊人网一本| 人妻丰满熟妇av无码区蜜桃| 在线αⅴ| 亚洲欧美在线观看免费| 91操人视频| 草草影院在线视频| 蜜臀人妻少妇久久在线观看| 在线五区| 久久久新亚洲AV| 亚洲AV麻豆Aⅴ无码电影一| 中文字幕奈奈美被公侵犯| 国人欧美精品一区二区| 国产玖玖| 国产精品天干天干综合网麻豆 | 97欧美日韩综合| 亚洲男人天堂网| 亚洲97成人在线观看| 国产传媒操逼视频| 熟女精品一区二区三区| 国产精品色哟哟| 国产2.3.4区| 青青草中文字幕| 日本1区2区不卡视频| 91人妻Pr| 九九成人精品| 蜜桃午夜视频一区二区 | 夜夜躁狠狠躁日日躁av| 国产一级特黄大片处女| 久久久久久久久久久久久久久性生活视频| 美女91在线观看| 日本免费二区三区| 1769国内精品视频| 狠狠干狠狠干| 中文字幕午夜精品久久久| 九九九九久久久久| 成年人一级黄色毛片大全在线观看| 五月婷视频| 免费网站观看www在线观| 成人草草视频| 搞中出久久| 免费观看的av| 色眯眯av| 亚洲自拍天堂| 超碰色中文| 一本一道久久综合久久| 岛国在线免费视频| 2011国产精品| 国产嫩草精品A88AV| 亚洲人体视频在线观看| 91oumei| 国产熟码AV| 午夜激情成人在线观看| 欧美黑人XXXⅩ高潮交| 精品中文一区二区| 黄色操人| 亚洲AV乱码专区国产噜噜亚洲| 久久久久幕乱码| 黄色AAAAA欧美| 熟女中出视频| 老熟女乱伦一区| 天美国产三级传媒| 91啦人妻| 欧美久久婷| 超碰78| 国模吧 一区二区三区| 91网站18在线| 69少妇一区二区| 亚洲精品97在线| 日韩九九九| 欧美日韩性爱视屏免费看了| 91伊人久久在线| 中文字幕美女91| 欧美九九爱| 加勒比海色香蕉婷婷| 99天堂网| 欧美高清91| www.99热| 丰满人妻一区二区三区四区| 桃色五月天| 久操免费电影| 久久五月婷| 婷婷激情四射| 夜夜爽爽爽| 人妻丝袜美腿中文字幕| 嗯嗯嗯啊啊啊在线免费观看| 久久久久少妇| 亚洲美欧999| 另类TS人妖一区二区三区| 影音综合网| 欧美Ⅴ性爱| 超碰 av 女人天堂| 日韩性爱人人爱人人操| 色网综合网| 国产激情在线| 97色操| 日本一级一级一级一级| 密臀在线一区尤物| 美女露胸露奶头| 蜜臀无码视频在线观看| 超硑97精品| 一二三四视频中文字幕在线看| 欧亚日韩三区| 人看人人摸人人操| 秋霞午夜成人福利片片| 日韩激情视频| 免费看A片毛毛片在线播| 色欧美色交综合| 九九九九九九九精品视频| 日本506070| 动漫片子网站3黄| 亚洲精品一区二区精品| 亚洲av资源| 97午夜剧场日韩| 久久无码一区二区二三区性色| 天天综合网1| 国产操逼逼网| 94色色电影网| 97色色国产视频| 天天操天天舔| 国产福利合集| 男人的天堂2000| 欧美在线播放aaaa| 一级AV性爱| 精品人妻视频一区二区在线播放 | 日本二区不卡| 成人av在线播放| 日本不卡一区二区三区| 大香蕉免费中文| 久久久久亚洲熟妇熟女| 人伦四五区| 精品久久在线区一区| 亚洲图片激情综合另类| 人妻精品一区二区| 国产熟女二区| 丰满人妻-区二区三区免费| 日韩欧美操逼xxx| 91亚洲最新在线| 75大香蕉| 亚洲中文字幕97久久精品少妇| 亚洲人体视频在线观看| 国内毛片四区| 日韩美女,国产传媒,视频一区| www欧美性爱| 精品国产Av无码久久久亚洲| 精品久久97| 九九九九日本| 青青草密桃在线播放| 亚洲精品人妻在线| 日韩肏逼视频| 色约约一区=区三区| 亚州色图欧美| 日本久操视频| www.狠狠干.coom| 97人人操人人摸人人爱| 欧美日韩插逼视频| 密臀视频三区免费网站| 尤物AV免费网站| 极品内射| 四虎视频在线观看| 国产一区二区三区中文字幕| 中文字幕 码 自拍 视频 区| 国产三级电影免费观看| 国产一级内射无挡观看| 天天干人人看综合| 四虎精品一区二区| 好一吊区二区| 日韩精品影视| 97爱b| 国产精品女同| 热久久这里只有精品| 51一区二区三区| 91色人妻| 国产一在线观看| 香港澳门日本三级网站| 美女黄站| 欧美人妻制服| 欧美加勒比| 欧美图片校园春色| 97chaopenrihan| 国产后入清纯| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 黄色高清无码无码破解免费暗网| 亚洲成人无码影院| 欧美性爱1080p| 人人 操人人 操人人| 婷婷超| 97 色综合| 欧美综合天堂| 亚洲三级。日韩三级| 亚洲丝袜二区在线| 亚洲 欧美 日本 国内 首页| 亚洲天堂电影网99999| 伊人久久亚洲色欲综合网站 | 高清无码网址| www.狠狠干.coom| 青青草视频这里只有精品| 大香蕉综合| 久久9视频| 99精品在线播放| www.zbzhongsen.com| 激情综合色| 伊人激情| 小草精彩毛片| 天天舔九色婷婷| 日本欧美色| 欧美 综合 亚洲| 久久久精品中文字幕麻豆| 熟妇国产免费一区| 清纯唯美综合亚洲| 人人妻人人爱人人玩| 久久久久国产精品久久久| 97在线免费观看| 色综合国产在线观看| 八戒午夜福利理论片| 欧美黄色大片在线观看| 精品人妻美妇91job| 欧美日韩性爱视屏免费看了| 欧美拳交在线播放| 欧州激情视频在线一区二区| 啊啊啊好疼| 天堂综合网| 国产精品一区二区a| 亚洲欧洲无码bt精品合集| 激情无码日韩| 色999亚洲人成色| 欧美另类色| 久久超碰大香蕉| 国内外毛片在线观看| 亚洲欲色| 天天谢天天干| 丁香五月婷婷基地| 97玖玖超碰| 日本熟妇色熟妇在线视频播放| 91久热| 日韩一级二级三级在线不卡观看完整| 影音先锋日本一区二区| 亚洲精品亚洲人成在线麻豆| 91蜜臀熟女| 亚洲熟女乱综合一区二区三区| 中文字幕一二三av| 欧美日韩大香蕉| 欧美人妻久久精品二区三区| 久久久久久久久久久久久久9999| 中文在线视频| 久久在线观看免费视频| 思思性爱| 1204金沙人妻懂旧版免费| 男人的天堂Va| 欧美综合娱乐久久| 综合网欧美在线| 日韩综合97P| 99国产精品| 3028国产精品| 黄网站黄视频网站进入口| 蜜区区视频79 | 欧美色图另类图片| 国产又色又粗又黄又爽| 亚洲综合一区二区| 欧美熟妇亚洲版| 日日躁狠狠躁天天躁精品| 成·人免费午夜在线观看| 国内毛片国产专区二| 夜夜操天| 久久久一区二区三区麻豆| 91久久青青草原精品| 青椒国产97在线熟女| 91大学精品激情戏| 欧美色图在线视频少妇| 亚洲h片在线免费观看| 超碰久热| 99热99re6国产在线播放| 亚洲欧洲av影音| 999国产精品999| 亚洲天堂另类小说男人| 欧美激情 一区| 久久久久久久国产视频| 99热在线不卡| 欧美 亚洲 第一页 | 91精品久久久久久久久久| 欧美日韩资源| 黑人精品成人一区二区三区 | 91n处女在线观看| 中文人妻av高清一区| 欧美综合骚| 久热精品在线| 日本性爱网址| 欧美激色| 日本免费一级AAA大片器| 麻豆2区1区天美| 亚洲色图国产另类| 国产中文字幕在线点播| 97硬碰| 色噜噜狠狠色综无码久久合欧美| 久草五月| 熟女少妇一区二区三区| 333kkkk·亚洲com久久| 久热99999| 丁香六月激情| 五十路熟女工口 | 69视频入口| 欧美嗯啊……在线观看视频免费| 日日夜夜骑| 欧美一级A片在线看视频性色| 亚洲一区二区 麻豆传媒| 亚洲熟女乱色一区二区三区| 69AV女优男人的天堂| 久热伊人| 96久久科窝| 97欧美综合| a网站免费观看| 亚洲成成熟女人综合一区二区| 干婷婷综合网| 超碰久久.com| 色人久久| 粉嫩av在线| 9久久9综合| 尤物视频视频官网| 97bbn| 黄色一区二区秘书性感| 加勒比伊人综合| 8050午夜少妇无码| 天天躁日日躁狠狠狠躁| 天天爽天天操| 免费观看一区| 97色爱| 国产精品亚洲色婷婷久久久| 午夜后入| 日本精品第一视频在'| 天天干夜夜操一区二区| 91粉芽高清在线一区二区| 91精品人妻一品二品三品| 91操人| 国产成人在线观看网址| 蜜伊人色综合97| 久久精品人人做人人看| 精品人妻一区二区三区夜夜| 每日更新AV| 91国产丝袜白虎| 四虎影视在线| 温婉少妇玩3p| 精品对白久久不卡| 久久久国产精品人妻丝袜| 免费自拍三级综合| 破处bbq| 夜夜操二区| 精品无码久久久久久久久果冻糖心| 欧美曰韩国产精品| 久久这里是精品| 黄色交缠性感爆操91国产精品免费一区二区三区 | 嗯啊不要在线观看嗯啊| 欧美性生活免费网| 青青草综合在线| 久久免费中文字幕在线观看| 国产精品无套内谢| 亚洲视频精选| 久久久久ab| 亚洲综合色婷婷| 中文字幕蜜乳av| 性爱AV天堂| 91爽啪| 日日噜噜夜夜狠狠视频无| 后入福利| 欧美 青青草| 欧美日韩第一页| 91久久青青草原精品| 久久久九九| 国产馆极品诱惑| 无码av永久免费专区网站| 91成人18| 欧美爱国产综合、| 草蕉影视亚洲无码| 日韩免费人妻色情网站| 中文字幕奈奈美被公侵犯| 老司机香蕉久久久久| 色哟哟1区2区| 人人喜人人妻| 色综合av男人天堂| 翔田千里AV无码秘 三区| 久久久99999久网站| 一品道视频一区二区三区| 人人摸人人摸人人干| 韩国一级做a久久久久| 亚洲综合 欧美| 欧美性爱一区二区三区四区| 中文字幕老熟妇黄色视频| 亚洲成人免费中文字幕| 乱操乱伦AV| 特色a在线上| 超碰97导航| 亚洲综合九| 黑丝91视频| 婷婷99狠狠| 图片区小说区| 韩日性爱av| 一级性爱视频免费在线| 亚洲精品九九九| 国产黑白丝在线| 欧美暴力猛交| 神马久久69| 尤物av网站| 99热这里| 少妇超碰在线| 五月婷婷爱六月丁香色| 飘花国产午夜精品不卡| 午夜男女爽爽爽影院视频| 91色花堂| 国产精品免费久久久久久久久久| 精品无吗m| 亚洲资源吧| 欧美日韩中文字幕不卡| 久久一二三四五六七八九区| 日本好吊色视频| 啊啊啊啊啊好舒服视频| 国产精品天干天干综合网麻豆| 色诱avtt| 欧美日韩另类字幕中文| 男人的天堂欧美| 日本一区99| 96免费视频在线| 蜜臀人妻少妇久久在线观看| 96AV久久久| 欧美日韩一干二干| 91老熟女老女人国产老太| 91精品免费| 情色五月天网| 在线五区| 中文乱码字幕观看视频| 亚洲国产综合图区中文字幕| 91丝袜在线观看| 日韩一级性爱无码| 18禁无码永久免费无限制| AA级电影三区| 乱伦3P视频| 视频分类 国内精品| 欧美精品日韩一区二区| 欧美|91色综合| 91丨国产丨白浆| 久久精品亚洲东京热色播| 国产妇女精品视频青青草| 欧美熟妇亚洲版| 日韩本不卡视频在线观看 | 97免费视频在线| 亚洲丝袜综合| 精品国产三级av韩国在线| 国产精品999zyz| 久久99午夜精品一区人妻| 国产小u女在线观看| 天美AV片| 国产丰满熟夫69mpp| 麻豆精品三区视频| 97狠狠| 亚洲中文字幕熟女| 一级特级aaaa毛片免费观看| 99热最新| 69AV女优男人的天堂| 欧洲精品欧洲精品| 大香蕉中文网| 99久久精品欧美国产| 日本精品一区二区中文字幕| 美女刺激久久国产欧美| 精品女人999| 91欧美另类| 久久男人| 强奸国产在线| 91爽啪| 天天澡天天爽日日av| 狠狠躁伊人中文字幕| 韩国三级一线观看久| 国模精品一区二区三区苹果色戒 | 欧美 亚洲 大香| 岛国天天午夜影院传媒网| 九九九色| 亚洲春色激情小说| 操逼操网| 国产女人视频三四五区| 操逼无码一区| 婷婷五月av| 按摩中文字幕| 动漫片子网站3黄| 美女91色黄18| 欧美翘臀视频网站一区二区三区| 东北少妇高潮zzzz| 91干熟女| av情色影音| 色97欧美| 久久黄色视频一区二区三区| 亚洲天堂,男人| 亚州综合AⅤ| 麻豆精品.欧美精品.日韩精品.| 日韩精品在线视频在线观看| 天天综合91在线| 午夜精品人妻二区三区| 永久免费观看的毛片的网站| 亚洲蜜桃V妇女| 97欧美精品综合| 亚洲97在线观看| 久久精品亚洲成a人天堂| 国产九九久久久精品| 久草毛片| 久久久久亚洲?V片无码V| 天天摸天天插天天日| 亚洲无码一区成人免费午夜| 日日摸夜夜夜夜爽| 九九色热| 曰本道人妻久久久在线不卡色视频| 国产高清亚洲日韩一区| 夜夜一区二区| 99热这里只有精品1| 精品人妻1区| oumeisetu综合| 在线播放欧洲免费av| 亚洲欧洲精品视频发布| 一区二区精品更新提醒| 9久久久久| 欧美性爱另类综合| 大屁股国产在线视频| 国产精品免费1区2区视频| 日韩天美| 欧美一级二级三级| www.婷婷五月天| 97精品一区二区视频在线观看| 日韩性爱再线视频| 婷婷九月国产| 亚洲精品官网在线观看| 欧美国产一区二区三区麻豆传媒| 福利视频合集| 久青草影院| 欧洲色综合| 欧美性爱伊人| 9 1超碰九色| 日韩丝袜二区| 97免费视频网| 色就色综合| 四虎884a| 国产精品一二三在线看| 国产一| 最新中文字幕在线亚洲| 少妇内射视频| 91精品人妻电影| 日本免费一区二区不卡| 亚洲成人久久一区二区| 天天综合网亚洲综合网| 中文字幕一区二区三区视频播放| 97综合久第一页| 熟女突然公开看18禁影片| 9九九国产| 九九热超碰| 97亚洲在线| 精品久久久九九九孕妇| 国产亚洲精品A在线观看下载| 黄色高清久久无码依人| 在线一道啪| 欧美色图片欧美色图| 深夜激情无码| 九九九九AV| av中文在线| 女性喷水高潮在线观看| 刺激精品视频| 成人aⅴ一区二区三区| 内射中国少妇高清视频免费视频| 国产高清成人传媒影视| 日本Suv精品一区二区| 五月激情小说| 亚洲天堂男| 330Dv国产女人终合视频极品人与兽| 国产又黄又粗的视频| 日韩毛片9| 色色色网站| 中文字幕日韩人妻视频| 亚洲AV色图一区| 天天射影院| 日韩有码 一区二区三区| 91天天爱| 精品人妻伦一二三区久久| 大肥女高潮bbwbbwhd视频| 秋霞男人网| 国产成人一级av88| 国产91丝袜 在线播放| 久久久艹艹艹| 岛国视频一二三区| 激情在线青青操| 欧美色图下一页| 亚洲AV成人在线| 翔田千里一区二区三区奶水| 后入式福利| 另类亚洲图色| 午夜免费福利视频一区| 一中国女人毛片水真多| 物业黑人 AV一区| 日日狠狠久久偷偷色综合免费| 视频一区二区三区精品| 亚洲在线A| 一起草AV| 精品少妇人妻av久久免费| 可乐操在线| 91影视亚洲| 俺去久久| 五月综合久久| 久久久久免费看少妇A片特黄| 天天噜| 国产诱惑| 国产性感骚丝袜在线| 午夜影美女日鸡鸡天天视频国产| 无码精品久久久久久亚洲| 久操视频在线| 美女黑人91神马| 玖玖视频在线资源一区二区三区| 在线观看日韩av不卡| 秋霞操逼片| 不卡二三区人妻少妇| 亚洲欧美setu| 大鸡巴久久久| 91狠狠综合久久| 日韩av不卡在线看| 亚洲综合另类| 九九九九AV| 国产精品乱码久久久久久| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 国产视频一区二区在线观看| 久久香蕉综合一本到3atv| 亚洲一区中文精品| 亚州欧美色图| 久久婷婷五月天| 国产欧美亚洲精品a第2页| 老司机深夜18禁污污网站| 精品人妻一区二区三区四区不卡在| 乱操9999| av72网| 99re3这里只有精品| 亚洲夜夜欢无码一区二区| 国产一在线观看| 夜夜草天天| 少妇久久久久久| 麻豆av一区二区| 中出人妻中文字幕91在线| 午夜毛片高清免费不卡| 91视频观看网站| 99国产在线绯色一区| 蜜臀久久一区二区| 99丝袜福利在线播放| 色婷婷电影网| 日本免费中文一区二区三区四区| 国内精品久久久久影院亚洲| 亚洲超碰在线| 欧美中出1| 五月天偷拍| 成人丁香五月| 91粉嫩萝控精品福利网站_精品影音先锋国| 大香焦A片| 8x福利精品第一福利视频导航| 日韩欧美日韩| 中文字幕丰满子伦无码专区在线视频最新 | 久久久91| 蜜臀网 一区| 啊啊啊无码| 女性91网站| 日日操免费视频| 日本黄色精品专区网站| 热久久国产| 岛国网址国产| 国产视频一区二区免费| 色综合色欲色综合色综合色综合| 亚洲午夜AV| 激情五月天视频| 91蜜桃婷婷狠狠久久综合9色| 丰满人妻-区二区三区免费| 婷婷激情啪啪| 91红杏| 亚洲人妻熟妇三十三区| 一区二区国产视频在线观看| 欧美一级专区免费大片| 97伊人超碰| 青青草好吊色| 中文字幕黄片在线| 欧美亚洲一级在线观看| 国产女人91精品嗷嗷嗷嗷| 国产成人久久久精品免费AV| 亚洲av综合色区无码一| 亚洲一卡2卡3卡4卡乱码网站| 国产三级日产三级韩国三级| 亚洲精品美女久久久久久久久| 大香蕉AV在线| 黄污污污污| 女人妻一区| 亚洲高清男人天堂| 国产精品乱码久久久久久久久| 久久久久九九九九| 在线岛| 91精品久久久久久综合五月天| 日本免费中文一区二区三区四区| 色噜噜人妻丝袜AV资源| 97精品在线| 国产日产欧产美韩系列麻豆免费| 青青草大香蕉视频| 国产高清亚洲日韩一区 | 懂色aV一区二区天美传媒| 日本免费人成视频播放120秒| 亚洲av无线观看| 欧美午夜精品久久久久久超碰| 久久熟妇五十路一区| 久久99干一本高清| 久久国产成人精品国产成人亚洲| 无码高清专| 亚州色图第三区| 情色五月天网| 青青草导航在线视频| 亚洲巨爆乳一区二区三区四季网| 日本操逼视频导航| AV 少妇 人妻 偷拍| 精品国产一区二区三区久久久蜜臀| 麻豆人妻偷人精品无码视频| 丰满人妻一区二区三区| 天堂俺去俺来也www久久婷婷| 亚洲天堂 视频你懂的| 国产无码一二三区| 久热久一区二区三区| 91伊人久久在线| 操操操五月天婷婷丁香影院| 久久99亚洲精品久久99果| 伊人青青草久久| 九九热精品视频六| 99久久e免费热视| 天美av在线观看| 欧美日韩小说| 高清一区AV无码| 日韩精品区二区三区不卡| 精品人妻一区二区乱码一区二区 | 97久久久久久久久久| 东京热一区二区中文字幕| 欧美Aⅴ| 97在线精品| 青青草大香蕉在线视频| 中文视频在线观看| 四虎影院成年人片| 欧美青青草视频| 婷婷av在线中文字幕| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 久久↗↗| 国产精品呦一区二区三区| 1956日韩精品| 97中文字幕一区| 精品欧美А∨无码黑人大荫蒂| 另类图片五月| 999热日韩精品| 综合免费无码中文| 国产性刺激| 999综合网| 久热超碰| 久久久久国色αv免费观看| aaaa少妇高潮大片| 久久人妻无码毛片A片麻豆| 无码人妻精品酒店| 欧美在线视频99| 久热99999| 亚洲 国产 精品一区| 日韩99神马视频片| 91操操操操| 一本道综合色图| 亚洲自拍小说| 殴美大黄片| 美女黄码视频午夜| 狠狠操官网| 亚洲污污网站| www亚洲免费| 狠狠图片青青草| 国产欧美日本亚洲精品| 国产91精品久久久久久久网曝门| 国产精品久久久亚洲第一牛牛_在线观看| 国产粉嫩出水在线播放| 玖玖草久草99蜜月一区二区三区| 国产精品一区午夜福利| 神马久久网| 欧美 精品国产制服第一页 | 久久女同性恋一二区| 亚洲久久久久| 花野真衣| 色悠久| 九九黄色视频在线观看| 久久是精品| 色色激情五月天| 天天摸天天操视频| 男人的天堂亚洲| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 日本97久久| 成人av动漫在线观看| 亚洲欧美天| 国产精品老熟女一区二区| 丝袜亚洲综合| 久久久久久中文版| 国产在线激情视频| 久久久久婷婷精品av电影| 手机在线观看不卡无码av| 91天天美女| 婷婷中文字幕| 天天射日日干| 日本不卡卡一区| 国产精品人妻一区二区| 中文有码第五页| WWW操逼| 最新中文字幕av| 亚洲成?V人片在线观看福利| 亚洲综合另类色图| 欧美日韩 强奸乱伦| 后入式福利| 女优视频第10页| 日本东京热久久久电影| 天天干天天日天天射黄色片| 日韩欧美大片免费高清啪啪| 日日夜夜草草草| 人人扣人人操| 欧美同性恋 的搜索结果 - 91n| 色99视频| A一区片| 欧洲精品一二三在线| 中文字幕 国产区| 欧美性91| 欧美亚洲第1页| 污污汅18禁网站在线永久免费观看| 久久99手机免费视频| α√在线| 亚洲97超碰| 在线免费试看60秒| 久久婷婷伊人| 国产日韩无码一区二区三区久久区| 久久精品综合| 日韩成人色图| 免费A V在线播放| 啊啊啊啊啊啊啊啊在线观看| 九九九精品一区二区无码| 无码自拍SM| 尹人免费观看视频在线| 91爱做| 99爱在线视频| 国产精品嫩草影院免费| 亚洲欧美洲综合| 成人色女网| 婷婷五月激情综合| 亚洲精品天堂久久A∨51成人漫| 伊人宅男大香蕉| 日韩9999| 大香蕉宗合网在线| 色综合久久88色综合久久天天| 精品人妻免费观看| 91在线一起| 动漫区日韩区欧美区| 黄色片大香蕉| 国产隔壁老王影院在线| 精品日日人妻| 天堂亚洲精品久久老牛| 天无日色综合| 97啪啪| 亚洲国产av中文字幕久久| 熟妇人妻一二三区免费| 欧美精品双插| 人妻天天夜夜爽一区二区| 人人摸人人叼| 五十路六十路素人熟女| 欲香欲色| 天天影视网色欲色香| 国产老熟女| 欧美少妇熟女| 成人三级片无码| 很黄很色的视频在线观看| 神马久久午夜| 久久风骚城市| 欧美性五月| 99色日| 91原创在线观看| 国模吧 一区二区三区| 人人操人人操人人人操| 激情小说亚洲| 91精品人妻一区二区三区蜜桃| 碰人碰碰人人开房人肉| 亚洲影院小综合| 亚洲人在线成线成人| 另类视频在线| 欧美操人| 日韩在线性爱免费视频| 2017av无码免费无线播| 亚洲学生妹高清av| 97这里有精品| 久久这里只| 91精品国产91久久久久久久久久久久| 91N综合在线| 欧美 日韩 婷婷 五月| 熟女精品va中文字幕| 67194无码不卡| 青草一区二区| 欧美日韩91| 久操com| 日韩大香蕉| 四虎影视国产精品| 久久有码视频| 国产sv美女内射| 91色伦| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 有码色中文字幕在线观看| 97综合在线观看| 美女一区二区国产精品| 欧美丰满少妇xx高潮| 强奸乱伦大香蕉| 午夜超爽| 制度丝袜99| 国产成年精品高清在线观看91| 高清一区AV无码| 囯戸精品高潮呻吟旡码| 狠狠操,使劲操| 精品蜜乳AV免费观看| 国产91影院| 色婷婷六月丁香七月婷婷| 国产女人高潮嗷嗷嗷叫小说 | 天天做天天爱| 揉揉揉夜夜| 亚洲天堂精品日韩电影| 天天看天天干| 性饥渴少妇av无码毛片| 手机在线播放国产福利| 99热99在线播放激情| 性做久久久久久久| 九九在线视频| 天天综合91在线| 96免费视频在线| 中文字幕91综合| 嗯嗯啊好大| 少妇久久久免费| 亚洲自拍小说| 欧美综合亚洲综合| 97超碰大| 久草这里只有精品| 精品国产91内射久久| 国产精品一区二区校花| 久久性爱大全| 色嘟嘟人妻天堂网| 美女高潮视频91| 2025亚洲男人天堂| 九九九九久久久| 麻豆久久久久久久久丝袜| 天天欧美色| 亚洲视频一二区| 国产又粗又长的视频| 日本天天干天天操一区| 一个国产在线综合网站| 2020国产精品| 97网址www| 公司1区2区3区精产精| 97欧美超碰| 午夜一级免费毛片| 人妻AV 中文字幕的| 久久25| 丝袜美女诱惑 91 视频| 欧美综合亚洲综合| 激情天天视频| 萌白酱自拍视频| 猛交交| 欧美国产一区二区三区麻豆传媒| 96超碰网| 91综合网站| 日逼国产| 亚洲丝袜B诱惑| 中文日韩欧美熟| 日韩免费在线观看不卡| 久久‘黄片视频| 久久久久骚| 少妇九九九九| 国产对白刺激视频| 欧美性爱视频免费一区一A| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 99热这里只有精品9| 丝袜AV一二三区| 久久九九精品一区二区 | 污啪啪啪视频| 欧美亚洲AN| 又大又大又大又粗爽高潮观看| 99re综合伊人| www久久久| 国产乱弄免费在线视频。| 97中文字幕一区| 影音先锋视频在线| 操逼操操操91| 夜夜操天天肏| 91中文字幕制服丝袜免费视频| 中文字幕日韩电影人妻| 99热精品免费| 亚洲不卡一| 成人97人人超碰人人| 丁香五月社区| 俺去啦自拍| 国产亚洲精品美女久久久| 噜噜在线| 天天干人妻视频| 中国一级操逼视频| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 不卡六六在线91| 国产亚洲日韩欧| 九九热男人天堂| 99草精| 日韩操逼HD| 韩国女主播青草在线| 天天做天天爱| 亚洲午夜av| 嗯嗯嗯啊啊在线观看| 夜嗨影院| 亚洲美女色图| 中文字幕五月婷婷免费| 欧色综合|