国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成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
返回資訊列表
搞中出久久| 黄总AV色图| 亚洲男人天堂2013| 青青草中文-久久青草精品一区二区三| 国产高清自拍| 亚洲欧美不卡线| 欧美激情色婷婷花野真衣一区二区| 97jingpin| 青青国产精品在线| 看一级黄色视频| 人人操人人操人人人操| 蜜奶av| 偷窥自拍亚洲天堂网爆| 99热在线只有精品| wuyechaopeng| 国产乱伦亚洲| 青青草视频久久久久| 少妇3P性爱自拍| 亚洲一卡2卡3卡4卡乱码网站| 久久神马| www.久久久久| 日本东京热大香蕉a片| 美女诱惑爱爱| 香蕉av一区二区三区| 亚洲精品久久久久久久久豆丁网| 久久久久久久人妻| 搞中出视频在线观看| 亚洲淫乱骚妇AV| 日韩大香蕉AV影片| 秋霞视频一区二区| JIZZJIZZ国产精品喷水| 日本一区二区三区免费观看| 男人天堂电影院| 成人网址在线观看| 91N综合网在线| a啊啊啊啊啊啊啊啊一区二区| 91熟女综合| www欧美91| 乳欲人妻办公室奶水| 色欲av一区二区三区蜜芽| 日本高清免费一本视频在线观看| 国产精品永久免费10000| 亚洲黄色电影| 清纯唯美综合| 中文字幕日韩情色| 91精品啪在线观看国产城中村| 天堂中文日本在线观看| 亚洲成人在线播放| 四虎AV在线播放| 久久五月丁香| 美女诱惑一区| 蜜奶av| 中文字幕在线观看永久| 成人av动漫在线观看| 亚洲有码 欧美精品| 97色妞| 国产91精品福利在线| 久久久98网站免费视频| 加勒比av官网在线| 五月天婷婷基地| 三上悠亚在线毛片91| 亚洲AV秘 精品久久老牛影视| 制服少妇欧美| 亚洲精品97| 久久婷婷在线观看视频| 色九九九综合| 神马午夜久久久| 天久久久噜噜噜久久国产精品爽爽 | 大香蕉中文网| 婷婷伊人一区| 91性高朝久久久久久久久| 亚洲久久久| 97午夜剧场日韩| 综合操逼| 久久性爱城| 后入 亚洲 美女 射| 欧色综合| 国产AV激情无码久久无码| 少妇激情AV| 久久中文字幕一区不卡| 色五月综合| 久久视频少妇美女| 一区二区三区黄片免费观看| 啊啊啊啊啊啊在线| 床上啊啊啊一区二区三区| 91人妻视频在线| 男人的天堂2019| 黑人精品久久97| 无码少妇精品一区二区60岁老人| 丰满人妻一区二区三区大胸懂色| 黄污污污污| 久久久四区| 亚洲成人精品久久久| 国产人妻精品一区二区三区秋霞| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 无码78| 日本三级久| 午夜舔阴达高潮视频免费看| 乱伦AVxx| 精品少妇一区二区三区| 国产色综合亚洲色综合吹潮| 欧美综合 站| 香蕉黄色一级视频| 26uuu久久| 亚洲久草AV色图| 欧美青青视频| 一区,二区,三区网站| 亚洲a色| 一区二区三| 日本视频在线观看污污污| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 91精品婷婷国产综合久久竹菊| 91大香蕉伊人| 亚洲一区二区av| 久久69| 天美精品原创av片国产| 神马久久69| 操死我了嗯嗯嗯| 蜜臀久久精品久久久久视频| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 国产黄片精品在线| 九一屌逼| 亚洲自拍青操视频| 精品午夜福利导航| 正在播放国产精品一区| 精品少妇一区二区| 亚洲免费97免费| 88在线一区二区三区| 亚洲自拍一区夜夜操| 五月丁香六月激情| 青青操在线亚洲视频观看欧美在线 | 95精品在线| 最新啪啪视频| 91综合网| 欧美黄片欧美黄片xxx| 秋霞成人一级在线观看| 夜夜高潮夜夜爽夜夜爱爱一区| 天天色播亚洲综合网站| 裸体女人草逼视频播放一区,二区,三区,四区,五区| 香蕉国产精品麻豆亚洲欧美日韩| 啊啊啊啊啊啊啊啊啊啊在线观看| 久久久久久久国产视频| 思思热久久成人| 五月丁香社区婷婷日韩欧美精品影院 | 中文字幕一区二区视频在线观看| 日韩三级av片| 无码91| 婷婷久久久精品| 中文人妻av高清一区| 久九九九| 久久人妻办公室视频| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 亚洲丝袜诱惑| 91国产精品熟女| 国产精品久久久久久久久久久久久久吹| 欧美亚洲丝袜美女电影| 亚洲欧美骚| 日本三级日本三级三级人妇四虎| 亚洲色图欧美| 揉揉揉夜夜| 99久久久无码| 99天天超碰| 久久久久精| 九九九九久久久| 欧美淫乱视频| 欧美色老汉| 国产又粗又长的视频| 欧美成人免费在线观看| 午夜精品久久久久| 日韩不卡一二三四| 色香网| 941超碰| 尤物视频新赏网鲜网色诱网| 少妇一线天久久久久久| 欧美日韩国产三级黄色| 99re视频这里只有精品| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 国产AAAAAABBBBB| 91亚洲欧洲| 国产美女在线精品免费看| 精品视频专区| 疯操AV| 亚洲色图 91| 天天综合网在线观看| 伊人AAA| 欧美色图天堂网m| 后入式999| 亚洲色图片区| 成年人网站在线免费观看| 久久久涩| 日本欧美一区二区三区免费| 男人天堂网站| 色色婷婷五月天| 91挑色欧美| 啊啊啊好湿久久| 欧美中字不卡| 日韩在线视频1234| 久久久无码精品人妻二区 | 91久久18禁| 国产后入| 花野真衣| 久夜视频| 伊人色综合欧美| 欧美色人| 97在线精品| 色婷婷激情| 亚洲天堂少妇| 久久草在线综合视频| 久久性生大片免费观看性| 欧美天天影院| 国产伦乱91| 亚洲精品一区二区免费在线观看| 亚洲女优有码无码高清| 97国产精品一区| 干婷婷综合网| 超碰欧美97资源| 99国产精品视频尤物| 亚洲国产高清福利视频| 黄页18禁| 天天弄天天操| 综合网少妇| 色999五月色| 97av,com| 熟妇最新先锋一二三区| 一级AV性爱| 婷婷五月天激情网| 91成人精品| 一二三四日本视频高清| 人人摸人人舔一区二区| 亚洲男人电影天堂| 精品国产99| 大香网站| 欧美亚洲厕所精品偷拍91| 欧美91网| 精品免费1| 欧美极品性爱天天射| 日本91白丝| 日韩兔费看黄片| 啊啊啊好舒服好爽啊啊啊视频| 91国产在线精品| 蜜臀少妇一区二区| 久久久A∨| 免费av在线播放二区| 日本 欧美 亚中文字幕| 69一区二区| 97精品在线| 温婉少妇玩3p| 一级性爱啪啪视频| 亚洲性爱成人| 精品黄色电影| 加勒比综合网| 蜜臀99久| 久久精品高清无码一区| 国产精品久久久久av| 久操影视| 操死我了啊啊啊| 粉嫩久久久极品| 亚洲综合精品国产一区| 九九九九九九综合| 婷婷性网| 欧美写真视频一区| 色97干| 久草这里只有精品| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 国产超碰在线| 免费黄色片子| 99热综合| 一区二区三区日韩欧美 | 亚洲AV无码天美传媒一区| 福利天天都操| 神马久久午夜| 亚洲AV成人精品网站在AV| 综合国产97| 中文字幕视频在线观看一区二区| 少妇干B| 国产真实野战在线视频| 久久永久无码人妻视频| 激情文学小说一区二区| 丝袜亚洲91| 啊啊啊啊啊舒服| 午夜在线播放| 久久社区一区二区三区| 搡老熟女免费视频 | 国产熟女完整版中字 | 91精品久久久久久77777| www.超碰| 久久久性少妇| 91亚洲黄色网| 久久久久久久伊人精品| 久久一区二区蜜桃| 国产三级日产三级韩国三级| 久久久久久久九九九九九九| 大香蕉一级黄色片久久| www欧美91| 亚洲人成在线放东京热| 久久久久亚洲三级电影| 精品性爱| 性色高清在线| aaa淫乱视频| 97欧美色综合| 国产黄色 A 片免费看| 亚洲精品xxx| 青青国产精品在线| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 26UUU欧美日本| 玖玖视频在线资源一区二区三区| 中文字幕 av v| 综合大香蕉美。| www.黄色在线| 色老久久| 视频国产精品未满十八禁止在线观看| 色偷综合| 岛园激情| 久久久亚洲熟妇资源| 97亚洲色图| 视频黄色国产一级| 精品9区| 国产日韩区| 欧洲乱码视频| 黄片aaaaa一区| 欧美性爱一区| 综合影视国产无码| 男人的天堂久久| 亚洲日韩成人性爱视频| 色九月综合| 天天综合网91| 98福利在线视频| 亚洲色诱惑| 国产精品久久蜜乳av| 自怕偷自怕亚洲精品| 久草福利在线资源站| 操b网站亚洲无码| 欧美日韩不卡a片| 国产亚洲精品美女| 这里只有精品视频| 中文字幕一区二区在线日韩精品| 五月丁香婷婷色| 日韩黄色av中文字幕| www99热| 欧美一区二区三区不卡高清视频| 欧美色综合影院| 91精品老女人| 亚洲欧美综合网站| 亚洲天堂另类美腿| av一区二区三区 中文| 67914亚洲精品| 国产区性爱在线视频秋霞豆 | 韩国成人精品久久久免费看| 久久久久ab| 国产成人www免费人成看片| 亚洲鸥美色图| 美日韩在线不卡人妻| 欧美呦呦性爱| 亚洲中字幕日本一区二区三区| 日韩中文字幕二区| 91色插| 91亚洲狠狠色| 性生活性生大爱77AV国产| 久久久精品电影| 在线A日本| 97干在线视频| 黄色一区三区| 精品一区二区三区蜜桃臀www| 欧美成人精品一区| 蜜桃臀一区二区aV| 黄久在线| 职场同事知名国产国产精品久久欧美日韩| 日韩人妻无码精品系列| 一级A片女人高潮叫床| 久久久久成人网| 亚洲男人天堂视频| 91精品91久久久久77777| 精品一区二区三区蜜桃臀赵总 | 亚洲色图欧美色图在线播放| 日韩三级视频一区二区三区| 中文色综合| 巨爆乳一区二区爆乳区| 熟妇色99| 久久riav中文精品| 97在线精品| 日韩另类色图| 热久久九九热| 91男人天堂网| 成人免费性爱视视| 欧美大香蕉同搞| 亚洲久热| 美女干逼2| 九九九九免费视频| 日韩欧美亚洲自拍偷拍| 日本黄色XXX| 91黑人狂躁丰满熟妇| 欧美综合传媒| 亚洲久久天堂| 国产真乱mangent| 综合网91| 日韩精品一区二区三区四虎影视| 国产精品久久伊人| A啊啊在线观看| 91色综合| 亚洲国男人的天堂| 欧美成人精品一区二区男人蜜臀 | 国产日韩欧美操逼视频| 色综合V| 人妻中文字幕日韩电影| 色婷婷五月综合激情中文字幕| 性在久久久久久| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | jiujiujiujingpin| 国产精品成人久久一区二区三区| 92性色国产午夜福利在线661| 一卡二卡在线播放| 国内毛片国产专区二| 全球成人中文在线| 2020中文字幕在线| 国产亚洲精品美女久久久久久2021| 超碰日韩人妻| 精品999日本| 国产精品一区二区手机看片| 伊人黄色视频免费观看| 激情五月天丁香社区| 综合色图区| 可以免费观看的日韩av毛片| 九九视频黄色片| 一个人在线看的黄色电影网站| 欧美一区二区日韩传媒搭讪精品| 视频二区熟女人妻| 三级片网站在线播放| 白丝AV网站| 艹精品| 大香蕉综合久久| 黄色欧美性爱视频| 久久男人| 2017大香蕉国产精品久久| 国产99999| 激情欧美日韩女同久久| 欧美综合中文| 欧美性色综合网| 日韩性爱1级片视频| 久久国产三区| 香蕉久久AⅤ...| 青青草一区二区高清无码视频| 91成人高清在线观看| 99热精品在线| 激情啪啪拍91| 免费一级性爱久久| 日日摸天天爽夜夜欢| 国产女性无套 免费观看| 少妇天堂网络| 日本不卡三级网在线播放| 91国产丝袜白虎| 亚洲视频二区| 色情亚洲日本成人| 婷婷伊人一区| 亚洲国产精品久久久久久久久久| 七月婷婷综合| 亚洲情色 自拍| 国产乱人妻精品入口| 成人性爱免费播放| 啪啪综合网| 玖玖久久久| 中文日韩欧美熟| 欧美在线 亚洲| 一二三啪啪专区| 女人爽到高潮久久久| 男人亚洲天堂| aa片毛片| 亚洲欧美日韩免费观看| 日韩天天本| 成人一区二区三区四区| 婷婷五月成人| 国产欧美一区二区| 亚洲情色五月天 | 国产日逼视频| 日本性爱少妇| 看看小穴| 日韩成人综合网| 91大学精品激情戏| 欧美美女在线高潮999| 国产a级午夜毛片| 日韩黄色成人性爱| AV色天香在线| 久久一本大香蕉 | 久久婷婷色综合一区二区三区| 操逼操逼视频操逼| 久久久久9999| 久热久| 国产夫妻性生活视频| 国产又黄又猛又粗又爽的网站| WWW操逼| 久操不卡视频| 伊人97色天使| 后入内射蜜桃臀| 婷婷五月天无码 | 99re黄 | 日韩黄片视频试看| 91亚洲黑人| 60秒免费小视频| 国产三级片在线观看| 另类专区加勒比| 国产60页| 日本女人操逼| 青青草五月份天| 精品国产乱码| 欧美精品第四五页中文字幕在线观看| 久区视频| 丁香九月激情| AV女资源| 丁香五月av| 日本高清一本二本免费不卡| 91精品在线播放| 国产又猛又粗又爽又黄| 天天插夜夜操| 超碰夫妻97| A片大香蕉在线| 久久久999日本大片| 麻豆黄四叶草网站| 三男一女不戴套的A片| 欧美日日操| 在线情色电影 91大| 久久久久幕乱码| 天天插天天操| 密臀成人视频久久久| dy888午夜老子影视达达兔| 性爱乱伦视频免费| 9I1性色影院| 美女人妻色网站| 福利视频香蕉免费一区二区在线| 日亚韩精品视频二区三| 在线情色电影 91大| 麻豆成人AV| 夜夜高潮夜夜爽| 免费精品无码一级毛片牛牛影视 | 精品亚洲国产成人AV制服丝袜 | 久久99九九九九6666免费观看软件| 人妻三级在线中文字幕| 99色热| 欧美一二三| 嗯……啊…嗯嗯…啊…好舒服| 人妻少妇精品无码专区二区密桃| 51国产午夜精品视频| 亚洲色色色| 欧美中文字幕日韩在线| 91蜜臀熟女| 人妻丰满熟妇一区二区三| 大香蕉伊人色偷偷在线| 最新9久久久9免费视频| av日韩在线观看电影| 国产精品丝袜久久亚洲不卡| 黄色香蕉视频网站一区| 久久久婷婷| 日韩无码成人电影| 91在线超高颜值国产| 丝袜视频一区二区在线播放国产中文| 色五月综合网| 国产av美女被艹的乱叫| 日本精品一区二区三| 久久直播国产| 日韩成人精品视频自拍| 中文字幕欧美精品亚洲日韩蜜臀| 日本福利二区视频| 婷婷五月天激情网| 亚洲黄网在哪免费看| 人妻人久久精品中文字幕| 高跟丝袜AV专区国产| 日韩不卡一二三四| 91 综合 色| 超碰午夜| 久久风骚城市人| 九七人妻在线| 亚洲人精品久久久| 国产又粗又长又大的视频| 伊人久久青青草| 欧美精品另类人妖xxxx| 91人妻尻屄视频| 97干在线| 九九九九九九视频| 欧美丝袜中文字幕07在线| 日本 免费 一区二区三区 久久香蕉| 日本黄色大片一级视频免费麻豆| 97精品在线视频| 你懂的在线观看区国产| 99re视频在线播放青草| 日韩/97| 国产99999久久精品| 大香蕉伊人网WWWn0n| 婷婷在线视频| www.四虎在线| 日日嗷| 五月色综合| 少妇诱惑视频| 91美女视频。| www.av在线视频| 亚洲色图欧美激情| 亚洲精品aa久久伊人| 色色毛片| 免费人成毛片乱码| 丁香五月电影| 欧美色图91p| 人妻偷拍一区二区三区| jazzjazz国产精品麻豆| 色欲天天婬色婬香WWW夜色| 久久少妇| 五月婷婷丁香| 老女人91| 久久6热视频免费观看| 在线观看亚洲专区| 日日日大屁股骚女人精品| 学生妹天天看| 国语对白在线播放视频| 国产日韩在线播放av| 欧美性高潮| 狠狠中文字幕| 色五月婷婷中文字幕| 久久东京伊人一本到鬼色| 日日操免费视频| 亚洲偷拍自拍在线视频| 久久精品国产96精品亚洲拳交| 久久精品日韩| 九九综合| 精品妇操一区二区三区| 日产精品久久久一区二区| 四虎免费在线播放| 777AV电影| 亚洲最大黄网| 久这精品中文在线观看视频| 久久狠狠色噜噜狠狠狠狠97| 午夜视频久久久久一区| 欧美性爱一级操| 69精品人人人人| 伊人麻豆传媒| 日本污ww视频网站| 久草精品一区| 一个国产在线综合网站| 国产精选三级在线观看| 色蜜AV| 99rre在线精品99re8| 搡老女人老91妇女老熟女| 天天色天天干天天射| 国产67194| 淫穴高潮色图| 亚洲精品人妻吞精av | 人妻少妇精品久久久久久| 精品熟女呻吟久久91| 国产精品视频麻豆入口| 天天日天天爽| 美女裸体无遮挡永久免费观看网站| 无码不卡亚洲成?人片| 亚洲高清国产理伦片| 一区二区 韩日AV| 欧美午夜熟妇黑人精品91| 欧美日韩午夜精品一区二区三区 | 乱伦日本色图AⅤ| 超碰欧美在线欧美| 十八禁的黄污污免费网站| 亚洲激情久久| 亚洲se91| 丰满翘臀美女影院视频| 丁香7月婷婷| www欧美性爱| 亚洲天堂资源在线| 中文字暮97| 国产91影院| 九九夜精品九九在线| 欧美 亚洲精品首页| 可能人人看人人摸| 999熟女精品| 2024人人操人人摸| 色吧91| 国产AV天美| 久9无限国产| 成年男人的天堂| 97在线精品观看视频| 久久天天摸| 99亚洲国产精品色一区二区三区| 五月天婷婷成人网| 懂色Av| AV在线资源| 破苞ⅩXXX性无码动漫无码| 精品无码一二三四区| 一区二区乱码福利| 91成人社区| 亚洲精品成人激情在线| 蜜臀av网址| 激情第四色| 在线播放成人高清免费视频| 亚洲青青青视频在线| 99999亚洲| 少妇三P| 欧美色婷婷| 免费一级性爱久久| 18精品一二区| 亚州 综合 色图| 色婷婷激情| 97在线精品观看视频| 青青草五月天| 亚洲夜夜欢无码一区二区| 淫穴高潮色图| 天天享受天天看| 99ri精品| 精品国产人成在线| 午夜操一操| 精品人妻视频一区二区在线播放 | 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 99综合网| 国产一区在线观看无码AV| 中文字幕十五区| 嗯嗯啊操我| 女人喷水视频在线观看| 精品人妻一区二区三区蜜桃视频| 日本肏逼视频在线观看| 日本2020一区二区| 亚洲精品蜜桃久久久久久久| 日va操| 久久国产AⅤ| 人人妻人人爽| 熟妇女伦乱视频视频| 婷婷色中文字幕| 人人玩人人添人人澡免费| 国产视频小说| 九X超碰| 97超碰色五月| 天天天天操| 日本亚洲熟女视频| 国产 亚洲 丝袜 制服| 色欧美色交综合| 亚洲鸥美色图| 九一综合网| 蜜臀AV成人精品蜜臀| 中国亚洲呦女专区| 久草免费在线一区二区| 先锋女优在线观看视频| 9 7超碰在线免费观看| 深夜激情无码| 女同性恋久久| 无码 有码 国产18p| 国产熟女精品一区二区| 九九九九九九九九九九九九九九九女| 三上制服丝AV| 91夜夜蜜桃臀1区2区3区| 亚洲成?V人片在线观看福利| 久操91视频| 日本性爱视频一级| 超碰精品日韩欧美国产| 久久9免费视频| 91青青在线视频| 国产吹潮女在线观看| 五月激情在线| 97色冈| 九一屌逼| 99热导航| 国产第二页| 嫩草 我啊~嗯~在线| 男女打扑克高清网站| 韩日无码在线观看| 国产一区二区啪啪视频| 亚洲欧洲无码bt精品合集| 综合色欧美| 另类天堂| 成人无遮挡毛片免费看| 欧美乱欲| 玖玖爱在线视频免费观看| 国产美女高潮视频| 人人妻人人玩人人澡人人爽| 亚洲欧美天| 99999re| 熟妇综合一区二区三区| 日韩在线电影| 成人免费毛片| 92午夜免费福利视频| 一级性爱啪啪视频| 国产亚洲精品第一最新| 亚洲成人日韩小说| 99自拍视频在线| 日本免费不卡二区| 久久香蕉国产传媒一区剧情天美| 色爱国产| 久久综合久久综合人久久夜精品| 精品精品精品| 欧日韩不卡视.频| 日本一片一区| 欧美三四五区| 四虎国产精品永久入口| av激情亚洲五月天| 亚洲AV无码AV吞精久久久久| 三级特黄60分钟播放| 色y情视频免费看| 日韩一级欧美一级在线观看| 欧美日韩性爱视屏免费看了| 日本国产成人亚洲精品无码| 色五月激情网| 久久久国产精品人妻丝袜| 极品内射| 久久东京热久久| 亚欧成人综合影院| 国产av高清版| 色欧美色交综合| 97人人夜夜精品视频| 亚洲精品天堂久久A∨51成人漫| 欧美αv.com| 骚逼高潮久久精品| 亚洲性综合| 免费岛国一级片| 欧美性爱在线无码| 欧美999999| 校园春色综合网| 91粉嫩萝控精品福利网站_精品影音先锋国 | 少妇内射视频| 日韩成人高清一区二区| 最新av网站在线观看| 天天综合网日韩7799| 亚洲黄日韩无码专区| 欧洲综合视频| 青青草大香蕉视频| 久久亚洲AV成人精品无码| 一区二区三区机械有限公司| 亚州色交| 美女好片色日本| h无码动漫在线观看| 色欲久久综合| 另类老少妇| 久久亚洲AV无码专区首页| 日韩在线观看中文字幕视频| 亚洲最大黄网| 亚洲在线91| 成人电影一区| 久久九九热| 99久久e免费热视| 亚州熟妇精品| 无码一区二区精品视频久久久春药| 成人无码影片视频在线| 超碰日本97美女人妻人人玩人人爱| 婷婷情色五月天| 操国产逼| 综合久欧洲| 少妇熟女1区2区3区| 久久美女福利是上海美女| 亚洲情色91| 欧美性夜| 日本一区二区不卡精品| 一区久久久二区| 色哟哟 日韩精品| 一道本东京热加勒比一区二区三区| 国产欧洲精品亚洲午夜拍精品| 亚洲资源站| 久久人妻丝袜一区二区三| 99蜜桃臀久久久欧美精品网站| 花花AV导航| 国产精品久久久亚洲一区| 亚洲天堂美臀在线| av天堂手机版追回| 97超级久久| 黄色污污污污污污网站| 97视频一区| 色蜜AV| 亚洲欧美97| 按摩中文字幕| 性爱Av免费| 91n.欧美| 亚州色图第三区| 91操操操操| av线电影| 91精品91久久久中77777| 蜜桃臀一区二区aV | 欧洲乱码视频| 午夜福利精品| 欧美大的香蕉有线电视视频| 欧美视频在线视频免费va| 欧美精品久久| 伊人久久婷婷| 超碰在线人妻中文字幕| 蜜色网色哟哟| 超碰色老头| 99操| 九热视频| 国产精品久久aV| 人妻色情天天操| 少妇蜜汁| 亚洲精品中文字幕一区在线视频| 91超碰在线播放| 天天插天天干| 人妻少妇被猛烈进入中| 日本久久综合| 99在线免费视频| 五月天久久综合网| 校园春色 亚洲| 亚洲大色堂| 激情综合网激情五月天| 91日韩国产欧美亚洲另类精盘州至城都| 亚洲中文人妻色| 日韩一级片在线看| 国产91亚洲精品一区二区三区| 亚洲AO在线| 亚洲夜夜欢无码一区二区| 农村妇女精品一二区| 花野真衣| 欧洲熟妇xxXx欧美老妇裸体| 日本不卡一二区| 亚洲日韩XXX| 亚洲熟妇丝袜在线观看| 国产福利电影| 美女黄站| 97欧美色| 岛国999| 麻豆影音天美视频| 欧美日韩高潮喷水91| 超碰精品国产无码| 中文字幕精品码亚洲| 夜夜嗨av午夜成人| 婷婷尹人大香蕉免费| 国产日韩精品suv| 91A欧美电影网站| 天天在线91| 啊啊啊啊啊啊啊啊啊啊在线观看| 无码自拍SM| 国产精品自在线发布| 久久久四区| 人妻另类| 蜜桃香蕉久草精品在线| 天天干天天操天天拍| 欧美日本中字另类在线| 国产精品伦理| 乱操9999| 国产又长又大又粗的视频| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 欧美日韩淫加| 婷婷中文字幕| 亚欧高清v| 自慰白浆在线观看| 1禁看欧美黄片免费看| 91性网| 日本九九久久99| 日韩/97| 99re在线观看| 成人综合网 欧美| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 青草青草久热| 中国一级特黄大片护士| 91宗合网| 啊啊啊无码| 97视频免费播放| 精品午夜福利| 亚洲第一页综合在线| 久久综合久久综合人久久夜精品| 亚洲日韩国产欧美综合v| 欧美色性情| 97免费在线| 日韩免费簧片| 欧美亚洲国产91在线| 男人的天堂视频精品乱在线| 亚洲色悠悠久久88| 亚洲人妖网| 欧美精品,四区。五区| 啊啊啊 在线观看| 久久av网| 99久在线精品99re8热视频在线| 日韩啪啪啪啪啪| 一区二区三区 丝袜 高跟 美腿| www欧美性爱| 90后性网国产欧美| 青青网三级视频| 久久熟女人| 伊人伊人LD| 日日摸日日弄日日拍| 久久曰曰| 密臀成人视频久久久| 色妇91| 老鸭窝在线视频播放| 亚洲日本天堂| 美美91成人国产精品欧美精品久久久久久久 | 无套内射性感少妇视频| 强奸乱伦麻豆| 亚洲第一页色| 日本不卡卡一区| 熟女精品一区二区在线观看| 97超碰色屌| 亚洲天堂人人妻| 97久久久网站| 97人人色| 国产一区二区免费福利片| 久久精品一区二区| 国产主播福利| 亚洲操逼无码| 乱日视频| 日韩大香蕉精品在线视频| 日本人妻天堂网站在线播放| 亚洲色图加勒比| 亚洲一区制服诱惑| 超碰97人妻在线| 国产家庭乱伦网址| 丁香五月影院| 97免费视频在线观看视频| 乱子伦一区二区三区国产精品| 97视频在| 欧美日韩人妻精品系列一区二区三区| 精品999999| 国产成人精品日本亚洲语言| 91干熟女| 美女高潮视频91| 外国免费性情大片| 中日韩久久久| 亚州色图第三区| 激情视频图片| 一级做a爰片久久毛片图片| 精品无码一区二区三区色欲| 91精品久久久久五月天精品| 日韩操逼HD| 91粉芽高清在线一区二区| 91色碰| 亚洲黄色| 操逼操逼逼操操逼91| 香蕉婷婷| 精品9999| 人人操人人摸人人看人人插| 伊欧美综合视频| 国产乱码精品久久久久久 | 性爱视频无打码在线观看| 国产 亚洲 一二三四| 一区二区影院| 东京热精品97综合网| 97热视频在线观看| 日韩精品一区二区高清| 久久一区二区三区入口| 久久婷婷六月综合| 色综合1991| 国产97视频免费观看| 色婷婷丁香五月天| 国产女主播视频在线观看| 91色图| 99热| 青青草好吊色| 久热99| 日韩成人人妻网站| 亚洲日韩av专区无码| 亚洲欧美国产其他二区| 91 手机在线播放 绯色| 欧美与日韩97| 一区二区三区精品黑丝白丝酒店对鸡 | 91天天综合| 国产按摩一区二区三区| 人妻熟妇久草在线| 久久精品国产AV一区二区三区| 久/久精品99看9| 欧美自拍网| 亚洲国产一区二区三区四区国产| 大香蕉AV丝袜| 中国熟女老妇仑乱一区二区三区| 日本高清_区二区三区| 玖玖视频在线资源一区二区三区| 青青草国产盗摄一二三区| 插插综合网天天影视网| 一级aaaaa欧美中文字幕录像片| 看看小穴| 国产老太乱伦一区| 性色高清在线| 无码操逼网| 久久久久921| 亚洲午夜av| 男人天堂电影院| 精品久久久九九九孕妇| 日韩AV噜噜噜一区二区三区四区| 人妻中文字幕精品无码| 亚洲精品中文字幕一区在线视频| 青青草伊人久久| 91精品国产日韩欧美综合| www.色婷婷| 92久久| 黄色不卡视频| 热思思免费视频| 欧美白嫩在线放| 日本欧美亚洲高清在线看| 嗯嗯啊啊视频一区二区三区| 欧成人精品H无码| 佐山爱中文字幕| 俺去俺来也在线www| 精品久久久久久久久久久久| 青春草莓视频在线观看网址| 丁香五月成人| 亚洲成人激情小说视频| 黑丝少妇在线观看| 摸奶性爱视频网站在线免费播放| 乱伦1色页| 亚洲资源吧| 欧美老妇综合网| 日韩中文字幕二区| 91老女人| 精彩久久中文| 啪啪91| 99re国产精品视频| 蜜臀AV午夜精品久| 9精品久久| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 成人av福利在线观看| 无码免费一区二区三区啪啪| 欧美三级偷拍| 欧美综合第一| 婷婷精品| 手机在线人成免费视频| 伊人国产视频| 国产h片在线观看视频| 蜜臀av网址| 夜夜狼人妻| 国产亚洲精品美女久久久m| 夫妻AV网站| 亚洲情色在线| 国产中文大片资源中文字幕| 国产精品3| 91伊人影视综合| 免费久久精品麻豆一区二区av| 午夜AV污污污| 97超碰逼| 日本高清电影欧美色图| 亚洲人妻久久| 超碰97资源网亚洲| 97免费视频网| 久操九九九九| A片 AV一级在线播放观看免费| 欲女人妻性色av| 色婷婷蜜臀av| 五月天综合网| 国产免费一区在线观看| 综合久久2017| 日日摸日日弄日日拍| 香蕉综合网| 国产九九九九九九九九| 久草免费在线视频| 大香蕉综合在线| 美女主播色欲91抠b在线播放| 亚洲一区二区性爱电影| 久九色| 97国产精品在线观看| 日韩情色视频| 九九九九久久久| www.色婷婷色综合| av天堂手机版追回| 加勒比久久综合网高清| 伊人欧美大香蕉视频| 天天干少妇| 婷婷五月天色| 丁香五月激情五月| 人妻嗯啊啊在线播放| 亚洲成人黄色在线观看| 亚洲日韩资源| 成人情色综合网| 国产麻豆一区二三区| 国产超碰国产97| 乱日视频| 久久久久久久78| 亚洲AV资源| 狠狠夜色午夜久久综合在线| 久久99网站| 熟妇在线视频一区二区| 日韩性爱视频在线免费观看| 午夜传煤十二区精品| 欧美在线中M| 91丝袜在线视频| 人妻熟女一区二区| 夜夜高潮夜夜爽国产伦精品| 97精品国产手机| 情色五月天网| 国产自偷|