日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
九九玖玖精品| 99色婷婷中文字幕乱色| 青青草华人在线欧美在线| 一起草精品人妻| 91 天天综合| 日韩成人色图| 久久久久密| 91综合熟女| 69久久久久久久久久久久久| 五月综合色| 欧美中文字幕日韩在线| 一区二区 日韩 欧美 国产 传媒| 高清成年美女黄网站免费大全| 激情欧美97| 国产成人天堂| 午夜免费视频1000| 17c嫩草51久久91嫩草| 啊啊啊在线看| 91热色| 免费久久9999| 亚洲激情色片| 亚洲欧美日韩国产丝袜自拍中文| 久污| 日韩大香蕉AV影片| 欧美se综合| 欧美激情一| 哑洲在线| 97视频播放| 97欧美资源| 欧美激色| 国产成人久久精品蜜臀| wwwxxx日本爽| 成人小说视频在线精品欧美| 影音先锋每日最新资源在线观看 | 日韩成人无码| 国产无码久久高清| 亚洲精品亚洲人成人网| 天堂射| 黄片qw| 无码99| 日韩一二三区| 五月婷婷六月激情| 9 1果冻精品视频| 日韩女模中文造逼| 亚洲双插| 久久午夜伦| 97在线观看| 欧美性爱97超碰| 高清国产精品福利网站| 亚洲五区熟女| 在线无码视频| 欧美激情精品久久久| 久操操AV电影| 人人操人人操草草| 久久久久97| 国产成人手机视频激情| 男人下部插入女人下部| www.人人摸在线视频| 久操99| 88xx成人精品视频| 日韩欧美亚欧在线视频| 九9精品| 国产97色在线| 欧美色图99| 麻豆区久久久久亚| 交换娇妻呻吟声不停中文字幕| 六月色婷婷| 啪啪啪综合| 久久9亚洲| 日va操| 中文字幕免费在线观看| 免费看污网站| 亚洲最新中文字幕免费 | 国产第25页在线观看| 91精品操美女| 人妻在线大香蕉| 婷婷AV一区二区三区| 国产精品操| 十八禁一区二区无码观看| 激情五月综合网| 欧美激情视频在线一区| 婷婷激情丁香| 欧美999999| 18精品一区| 色五月婷婷色| 黄色区免费观看中文字幕| 97色碰| 91高清日| 91激情国产| 亚州久久9| 啊啊啊啊啊啊在线看| 欧美99热| 欧美大的香蕉有线电视视频| 极品销魂美女一区二区| 少妇色综合| 爱做久久久久久| 久艹日日日| 4399成人黄A片| 欧美第38页| 欧中美三级一区二区三区| 久久久久久AⅤ无码免费肉站| 91蜜臀在线久久久久| 最新岛国大片| 国产福利一区二| 黄片国产精品一区二区| 日韩欧美aⅴ综合网站发布| 欧美高潮| 国产精品乱码久久| 色哟哟511老熟女| 国产白丝在线| 97免费在线视频在线观看| 超硑97精品| 天美传媒AV在线播放| 亚洲全色网| 欧美丝袜中文字幕07在线| 人妻乱仑一区二区三区| 强奸乱伦av电影| 性色avv| 91美女在线精品视频| 欧美激情综合色综合啪啪五月| 日本操逼视频免费| 蜜桃精品一区二区三区久在线| 亚洲91网站| 亚洲国产福利视频| 精品亚洲| 国产免费一区在线观看| 亚洲一区二区三区麻豆传媒| 色制服丝袜夫妻av一区| 性色aV一区二区三区噜噜| 久久久久久9| 日本五十路熟女一区二区| 中文字幕在线观看视频www| 99热免费| 4虎在线观看| 亚洲av影音先锋| 熟妇最新先锋一二三区| 久草成人影片| 国产无马视频| 日本最新免费韩国1区2区视频播放| 亚洲久草AV色图| 国产不良强奸视频免费看| 婷婷精品| 五月天人妻综合| 黄色区免费观看中文字幕| 欧美另类色图片| 九九九久久久W精品| 欧美强奸乱能| 日韩精品电影| 色狠狠一区二区三区香蕉| 91国产操逼视频| 100啪啪视频大全| 91老女人| 2020中文字幕| 熟女视频久久| 艾草av| 日韩中文字幕二区| 日本精品第一视频在'| 人妻干天天| 免费看日产一区二区三区| 91九九九馒头| 麻豆精品.欧美精品.日韩精品.| 麻豆啪啪啪视频| 日本123区操B视频| www. 男人天堂成人在线| 人妻娇喘 激情视频| 午夜精品视频777| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 粉嫩粉嫩一区性色AV片| 青青草字幕AV| 国产精品成人蜜臀AV在线| 情色五月天就去干| 亚洲人妻一区二区三区| 色婷婷六月丁香七月婷婷| 精品人妻一区二区三区-国产精品| www.亚洲黄色| 亚欧洲一区二区视频| 久久怡红院| 涩综合导航| 蜜汁欧美| 男人网站婷婷| 激情久久久| 天天色天天干天天爱| 91男女| 图色综合网| 久久久97| 可能人人看人人摸| 91视频精品| 99热这里只有精品1| 不卡九肏| 国产sv美女内射| 黄色污污污污污污网站| 91久久午夜无码鲁丝片久久人妻| 9999久久久久| 精品人妻一二三| 翔田千里AⅤHD无码| 91天天| 欧美超碰在线| 91精品老女人| 秋霞网—男女啪啪亚洲免费体验区 | 亚熟在线| 99婷婷一区二区| 美女黄网| 色色五月丁香| 97精品久久久久久久| 久久女人视频| 清纯唯美综合| 91男同| 国产亚洲欧美每日在线| 中文字幕AV片| 免费观看啪视频| 91午夜无码| 亚洲国产ⅴ高清在线观看| 久久国产逼| 欧美激情综合网| 日本506070| 凹凸视频在线一区二区| 99久久久无码国产精品性啊聊| 夫妻天天操岛国视频| 少妇蹲下露出大唇5| 国产精品白丝| 国产一区二区免费福利片| 久久午夜鲁丝片| 在线无码网站| 国产精品自在自拍视频| a久久| 精品.99999| 伊人991| 少妇色欲综合网2| 人人妻人人玩人人澡人人爽| 欧美不卡在线一区二区| 中文字幕一区二区三区高清| 欧美成人性爱视频大全| 久久久婷| 亚洲日韩精品一区二区| 国产成年精品高清在线观看91| 久久精品国产72国产精品福利 | 国产亚洲色婷婷久久99精品91葵花宝典 | 久热在线精品免费观看| 伊人久久大香线综合无码| 国产精品麻豆成人AV艾秋| 日日骚av| 国产区日韩区在线观看| 日韩精品 欧美激情| 亚洲一区二区性爱电影| 欧美天天影院| 精品国产一区二区三区在线播出| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 五月丁香综合网| 黄色片一区二区三区四区五区| 综合操逼| 人妻人人做人人澡人人爽欧美一区| 99综合视频一体| 99后入| 久综合国内精品自在自线| 丁香五月AV| 免费99精品国产自在在线| 青娱乐二区免费| 性爱综合网| 夜夜欧美 | 蜜桃久久一区| 国产东北女人在线视频| 自拍二页| 乱伦1色页| 亚洲天堂精品日韩电影| 欧美制服另类丝袜| 91久久久亚洲| 区一在线观看| av天堂精品久久| 国产传媒美日韩av| 岛国免费黄色网址| 欧美人妻一区二区| 亚洲av无码成人精品国产| 蜜桃精品一区二区三区久在线| 天天躁日日躁xxxxx| 熟女熟妇伦久久影院毛片一区二区| 免费精品中文字幕| 久久久久婷婷精品av电影| 日本在线视频导航| 日韩激情小说一区二区| 蜜乳av一区二区| 综合操逼| 91国产丝袜白虎| 精品人体无圣光凹凸| 亚洲宅男天堂| 亚洲第一男人天堂| 九九九只有精品| 天天摸夜夜摸| 天天日天天舔天天喷天天射| 国产精品麻豆视频网站| 青青草久草| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 亚洲色宗合| 丁香六月婷婷| 国产精品 午夜福利| 天天干天天日天天射黄色大片| 亚洲黄日韩无码专区| 天天操天天看| 夜色AV无码手机在线影院| 91成人久久| 男人天堂东京热| 亚欧美综合| 久久久穴999| 日韩精品99999| 国产精品蜜乳AV| 亚欧毛片基地国产毛片基地| 久久久性少妇| 亚洲亚洲亚洲天堂天堂| 无码人妻精品一区二区三区九九| 亚洲天堂男人在线| 亚洲av无码成人精品国产| 综合操逼| 久久精品店| 亚洲av影院在线观看| 中日韩欧美精品无码AⅤ一区二区| 99婷婷一区二区| 久久在线观看免费视频 | 天天色踪合| 动漫av中文| 射丝袜大香蕉| 青青草在线视频播放器| 久久久久96| 怡红院久久老司机| 日韩成年人性爱视频| 青青色在线观看| 欧美日韩插逼视频| 中国一级操逼视频| wwwcaobibi| 操一区| 九九九久千久久激情蜜桃在线看| 亚洲第一页欧美| 色狠狠综合| 97超碰久久| 97精品国产精品免费观看| 男人兔费天堂| 婷婷五月天基地| 亚洲国产欧美一区二区潘金莲| 国产 v乱码一区二| 久草毛片| 亚洲第一免费视频| 亚洲色香| 国产无马视频| AV一二区| 欧美大片天天看| 91久久18禁| 夜夜春夜夜操| 欧洲精品一区二区三区| 9色国产精品一区粉嫩| 欧美性爱一级操| 亚州综合电影| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 不卡中文字幕aⅴ在线| 成人a v在线播放免费| 国产 日韩 另类 视频一区爱| 欧美亚洲国内自拍| 91操熟女视频| 激情综合网五月婷婷五月天| 日日天天久久啊啊aaa| 自拍第一页| 中文字幕123| 九九九久久久久| 亚洲av无码国产精品字幕| 婷婷综合五月| 欧美大的香蕉有线电视视频| 操逼视频亚洲| 国产人人干| 黄色区免费观看中文字幕| 国精综合一二三区影视| 九九综合九九综合| 久热精品色情| 在线综合 亚洲 欧美中文字幕| 青青青操| 国产精品懂色tv影视免费观看| 人妻嗯啊啊在线播放| 亚洲欧美校园| 天美传媒国产原创中文字幕亚洲欧美另类 | 婷婷中文字幕| 素人美腿视频网站| 超碰97人妻自拍| 天天色,天天干,天天干| 中文字幕一区二区视频在线观看 | 中文字幕激情小说| 五月天啪啪| 97香蕉网| 91老妇女| 综合网欧| 无码动漫av中文字幕| 久久久久久性爱片| 亚洲 另类 丝袜 自拍 动漫| A级毛片在线看免费| 草草影院在线视频| 秋霞福利网| 天天天天天超碰| www…国产操逼| a一区二区三区乱码在线| 日韩人成网站在线播放| 国产无马视频| 国产麻豆福利av在线播放| 欧综合网| 无遮挡一级毛片视频免费的| 九九九九一级| av国产无码| 404操逼福利视频| 国语人妻精彩刺激| 久久久久久久人妻丝袜| 伊人五月天| 欧美日韩小说| 国产人伦精品一区二区三区| 超碰在线人妻中文字幕| 一二区在线观看视频| 超碰吊日色| 91亚洲欧洲| 九九AV| 欧美日韩小说| 九九九九久久久| …中文字幕亚洲乱,97人妻无码费视… | 粉嫩av在线| 99亚洲精品| 男人综合网| 色五月婷婷久久| 密臀视频三区免费网站| 亚洲丝袜天堂| 欧洲熟妇xxXx欧美老妇裸体| 人人搞人人插人人操| 天天爽天天干| 国产精品免费1区2区视频| 九九九草| 欧美大片一区二区三区| 欧美一级黄片免费播放| 亚洲色天| 伊人少妇久久久| 亚洲午夜免费狠狠干| 东京热男人的天堂精品| 久久精品一区二区一8| 精品美女人人干| 91视频观看网站| 日韩性爱高清免费视频| 亚瑟国产精品久久无码| 亚洲色人| 欲色综合| 啊啊啊不要啊啊受不了了视频在线 | 成年人免费观看网站| 啊啊啊啊二区好大| 人妻激情偷乱视频一区二区三区 | 亚洲人久久久网| 精品国产精品一区二区| 操逼免费视频无码国产| 精品免费视频国产一区| 天天爽天天操啊啊啊| 插入粉嫩少妇视频| 曰韩香蕉97| 久久99精品九九久久久婷婷| 麻豆一区在线| 亚熟在线| 超碰免费欧美7| 神马久久69| 九九九草| 久九九九九九九九热| 一区二区亚州激情久婷婷欧美| 久久天天摸| 一级A片女人高潮叫床| 国产伦精品一区二区三区在线观| 天天综合精品| 男人网站婷婷| 亚洲精品白丝| 亚州久久9| 中文字幕天天天天天| 亚欧成人综合影院| 久久直播国产| 国产精品一区二区黄片| 免费一级特黄特色大片在线观看看| 超碰在线人人射| 精品国产91内射久久| 强奸抽插av| 国产免费黄色一级大片| 欧美系列在线一区二区| 免费视频在线观看啊啊啊啊啊| 色婷婷综合网站| 国产伦精品免编号公布| 今日头条成人一区二区三区四虎精品| 欧美日韩国产电影| 欧美日韩大陆黑人少妇99| 久久综合久色欧美综合狠狠 | 极品尤物女神在线观看| 天天日老熟妇| 91天天综合网,天天综合网| 97丝袜亚洲在线播放| 国产9l 大屁股| 欧美爱三级日韩久久| 久久‘黄片视频| 日本天天人人狠狠在线日美女 | 国产视频三区四区| 四虎免费视频| 91黑丝操| 亚洲av影院在线观看| 久久视频少妇美女| 26uuu国产日韩综合在线观看| 99精品网| 久久国产精品熟女人妻| 欧美色吧综合| 国产精品香蕉| 免费精品福利在线观看| 欧洲站一级二级三级h| 四虎影院成年人片| 亚洲丝袜在线观看| 久久98| 日夜精品| 大香蕉中文aV在线| 亚洲**2021在线观看| 亚洲国产欧美日韩人妻日中文| 高颜值美女口爆高潮浪叫| 九月婷婷综合| 这里都是精品| 人人操天天爽| 欧美探花网| 青青草玖玖爱| 激情99| 国产精品美女视频诱惑| 天天操夜夜操| 在线观看亚洲成人精品| 亚洲se电影| 无码99| 日本精品一级二级三级| 成人精品欧洲亚洲| 床上啊啊啊一区二区三区| 欧美高清91| 少妇同性| 超碰99在线观看| 欧美人妻少妇| 一级免费精品| 蜜桃不卡一区二区| 99少妇| 后入式在线免费观看60秒| 丁香五月天激情综合| 欧美亚洲国产91在线| 一二三四区电影| 欧美大香蕉97| 麻豆AV一区二区| 五月婷色| 天堂无码精品国产久| 国产精品美女视频诱惑| 麻豆av一区二区| 青青草久草AV| 蜜臀av中字字幕网站| 99精品网| 五月丁香啪啪啪| 國產尤物AV尤物在線觀看| 高清有码一区二区| 亚洲欧美另类图片| 美女久久久久久久久久久| 2019午夜福利视频| 大但人体久久久久| 久久久久久久久久久久黄色| 日人妻视频91| 1人人看人人摸人人操| 91狠狠| 97日韩超碰超碰中文字幕| 2019亚洲男人天堂| 人妻大香蕉| 裸体1区| 天天夜夜久久| 熟女网站最新| 一本一首道人妻少妇免费久久| 欧美爆操91| 久草视频制服诱惑| 91成人国产综合久久精品蜜月| 欧美综合网1| 啊啊啊啊啊操我视频| 91色色综合| 色臀av| 久久久无码av精| 欧美九九99久久精品| chaopen97久久| 亚洲伊人久久综合97| 国产原创剧情在线丝袜| 亚洲精品骚逼| 97免费视频在线观看| 日韩性爱小视频在线观看| 日韩AV一区二区三区三州三州| 久久久久极品| 日韩美女操b| 人妻爽爽啪视频| 一区二区三区视频| 午夜天堂精品久久久久91| 欧美日本视频一区| 欧美不卡二区| 久久精9| 可以在线观看的黄色网址| 久久欧美1卡2卡3| 九久9精品| 久久女人一区二区三区| 欧美日韩人妻精品一区二区三区 | 五月丁香婷婷色| 色原狠狠天天天| 九9热伊人| 欧美精品三级黄片| 99久久久无码| 日日超碰亚洲| 九九英色视频| 日韩黄片视频试看| 欧美日韩国产电影| 黑人嘿嘿嘿超爽免费视频| 亚洲中文字幕有码视频一区二区三区| 久久久久久久9| 亚洲、日韩、综合、另类| 中文字幕日韩专区精品系列 | 久久久久久中文版| 精品国产一区二区三区香蕉欧美| 日韩精品区二区三区不卡| 男人精品区| 超碰99热中文字幕| 91成人久久| 一本久道久久综合狠狠爱一密臀精| 成人五月香网在线| 日韩卡一卡二卡三在线| 78m成人视线| 精品视频97| 色婷婷电影网| 91人妻精华帖| 天天综合网~91| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 最近二区三区视频大全| 麻豆九九九| 91|九色|国产熟女| 欧美激情久操网| 男人的天堂久久狠| 亚洲综合888| 99热免费| 久久婷婷色| 极品综合| 26uuu最新| 人妻精品一区二区| 精品一区二区成人| 三级精品三级在线观看| 久热久| 久久久久久91香蕉国产| 久草视频观看视频在线| 亚洲 综合 第一页| 91强热人妻| 国产日韩欧美操逼视频| 久久精品国产亚洲AV嘿嘿| 欧美十八禁视频| 强奸a片网| 精品超碰国产| 久久精品99| 精品人妻1237| 91综合网在线| 大香蕉婷婷| 亚洲AV永久无码一区仙野| 天天干人人乐| 亚洲天堂电影网99999| 色网亚洲人| 亚洲精品乱码久久久久久蜜桃麻豆| 国产一在线观看| 97超碰超碰| 99精品人人爽| 日韩成人精品中文字幕| 亚洲综合色图欧美| 欧美色图片91| 一级啊性爱在线视频| 9超碰免费| 草草影院日本第一页| 欧美少妇高潮久久91| 97bbn| 2017天天透天天通天天擦| 超碰97极品9| 试看日韩黄片| 久久亚洲天堂| 日韩 成人 有码| 偷拍亚洲熟女视频播放| 九九人妻| 人妻乱仑一区二区三区| 99自拍视频| 九九亚洲色在线观看| 久久极品伊人| 91欧美性| 国产无码成人无码| 逼逼逼逼操操操操操操操操操午夜剧场| 殴美大黄片| 婷婷五月综合激情| 亚洲最大的黄色电影网站。| 性爱AV天堂| 91美女在线| 久久毛卡| 精品国产丝袜一区二区三区乱码| 中国女人内射6XXXXX| www.91色综合| 日天天九九天堂666| 天天色天天干天天爱| 日韩另类| 四虎在线播放| 日韩成人综合网| 欧美午夜精品久久久久久3D| 欧亚第一综合网| www.成人无码| 日本免费专区| 午夜精品久久久久久久99热影院 | 亚洲骚女一区二区三区| 狠狠爱AV| 国产又黄又爽又刺激久久久久久| 成人av动漫在线观看| 日韩 欧美 国产 麻豆| 亚州综合色| 色婷婷久久| 色踪合AV| 91丨九色丨国产打屁股| 欧美日韩国产精品久久色婷婷| 天天躁日日躁狠狠躁| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 综合av社区| 激情小说五月天| 超碰97极品9| 国产成人网址| 四虎影视精品| 欧美人妻精品| 男人女人18禁片免费看网站| www四虎| 91久久免费视频互動交流| 特级大荫道BBwBBwBBW| 性色AV蜜色av色欲av| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 日韩美一区| 精品无码久久久久久国产浪潮| 麻豆精品天美| 曰韩精品九九无码| 国产乱子伦久久精品综合一区二区三| 97爱免费插| 精品亚洲黄色片 国产精品导航一区二区| 夜夜嗷嗷一区二区| 国产内射爽爽大片| 厕所偷拍在线| 亚洲人妻一区二区三区| 大香蕉久久| 偷拍在线观看视频| 亚洲情色五月天 | 久久综合久色欧美综合狠狠| 日韩美女啪啪一区| 伊人国产AV| 男人的天堂亚洲| 天天夜躁日日躁狠狠2002| 久久久久9| 久久九九网| 日韩亚洲国产视频| 日韩啪啪视频| 久久久久久99999国产精品| 大香蕉在线免| 91亚·色| 人人天天欧洲| 91视频国品一二三区| 黄色片一区二区三区四区五区| 日韩精品-原创伙伴| 美女黄码视频午夜| 成人精品视频一区二区| 亚洲九区| 婷婷久久五月| 操逼操操操91| 404操逼福利视频| 97操97色| 97久精品| 欧美天天拍| 久久婷婷五月| 欧美专利1区2区3区4区5区免费| 国产18精品亚洲精品| 国产精品嫩草久久久久| 美女午夜福利免费视频| 嫩草在线视频| 欧美日韩色综合网| 国产 亚洲 丝袜 制服| 国产野战露脸在线播放| 国产男女边吃边摸视频网站| 国产精品亚洲一级av第二区| 黄片免费视频2019| 亚欧成人综合影院| 久久亚洲av成人无码国产| 国产67194| 人妻天堂综合网| 超碰爽人妻熟女Av| 9九九九九视频在线观看| 区一二区日韩亚洲乱码av电影| 男人天堂无码| 亚洲欧美日韩制服另类| 亚洲精品日日夜夜52| 嫩草影院永久在线制服丝袜| 中文日韩欧美熟| 欧美第五页| 日韩黄片视频试看| 欧美色棕合| 国产精品3| 日韩91网| 亚洲av无码成电影在线播放| 日韩中文字幕在线视频观看| 91最新综合| 天天躁狠狠躁av| 欧美日本成人一区二区| 日本大片日本一区二区免费高清| 黄色成品网站| 日韩三级av片| 成人性爱电影一区二区| 人人乐大香蕉| 欧美97免费| 日本肉体xxxx裸交| 大吊色| 青青草福利视频| 大香蕉AV在线| 男人天堂资源| 亚洲一级性爱视频免费看| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 人妻一区二区三区四区视频| 欧美18 在线观看| 日韩一级二级在线| 神马久久久久久| 超97在线精品视频| 999熟女精品| 国产小视频91| 福利在线视频一区二区| 日韩av免费一级电影| 成人日韩中文字幕| 大黄片做爱的大的| 日本高清加勒比| 亚洲 欧美 手机在线观看| 日韩av免费一级电影| 五月天婷婷色| 97视频在线看| 日韩亚洲97| 国产乱码久久| 成人aⅴ一区二区三区| 青草综合| 九九人妻| 少妇高潮99p| 久久99午夜精品一区人妻| 九九热九九| 午夜噜噜噜| 91草草草| 欧美熟女少妇| 人妻22p| 精品偷拍13p欧美dodk视频| 97干97色| 精品少妇99| 亚洲最大的黄色电影网站。| 国产高潮AA片免费看| 翔田千里Av在线| V A在线| 激情小说亚洲色图| 超碰97人人乐| 精品熟妇视频一区二区| 日韩精品怡红院| 国产精品 午夜福利| 国产精品 午夜福利| 精品丰满人妻一区二区三区免费观| 日本免费亚洲欧美| 国产激情在线| 手机看av网站在线看| 欧美一区二区三区蜜桃| 欧美日日操| 久久透逼视频| 日韩免费看在线黄色片| 国产精品美女久久久久久网站| 超碰78| 久久狠狠色噜噜狠狠狠狠97| 天天综合97| 亚欧性爱无码| 性欧美999| 九月丁香婷婷| 欧美日韩国产另类综合| 后入日本1234| 中文字幕蜜乳av| 日韩综合成人免费视频| 97天堂| 日韩免费在线观看不卡| 欧美懂色综合网| 色香欲影| 97超碰久久色| 国产丝袜美女在线一区| 日韩人妻丝袜美腿中文| 久日91在线| 久久久熟女一区| 女人综合网| 顶级丝袜熟女一区二区三区| 日本无码1| 91九九| 夜夜人妻爽| 五月丁香激情四射| 精品偷拍13p欧美dodk视频| 国产成人拍国产亚洲精品| 日韩av影片在线观看| 欧美夜夜狠| 97精品视频在线| 日韩欧无码一区二区三区免费不卡| 三级精品三级在线观看| 91在线页| 熟女91网| 免费看久久久性性| 最新精品久久蜜桃| 少妇内射视频| 极品尤物自安慰| 青青草久久一区网| 日韩欧无码一区二区三区免费不卡| 亚洲欧美国产成人综合不卡| 國產尤物AV尤物在線觀看| 97在线资源| av在线观看不卡网站| 欧美中字二区| 强奸乱伦AV一天堂网| 啊啊啊啊二区好大| 日韩兔费看黄片| 99青草| 国产精品露脸在线观看| 欧美日韩亚洲高清不卡一区二区三区| 日韩欧美加勒比| 婷婷五月天av| 国内一区二区免费| 亚洲精品欧洲精品| 中文字幕中文字幕一区二区| 欧美性天天影院| 久久久久久国产精品免费网站| 美女骚尻视频| 久久精品亚洲成a人天堂| 校园春色中文字幕AV| 久久久久国产无av| 久久大香蕉97| 欧美页片| 人人干人人搞人人摸| 超碰色老头| 欧美精品第四五页中文字幕在线观看| 91久久免费视频互動交流| 麻豆 亚洲 97| 丁香六月婷婷久久综合| 国产精品点击进入在线影院| 日韩毛片9| 在线观看国产黄色| 东京热视频网| 中文字幕二区| 亚洲情色在线| 97色碰| 91狼人| 东北女人高潮视频| 好看的91视频| 国产欧美日韩一区二区三区| 国产99999| 日欧美色| 国产地址二三| 欧美国产一区二区三区麻豆传媒 | 天天综合网视频91| 亚洲视频精选| 春色91| 青女偷拍网| 中文一区二区三区影院| 91高清无码下载| 欧美日韩精品一区二区三区高清| 日韩三级在线观看网站| 欧美色图片色哟哟| 新怡红院| 97精品网站| 99只有精品| 入口操逼网站| 国产92麻豆天美精品色欲5| 日韩黄色电影网站| 337p大胆噜噜噜噜噜91Av| 首页亚洲国产高跟丝袜诱惑视频| 日韩在线一区二区| 国产呦精品一区二区三区下载| 成年人三级黄色片视频| 日韩操逼HD| 乱伦a片视频| 北约熟女超碰| 国产性刺激| 97网址www| 乱伦av.com| 欧美黄色大片在线观看| 熟女人妻一区二区三区| 亚洲免费成人在线高清无码视频| 国产精品人妻无码久久久老鸭窝| 情色五月天久久久| 97碰在线视频| 婷婷中文字幕| 日韩人成网站在线播放| 四虎国产精品永久在线囯在线 | 天天天乱色综合全| 校园春色家庭伦理欧美激情| 99r九九| 色就色综合| 成人性爱免费播放| 国产日韩手机视频在线| 啊啊啊啊啊舒服| 香蕉久久国产AV一区二区| 操操操日本的逼| 岛国黄| 日韩不卡av一二三| 欧美淫穴| 日日夜夜免费| 一级毛片电影免费看| 九热久| 2017,超碰| 国产色产精品在线观看| 欧洲精品久久| 欧美人妻色| 91真人天天在线| 亚洲限制级| 欧美 传媒 麻豆 日韩 偷拍| 超碰免费在线| 91超级碰碰| 欧美狠狠操| 桑老女人九区| 内射老妇BBWX0C0CK| 国产三级在线现体验区| 东京热亚洲一区二区| 亚洲欧洲无码一区夜| 色综合国产在线观看| 男人的天堂2018东京热啪啪啪| 99热这里只有精| 色av中文字幕| 夜夜 中文视频rt| 粉嫩av平台| 性在久久久久久| 五月天黄色激情视频| 约操熟妇| 国产11页| 日日夜夜国产综合| 欧美色图亚洲色,麻豆| 377p欧洲日本亚洲大胆| 一区| 国产精品免费美女视频| 日本最新1区2区3区| 五月色综合| 欧美性爱精品七区| 韩国嫰模上门援交视频| 性爱乱伦网址| 96精品久久久久久久久| 性生活久久久久久久久久| 国产亚洲综合欧美一区| 亚洲超碰97| 91美女高潮| 日韩精品.久久精品.AV女优.天美传媒| 国产精品不卡av免费在线观看| 久热精品色情| 日本在线一二| 国产高清无码一区三区二区| 久久有码视频| 九九aV| 国产成人一级av88| 欧美玖玖爱免费玖玖| 九九热视频在线观看| 密乳无码| 亚州男人天堂| 综合色久欲| 欧美少妇第一页| 天天做天天爽| 丝袜美腿制服人妻二区中文字幕 | 性在久久久久久| 成人久久久| 日韩无码服务区| 熟女精品一区二区在线观看| 加勒比无码一区二区三区| 天美麻花大全视频| 热久久国产| 少妇一区二区三区高速| 欧美AB在线| 久久久久久亚洲Av无码精| 亚洲中文sv| 超碰美女97| 精品久久久久综合无码| 亚洲人综合19| 91丝袜美女视频| 97日韩| 精品国产91av一区二区三区| a片自拍直播视频| 日韩黄色片子| 一线黄色免费性爱片| 亚洲精品毛片在线观看| 欧美AAAA黄片| 自拍偷拍 高清无码| 多毛小伙内射老太婆| 一区二区三区精品久久| 日韩精品视频在线观看一卡二卡| 18禁超污无遮挡无码免费网| jizz啪啪| 人人爱人人操人人性| 中文字幕日韩综合| 香蕉在线一区二区三区| 97这里都是精品| 2017超碰| 上特色A在线| 亚洲精品一二区| 中出91| 天天看片麻豆| 欧美在线91| 一,爱啪啪,在线免费视频| 女人高潮抽搐喷水视频网站| 禁十八久久| 国产欧美日产一区二区三区 - 国产欧美日 | 亚洲毛片基地专区| 国产乱人伦AVA麻豆软件.| 五月婷婷六月色| 久久久久久久久国产| 久久婷婷电影网| 日本女人操逼| 中文字幕久久精品一区| 欧美亚洲首页| AA丁香综合激情| 国产肏屁眼视频| 午夜乱轮操逼视频免费看| 韩国午夜理伦三级好看| 久艹伊人精品综合在线| www.99色| 男人的天堂在线| 另类天堂| 99re6国产精品99re| 无码天堂| 久热69九色熟妇97| 九九热久久99精品re| 亚洲日韩av一区二区三区百合| 91操熟女视频| 久久性爱免费送| 中文字幕欧洲有码| 色原狠狠天天天| 情色五月天久久久| 色色婷婷五月| 夜夜骑夜夜操| 久久久啊啊| 玖玖久久久| 免費黃色視頻觀看一| AV色五月天| AAA久久| 超碰中文字幕人妻草一区| 亚洲熟女精品| 五月天加勒比啪| 无码视频黄色网战| 天天噜| 婷婷色导航| 国产 亚洲 一二三四| A男人的天堂| 秋霞蝌科网日本一区| 成人青青草原伊人| 成人丁香五月| 搡老熟女免费视频| 欧美一区二区三区成人性生活| 探花熟女,姿勢到位,體驗感也到位| 久久后入制服| 中文字幕成人理论在线| 亚洲情色 自拍| 东京热激情视频一二三区| 亚洲欧洲综合成人av一区| 影音先锋日本乱伦| 玖玖爱视频网站| 美女超碰978| 日本影视久久免费| 狠久久| 久久国产精品,久久国产| 96久久久久久久| 久久久久久久一级黄色打同平台| 十八禁一区二区无码观看| 五月天婷精品激情| 国产农村妇女毛片精品久久| www.超碰| 欲香欲色| 青青草影视蜜久久| 啊啊啊在线观看免费视频| 在线观看综合精品亚洲| 色图综合网| juliaann欧美丝袜办公室| 亚洲人妻熟妇三十三区|