免费国产精品自在自线-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
返回資訊列表
日本天堂免费99| 日日日天天干| 久久九九囯产| 天天综合精品| 成人精品在线观看| 色爱综合五月| 色婷婷播放| 99熟女| 久久婷婷六月| 色欲九区| av在线激情| 亚洲网站观看视频| www.五月天| 久久精品视频在这里有| 99久久综合精品五月天| 久热这里只有精品在线观看| 五月综合激情| 99精品一二三四视频| 天天做天天爽| 五月丁香五月综合欧美| 色综合大香蕉| 噜噜视频| 色五月在线观看| 精品在线网站| 综合激情在线| 综合激情五月婷婷| 欧美人人女女精品综合五月天| 欧美在线视频99| 久久久精品人妻录| 日撸夜撸日操| 激情婷婷五月天在线观看| 97超碰综合| 色婷综合| 丁香五月天堂网AV| 97欧美在线| 婷婷色五月综合| 99爱在线免费视频| 五月丁香激情综合网| 久热网站| 婷婷五月天天aV| 婷婷丁香色五月天久久88| 色色色色色五月丁香| 91 九色大美女| 99爱视频在线观看| 欧美日韩成人在线| 人妻熟女一区二区AV| 久久亚洲婷婷| 婷婷丁香十月| 在线日韩视频| 国产AV影片| 99热久| 国产婷婷综合在线免费视频| 色色激情网| 97热在线精品| 激情综合亚洲| 日韩九区| 免费看欧美成人A片无码| www.久久久久| 99欧美| 热久精品| 五月激情在线| 丁香激情五月| 99精在线| 青草视频在线观看视频| 激情色情五月天| 播丁香五月婷婷欧美| 少妇性按摩无码中文A片| 99久在线精品99re8| 五月天成人在线播放| 五月丁香在线观看| 俺去也婷婷| 五月婷丁香| 五月天色区| 五月婷婷六月激情| 97操女视频| 丁香五月停停av| 嫩草免费视频| 欧美婷婷丁香五月社区| 色综合久久伊伊婷婷五月| 五月丁香色婷| 97热精品| 中文字幕丰满孑伦无码专区| 亚洲视频久久| 欧美va精品va老师va| 婷婷五月激情综合| 五月天精品综合在线| 五月天激情网页| 日韩爱操视频| 亚洲第一综合| 99啪视频在线观看| 亚洲五月天第一综合干| 狠狠色综合精品视频在线| 噜噜国产| 五月天激情小说| 日韩性爱AV| 天堂va久久久噜噜噜久久Va| 華人性愛AV在線| 精品九九视频| 国产激情久久| 综合玖玖偷拍| 夜夜操狠狠操天天操| 天天天操天天天日| 久久小说| 久热中文字幕| 狠色色狠网| 丁香五月人妻| 五月天色欧美| 99精品久久久久久久婷婷久久| 色五月激情五月天| 熟女人妻视频| 国产精品久久99| 婷婷六月中文字幕| 操一操干一干| 五月丁香六月综合基地| 有哪些A片网站| www.五月婷婷久久.com| 久久五月婷综合网| 六月丁香综合网| 亚洲成人高清在线| 亚洲视频久久| 婷婷激情网五月天| 青草青草视频2免费观看| 色婷婷五月天无码视频| 狠狠色丁香99| 五月婷婷六月激情| 天天五月丁香五月| 秋霞性爱AV| 五月桃花网综合| 大香蕉婷婷丁香视频在线| 久久婷婷五月天激情| www99在线观看视频| 成人无码精品1区2区3区免费看| 色噜噜五月丁香婷婷| 天天爽天天弄| 色婷婷狠狠18禁| 色欲影香| www,超碰| 久久伦乱| 综合色99| 久久久精品视频79| www.超碰| 深爱五月婷婷开心中文字幕| 色玖玖| 91丁香五月| 婷婷五月天另类网站| 超碰精品在线| 婷婷基地成人五月天| 日日噜噜夜夜狠狠久久丁香六月| 色婷婷四虎| 色婷婷色五月丁香| A片试看50分钟做受视频| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 超碰在线精品| 97碰久久| 99热精品在线观看| 日韩激情人伦人| 99热免费| 情五月亚洲婷婷| 久操婷婷| 色五月婷婷啪啪五月| 三男玩一女三A片| 華人性愛AV在線| 天天天天天天操| 丁香六月婷婷激情| 第五色色色婷婷| 久久99精品久| 色色色五月婷| 丁香色六月| 欧美色图天堂网| 91丨九色丨高潮丰满日本| 在线观看亚洲视频影院| 亚洲性受XXXX五月丁香| 色婷婷五月天| 欧美3AaAa大片| 任你弄在线视频免费| 五月丁香六月激情综合网| 舔色婷婷| 67194国产| 亚洲天天| 激情综合色婷婷啪啪六月天| 《久久综合九色综合97婷婷| 狠狠做深爱婷婷久久综合一区| 亚洲无码另类| 亚洲色无码A片一区二区麻豆| 这里只有精品热| 98国产精品综合一区二区三区| 婷婷五月激情片| 婷婷六月天国产综合| 五月激情综合深爱| 五月婷婷啪啪啪| 激情丁香婷婷| 99热网站| 五月婷婷亚洲天堂激情在线| av五月天婷婷丁香| 深爱开心激情| 久久亚洲激情五码| 开心婷婷五月天电影院| 九九超碰人人| 五月婷婷色| 婷婷五月丁香久久| 国产亚洲色婷婷久久99精品91| 婷婷六月天| 色综合天天天天做夜夜| 欧美日韩成人在线| 成人国产网站| 538在线精品| 天天插天天操| 成人色情五月天婷婷丁香| 久婷婷久草| 色在线99| 久久五月激情| 亚洲天堂亚洲色色色| 婷婷久久色五月婷婷久久久| 人人爱国产| 五月天婷婷伊人| 五月天社区婷婷丁香社区| 九九视频在线观看| 婷婷中文字幕网| 婷婷六月丁香开心深深爱| www.色欲丁香婷婷| 青柠影视免费高清电视剧 | 亚洲日韩操B| 丁香五月天亚洲视频| 色婷丁香五月| 在线成人网站| 99色| 亚洲天堂有码| 婷婷丁香五月天之开心少妇| 五月激情综合网| 婷婷五月天基地| 影音先锋xfplay资源男人网| 久婷五月| 香蕉狠狠爱视频| 婷婷六久久| 91精品丝袜久久久久久| 五月婷婷色色色| 激情五月天色婷婷| 五月天全国最大成人网| 99热这是里只有精品| 激情熟女网| 九八Av| 大香蕉520| 五月丁香六月婷婷无码| 婷婷深爱网| 99re熱| 国产精品日日躁夜夜躁| 91九色国产熟女| 热久久这里只有三级视频| 99无码视频| 91日本在线| 狠狠操狠狠操| 丁香五月在线观看| 97极品在线| 五月天婷婷在线播放免费| 激情六月五月婷婷综合网| 激情久久五月天| 日本99色| 色婷婷97| 玖玖国产视频一区| 538在线| 五月丁香色色网| 婷婷精品综合| 丰满少妇猛烈A片免费看观看 | 综合久久久| 亚洲国产色色| 夜夜夜夜夜骑撸| 玖操97| 婷婷五六日| 99热久只有| 视频综合网| 少妇激情基地| 五月天久久婷婷婷| 五月丁香六月婷婷在线播放| 久久久久思思热| 中文国产五月天| www色中色综合| 狠狠色精品综合| www.夜夜騎夜夜狠| 青草五月天| 五月天婷婷成人网| 五月天综合视频| 婷婷六月久久综合导航| 亚洲亚洲人成综合网络| 奇米四色五月天| 91高潮喷水久久久久久久久| 秋霞AV美国| www98日本小时间到了| 狠狠第四色| 国产日比| 天天天天天天天操| 26.uuu丁香五月婷婷| 色丁香五月天| 91无码色色| 天天操天天干天天射| 日日夜夜九九| 97视频91| 99久久免费精品| 久久婷婷五月综合| 少妇人妻人伦A片| 婷婷五月天亚洲综合网| 五月丁香香蕉| 激情www.98com| 婷婷色爱| 99综合网| 97婷婷在线| 五月婷在线| 91啪级电影| 婷婷播5月| 8区视频在线| 婷婷五月色播放| 熟女强人妻一区二区三区四区无| 九色91美女| 狠狠婷婷爱| 色色AV色色色东莞| 99精品在线| 另类小说色婷婷| 成功精品影院| 亚洲AV无码成人精品区电影网| 国产精品成人在线| 五月激情婷婷国产精品久久久久久| 亚洲中文字幕网| 日本视频不卡123区| 亚洲精品第一色色色色色色| 五月丁香狠狠爱| 久久久久久综合五月婷婷| 五月天久久综合| 人妻熟女一区二区AV| 天堂综合久| 丁香五月大片| 超碰成人免费| 先锋资源婷婷| 亚洲第一精品成人999久久精品| 色香蕉影院| 九九精品9| 五月开心婷婷极品激情| 五月婷婷色影院| 五月婷婷久久大片| 婷婷五月在线影院| 热久久思思热思思| 开心激情网五月天| 色欲九区| 五月天社区婷婷丁香社区| 亚洲AV影片在线观看| 亚洲另类婷婷综合| 丁香久月| www.五月婷| AV国产有码| 婷婷五月天社区| 五月婷婷激情日本| 香蕉AV777XXX色综合一区| 久久性爱视频| www色婷婷久久综合久色 | aa久久| 色色射| 99丁香婷婷综合网| 色青青视频| 性色五月天| 一区二区免费看| 五月天婷婷综合免费| 五月天久久色| 丁香五月婷婷激情123| 97久久超碰| 九九九色综合| 九九色综合| 超碰色婷婷| 丁香色婷婷| 欧美97超碰| 色大综合| www.色色com| www.成人婷婷综合| 色哟哟性爱av| 婷婷综合在线| 久久这里只精品66| 亚洲欧洲中文日韩久久AV乱码| 大香蕉AV在线| 丰满老熟妇BBBBB搡BBB| 高清无码一区二区三区四区| 日韩一级一片内射视频4K| 久久九九免费大视频| 久久久噜噜噜久久人妻| 婷婷五月丁香高清无码| 丁香五月婷婷综合啪啪| 婷婷99狠狠躁| 久久狠狠干| 超碰激情网| 97婷婷狠狠| 色情五月婷婷| 婷婷深爱色五月| 欧美顶级少妇做爰HD| 亚洲成人一区| 日本欧美成人片AAAA| xxx综合在线| www.wuyuetian啪啪| 色综合色色色色色| xx久久| www99热| 婷婷五月天av网| 狠狠干婷婷| 色婷丁香五月| Av中文在线| 五月天激情视频| 97视频.干com| 大伊香蕉精品视频在线| 五月天开心婷婷激情网站 | 亭亭五月丁香五月天激情| 99色精品视频| 亚洲岛国电影| 这里只有精彩视频| 深爱五月网| 精品久久婷婷| 五月天久久色| 这里只有精品偷拍| 久久婷五月影院| 国产欧美第五十五页| 婷婷色在线视频| 99热这里只有精品16| 六月婷婷狠狠| 大香蕉免费9| 亚洲乱码日产精品BD| www.久久av.com| 丁香五月婷婷黑人妻黄色电影院| 五月天丁香婷婷网| 色色色色色色色色色色色色色色,网站| 久久综合播放| 成人草榴视频| 天天干天天干天天干天天干天| 可以直接看的av网站| 婷婷丁香五月天综合激情| 成人网站免费在线播放| www.av骚货| www.91久久| 激情五月天。| AA片在线观看视频在线播放 | 色99亚洲| 久久9精品| 亚洲AV成人精品网站在线播放| 99在线视频精品| 蜜桃婷婷丁香| 色婷婷激情小说网| 超碰人人色| 91久久精品国产91性色TV| 日亚二欧美| 五月天成人在线| 婷婷五月电影院| 亚洲无码猫咪| 99综合色色色| 国产黄大片在线观看画质优化| 色色五月天网站| 婷婷视频在线| 色婷婷香蕉丁丁网| 天天插天天很| 激情五月综合久久| 国产精产国品一二三在观看| 天天舔天天摸天天透| 久久天天天| 97色碰碰公开视频| 2050人人操免费工开爱| 天天干天天操天天射| 激情深愛五月視頻| 日韩一区二区在线播放| 无码色色色色色| AV片一区在线观看| 五月开心播播网| 色五月成人| 中文字幕AV在线播放| 亚洲久久视频| 五月婷婷啪啪| 狠狠综合久久综合| 丁香五月婷婷av影院| 99综合网| 内射干少妇亚洲69XXX| 亚洲色热| 色婷婷影视| 色综合色色| 久久色情| 91超级碰| 亚洲视频一区| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 久久人妻视步| 丁香六月婷婷综合缴| 五月激情婷婷女| 五月丁香基地| 激情 婷婷| 操逼视频一区| 丁香五月影院| 乱精品一区字幕二区| 少妇被躁爽到高潮无码文| 性爱久久| 91热视频| AV成人在线播放| 欧美激情综合色综合啪啪五月| 最新久久网址| 99无码免费视频| 人色五月天婷婷| 久久这里有精品在线观看| 99久久免费精品| 丁香五月激情啪啪| www.色婷婷| 亚洲欧美婷婷五月色综合| 狠狠色色| 日本V在线观看不卡视频网站| 日韩av手机在线观看| 91超级碰| 婷婷综合伊人| 五月婷婷另类| 一本道综合网| 伊人激情影院| 夜夜爱网站| 任你艹| 亚洲情综合五月天| 国产一区18| 久久久人妻久久久| 亚洲看av的网站| 操操操Av| 99在线免费视频| AV操一操| 97自拍视频在线| 校园激情 亚洲| 亚洲va成人va成人va在线观看| 亚洲日日操| www.97视频| 色亭亭丁香五月天| 婷婷五月天激情网| 狠狠操狠狠干综合| 九九精品热| 1024亚洲无码| 日本va欧美va欧美va精品| 五月婷婷中文网| 亚洲午夜一区二区| 97色精品视频 | 五月天激情综合网| 五月婷婷爽爽爽| 久久新| 色婷婷综合久色AV五色最新| 色色色无码| 久久香蕉影院| 九九九日本熟女| 久久这里只有国产视频| 9999久久久久| 婷婷色色丁香| 五月天婷婷乱| 色婷婷激情| 97爱艹婷婷开心丁香激情综合| 久久Xx| 久久深爱激情网| 青青草激情网| 激情综合网激情五月婷婷| 在线观看的av| 91视频综合网| 东北黄色一级| 婷婷五月天免费视频在线观看| 色五月婷婷在线| www91久久| 国产乱妇乱子伦| 色999五月色| 婷婷爱五月| 99er久久| 九九综合| 丁香六月婷婷五月天| 久久9热| 一区二区成人电影免费播放| 婷婷基地成人五月天| 青青草轻轻操| 色色五月婷婷久久| 播五月开心婷婷欧美综合| 久热久69| 天天爽天天摸| 色九九九综合| 直接看的AV网站| 国产免费性爱| 狠狠狠五月婷婷六月丁香| 99热综合| 热的国产,热的综合,热的有码| 99人人干| 永久无码色| 亚洲丁香五月| 色999亚洲人成色| AV色婷婷| 人草人人| 婷婷99丁香| 思思热99热| 色婷婷四色| 久久人人妻| 丁香五月综合久久综合| 欧美大道不卡| 五月丁香婷婷综合久久| 激情五月婷婷综合| 色婷婷91激情小说| 大地9中文在线观看免费高清| 思思99精品视频在线观看| CHINESE熟女老女人HD视频| 天天日天天干天天爱| 婷婷五月花| 丁六月激情| 亚洲操女| 激情99| 美女网黄| 国外亚洲成AV人片在线观看| 六月婷婷九月丁香亚洲综合| 蜜乳人妻一区二区三区| 超碰激情网| 91婷婷丁香五月天免费视频网站| 婷婷激情五月| 色婷视频| 欧美99热| 久草婷婷网| 熟女激情五月天| 97亚洲精品| 久久色五月| 色综合爽| 国产67194| 日韩激情人伦人| 粉嫩AV久久一区二区三区| 狠狠色噜噜狠狠狠狠综合| 涩涩涩五月天| 婷婷娌伦网| 天天插天天插天天插| 色婷婷aV四虎| 婷婷成年人免费视频| 蒲京久久无码视频| 99热国产这里只有精品| 久久久精品视频79| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 天天射影院| 天天做天天视天天谢| 婷婷五月,综合伊人| 久操97| 婷婷丁香六月影视| av最新在线| 色狠狠色| 色丁香婷婷| 九九黄色网| 激情综合五月丁香六月婷婷| 亚洲激情av| 色婷婷a三区麻| 五月丁香六月综合基地| AV亚洲在线| 日本99热| 精品99视频| 东北婷婷五月天| 五月综合激情| 久久综合9| 99超级碰免费视频| 久久精品永久免费| 久久婷婷五月天| 爱狠射| 欧美精品999| 久久这里有精品视频| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 五月丁香啪啪网| www.婷婷五月天.com| 亚洲综合干| 9|在线观看视频| 99热思思| 国产无套精品一区二区| 婷婷五月激情网| 久99久热只有精品国产99| WWW.99热| 五月丁香久久呀| 色五月美女| 色噜噜狠狠色综无码久久合欧美| 婷婷色导航| 精品人妻一区| 亚洲六月婷| www色婷婷久久综合久色| 影音先锋一区二区三区| 婷婷视频在线碰| 婷婷爱五月天| 亚洲六月婷婷| 韩国情人在线电视剧免费观看高清版全集| 黄网网站在线播放| 铁牛TV人妻| 国产中文字幕在线视频免费观看| 操大屄五月天视频| 丁香五月五月婷婷欧美大香蕉| 日本狠狠干| 91狠狠综合久久| 国产色网站| www.狠狠操| 天天日本夜夜谢| 夜夜综合色| 久久人妻视步| 五月天网站免费欧美| 五月花激情| 色狠狠色噜噜AV天堂五区消防| 婷婷 激情 五月| 天天爽—爽| 日本美女天天日天天爽| www。五月天。com| 天天操天天日天天爽| 丁香五月天欧美在线| 六月婷婷日| 精品成人无码A片观看香草视频| 呦呦v线| 五月婷丁香亚洲| 亚洲欧州色情在线观看| 五月激情四射网站| 99爱视频| 伊人九九九久| 亚洲最大视频| 色婷婷综合网站| 久草热8精品视频在线观看| 午夜一区| 成人无码髙潮喷水A片| 婷婷综合中文| 午夜av网| 99精品国产在热久久婷婷| 激情婷婷综合网| 六月婷婷久久| 五月天激情黄色小说在线观看 | 91|九色|动漫| 天天日天天添| 99热这里只有精品69| 婷婷五月花西瓜| 久久婷婷婷婷伊人| 99久久久| 色综合色综合网| 九九香蕉网| 五月丁香六月激情| 狠狠干在线| 久久丝丝热| 婷婷五月天性| 婷婷涩涩五月天| 99色综合网| 欧美搡BBBBB摔BBBBB| 99综合色色色| 91玖玖| 欧美一区二区三区不卡影视| 久久机热这里只有 | 色综合久| 成人无码精品1区2区3区免费看 | 天天操天天日天天操| 91玖玖| 26uuu在线观看| a久久| 精品五月花| 久久综合中文| 激情五月婷婷色播网| 狠狠干婷婷| 日韩五月婷婷久久| 色婷婷五月综合在线| 春色激情第四色| 综合一区二区三区| 男人大jjc女人免费视频| 久re热视频| www.婷婷网| 激情综合五月婷婷| 欧美精品在线观看| 六月丁香婷| 五月天色丁香| 久久538| 开心久久网婷婷| 婷婷激情五月天在线视频| 激情网婷婷婷| 色色五月婷婷| 亚洲在线播放| 九九久久99| 这里只有精品免费| ′久久99一| 亚洲夜夜操| 婷婷99狠狠| 婷婷五月激情图片| 色婷婷视频| 国产成人网| 丁香玖玖视频大全| 99热这里只要精品免费| 99热久久这里只有精品| a网站免费观看| 五月婷婷视频| 97操在线资源| 五月婷婷久久激情 | 五月丁香六月在线| 91九色丨国产丨爆乳| 直接看的AV| 91国产精品视频播放| 伊人丁香五月| 午夜爱爱爱成人| 五月婷婷婷婷| 日韩xx在线| 伊人9999| 99爱操| 99re这里有精品手机在线| 丁香五月婷婷基地| 天天激情5月天亚洲| 色婷视频| 可以免费观看的AV| 人人爽人人射-美女久久久久久久久久-成人AV | 色六月婷婷| 色五月欧美| 欧美色婷婷| 人妖色AV色综合| 亚洲成人五月| 激情伊人网| 九色啦蜜臀| 1区2区视频| 五月天婷婷丁香导航| 在线看av| 九九热婷婷| 六月丁香婷婷综合狠狠爱夜夜爱| 亚洲婷婷欧美婷婷| 久9热视频| 综合99综合久久久久久久| 精品牛仔裤超碰| 久久草大香蕉| 91婷婷在线| 久久九九免费视频| 天天肏高清在线| 色99亚洲| 99热在线观看| 久色中文| 亚洲AV电影av| 久久精品人妻| 91精品婷婷国产综合久久| 亚洲丁香花色| 翔田千里aV中文字幕| 六月五月婷婷| 婷婷丁香综合| 天天摸天天肏| 久久精品视频99| 91精品综合久久久久久五月丁香| 色99久草在线| 久久视频婷婷| 99热大全在线观看| 色婷婷性爱网| 丁香婷婷激情| 色色网站免费在线视频| 99色中文| 丁香五月天婷婷久久综合| 婷婷丁香五月天之开心少妇| 欧美影院| 超黄亚洲瑟瑟网站| 丁香六月天婷婷| 九九色综合网| 亚洲五月婷天天操| 天天网曰日曰夜夜综合永久免费| 亚洲无码99| 丁香五月婷婷婷婷欧美综合| 美女久久天堂| 综合色色网| 麻豆123区| 97亚洲婷婷| 国外亚洲成AV人片在线观看| 婷婷激情五月天在线| 99人碰碰碰| 日本色色色| 爱草人视频| 99热热九九| 97爱艹婷婷开心丁香激情综合| 狠狠干天天内射| 人人色人人弄人人操| 日本色综合| 狠狠干天天内射| xxxx五月天色色| 丁香婷婷大香蕉| 久久人人妻| 婷婷五月天.com| 偷拍99在线视频观看| 人人操av| 深爱五月天 开心网| 亚洲最大在线| 少妇被躁爽到高潮无码文| 伊人色欲五月天| 久人人操| 婷婷久久五月| 色停停五月天| 久久九九re热| 亚洲乱码日产精品BD| 激情四射五月天| 五月婷婷影| 九月色婷婷综合亚洲| www.激情五月| 色色热| 五月六月激情| 婷婷五月激情片| 五月丁香A片| 人妻aV在线| 色色色香蕉五月婷| 99色在线视频| 五月香婷婷| 婷婷成人视频| 99re这里只有精品国产99| 97日在线视频| 国产美女主播vip| 国产精品成av人在线视午夜片| 99在线观看| 99视频内射三四| 婷婷在线播放| 婷婷玉月丁香五月在线视频| 99热这里在线精品| 午夜成人天堂久久无码日韩久久| 成人AV网站在线| 精品自拍99| 91se精品国产| av高清无码| 色婷婷成人做爰A片免费看网站| 97久久人人| 先锋资源91| 色五月综合网| 台湾综合丁香五月蜜桃| 亚洲色情久久| 亚洲色综合| www.色五月| 草草视频91| 色噜噜五月天| 五月天综合色| 日日噜噜久久婷婷五月天| 人人操婷婷| 五月丁香婷久久| www.99.色| 婷婷五月天av| 六月婷婷综合| 五月丁香六月色| 99综合网| 噜噜色噜噜网| WWW,五月| 欧美99热| 天天色天天操天天射| 日韩另类| 精品国产一区二区三区四区阿崩 | www.五月天色色.com| 91色噜噜狠狠狠狠色综合| AV在线大香蕉| 婷婷丁香六月综合激情站| 婷婷五月天成人娱乐| jiujiu无码五区| 九九激情综合| 丁香五月天天哦| henhencao国产在线| 丁香六月爱综合| 久热视频这里只有精品| 婷婷五月天日本无码| 婷婷国产日本欧美| 五月婷婷手机在线| 五月综合缴情网| 天天日天天爽| 99色性爰网络| 成人超碰网| 综合 蜜月 婷婷| 久久激情五月婷婷| 激情久久四色| 99青青草| 99热费观看| 色五月天激情| 色五月激情网| 婷婷五月综合在线| 激情欧美五月丁香| 大香蕉久久视频久久视频| 激情丁香久久| 色色是色N一| 久久婷婷色色| 色999;丁香五月| 五月天天天综合| 久久免费视频62| 天天色综合色| 丁香婷婷情色五月天| pom538精品视频| 五月天社区| 国产国产乱老熟女视频网站97| 日韩AC在线免费观看| 日韩精品99久久| 丁香五月天在线观看视频| hd五月婷婷在线| 五月天天综合| www激情| 激情婷婷。| 丁香婷婷久久| 久久婷婷六月综合综合色| 99热6精品| 97婷婷五月丁香| 《诡秘之主》在线观看| 五月婷婷六月丁香激情| 丁香六月欧美| 91亚洲天堂| se99在线| 色综合色色色| A片试看120分钟做受视频红杏 | 99自拍视频网站| 丁香五月激情无码视频| 俺去也婷婷| 综合色吧| 新激情五月天色播| 99免费在线视频| 激情综合色婷婷啪啪六月天| 99久久思思| 97色在线| 激情五月婷婷视频一区二区三区| 欧美婷婷五月激情| 久久婷婷热| 丁香五月开心七月| 婷五月天天| 色五月成人| 精品热九九| 久久激情婷婷| 五月婷伊人| 久久色9| 婷婷激情五月天桃花网| 美臀自射自家人妻| se99视频| 五月综合激情| www.六月丁香看AV| 99热在线观看| 只有精品视频在线观看| 九九AV在线| 色五月婷婷激情基地| 综合五月天亚洲婷婷| 五月天最新网| 少妇高潮A片无套内谢麻豆传| 在线中文字幕视频| 国产婷婷色综合AV蜜臀AV| 亚洲精品无AMM毛片| 九九热只有这里精品| 色婷婷丁香| 久久久宗合| 婷婷久久精品| 激情九色| 五月丁香啪啪网| 一区二区三区四区牛| 常久最新免费的色吊丝| 欧美五月停| 色欲日日躁| 婷婷五月天色播| 丁香婷婷综合喷| 欧洲亚洲免费视频区| 26UUU精品一区二区| 综合网色| 九月丁香| 99久久婷婷国产综合精品草原| 婷婷丁香五另类网站| 激情久久网 | 久超超碰| 99爽视频| 六月丁香婷| 全亚洲最大的婷婷五月天网站COM 丁香五月婷婷狠狠色 | 激情开心五月婷婷| 色综合色色| 亚洲99热| 婷婷激情社区| 综合亚洲AV| 五月丁香成年黄色| 日本婷久久| 啪啪啪大香蕉| 欧美成人Va| 图片区 小说区 区 亚洲五月| 五月丁香婷色| 天天爽天天| 春色激情第四色| 人妻有码乱操| 狠狠色综合网| 91精品国产色猫| 亚洲狠狠干| 爆乳熟女一区二区三区爆乳| 99.N在线视频| 91九色在线| 97色色视频| 99性感视频| 9 1在线视频| 97人人操人人干| 欧美99热| 狠狠色婷婷综合开心影视| 亚洲色情免费网| 色婷婷亚洲婷婷| 五月天精品综合在线| 超碰京东热av男人的天堂| 久久免费操| 亚洲欧洲色色| 五月丁香 狠狠爱| 色偷偷色婷婷| 五月婷婷激情网| 在线观看免费观看在线9久| 性爱视频99| 大香蕉九九| 成人在线综合| 亚洲色情免费网| 色婷婷色综合| 丁香五月天啪啪| 久久成人天| 超碰二区| 岛国在线观看91| 亚洲婷婷五月天| 丁香婷婷五月天亚洲| 九月性爱网| 人人摸人人搞| 国产乱码久久| 一级片操逼视频| 91ncm视频| 99 这里只有精品| 婷婷五月综合色拍| 七七婷婷综合| 99视频久久| 色情免费视频播放| 五月玖玖| 国产人妻777人伦精品HD| 六月丁香激情网| 丁香五月 综合| 20253AV| 99亚洲精品| 手机AVAV天堂看网| 日本久热| 精品一二三区久久AAA片| 久久超级碰碰| 婷婷五月天另类网站| 六月婷婷天天操夜夜爽视频| 99在线免费视频播放| 玖玖99免费视频| 天天爽天天干天天| 色碰干| 99国产精品久久久久久久久久久| 狠狠干天天日| 五月天婷婷成人资源站| 色波激情五月天| 久久色五月| 91色色色视频| 欧美大肥婆大肥BBBBB| 五月天开心色情网| 九九性视频| 夜夜大香蕉婷婷丁香| 噜噜在线| 日韩人妻无码精品| 色XX综合网| 五月婷丁香亚洲| 51成人| 久久久久婷| av超碰在线| 日本V在线观看不卡视频网站| www久久99| 久久这里99| 91|九色|动漫| 国产在线激情视频| 婷婷五月花| 五月色综合| 另类在线| 亚洲永久免费| 亚洲最大在线| 九九热精品在线| 99热6色| 任你草| 激情六月丁香综合| 九九热这里只有精品556| 综合久久9| 任你搞网站| 2016日日夜夜操| 五月丁香婷色| 五月婷婷,六月婷婷| 超碰啪啪网| 99在线精品免费视频| 综合久久综合久久| 8区视频在线| WWW.婷婷五月天.COM| 99超级碰碰| 精品成人在线观看| 中文字幕av在线| 91在线日| 九九热精品| 久久hd| 婷婷亚洲五月色综合| 五月天丁香啪啪综合| 久久精品爱爱| 婷婷色综合| 精品视频99看在线视频| 丁香 婷婷五月| 日日爱678| 色A网| 五月婷深深爱激情网| 六月丁香激情综合| 色婷婷社区| 狠狠草婷婷| 婷婷深爱网| 五月天啪啪啪| 婷婷五月天国产在线播放| 色丁香五月| 天天操天天曰| 色婷婷小说| 五月天色色色网| 成人毛片在线免费观看| 久久激情五月天| 婷婷久久午夜网| 五月丁香六月婷婷婷婷| 婷婷五月色播放| 丁香花五月天激情| 热久国产| 激情五月婷婷综合| 97色碰| 99在线精品免费视频| 五月丁香网站| 色狠狠色噜噜AV天堂五区| 五月停性愛| 69综合在线| 天天干,天天舔| 五月丁香亭亭天天舔| 天天射综合网夜夜操| 色五月涩涩婷婷| 久久97| 色婷婷成人做爰A片免费看网站| 九日日夜夜69| av色婷婷| 婷婷激情五月天亚洲综合| 欧美色性色好| 色综合久| 丁香五月婷婷婷桃花影院| 久久婷五月| 视色网在线播放| 夜夜夜叫天天天做| 99热免费精品| 97人人超| 欧美日综合| 狠狠色九月| 91丨九色丨丰满人妖| www.日韩艹| 另类综合激情| 亚洲AV影片在线观看| 婷婷内射视频在线| 人人添人人| 久久 婷婷 五月天| 99色综合| 99视频在线观看网址| 色插综合网| 爱婷婷五月| 五月天婷婷在线播放| 成人αV视频免费观看| 超碰人人摸AV| 六月丁香花婷婷| 日日操日日撸| 日本少妇裸体做爰高潮片| 色碰干| 热99热9| 色情综合| 久久中国毛毛片爱久久| 精品九九在线观看| 成人综合AV| 97亚洲精品| 狠狠爱丁香婷| 激情五月少妇| 在线视频你懂得| ztEJj| 就要爱综合| 狠狠干综合网| 婷婷九月久久| 五月婷婷六月丁香综合视频在线| 丁香五月天狠狠| 五月婷婷色色爱| 色黑鬼导航| 婷婷亚洲综合| 丰满少妇猛烈A片免费看观看| 欧美啪啪9| 夜夜躁爽日| 日韩熟女啪啪视频| 99热这里只有精品在线免费| 五月婷婷福利| 国产精产国品一二三在观看| 婷婷五月播| 婷婷九月亚洲| 五月天大香蕉av| 精a品a视a频| 天天摸天天透天天舔| 色色五月天 亚洲| 五月婷人妻| 婷婷五月激情中文字幕| 9操在线| 超碰在线观看9| 99 福利 导航| 丁香激情六月天婷婷| 91久久色| www激情网站| 人人爱摸视频| 九九色院| 久艹大香蕉|