免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

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

Happy × OpenCode 運行時協(xié)議追蹤實錄:從源碼跑通到消息-部件(message+parts)的權(quán)限、媒體與子會話對照 人工智能AI AgentAI 應(yīng)用移動開發(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 服務(wù)、復(fù)制全局認證到隔離臨時根目錄、驅(qū)動真實樣例項目只相信「發(fā)給 OpenCode 的請求體、OpenCode 返回的 JSON、/event的原始 SSE 日志、以及 OpenCode 源碼」四類證據(jù)從而回答一個核心問題——OpenCode 的實時同步與轉(zhuǎn)寫模型到底是什么樣Happy 的轉(zhuǎn)寫與同步層又該從中借鑒什么。讀完本文你將掌握 OpenCode 目錄路由、權(quán)限詢問、媒體輸入、子會話四類真實協(xié)議的完整載荷與事件序列并理解docs/plans/provider-envelope-redesign.md中「消息 部件」改造方案的證據(jù)來源。一、追蹤背景與證據(jù)邊界這份追蹤記錄撰寫于 2026-03-21是較早一輪競品分析缺失的協(xié)議級補充。其方法非常直接運行 OpenCode 源碼把全局安裝里的認證復(fù)制進一個隔離的臨時根目錄驅(qū)動一個真實的小項目并且只信任以下證據(jù)發(fā)送給 OpenCode 的精確請求體OpenCode 各端點返回的精確 JSON 響應(yīng)OpenCode/event的原始 SSE 日志OpenCode 源碼本身。在 Happy 一側(cè)這份文檔只信任 Happy 倉庫內(nèi)的代碼。換言之這是一份「用真實運行軌跡說話」的對照文檔而不是紙面推測。1.1 實際使用的環(huán)境項值OpenCode 源碼檢出../happy-adjacent/research/opencode作者本地外部檢出目錄檢出版本commit2e0d5d230893dbddcefb35a02f53ff2e7a58e5d0樣例項目倉庫內(nèi)的 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復(fù)制到/tmp/opencode-trace-dev.ptZAVJ/share/opencode/auth.json復(fù)制后的認證文件中僅保留了openai一個 provider key1.2 服務(wù)端啟動命令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 的數(shù)據(jù)、緩存、配置、狀態(tài)全部隔離到/tmp/opencode-trace-dev.ptZAVJ下OPENCODE_CONFIG_DIR指定獨立配置目錄OPENCODE_DB顯式指定 SQLite 數(shù)據(jù)庫路徑服務(wù)監(jiān)聽127.0.0.1:4098并以 DEBUG 級別打印日志。這樣既能復(fù)用全局認證只含 openai key又不會污染真實環(huán)境。支撐這套實測的關(guā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二、什么是「真實」證據(jù)分散在四個面追蹤得出的第一個重要結(jié)論是OpenCode 有用的協(xié)議證據(jù)并不是一個大的隱藏 RPC 信封而是分散在四個面上發(fā)送到POST /session/:id/prompt_async的請求體從GET /session/:id/message讀到的持久化消息行從GET /event獲得的實時補丁流控制面端點如/path、/permission、/session/:id/children、/experimental/worktree、/experimental/workspace的響應(yīng)。這個區(qū)分對 Happy 至關(guān)重要。OpenCode 并沒有一條「一次性提供給 UI 全部所需」的 append-only 轉(zhuǎn)寫流而是由四類機制協(xié)同帶類型部件的穩(wěn)定消息行stable message rows with typed parts針對這些行的實時補丁事件live patch events權(quán)限與會話狀態(tài)的一等旁路事件first-class side-channel events轉(zhuǎn)寫之外的獨立 workspace / worktree 路由。三、Flow 0目錄路由、worktree、workspace 與「sandbox」的真實含義在觸碰任何 prompt 之前先驗證服務(wù)端如何限定請求范圍。關(guān)鍵路由輸入是請求頭x-opencode-directory: /Users/kirilldubovitskiy/projects/happy/environments/lab-rat-todo-project真實的GET /path響應(yīng){ 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 }當前項目對應(yīng)的真實空列表GET /experimental/worktree - [] GET /experimental/workspace - []這意味著項目限定是請求路由問題不是轉(zhuǎn)寫問題當前項目位于一個更寬的worktree根目錄之下以及一個更窄的directory之內(nèi)worktree 與 workspace 是顯式的控制面資源這些內(nèi)容不會以type: sandbox或type: workspace之類的轉(zhuǎn)寫部件出現(xiàn)。所以當 OpenCode 的產(chǎn)品語言說「sandbox」時落在具體實現(xiàn)上主要是三件事目錄限定、可選的 workspace 路由、可選的 git worktree 管理。它不是Happy 已經(jīng)擁有代碼的那種 OS/文件系統(tǒng)/網(wǎng)絡(luò)沙箱策略——后者可以參考 packages/happy-cli/src/sandbox/config.ts 中的buildSandboxRuntimeConfig它按sessionIsolationstrict/workspace/custom構(gòu)造文件系統(tǒng)allowWrite/denyRead/denyWrite白名單并按networkModeblocked/allowed/custom配置allowedDomains/deniedDomains/allowLocalBinding等網(wǎng)絡(luò)策略。這是兩種完全不同的「沙箱」語義。四、Flow 1圍繞apply_patch的權(quán)限詢問——最完整的一條真實鏈路這是整個追蹤中最干凈的一條鏈路因為它一次跑通了用戶 prompt 創(chuàng)建 → 助手步驟生命周期 → reasoning → 工具調(diào)用 → 權(quán)限請求 → 權(quán)限回復(fù) → 文件編輯副作用 → 助手最終跟進。4.1 會話創(chuàng)建強制詢問的編輯權(quán)限規(guī)則POST /session { title: trace permission ask, permission: [ { permission: edit, pattern: *, action: ask } ] }會話創(chuàng)建時顯式帶上權(quán)限規(guī)則把edit的*模式設(shè)為ask從而強制觸發(fā)權(quán)限詢問。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 本身就是「帶類型部件的數(shù)組」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有序類型部件兩層結(jié)構(gòu)與請求體形態(tài)一致。4.4 實時權(quán)限事件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ā)現(xiàn)之一OpenCode 的權(quán)限不是簡單的「工具 X 想要批準」。這個請求攜帶了權(quán)限種類edit精確路徑模式patterns穩(wěn)定的請求 idper_...與工具調(diào)用的回鏈tool.messageIDtool.callID一份可直接渲染的 diff 載荷metadata.files帶type、after、additions、deletions。也就是說權(quán)限事件本身就為 UI 準備好了審批界面的全部素材。4.5 工具調(diào)用前后的助手消息批準后持久化的助手消息{ 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 } ] }關(guān)鍵點工具調(diào)用攜帶自己的狀態(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「誠實」的好例子用戶側(cè)的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 助手響應(yīng)被持久化{ 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。所以真實的媒體故事是三段式用戶側(cè) prompt 部件type: file內(nèi)部轉(zhuǎn)寫展開synthetic text 具體file助手側(cè)回答普通文本輸出。七、Flow 4子任務(wù) / 子會話 / 權(quán)限約束——與 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的真實行為追加一條合成文本把「派生子代理」這件事顯式寫進轉(zhuǎn)寫。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 } ] }兩個關(guān)鍵點父轉(zhuǎn)寫存儲task工具調(diào)用及其結(jié)果可恢復(fù)性由子會話 id 提供以task_id形式返回ses_2f07a8dd6ffeRc23sIIgM4ZpMT即子會話 id可用于續(xù)跑該任務(wù)。7.4 子會話真的被創(chuàng)建了真實GET /session/{parentID}/children響應(yīng)[ { 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指向父會話、自己的標題、繼承的目錄以及自己的權(quán)限規(guī)則這里顯式 deny 了 todo 寫入/讀取與再派生子任務(wù)防止無限遞歸。7.5 跨父子的實時流原始/event流父會話用戶消息創(chuàng)建父會話助手step-start父會話 reasoning 增量父會話task工具部件 →pending子會話session.created父會話工具部件 →running子會話內(nèi)出現(xiàn)子會話用戶消息子會話助手消息開始子會話 reasoning 增量流式推送子會話達到idle父會話工具部件 →completed結(jié)論OpenCode 并沒有在一條扁平消息泳道里「假裝」子代理而是使用父會話轉(zhuǎn)寫 子會話轉(zhuǎn)寫 父工具元數(shù)據(jù)鏈接到子會話 id。八、與 Happy 當前代碼的逐項對照以下對照只使用 Happy 代碼不做 Happy 運行時追蹤表中 OpenCode 側(cè)結(jié)論由日志/源碼證明主題OpenCode日志/代碼證明Happy代碼證明外層信封消息行已有頂層info 有序類型化partspackages/happy-wire/src/messages.ts 仍把較新格式包裝為role: session 內(nèi)層content: sessionEnvelope事件判別部件用頂層type如text、reasoning、tool、file、agent、subtask、step-startpackages/happy-wire/src/sessionProtocol.ts 仍把事件類型嵌套在ev.t之下sessionEventSchema是t判別聯(lián)合權(quán)限實時permission.asked/permission.replied事件攜帶工具回鏈與 diff 元數(shù)據(jù)packages/happy-app/sources/sync/reducer/reducer.ts 仍需通過合并類轉(zhuǎn)寫消息與加密agentState來重建權(quán)限狀態(tài)子代理帶parentID的真實子會話task_id是可恢復(fù)的子會話 idpackages/happy-wire/src/sessionProtocol.ts 的信封只有可選的subagent字段cuid2 校驗沒有子會話身份 轉(zhuǎn)寫級鏈接媒體用戶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ī)則與網(wǎng)絡(luò)模式客戶端復(fù)雜度OpenCode 的 reducer 把實時補丁合并進已類型化的消息行packages/happy-app/sources/sync/typesRaw.ts 與 packages/happy-app/sources/sync/reducer/reducer.ts 仍保留多個 legacy 載荷族系agentEvent、session 事件、tool-call 等及復(fù)雜的重建邏輯對照結(jié)論非常直白OpenCode 擁有更干凈的轉(zhuǎn)寫形態(tài)Happy 擁有更強的真實沙箱配置Happy 當前的 reducer 復(fù)雜度是「不再保留多個明文載荷族系」的最強論據(jù)。關(guān)于沙箱這一點可以進一步說明Happy 的buildSandboxRuntimeConfig在sessionIsolation: strict時只允許寫入會話目錄 額外寫入路徑 共享 agent 狀態(tài)路徑~/.codex、~/.claude在workspace模式放寬到 workspace 根網(wǎng)絡(luò)側(cè)blocked模式把allowedDomains與deniedDomains都清空allowed模式則放行。這套文件系統(tǒng) 網(wǎng)絡(luò)的策略能力是 OpenCode 目錄路由式「沙箱」所不具備的。九、對provider-envelope-redesign.md的啟示當前規(guī)劃上下文來自 docs/plans/provider-envelope-redesign.mdDRAFT v2OpenCode 衍生現(xiàn)有判斷仍然成立p6 信封重設(shè)計工作位于 dirty worktree尚未進入已提交的分支歷史該工作已經(jīng)驗證了若干有價值的清理動作type放頂層、去掉外層role: session、引入parentId/agentId、轉(zhuǎn)寫級權(quán)限、直接媒體變體該計劃文檔中的現(xiàn)有提案仍是「記錄的方案」plan of recordOpenCode 的原始協(xié)議形態(tài)仍是鎖定 Happy 新穩(wěn)態(tài) schema 前最值得評估的外部參照Claude 更舊的類轉(zhuǎn)寫格式如果最終證明最簡單穩(wěn)定的模型更接近那段歷史仍是合理的回退選項。原文檔特別強調(diào)OpenCode并不主張照抄 ACP 包裝器行為而是主張照抄原始轉(zhuǎn)寫形態(tài)穩(wěn)定的消息行stable message rows類型化部件typed parts顯式的權(quán)限對象explicit permission objects顯式的子會話身份explicit child-session identity轉(zhuǎn)寫狀態(tài)與實時補丁傳輸?shù)那逦蛛x。這與provider-envelope-redesign.md的取舍一致該計劃采納 messageparts 形態(tài)但拒絕OpenCode「權(quán)限/問題走旁路 SSE 事件」的做法——計劃在工具部件狀態(tài)機中加入顯式blocked狀態(tài)讓權(quán)限請求與決策永久落在工具部件上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ī)范轉(zhuǎn)寫事件存儲已規(guī)范化的、自身可持久化的加密記錄。示例心智模型{ kind: agent-event, type: tool-start, ... } { kind: agent-event, type: permission-request, ... } { kind: agent-event, type: tool-end, ... }優(yōu)點存儲不可變refetch 簡單匹配 Happy 當前的傳輸假設(shè)避免重放原始 delta 來重建可用轉(zhuǎn)寫。缺點不是對 OpenCode 補丁模型的字面照搬要么 start/end 事件永遠分離要么客戶端必須為 UI 便利推導(dǎo)「最新狀態(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 的服務(wù)端模型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 實時流只要每個補丁都被追加就是完全不可變的。缺點這恰恰是最可能復(fù)刻 Happy 當前 reducer 之痛的路線refetch 需要回放/物化加密存儲 遺留格式支持使其成為復(fù)雜度最高的選項。推薦結(jié)論如果 Happy 要向 OpenCode 借鑒應(yīng)該借形態(tài)shape而不是整套持久化策略。最強的兩個選項是append-only規(guī)范事件方案 A可打補丁的規(guī)范消息快照方案 B。最弱的選項是把原始補丁流重建作為主要持久化格式方案 C——那會保留太多我們正試圖消除的復(fù)雜度。方案 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 格式均保持不變。小結(jié)以真實運行軌跡為唯一證據(jù)可以確認 OpenCode 的協(xié)議核心是「穩(wěn)定消息行 類型化部件 顯式權(quán)限對象 顯式子會話身份 轉(zhuǎn)寫與實時補丁分離」。它對 Happy 的最大價值不是可照抄的傳輸層而是可作為穩(wěn)態(tài) schema 的參照形態(tài)而 Happy 真正的差異化優(yōu)勢文件系統(tǒng)/網(wǎng)絡(luò)級沙箱策略、端到端加密存儲決定了它必須把 OpenCode 的形態(tài)改造進自己的加密存儲約束之內(nè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 應(yīng)用移動開發(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點擊查看免費下載相關(guān)推薦Happy Provider Envelope 重構(gòu)設(shè)計以 OpenCode messageparts 模型統(tǒng)一多 Provider 會話協(xié)議Happy Provider Envelope 重構(gòu)設(shè)計以 OpenCode messageparts 模型統(tǒng)一多 Provider 會話協(xié)議 本文基于 d人工智能AI AgentAI 應(yīng)用移動開發(fā)CLI后端OpenCode 消息協(xié)議深度剖析happy 項目借鑒的 Envelope Typed Parts 轉(zhuǎn)寫模型OpenCode 消息協(xié)議深度剖析happy 項目借鑒的 Envelope Typed Parts 轉(zhuǎn)寫模型 導(dǎo)讀 本文基于 happy 倉庫 docs/人工智能AI AgentAI 應(yīng)用移動開發(fā)CLI后端Happy 競品協(xié)議矩陣解析OpenCode、Codex、Claude、Superset 的傳輸、轉(zhuǎn)錄、權(quán)限與沙箱設(shè)計對照Happy 競品協(xié)議矩陣解析OpenCode、Codex、Claude、Superset 的傳輸、轉(zhuǎn)錄、權(quán)限與沙箱設(shè)計對照 本文基于 docs/competi人工智能AI AgentAI 應(yīng)用移動開發(fā)CLI后端上一篇Medusa 開源電商框架完整指南從零搭建可定制的 Commerce 后端下一篇開源項目推薦mir_eval創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香五月婷婷欧美成人色图| 婷婷狠狠18禁久久| 国产精品人妻在线网址| av大片在线| 久热这里| 五月丁香色| 五月天色色色| 五月久久网| 99视频内射三四| av狠狠操| 激情五月天无人视频在线| 五月天激情四射| 激情五月天婷婷播播久久综合91| 99爱在线视频| 深爱五月激情五月| 久婷婷| 丁香五月冃欧美| 国产免费一区二区三区三州老师F1F1.CC| 国产SUV精品一区二区6| 久久久免费精彩视频| 俺也高清无码高清视频| 亚洲精品久久久久久久久久吃药 | 97久久五月丁香婷婷| 最近韩国日本免费高清观看| 色色五月天激情| 天天日天天草| 草五月| 久久亚洲精品成人无码网站导航| 久热这里只有精品3| 亚洲色综久久五月| 大香蕉狼人久久| 久久R激情| 97人人干| 久久久久人妻| 玖玖在线视频| 色五月情| 色99综合色88| 99热99精品在线观看| 丁香五月影院| 777精品久无码人妻蜜桃| 丁香激情五月天| 九九视频这里只有精彩| 亚洲激情婷婷| 激情99热| 天天射影院| 色色日本| 在线18av | 日本婷婷五月天| 久久多色| 婷婷丁香六月天| 91人人操人人| 欧洲亚洲精品| www.色窝| 九九爱激情| 天天操狠狠操| 久久久久亚洲AV成人无码电影| 久久狠狠干| www天天爽| 极品五月天| 狠狠999| 色七色九九| 六月丁香婷婷综合色播| 伊人午夜综合色啪| 九热...av| 九月丁香婷婷综合| 在线中文AV| 五月丁香婷婷伊人| 九九九九大香蕉| 99九九视频| 丁香综合网| 999热在线视频| 五月婷啪| 5月丁香六月婷婷| 九九热在线观看视频网站| 9这里只有精品| 色丁香婷婷美女视频网站| 99热这里精| 狠狠操狠狠干综合| 激情伊人五月天| 五月天婷婷小说| 婷婷五月丁香亚洲| 97久久人人操| 婷婷五月天BBw| 玖玖热视频| 人人妻人人澡| 亚洲超碰中文字幕| 五月伊人综合| 色综合久久中文| 国产精品色色| 日韩操女| 婷婷婷五月天最新综合你懂的| 激情六月日韩| 三人荫蒂添的好舒服A片| 欧在线一区| 91九色精品| 色五月丁香五月五月婷婷| 狠狠操婷婷| 婷婷色导航| 中国女人做爰A片| 久久久久久久久久久44| 婷婷五月免费在线| 九九热在线99| 日本久久99久久| 五月婷婷六月丁香免费| 激情深爱五月天| 色情综合网| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | av亚洲国产小电影| 色九网| www.人人操人人看人人想人人摸 人人人人操,COM | 免费观看亚洲AV片| 色婷婷狠狠18| 99国产在线精品视频| www色综合亚洲92| 久久久久久久久久久久久久人妻视频| 14色综合婷婷| 久久免费试看120秒| 五月亭亭六月色| 99精品大片| 色婷婷激情| 99er热精品视频| 亚洲性爱99| 99九九视频精彩在线| 国产成人精品一区二三区熟女在线| www.99日本| 天天操天天操天天操| 九九色影视| 色婷婷精| 国产午夜一区二区三区| 五月色亭丁香| 五月激情婷婷在线| 国产永久一黄| 99色在线视频| 九九青草热| 色综合综合网| 日韩精品在线观看9| 99热6这里只有精品6| 丁香五月婷婷AV| 久青草大香蕉| 五月亭亭网成人在线视频| 香蕉久久国产AV一区二区| 五月天激情四射| 丁香六月激情综合| 丁香婷婷五月色成人网站| 丁香婷婷月| 大香蕉在线99热| 激情五月亚洲综合网| 99免费视频| 日韩综合网络男女香蕉a片| 婷婷五月激情图片| 精品久久99码| 成功精品影院| 第四色26uuu| 五月婷丁香| 99久久久| 日产精品一线二线三线芒果| 深爱婷婷丁香五月激情| 婷婷成人在线| 丁香五月影院| 精品婷婷五月视| 国产精品18久久久| 可以免费看AV网站| 激情图片婷婷| 成人午夜无码视频| 婷婷丁香色情| 99精品人人| 九九热自拍| 五月丁香激情四射综合| 丁香五月综合| 国产VA亚洲VA96| av在线不卡播放| 丁香五月天激情免费在线观看AV777| 影音先锋男士资源网一区| 欧美激情综合色丁香婷婷五月天| 91丨九色丨老农村| 五月天婷婷视频| 操操操av| 在线看av| 桃色五月天| 五月综合激情综合久| 五月天啪啪网| AV在线大香蕉| 亚洲激情综合五月婷婷啪啪| 91久久综合亚洲噜噜成人在线 | 成人av观看| 亚洲网视屏| 色婷婷久久| 99∨VTV| 色噜噜在线| 久久日九九| 欧美久久网| 亚洲高清在线| 人妻有码乱操| 五月婷婷激情五月| 精品色色| 欧美日本一区二区三区| 91超碰人人操| Aα在线免费观看| 色色性爱视频| 五月婷婷六月丁香在线视频免费在线观看| 色色色色热热| 一区三区视频有限公司| 亚洲视频一区| 激情色色色| 婷婷六月情| 九九色色| 成人Av在线大片| 99久久99久久综合| 丁香五月欧美激情| 国产精品VA在线| 性五月激情| 婷婷综合国产| 开心五月婷婷| 五月天婷婷小说| 丁香五月天在线| 丁香五月天激情网址| 狠狠色综合无线观看| 久久激情五月婷婷| 五月丁香六月激情综合| 五月天综合视频| 久久激情视频99| 99五丁香月| 亚洲天堂色色| 色噜噜狠狠色综合日日| 色九亚洲| 女人天堂AV| 26uuu亚洲色| 亚洲人妻AV| 久久久久久久久久久久久久久久久精典| 99久久6| 99这里都是精品| 青青草日本亚洲| 成人色五月天婷婷| 这里只有精彩小视频视频网站| 丁香视频| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 九九热99精品| 九九九成人在线视频| 啪啪啪大香蕉| 欧美日韩成人| 色八月婷婷| 碰碰91| 五月天婷婷情色| 综合五月激情| 激情超碰网| 精品一二三区久久AAA片| 色婷五月天| 欧美色色色色色色| 色婷婷久久综合| 99热这里都是精品| 91狠狠综合网| 亚洲精品成人| 91色久| 亚洲国产成人综合| 国产成人亚洲综合A∨婷婷| 五月丁香啪啪网| www.99热在线| 99热免| 99ri在线视频| 这里只有精彩视频| 日日影院 | 免费看欧美成人A片无码| 激情五月天婷婷丁香| 97人人操| 来吧亚洲综合网| 国产成人网址| 无遮挡国产高潮视频免费观看| 99性爱视频| 精品无码久久久久久久久| 久久免费精彩视频| 爱爱网址9| 久久婷婷五月综合色欧美| 欧美黑人巨大性生话| 亚洲V国产V欧美V久久久久久| 欧美色男人网站| 亚洲V国产V欧美V久久久久久| 日韩AV免费看| 噜噜操操| 丁香狠狠| 欧美婷婷五月天| 人妻精品一区二区三区| 中文字幕 中文字幕明步| 久久婷婷五月天| 少妇高潮呻吟A片免费看软件| 777影视理论片大全在线观看| 北条麻妃九九九国产精品视频| 成人精品免费在线观看| 婷婷五月色情天| 思思99精品视频| 狠狠色丁香婷婷综合久久97AV| 美女美女美女三级色天天天天天| 色99视频| 亚洲AV日韩在线观看| 伊人五月天97| 情五月亚洲婷婷| 色丁香婷婷| 狠狠99| 99热日本| AAA久久久AAA久久久AAA| 天搞天天天天天| 婷婷五月欧美综合| 婷婷黄色| 嫩草视频。| 色99热| 青青草蜜臀| 亚洲天天| 丁香六月婷婷缴情欧美| 久热久| 99热成人在线| 丁香啪啪| 九九操操| 天天爽天天| 色五月婷婷久久| 五月婷婷丁香五月| 天天爽天天爽夜夜爽| 少妇搡BBBB搡BBB搡毛茸茸 | 不卡在线中文字幕无| 五月婷婷综合性爱噜噜| 丁香婷婷五色月| 97碰碰在线看视频免费| 国产婷婷五月| 久色五月| 国产黄大片在线观看画质优化| 99九九热视频| 天天搞天天色综合| 影音先锋 萱萱| 五月丁香色情| 97超碰人人操| 天天干天天曰天天射| 提提热五月天婷婷| 五月天综合网| 人妻性爱av网站| 五月激情综合美女久久| www久久久久久久| 婷婷五月丁香综合激情小说| 玖玖婷婷五月天| 激情无码网| 日本激情五月| 超碰在线免费观看日韩| 五月天婷亚洲综合在线嫩草网| 色五月婷婷基地| 六月成人网| 99久久精彩视频。| 婷婷丁香五月亚洲| 五月婷婷无码| 五月丁香婷婷六月| Xx色综合| 亚洲超碰在线| 丁香六月婷婷综合激情欧美| 婷婷亚洲综合| 久久九九免费大视频| 六月婷婷激情图片| 玖玖视频福利| 大香蕉AV在线| 五月四色色| 亚洲乱码日产精品BD| 五月天色色激情综合| 久久ww| 91精品婷婷国产综合久久| 婷婷成人五月天成人文学| 日韩精品在线观看9| 99热这里只有精品 搜| 四季8848精品成人免费网站| 五月婷婷人妻| 亚洲成人av在线播放| AAAA网站| 丁香五月婷婷色情综合| 丁香婷婷激情| 五月中旬婷婷丁香六| 嫩草极品| 天天艹夜夜艹| 色婷婷久久综合| 大香蕉五月天婷婷| 狠狠色丁香99| YW无码| 99热成人| 激情小说五月天社区丁香| 99热在线只有精品| 99成人无码| 无码AV大香线蕉伊人| 五月婷婷av| 婷婷成人AV| 开心五月婷婷激情| 五月天五月色| 六月激情丁香一道本7777| 五月天丁香成人社| 六月色婷婷欧美| 五月天丁香婷婷网| 亚洲无码成人| 97色色色色色色色色色色色色色| 色很久综合| 日韩成人电影在线播放| 丁香五月天人体| 丁香性爱在线视频| 99精品热视频| 激情综合色婷婷啪啪六月天| 天天操加勒比| 色色色色丁香| 亚洲AV免费在线| 亚洲五月天伊人| 碰超在线九色| 午夜性做爰电影| 五月婷婷激情综合视频| 天天干,天天舔| 中文字幕丰满乱孑伦无码专区 | 色五月丁香伊人五月| 香焦网五月天| 久草热8精品视频在线观看 | A片试看50分钟做受视频| 欧美啄木乌丝袜人妻系列| 97色在线观看视频| 五月丁香六月日逼| 日日操,夜夜爽| 亚洲乱码w在线观看| 欧美交换配乱吟粗大25P| 婷婷五月激情天| 人妻AV在线| 丁香婷婷六月| 五月天婷婷激情| 青青草五月天| 五月婷婷乱| 五月丁香91| 欧美一级a | 五月丁香婷婷伊人| www.婷婷| 黄色片区子| 日日肏天天操| VA国产在线综合网站| 1024操逼视频| 日韩天堂久久| 91精品刘玥| 夜夜撸夜夜骑| 日本熟妇精品99| 操操操AV| 激情九九这里只有精品| 丁香五月狠狠综合欧美| 思思热闹这里只有精品| 99视频久久| 色综合9| 亚洲V国产V欧美V久久久久久| 99黄色性生活| 五月婷婷深深爱| 十月丁香九月婷婷综合| 26UUU精品一区二区Com| 激情五月综合色婷婷| 成人在线不卡| 婷婷伊人久久| 激情久久五月天| 老妇操B| 天天操天天插天天射| 嫩草AV久久伊人妇女超级A| 九九99精品视频在线观看| 国产精品色婷婷久久久精品| 五月综合激情网| 五月深爱网| 五月丁香婷中文字幕| 五月婷久久| 青青草a在线| 99热国产| 婷婷第六色| 国产成人+综合亚洲+天堂| 成人电影在线免费试看| 成人亚洲精品| 久久最新色色色| 久久99久久99精品免视看婷婷| 久久精品63| 日韩 中文 欧美| 91艹人| 成人网站免费在线播放| 五月丁香六月综合情在线观看| 国产91视频| 亚洲综合色网| 九九视频在线观看视频6| 拍真实国产伦偷精品| 婷婷五月天福利| 91一起操| 日韩日比视频在线| 狠狠99| 97干欧美| 26uuu淫色| 久久婷婷五月天激情| 五月天婷婷深深爱| 成人短视频在线免费观看| 久久最新色| 婷香五月| 亚洲精品一区无码A片| www.丁香黄色五月天人与| 99色在线观看视频者| 成人一区在线观看| 99九九精品| 99爱欧美| 日日操夜夜爽| 欧美99热| 熟女国产在线一区二区三区四区| 99热9999| 先锋av性爱成人电影| 色五月激情婷婷| 97视频.干com| 久热婷婷综合| 99九九综合久久九九| 午夜理论片最新午夜理论剧| www99热| www,色婷婷| 裸睡玩奶头(高H)| 久久丁香综合精品综合| 婷婷的99视频网站| www久热com| 亚洲最大在线| 精品久9| 婷婷五月丁香六月| 五月婷婷之美女图片| 99热1| 国产精品久久久爽爽爽麻豆色哟哟 | 婷婷六月激情| 色吊操色妞| 玖玖色综合| 午夜电影网VA内射| 伊人激情影院| 很很色丁香久久停停| 开心六月丁香五月婷婷| 香焦网五月天| 激情影院69| 九九色精品| 日韩操| 五月丁香色| 黄色成人AV在线| 可以免费观看的av网址| 五月天激情啪啪| 成人做爰高潮A片免费视频| 亚洲人妻电影| 六月五月婷婷| 夜精品无码A片一区二区蜜桃| 天天se在线视频| 6080av| 色五月综合在线| 中文字幕性爱视频| 999热在线视频| 色婷婷电影网| 99久久精| 婷婷五月丁香啪啪| www久久久久| 亚洲99在线视频| 天天狠天天叉| 亚洲、欧美、国产另类笫二区| 九九爱激情| 日本欧美成人片AAAA| 99无码视频| 五月婷婷丁香大陆免费| 久七香蕉| 五月综合无码| 久草网大香视频| 婷婷五月天六月| 国外亚洲成AV人片在线观看| 五月激情开心婷婷| 国产日韩欧美| www.狠狠色.com| 超碰在线看| 久热欧美| 超碰狠狠操| 国産精品| 91日韩在线| www.91.com黄| 婷婷色九月| 五月天婷婷免费| 日本WWW九九九| 亚洲自拍天堂| 天天操婷婷| 亚洲不卡欧洲| 97久久超碰| 黄网在线免费观看| 丁香五月综合| 伊人超碰| 人妻免费网站| 九九视频在线观看| 成人婷婷| 色99网| 91狠狠综合久久久久久| 六月激情婷婷| 丁香五月天激情综合网| 97自拍视频网| 亚洲色夜| 亚洲精品网站色视频| 色五月婷婷五月天| 五月天中文网| 怡红院91a√| 97超碰在线免费观看| 國語久久婷| 狠狠干夜夜干| 亚洲综合色丁香婷婷六月| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 丁香激情五月| 少妇激情五月天| www久久五月com| 99色爱| 五月天激情久久| 激情婷婷丁香五月天| 色婷婷小说网| 丁香综合网| 日本黄色精品| 天天爱天天爽| 五月花综合视频| 久久精品99久久| 色婷五月| 人妻久久久久久久 | 色狠狠色噜噜AV天堂五区| 99热精品9| 影音先锋91资源站| 亚洲欧洲另类| 成人丁香五月| 操人妻90p| #NAME?| 5月丁香啪啪啪| 99热这里只有国产精品| 97碰碰人人| 97很鲁在线视频| 色五月婷婷五月天| 婷婷精品在线| 91精品国产91久久久久青草| 国产亚洲AV人片在线| 五月婷婷激情| 丁香五月婷婷俺也要去| 99色在线视频观看| 婷婷va| 免费视频WWW在线观看网站| 99视频在线观看网址| 再綫Av免费視品| 伊人久久大香线蕉AV最新午夜| 激情图片五月天| 五月丁六月香| 午夜爱爱爱成人| 99色中文| 日韩天堂久久| 图片区 小说区 区 亚洲五月| 久久婷婷五月综合色丁香| 婷婷五月精品在线| 五月天色播网| 在线观看亚洲视频影院| 丁香五月 性爱| 91蜜桃婷婷狠狠久久综合9色| 激情 婷婷| 日韩人妻操逼视频| 干婷婷五月天| 久热久色| 91viP在线看| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 国产干逼片| 人妻人人操| 91操片| www.com五月天| 日日爽日日操| 激情四射五月天偷偷看婷婷| 成片免费播放| 操日视频| 香蕉网久久| www.韩日视频| 91碰人人| 97碰碰久久| 熟女人妻一区二区三区免费看| 五月天丁香网| 色婷婷久久综合| 五月天婷综合| 久久天堂| 天堂中文国产| 日本天堂免费99| 草综合14| 丁香五月av| 人妻久久人妻久久第一区| 激情五月丁香综合网站 | WWW.五月com| 黄色国久久| 国产无套精品一区二区| 激情内射人妻1区2区3区| 国产激情久久久| 久久婷婷五月综合| 亚洲亚洲人成综合网络| 日本人妻伦在线中文字幕| 99热久| 欧美丰满熟妇BBB久久久| 狠狠精品干练久久久无码中文字幕 | 99久re热| 色色色色五月天| 91成人品| 九九热免费观看视频| 99色啊| 五月天伊人日日噜影片AV| 五月丁香六月婷婷免费视频| 天天狠狠色综合| 九九99一区| 丁香婷婷六月| 中文字幕av久久爽一区| 五月丁香色婷婷| 国精产品一区一区三区免费视频| 久cao香蕉影院| 日韩精品无码AV| 久久婷婷五月综合成人d啪| 日本久久天堂| 夜夜操夜夜姧| 狠狠操狠狠操AV| 色综合区| 超pen个人视频97| www.婷婷五月.com| 久久久久久9| 天天日日人| 夜夜爽天天日| 久久久久久久97| 五月天丁香| 9精品一区| 嫩草视频在线观看| 天天综合天天玩夜夜玩天天玩夜夜玩 | 亚洲一区国产传媒| 婷婷五月天激情偷拍| 中文字幕色色| 色婷婷五月在线| 丁香五月婷婷国产av| 激情文学第四色婷婷丁香五月| 婷婷免费精品视频| 色婷婷六月丁香综合欲精品| 亚洲色五月| 亚洲AV影片在线观看| 五月久久网| 精品九九在线观看| 九九无码| 亚洲电影在线观看| 久久总和99| 99在线视频精品| 夜夜资源站| 丁香五月婷婷欧美性爱| 久99视频| 五月天亭亭俺也| 丁香六月婷| 99爱爱网| 丁香五月亚洲综合| 色五月欧美| 在线综合91| 激情综合网,五月| 亚洲 视频 导航 一区| 日韩在线观看网址| 99热最新地址在线| 婷婷五月天丁香社区| caop视频| 性色欲情 网站| 久久综合五月天| 最新无毒无码AV| 九九激情网| 五月丁香成人小说| 影音先锋一区二区资源站| 五月花婷婷在线精品视频| WWW.17C亚洲精品| 久草免费福利视频| 五月天a婷婷伊人| 久久香蕉影院| 天天综合 99久久婷婷| 五月婷婷人妻| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 99热观看| 天天操天天日天天操| 少妇人妻人伦A片| 99热精品在线播放| 日本视频99| 97在线干| 五月激情综合美女久久| 国产干逼片| 激情久久天天| 成人国产欧美大片一区| 26uuu淫色| 婷婷社区五月天| 久久久久婷婷| 97人人干人人操| 猫咪伊人久久| 婷婷激情九月| 亚洲婷婷丁香| 97精品自拍| 五月丁香激情婷婷| 97干网站| 激情综合网五月丁香| www.91在线观看| 久久五月天网| 免费97碰碰| 五月丁香花视频| 色色色在线观看| 九月婷婷色色| 激情综合五月天| 成人在线网| 国产成人+综合亚洲+天堂| 激情六月丁香| 久久九九热视频| 777色婷婷爱五月| 二色av| 五月婷婷激情色情网| 欧美三级巜人妻互换| 婷婷激情欧美| 中文字幕人妻AV| 五月婷婷开心五月| 午夜九九九九九九九九九九九九九| 五月天伊人综合| 久操热线| 黑人糟蹋人妻HD中文字幕| 婷婷伊人激情婷婷| av婷婷丁香| 超碰国产AV| 久久激情网| 国产暴力强伦轩1区二区小说| 亚洲人妻一区二区| 色综合久网| 丁香花五月天激情| 久久性爱视频免费| 九九热内射| 婷婷欧美激情综合| 一起草无码视频| 婷婷99狠狠躁天天久久久九九九| 26uuu欧美日本| 久久激情五月天| 国产超碰在线| 婷婷色五月色| 99热老网站| 97超碰婷婷五月天| 丁香婷五月天开心六月| 99这里有精品久久97| 丁香五月激情图片婷婷| 五月天激情四射网站| 第2色五月婷| 中文不卡av| 久久婷婷网| 久久久月丁香| 玖玖99精品视频| 亚洲五月婷| 日韩AV大全| 伊人久久婷婷| 色婷婷狠狠久久综合五月| 99色综合网| 婷婷涩五月天综合| AV在线大香蕉| 亞洲自怕| 日日干天天爽| 丁香婷婷深情五月亚洲| 熟女重口味αV| 丁香五月综合久久| 大地资源色婷婷视频在线| 五月天激情婷婷| 久草五月天电影网| 五月丁香福利| 婷婷丁香六月天激情四射网| 夜夜爽天天爽| 五月丁香婷婷综合| 色丁香久综合在线久综合在线观看| 婷婷色五月开心五月| 男女啪啪做爰高潮无遮挡| 任你爽精品免费视频6| 天天天摸夜夜夜玩| 综合在线网| 射久久丁香五月| 在线中文AV| 五月色综合| 天天爽天天操| 五月婷婷视频28| 天天色天天爽| 亚洲激情婷婷| 无码动漫AV| 久久久久久久久久久-久五月天婷婷| 黄网在线免费观看| 色色色99| 99亚洲日韩| 午夜不卡成人一区二区| 丁香午月AV中文字幕| 日本婷久久| 婷婷久久色| www.99精品日操伊人乱碰在线| 色激情五月天| 亚洲男女激情| 久久久久9| www久久艹| 五月激情影视| 婷婷五月天高清无码| 五月婷婷婷婷婷婷艺术| 天天色天天爱天天舔| 69热在线| 草一草avb| 超碰在线观看9| 亚洲 欧洲 国产 伦综合| 大香蕉视频婷婷| 亚洲午夜成人av电影网| 亚洲国产精品二二三三区| 婷婷五月天影院| 婷婷激情社区| 亚洲色婷婷| 亚洲成人在线播放| 99热精品在线观看| 婷婷色五月天在线| 亚洲精品婷婷| 日日干天天爽| 51国精产品自偷自偷综合 | 5月丁香婷婷| 777久久综合视频| 九九99视频精品| 久久99最新| 婷婷综合五月激情| 五月天四色房丁香| 狠狠撸激情综合丁香五月天俺来啦| 甈吧vv| 色婷婷五月天在线| 中文不卡一二区| 我要射综合| 丁香婷婷成人在线播放| 涩五月色婷婷| 色综合久久88色综合天天99| 五月天婷婷丁香导航| www.99热在线观看| 色婷五月天| 99无码视频| 极品人妻VIDEOSSS人妻| 九九九九九九热| 中文字幕高清av| 久久婷视频| 久热无码| 色五月av伊人| 亚洲最大五月六月丁香婷婷| 第五色色色婷婷| 欧洲亚洲午夜| 五月花婷婷| 婷婷色色综合| 大香蕉人人人| ww亚洲ww在线观看| 亚洲色色色色| 99精品无码| 大香蕉久操| 无码日本精品XXXXXXXXX| 色婷婷亚洲综合网站| 色欧美影院| 无码一区二区三区四区五区| 色久综合天天做视频| 六月丁香五月婷婷| 91操人视频| 欧美久久久中文字幕| 综合久久五月天| www.av视频xx999.com| 99热777| 日本系列_4页_777FP| 午夜少妇在线观看视频| 国产精品成人网站| 九九精品在线视频观看| 六月婷婷亚洲| 激情文学久久| 久婷婷视平| 欧美 日韩 成人在线| 婷婷六月插屄激情| 亚洲熟妇无码乱子AV电影| 久久激情视频| 九九偷拍网| 亚洲激情无码久久| 五月天成人在线视频网站| 久久婷婷六月综合综合| WWW.久久99| 亚洲国产精品成人免费一区久久久在线观看AAAA| 五月伊人视频在线看| 六月久久婷婷| 国产高清av黄色看片| 天天搡日日搡aaaaⅩ| 色狠狠色狠狠| 天天狠狠夜夜狠狠2023| 色婷婷网| 五月婷婷综合激情| 26uuu成人网| 五月天婷婷久久| 开心久久爱五月天| 亚洲V国产V欧美V久久久久久| 丁香六月色婷婷综合| 五月天丁香婷| 无码激情AAAAA片-区区| 裸体美女丁香五月天。| 热99国产精品| 六六久久黄色| 91精品久久久久久77777| 26uuu国产精品| 五月丁香婷婷激情影院欧美| 五月婷在线| 五月天激情久久| 丁香婷婷五月天网站| 人操91在线| www.婷婷五月天.com| 99热这里只有在线| 九九色综合| 日韩有码一区| 开心五月婷婷| 丁香美女五月天婷婷| VA国产在线综合网站| 操碰久| 亚洲A片成人无码久久精品青桔| 九九热最新| 狠狠干在线视频| 久久久久亚洲AV成人无码电影| 男人先锋久久| 国产成人综合网| 色激情五月| 91免费在线视频6| 五月丁香黄色| 噢美99| 操99| 亚洲激情综| 天天操天天日天天爽| 六月婷婷色综合| 一本九九色| 超碰v| 91狠狠综合久久| 99热精品中文字幕| www.五月天婷婷姐姐| 丁香五月久久| 亚洲婷婷激情综合激情999精品| 男女啪啪做爰高潮无遮挡| 久久资源网五月婷| 99成人免费热视频| 丁香五月综合在线| 亚洲色情久久| 任你操精品免费| 五月婷婷先锋| 图片区 小说区 区 亚洲五月| 婷婷五月情| 五月丁香成人网| 五月激情网络| 精品综合久久久久久五月天| 操碰97| 国产精品视频免费看| wwww.色婷婷| 欧美色图片88| 日日夜夜天天| 99亚洲视频| 在线观看的av| 第四色五月婷婷| 久久久久丁香婷婷五月天| 婷婷日日天天| 色国产五月| 26uuu淫色| 丁香五月婷婷激情小说| 九九热99视频| 人妻视频在线| 91综合在线视频| 日本理论久久| 国产精品成人网站| 啪啪五月婷婷| 精品五月花| 日本三级第一页| 婷婷五月丁香激情| 亚洲五月六月婷婷| 天天揷综合网| 大伊香蕉精品视频在线| 国产特级毛片AAAAAAA高清| 色狠狠色| 在线播放中文字幕| 亚洲成人免费在线| 五月天激情网站| 性综合网| 欧美日综合| 天天做天天爱天天高潮| 日韩成人电影AV| 成人片在线播放| 操一区| 国产人妻人伦精品一区二区| 黑人糟蹋人妻HD中文字幕| 欧美经典片免费观看大全| 99在线免费视频| 大陆极品少妇内射AAAAAA| 中国丰满熟女A片免费观| 亚洲V国产V欧美V久久久久久| 中文字幕丰满孑伦无码专区| 91色色五月天| 婷婷五月天成人视频| 日韩三级视频一区二区| 青青草Avb在线| 探花搜索结果 - 黄上黄| 狠狠干综合网| 91久久99久久91熟女精品| 婷婷中文字幕| 天天上天天爽| 伊人婷婷激情| 色五月首页| 婷婷激情小说| 亚洲 视频 导航 一区| 亚洲人妻av| 丁香五月天堂网| 亚洲日韩久久婷婷伊人| 九九色情网五月天| 激情av在线| 丁香五月天AV在线| 婷婷伊人激情婷婷| 99成人免费热视频| 丁香五月色五月| 狠狠操狠狠操AV| 97在线99| 天堂亚洲 在线| 欧美久久婷婷| oumeisesewang| 婷婷五月天美女视频| 五月婷婷婷丁香播| 久草五月天| 中国无码av| 五月丁香婷婷啪啪综合| 久久激情网| 五月天婷婷开心| 天天日综合| 99热这里只有精品22| 国产在线aaa片一区二区99| 97超碰在线观看免费| 久久九区| 丁香综合伊人AV| 五月丁香婷婷综合| 婷婷综合网站| 夜色.cnm| 91欧美| 婷婷丁香五月亚洲综合网在线视频观看| 99九九视频精彩在线| 五月丁香| 伊人激情网| 婷婷五月综合在线| 六月婷婷亚洲| 五月婷婷丁香综合| 成人.在线日韩| 色综合久久88色综合天天看| 天天免费成年人视频| 色爱五月天| 日韩啪啪网| 91精品啪| 精品人妻伦| 天天干电影| 色五月激情五月| 99在线热视频| 婷婷在线五月天观看| 久久99热免费最新版| 图片区 小说区 区 亚洲五月| 综合久久六月| 九九精品片一| 综合XX网| 亚洲成人影视在线| 婷婷色五月丁香六月欧美啪| 五月丁香激情在线| 婷婷五月六月| 综合久久伊人| 色亚洲色宗合| 99综合免费视频| 国产高清视频91九九九久久久| 天天射夜夜爽| 殴美日韩成人| 影音先锋秋秋五月婷婷| 日本色99网站| 久久人妻视频| 欧美日韩国产一区| 天天操夜夜肏| 亚洲婷婷五月天| 操日本三片99| 蜜臀嫩草| 99无码精品| 久久视频婷婷| 久久久久人妻精选| 国产99久久久国产精品免费看| 色私五月婷婷| 五月丁香操亭亭网| 丰满少妇猛烈A片免费看观看| 婷婷五月花| 亚洲天天操| 欧美十二区| 九九热视频网站| 日本久久婷| 五月激情综合性爱| 亚洲AV成人无码久久精品老人法拉利| 色五月网址| 色色综合网站| www.婷婷,com| 激情骚五月| 深爱五月最新网址| 在线看的免费网站| 五月天色婷伊人| 欧美精品99久久久| 1024成人在线观看| 五月情色天| 久99在线| 五六月丁香激情视频| 婷婷五月天网| 婷婷免费精品视频| 91精品综合久久久久久五月丁香| 中文字幕,综合,91| 天天爽天天日| 婷婷五月天丁香久久| 五月WWW| 久久精品国产AV一区二区三区 | 丁香五月天激情五月天激情五月天激情网 | 五月丁香婷婷在线综合蜜桃| 婷婷久久五月天| 激情四射网| 久久久久亚洲AV无码网影音先锋| 黄色91在线观看| 五月婷婷免费在线视频| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 六月丁香五月激情网| 疯狂做受XXXX高潮A片动画| 欧美激情五月天婷婷| jiZZdr| 婷婷五月天成人娱乐| 99热这里| 99r久久这里只有精品| 99热这里只有精品8| 久久这有这里精品| 福利视频在线播放| 六月婷婷色五月| 秋霞AV吧| wwwwww.色| 99久久久精品| 夜夜爱网站| 久久人人九| 91精品丝袜久久久久久| 五月丁香| 成人片在线播放| 都市激情五月婷婷综合| 免费视频在线观看的网站| 久久婷婷婷婷伊人| 92久久久| 天天干天天爽| 久久婷婷综| 色五月激情五月开心五月| 亚洲俩性性爱图片久久第六页| 日本不卡一区二区三区| 玖久精品视频9| 色爱爱综合网| 婷婷五月成人| 黄色片区子| www.色五月| 精品一区二区三区木瓜| www.1024久久| 久久精品五月天| 欧美性二区| 人妻丰满精品一区二区A片| 六月久久狠狠| 色天堂A| 色五月综合| 婷婷五月AV| www,超碰| www.婷婷五月| 色婷婷综合五月| 九一九九黄色| 99九九热在线观看| 婷婷五月天改成什么了| 五月婷婷六月激情| 色色色综合网| 99re这里只有精品9| 久久se 综合网 | 日韩久久日| 99精品自拍视频| 激情五月丁香色婷婷| 超碰99成人在线| AV在线免费播放| 六月婷婷日| 99内射视频| 九九热视频在线观看| 天天肏天天爽夜夜爽| 另类 在线| 99在线免费视频| 国产午夜一区二区三区| 五月丁香综合激情| 婷婷欠久少妇| 99久在线观看| 欧洲亚洲欧洲99久久| 日韩黄色网络| 全部老头和老太XXXXX| 婷婷五月天亚洲五码| 亚洲五月六丁香激情| 天天操五月天| 极品少妇XXXX精品少妇偷拍| 婷五月天|