99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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热这里只有精品在线播放 | 六月色播| 嫩草综合网| 日韩AV免费电影在线播放| 色小说五月天| 无码中文一区二区三区| 国产色五月| 日韩三级视频一区二区| 一起草AV入口| 五月天婷婷久久视频| 丁香五月天五码婷婷| 玖玖九九9999在线观看视频精品| 五月停亭六月,六月停亭的英语| 色五月 激情婷婷 综合五月天| 亚洲色图啪啪| 婷五月天影院| 被强行糟蹋的女人A片| 丁香五月天激情小说| 亚洲av网址| 国产成人精品一区二三区熟女在线 | 五月天色婷婷综合| 五月婷久久在线| 91成人看片| 欧美人与性动交CCOO| 亚州操人在线视频| 色婷婷久久综合丁香五月| 香蕉国产2013| 色欲影香| 激情99热| 久久亚洲无码| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 五月天大香蕉| 六月婷久久| 丁香五月婷婷av影院| 婷婷色色五月天| 九九热思思| 五月丁香六月婷婷中文版| 9有码中文| 五月丁香婷中文| 婷婷天堂视频| 欧美三级黄色片久久| 超碰天堂网| 色播播五月天| 性做爰1一7伦| 综合狠久久| 97色色色| 国产成人精品一区二三区熟女在线| 九九热精品视频在线观看| 亚洲激情网站| 欧美五月丁香| 日韩综合久| 五月丁香六月婷婷亚洲| www、色色色| 欧美va亚洲va在线播放| 天天爱天天做天天舔| 色九网| 男人天堂 久久| 色在线免费观看| 少妇熟女视频一区二区三区| 2050人人操免费工开爱| 久久精品噜噜噜成人A∨色欲| 天久综合91综合首页| 色婷婷五月天| 国内9l视频自拍老熟女九色| 色婷av| 国模九区| 亚洲第一成人无码A片| 亚洲成片在线观看| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 亚洲成Av人片乱码色第1集| 婷婷激情五月天桃花网| 91精品婷婷国产综合| 免费在线a| 五月天激情亚洲| 99色在线观看视频者| 人人操9| 超碰cap| 欧美搡BBBBB摔BBBBB| 精品影院| 日本久久超碰| 色婷婷中文字母五月丁香| 欧洲激情网站| 婷婷六月丁| 五月丁香六月激情| 国产欧美精品AAAAAA片| 色九九一二| 色噜久| 婷婷丁香成人五月天| 草榴视频网| 久9精品视频| 丁香婷婷性爱| 五月婷婷婷婷婷| 99热这里只有精品3| 成人在线综合| 操大屄五月天视频| 久久婷五月天| 51avj视频大全| 五月天综合久久| 久久 婷婷 五月天| 婷婷五月天综合亚洲| 5Www色5夜| 激情综合网五月| 九九re精品视频在线观看| 五月婷丁香花| 五月天丁香久久| 另类激情码| 日本一级一级一级一级| 五月婷婷激情四月| 99超级碰免费视频| 久久精品系列| 人人操人av| 天天干com| 久99久精品视频| www.狠狠| 色五月婷婷综合在线| 玖玖资源站国产| 久久久久久丁香五月| 97香蕉久久超级碰碰高清版| 天天操天天国产三级片处女学生妹| 五月婷婷黄| 99热免费网站| 五月欧美丁香在线观看| 99视频只有精品| 爆乳熟女-区二区三区| 亚洲综合1024| 丁香五月婷婷偷拍| 丁香五月久久社区| 性色播| 中文字幕 中文字幕明步| 成熟妇人A片免费看网站| 亚洲操B视频| 天天日夜夜夜操操操操| 久综合网| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 激情综合在线观看| 开心激情婷婷| 色婷婷五月影视| 色婷婷五月基地在线| 五月天开心网| 久碰综合| 天天射影院| 大香伊人久色| 综合色综合| 天天玩夜夜操| 天天日日人| 婷婷久久精品| 91九色国产| 天天日夜夜爽| 99在线热视频| 五月丁香91| 99只有精品9| 97婷婷丁香| se99视频| 久久超级碰视频| 婷婷五月花西瓜| 1000部毛片A片免费观看| 亚洲AV日韩无码| 久久婷婷亚洲| 成人片在线播放| 狠狠人妻色综合| 9热久久在线| 天天天天天天天操| 五月丁香天堂| 99热在线免费| 中文精品在| 成人婷婷| 99这里只有精品国产| 婷婷综合网站| 夜夜撸天天日| 热久国产| 99热国产精品| 99久re热视频精品98| 五月天婷婷久草丁香| 欧州色色| 中文字幕在线资源| 午夜不卡久久精品无码免费| 婷婷五月天综合色| 久碰久操| 色色色五月天婷婷| 久久久久婷婷| 九九九九这里只有精品| 精品久热| ady狠狠入| 婷婷五月天天爽| 丁香五月中文字幕| 亚洲av另类在线观看| 国产VA亚洲VA96| 91色在线 | 日韩| 婷婷在线免费| 777色色色| 91人人爽狠狠狠| 四LLL少妇BBBB槡BBBB| 丁香婷婷婷五月| 99久久精品国产色欲| 操碰91| 五月丁激情| 亚洲综合欧美色丁香婷婷888月图片| 五月丁香婷婷欧美| 日批在线看| 99精品偷拍视频| av人人干| 婷婷五月天AV在线| av操一操| 婷婷综合在线观看视频| 夜夜操夜夜爽| 成人亚洲精品| 99热久97| 思思热久久婷婷五月天| 丁香五月天在线观看视频| 国产精品扒开腿做爽爽爽A片唱戏| 可以看的av网站| 亚洲精品网站色视频| 97干在线视频精品店| 五月色色网| www,婷婷五月天,com| 色综合色五月| 91互操| 婷婷丁香日韩五月| 精品色色| 亚洲综合五月天| 五月丁香香蕉| 激情深爱五月| 人人爽欧美婷婷久久久五月丁香 | 亚洲色婷婷五月天| 伊人久久艹| 国产裸舞表演WWWW| www色五月天| 性爱AV天堂| 色综合香蕉| 一本色道久久88加勒比| 中文字幕日产A片在线看| WWW,五月| 色情五月婷| 色色A| 人人视频色| 丁香五月成人论坛| 思思99精品视频在线观看| 亚洲免费观看高清完整版AV线| 九九九九操逼| 教师性爱毛片| 五月丁香综合网| 偷拍丁香九月激情| 男女av免费看| 久草婷| 青青久在线视频免费观看| 亚洲第一综合| 97在线99| 东京热人妻一区二区三区在线| AA片在线观看视频在线播放 | 色九九综合| 九九热在线99| 99乱视频| 六月激情婷婷| 精品色色| 日本91在线播放| 九九九九精品精| 亚洲无AV在线中文字幕| 久久婷婷网址| 99超级碰碰| 色99婷婷五月天| 99ri视频在线观看| 亚洲av成人在线| 好看的国产精品| 免费观看亚洲AV片| 插插插色综合网| 99re这里只有精品在线观看| 思思热在线| 九九热99熟女| 六月丁香啪啪| 亚洲啪| 操逼综合网| 操碰久| 丁香婷婷黄网站| 性韩日色婷婷五月天激情啪啪XXX| 天天操天天日天天爱| 激情另类综合| 色五开心五月五月深深爱| 亚洲激情精品| 9久精品视频| 操99| 青青草原爱爱网| 久久五月婷婷丁香| 日本在线免费中文com.| 欧美成人性爱网| 成人五月天丁香| 五月天精品| 99热最新国内| 中文字幕成人| 99免费视频网| 九九在线视频| 色噜久| 超碰国产在线| 99国产这里只有精品| 狠狠狠狠狠狠色| 激情丁香五月天| 香蕉AV777XXX色综合一区| 久热a| 五月丁香成人网| 91欧美| 成人无码精品1区2区3区免费看| 亚洲中文AV网站| 综合大香蕉| 婷婷丁香成人网址| 操操啪| 色色综合院| 开心激情色婷婷五月天| 五月丁香婷草| 日本丰满久久| 视频这里只有精品16| 婷婷社区五月天| 爱射综合| 色九九综合| 婷婷九月丁香久久| AV电影在线播放| 久久婷婷亚洲无码一起| 丁香五月停停av| 丁香五月婷婷六月| 欧美网站视频4399| 天天爽,夜夜爽| 97人人干| 五月天无码| 激情五月天综合网| 综合激情九月婷婷,激情综合婷婷中文字 | 狼人婷婷久久| 深爱婷婷网| 在线观看国产高清视频免费网站| WWW,激情五月天,COM| 日本天天色| 1024在线一区| 九九爱看亚洲| 欧美日韩精品人妻狠狠躁免费视频| 五月天天堂久久| 五月婷婷色激情| 国产毛片精品一区二区色欲黄A片| 婷婷综合色图| 91久久| 九九精品re免费视频| 日日干天天| 91丨九色丨老熟女激情| 深爱五月最新网址| 综合久久婷婷99| 五月在线婷色| 欧美顶级少妇做爰HD| 久久婷.com| 噜噜狠狠色| www.色欲丁香婷婷| 五月天激情www| 亚洲99精品九九在线| 五月婷婷久久开心网| 99欧美| 欧美 日韩 成人在线| 色色色99| 99热偷拍| 99热婷婷| 丁香五月六月欧美| 国产探花一片区| 青青草激情网| 丁香五月开心亚洲| 欧美25p| 九九色中文| 91精品丝袜久久久久久| site:xmssd.com| 久久机热/这里只有精品| 99色色网| 亚洲中文字幕在线观看| 六月五月婷婷| 丁香五月天狠狠操| 丁香五月影院| 亚洲九九免费| 超碰啪啪网| 六月合五月婷| 久久伊人9| 91操在线视频| 五月婷婷少妇之| 色婷婷丁香花五月天| 五月涩涩网| 欧美一黄一色一乱一伦| AV在线大香蕉| 天天天天天操| 色综合香蕉| 九九99九九99九九99视频网| 26uuu四色| www99精品日韩| 婷婷天天日婷婷| 国产免费av在线| www超碰| 中文久久久人妻| 97碰碰九九视频| 亚洲激情综合| 婷婷综合五月天激情| 久久婷婷一级片| 天天日天天草| 深爱五月激情网| 五月停视频天堂| 狠狠狠狠狠干| 激情久久天天| 97色婷婷五月天| 另类图片五月天| 蜜乳中文字| 色色色综合色| 色综合77777| av在线免费网站 | 伊人婷婷综合| 色婷青青| 五月天色区| 婷婷五月天亚洲综合| 97色色婷婷五月天| 淫视馆av三区| 操一区| 婷婷色五月在线视频| 99精品热| 五月天丁香欧美激情| 六月激情婷婷| 色99自拍| 婷婷色五月色| 森林影视大全,最好看的2019年视频 | 婷久久| sewuyuejiqingwang| 久久久欧美精品sm网站| 亚洲AV久久久久久久久久久久久久久久 | 国产激情综合五月久久| 99色热视频| 操逼毛片国语对白| 婷婷丁香色性爱| 婷婷激情四射| 狠狠干综合| 激情www| 午夜性爱影视一区77| 久久总和99| 婷婷性爱五月天丁香网| 一本大道伊人AV久久综合| 五月综合激情| 久久综合影院 | 激情图片婷婷| 另类图片激情五月天| 婷婷激情人妻| 99久精品视频| 67194中文字幕| 有码一区二区三区| 玖玖99婷婷| 中国丰满熟女A片免费观| www.99热在线观看| 69色婷婷| 婷婷激情五月| 亚洲九九视频| 欧美激情VA永久在线播放| 色婷婷六月天在线| 亚洲精品五月| 久久66成人网站| 五月丁香六月婷婷综合伊人| www.日日夜夜| 天天操天天谢| 九九热这里只有精品31| 永久AⅤ1| 日韩aaa| 丁香六月婷婷激情| 色爱亚洲| 五月天婷综合| 亚洲精品电影| 欧美色五月| 亭亭玉月丁香| AA片在线观看视频在线播放| 五月丁香亭亭激情操逼网| 91久久精品国产91性色TV| 99精品偷自拍| 婷婷丁香六月天| 伊人婷婷福利网| 91九色PORNY肉丝在线| 亚洲AV在线免费看| 午夜福利8055| 五月婷婷偷拍| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 五月婷婷丁香在线| 色爽九九| 97香蕉碰碰人妻国产欧美| 性爱久久| 五月天丁香久久综合| 99热午夜精品| 丁香五月综合激情性爱| 久久久久妻| 99热99ai| 天天舔天天摸天天透| 亚洲亚洲永久无码777777| 五月婷亚洲精品| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 26UUU一区二区| 操比激情五月| 丁香五月激情棕合| WWW.五月天9999| 精品色色| 九热精品| 激情网婷婷五月天| 思思久日精品视频| 中文aV网| 五月天婷婷自拍图片在线观看| 九九色院| 一区二区三区四区牛| 婷婷99狠狠躁天天躁| 久久免费操| 日日日日操| 五月婷人妻| 亚洲综合色色| 亚洲AV网址| 91综合在线观看首页| 九九99久久精品| 这里只有精品免费视频| A片一曲| 丁香五月天AV| 天天爽日日爽夜夜爽| 五月天小说激情| 成人短视频在线观看| 激情文学第四色婷婷丁香五月| 欧美日韩一区二区三区四区| 激情五月丁香五月色| 99熟女| 五月激情六月宗合| 婷综合| 五月婷激情| 婷婷综合色播网| 互月天综合| 色婷綜合网| 婷婷五月天777| 99亚色色色| www九九热| 亚洲在线综合| 久久婷婷色| 午夜成人AV在线| 婷婷五月AV| 久久九九中文字幕| 激情综合九月| 色色色激情| 性爱先锋AV| 全亚洲最大的婷婷五月天网站COM 丁香五月婷婷狠狠色 | 俺也高清无码高清视频| 夜夜操,天天撸| 婷婷丁香色五月| 丁香五月婷婷色播艳门照| 久久这里只有精品16| 色 五月婷婷基地| 热久久视频99| www,26uuu,c0m,色情| 国产精品热搜丁香五月婷婷| 激情五月色播五月| 91婷婷色 | 久久五月丁香| AV在线大香蕉| 九九色综合九九色| 激情五月天网站| 欧美成人精品三区综合A片 | 26uuu亚洲色| 思思w99| 国产色五月| 九九热99热| 天天插天天插| 99热亚洲| 99欧美热| 美女黄频aⅴ视频| 国产 码在线成人网站| 只有精品视频在线观看| 久久这里只有精品视频26| 99综合激情久久精品久久| 26uuu亚洲欧美日本| 99色视频| 九九香蕉网| 五月久久丁香| 97色婷婷五月天| 免费AV黄在线播放| ji'qi'luan'ren'lun| 欧美 日韩 成人| 六月婷婷开心| 99婷五月| 婷婷六月啪啪| 日日激情网| 人人爱摸视频| 成人做爰A片免费看视频| Av中文在线| 久久丁香五月| 色亚洲婷婷| 色色亚洲五月天| 免费观看的av| www.1024久久| 婷婷丁香视频在线观看免费| 亚洲热久久| 综合激情五月丁香| 丁香五月停停av| 99福利导航| 丁香五月狠狠综合欧美| 亚洲熟妇无码乱子AV电影| 激情图片五月天| 香港九九六区八区99| 玖玖99免费视频| 色婷婷六月| www.99热这里精品| 色国产五月| 日日干日日| 无码人妻AV久久久一区二区三区 | 亚洲亚洲人成综合网络| 9热在线观看| 五月丁香六月婷婷在线小说视频| 99热成人| 99热有精品在线观看| 成人午夜无码视频| 亚州操人在线视频| 久久精品国产一区二区三区四区| 五月丁香六月综合基地| 男人的天堂五月丁香| 亚洲色五月| 色九九九九| 天天干肏夜夜| 久久综合九九| 亚洲精品99| 这里只有精品1| 99热这里| 天天做天天爱天天搞| 激情六月丁| 日本三级成人秘书精品片| 婷婷综合网| 五月色综合| 亚洲超碰中文字幕| 岛国资源网| 五月天激情电影| 91久久免费| 激情丁香五月激情婷婷| 人人摸人人搞| 9有码中文| 俺去也五月| www五月婷婷| 草美女在线观看视频在线播放| 久草视频一,二三四| 超碰在线个人观看| 色色色色色爱| 狠狠婷婷色综合| 99在线免费视| 五月丁香婷婷啪啪| 人妻性爱av网站| 丁香九月久久| 天堂久久精品| 婷婷久月| 俺去也综合| 五月激情婷婷国产精品久久久久久| 丁香五月天天高清在线| 91精品91久久久久77777| 五月婷婷久久开心网| 人人摸人人| 欧美激情丁香五月| 中文字幕 中文字幕明步| 五月色婷婷影院| 色玖玖综合| 丁香婷婷超碰 | 九九九午夜视频| 婷婷五月天激情文学| 91九九九九九九| 婷婷五月天六月| 欧美日韩成人综合9| 五月丁香六月花| 色.五月综合网| 26UUU精品一区二区c〇m| 欧美日韩成卜| 色色cOm| 久草婷妨| 婷婷激情六月| 外国碰视频网站97| av色色国产| 五月天色播网| www.五月天| 色婷婷五月亚洲| 天天久久九九| 殴美日韩成人| 日本色道视频网站| 99在线免费视频| 五月丁香六月婷婷综合网| 日日操夜夜擼| 色综合激情| 伊人色综合久久久| 五月丁香啪| 婷婷日| 超碰免费人人肏| 婷婷五月天激情电影小说| 亚洲婷婷五月| 五月花婷婷| 久久这里只有精品无码| 日本久久极品| 91九色精品熟女内射| 丁香五月婷婷久久久| 午夜精品久久久久久久爽| www、色色色| 五月丁香六月激情综合| 狠狠爱综合网| 亚洲色情网站| 色婷婷丁香综合中文字幕| 色欲天天综合网| 另类激情五月| 天天色99| 丁香五月激情综合| 噜噜视频| 狠狠色婷婷在线| 激情五月天天| 91人妻人人做人碰人人爽九色| 第二色AⅤ| 99草在线免费观看视频| 日本99久久| 日日射天天射| 久久激情五月天| 97在线观视频免费观看| 七七色色综合| 四五月婷婷| 色在线99| 丁香五月五月婷婷欧美大香蕉| www.五月天婷婷| www.av视频xx999.com| 操草草草| 性爱久久| 欧美激情五月天| 男人天堂亚洲综合| 五月天社区婷婷丁香社区| 成人在线日韩| www.色婷婷| 六月丁香婷婷天堂| 色婷婷久久天天性爱| 少妇高潮呻吟A片免费看软件| 欧美成人日韩| 日本成人小说婷婷六月| 亚洲另类在线观看| WWW.久久99| 天天干,天天日| 五月天播播中文字幕| 婷婷五月天亚洲色| 日本啪啪网| 久久月天堂| 丁香五月天社区| 久久9精品视频| 丁香五月激情无码视频| 狠狠夜夜五月丁香| 九色91国产| 超碰五月婷婷五月天| 天天综合精品| 六月丁香激情网| 亚洲激情网| 五月四色婷婷| 99高级会所久久| 67194成I人在线观看线路1| 一级韩国产精品毛| 日韩av手机在线观看| 丁香色婷婷五月天| 99re视频在线播放| 97热这里只有精品| 五月天深爱激情网| 五月综合六月丁| 秋霞电影一级黄| 99精品久久久| 亚洲天堂大香蕉| 91精品国产色猫| 久热伊人91| 狠狠干狠狠干| 日韩成人电影AV| 99视频久久| 99热在线看片| 99精品无码| 婷婷开心五月| 激情五月婷婷六月丁香| 99热这里只有精品最新网址| 婷婷五月色丁香在线看| 婷婷天天综合| 26UUU在线观看| 爱草视频在线观看| 深爱开心激情网| 狠狠色情婷婷| 色综合性视频| 五月天婷婷色小说| 五月综合亚洲婷婷| 天天透天天摸天天舔| 99在线视频在线观看| 日日干日日s| 开心婷婷五月花| 国产六月婷婷| 天天综合亚洲综合| 日韩色情亚洲五月天婷婷| 伊人五月网| 99热精品6| 天天爽日日爽夜夜爽| 丁香成人色情五月天| 这里只有精彩亚洲视频推荐| 五月天综合婷婷| 五月天综合在线观看| 亚洲第79页| 五月婷婷五月丁香| 91丨九色丨熟女丰满| 亚洲综合色色| 婷婷五月天久久久| 色伦专区97中文字幕| 激情五月黄色| 九九热99精品| 色老久久| 激情图片亚洲| 天天噪夜夜爽| www.亭亭五月天| 79精品视频在线观看,| 日韩精品一区二区亚洲AV观看 | 开心激情婷婷| 丰满少妇猛烈A片免费看观看| 五月伊人91| 男人天堂AV在线一区二区| 黄色片精品| 99热只有精品综合| 九九一综合精品| 亚洲第一精品网站| 黄色一级影片| 久久9视频| 婷婷五月激情四射手| 99热久久日本| 亚洲操人| 26UUU在线观看| 高清无码视频网址| 日夜操B| 人妻丰满精品一区二区A片| 五月做爱| 久久综合综合久久| 狠狠草婷婷| 99热精品中文字幕| 日韩成人精品中文字幕| 99ER热精品视频| 五月丁香婷婷激情四射迷人| 五月婷婷啪啪| 五月丁香婷在线| 97热这里精品在线视频| 色婷婷丁香五月| 婷婷伊人综合| 久久九九网| 99热这里只有精品2024| 91人操人人人操人| 狠狠精品干练久久久无码中文字幕| 91丨九色丨首页| 国产 亚洲 在线| 欧洲综合色| 玖玖色综合网| 婷婷五月丁香综合亚洲| 青青草原亚洲天堂| 日日肏天天操| 色综合丁香| 精品视频二级九九| 97操操| 狠狠色丁香久久婷婷综合五月| 激情久久肏屄视频| www.金莲av| 色婷婷香蕉| 六月婷婷久久大全| 9999久久久久| 婷婷刺激综合| 亚洲99视频| 色五月成人| 综合久久十| 六月婷婷六月天天在线免费| 天天舔天天摸| 懂色av粉嫩av蜜臀av| 日韩欧洲亚洲| 久草热视频在线观看| 99精品免费| 天堂资源欧日浪女在线播放| 久久久精品人妻录| 超碰国产在线| 日本啪啪网| 日本五月天一页| 极品人妻VIDEOSSS人妻| 国产91视频| 婷婷五月丁香六月| 爱99干99| 五月婷婷在线视频免费观看| 色婷婷偷拍| 色婷狠狠| 天天色天天爱天天爽| 91狠狠综合久久| 六月久久婷婷| 九九视频在线观看| 欧美天堂婷婷日韩| 色综合久久88色综合天天人守婷| 精品人人操| 精品九九网| 五月婷婷在线观看| 国精产品一区一区三区免费视频| 99久久亚洲精品视频| 99这里有精品视频| 成人在线免费网址| 99精品久久久久久久婷婷久久| 五月天久久久| 九九国产视频| 丁香五月中文字幕| 激情綜合網址| 网站免费一站二站| 婷婷五月丁香激情图片| 996热re视频精品视频这里| 九九热精品| 影音先锋按摩| 午夜大香蕉| 99re免费精品视频| 亚洲av网站在线观看| 久人操| 美女五月狠狠| 亚洲成Av人片乱码色第1集| 人妻久久久久久久久久| 激情五月丁香五月综合| 国产精品国产VA片国产| 国产精品第一国产精品| 天天操天天操综合| 老师的粉嫩小又紧水又多A片视频 粉嫩AV久久一区二区三区 | 狼人久草| 欧美激情 日韩无码 婷婷 五月天| 99热这里只有精品3| 九九aV| 久99久在线| 五月婷婷激情| 日本色婷婷| 怡红院 久久| 狠狠操天天干| 久久AAAA片一区二区| 五月香婷婷| 天天摸天天舔天天爽| 全部老头和老太XXXXX| 精品无码人妻一区| 五月综合激情啪啪啪啪啪| 另类图片婷婷五月天| 亚洲av另类在线观看| 色99热| 9久9久| 激情六月天婷婷| 在线观看的av| 婷婷亚洲综合| 五月天影院婷婷在线观看| 亚洲网在线观看| av五月天婷婷丁香| 丁香五月婷婷99| 九九AV在线| 亚洲性受XXXX五月丁香| 欧美大肥婆大肥BBBBB| 99视频精品8| 97色碰碰公开视频| 婷婷成人AV| 99在线观看| 亚洲精品V天堂中文字幕| 五月色俺婷婷| 婷婷五月中文字幕| www.色婷婷| 五月婷婷 六月丁香| 亚洲在线网站| 久9无码视频| 丁香五月香蕉在线| 色情终和网| 九九热精品视频| 久久色情| 男女啪啪做爰高潮无遮挡| 开心婷婷五月天激情网| 久久99久久99精品免观看粉嫩| 久久免费精彩视频| 台湾佬天天日丁香婷婷五月天| www.爱婷婷.com| 色婷操逼| 婷婷激情五月天在线视频| 日韩久久日| 亲子乱AV一区二区三区下载| 婷婷丁香五月久久| 狠狠久久婷婷| 婷婷激情五月| 丁香六月在线| 国产中文亚洲欧美日韩性交| 日本性视频| 97色婷婷成人综合在线观看| 天天做天天爱天天爽在| 五月丿香啪啪| 国产成人网| 九九热这里只有精品6| 激情小说五月天社区丁香| 久久九九思思| 97精品综合| 丁香六月婷婷综合在线| 五月丁香啪啪网| 欧美一级毛卡片无码| 色色色无码| 天天做天天摸| 五月丁香综合激情在线观看| 91久久国产综合久久| 五月婷婷深深爱| 婷婷久久色| 亚洲丁香五月天在线视频| 黄色五月婷| 成人做爰高潮A片免费视频| 五月天综合网| 色五月色五天色情网| 色欲久久综合| 久久国产高潮白浆免费观看99| www色色色com| 无码髙清| 亚州AV超碰人人操| 99热这里在线精品| 久草五月天| 综合久久五| 热久精品| 五月色综合| 激情婷婷丁香色五月| 婷婷色在线| 91九色欧美| 五月婷婷啪| 日本五月婷婷久久久六月丁香| 91丨九色丨熟女丰满| 日韩av免费版| 色婷婷狠狠| 欧洲毛片基地c区| 天天爽天天爽视频| 九九九成人在线视频| 久久久精品视频79| 91久久综合亚洲噜噜成人在线| 丁香婷婷AV| 欧美激情五月天| 久久久婷婷婷| 热久精品| 俺也去在线视频 | aa久久| 久久精品女人天堂AAA| 五月激情四射网站| 欧美性猛交 XXXX 乱大交| 婷婷五月天影院| 久久久无码精品成人A片小说| 五月综合缴情网| 欧美五月丁香在线观看| 99色色热| 大香蕉九九| 激情综合在线观看| 在线超碰91| 天天综合网色欲香| 五月天啪啪网| 久久婷婷七月丁香| 日日影院 | 国产一区二区三区影院| 五月激情小说| 九九無妻| 无码任你操| 婷婷综合五月| 五月婷久久| 天天射综合网站| 99久在线视频| 五月婷婷影院| 97人人超| 久久五月视频| 91久久婷婷| 少妇激情五月天| 97色干| 婷婷久久五月| 日日夜夜婷婷| 天天拍天天操| 欧美在线视频99| 五月天成人免费视频| 亚洲超碰在线| 99国产精品久久久久久久久久久 | 夜夜躁狠狠 | 淫视馆av三区| 99ri6在线视频| 色玖玖网| 五月婷婷六月丁香首页| 婷婷终合色图| 激情99| 操碰99| 丁香九月综合| 国产日批视频| 天天 青草 丝袜制服 在线| 丁香六月天婷婷开心综合| 亚洲亚洲亚洲AAAAAA| 五月丁香六月婷婷操操操| 五月婷丁香| WWW久久久| 狠狠爱综合网| 91在线就要啪| 久9热插入| 日韩av网站在线观看| 婷婷五月综激情| 日本精品在线噜噜噜| 侠女刀之记忆电影在线看免费| 五月婷婷中字在线| 色五月激情综合| 99视频在线精品免费观看2| 五月婷婷激情中文字幕| 成人亚洲精品| 婷婷五月天av| Av中文在线| 26.uuu丁香五月婷婷| 色情综合网| 婷婷五月免费在线| 欧美成人性爱网| 亚洲操逼片| 色婷婷成人做爰A片免费看网站| 欧美97超碰| 色偷偷色婷婷| 激情深愛五月視頻| 五月六月激情| 99九九精品视频| 啪啪91| 欧美三级大片AA在线看| www久久久久久久97| 九九这里有精品| 婷婷丁香综合网| 97色色综合| 九九成人高清视频| 色婷婷狠狠18| 无码任你操| 99热8在线| 日韩综合久久| 五月婷婷中文网| 婷婷综合视频| 99热这里只有精品9| 婷婷五月欧美| 天天色综和网| Www.激情| 丁香五月在线播放| 日韩啪啪自拍| 狠狠干综合| 这里只有精彩亚洲视频推荐| 91一起艹| OYIWbGcPu8H| 99亚洲天堂| 天天日夜夜帕| 婷婷在线播放| 啪啪东京热| 丁香五月婷婷丫| WWW.17C亚洲精品| 性做久久久久久久免费看| 日本色色网站| 26uuu亚洲色| 久久婷婷色色| 91a片爽| 久思思久视频| 五月天网站亭亭| 天天日日夜夜| 久久婷丁香五月| 精品三区影院| 五月婷婷色播| 天堂综合久久| 色五月婷婷婷婷| 99爱这里只有精品免费视频| 影音先锋五月天婷婷丁香在线观看| 精品乱码视频| 久色激情| 日日操天堂| 色色色视频免费无码| 五月婷婷六月丁香玖玖玫瑰91| 三级av在线| 激情网站五月| 天堂综合久久 | 五月丁香婷婷成人网| 婷婷激情四射| 综合五月天| www.亚洲激情.com| 热的国产,热的综合,热的有码| 五月丁香婷婷色色色| av超碰在线| 婷婷狠狠五月综合| 六月丁香网| 久久香蕉福利| 五月婷婷色色网址| 六月丁香五月亭亭| 99热一区| 欧洲亚洲午夜| 少妇达人正片在线播放_ikun_福利吧| 八戒青柠影视剧在线观看| 国产成人av在线| 成人丁香五月天Av| 亚洲啪啪自拍| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 五月丁香啪啪| 中文AⅤ大全| 婷婷五月天激情视频| 成人日韩欧美| 丁香五月天啪啪| 久99久在线| 婷婷丁香成人五月天| www.国产色| 国产女18毛片多18精品| 白天AV月月| 麻豆AV一区二区三区| 看黄的网站18禁| 久热超碰| 久久久久久久97| 超碰免费大香蕉| 亚洲色图81p| 久青草影院| 丁香六月色| 开心深爱激情网| 九九Y精品热播| 婷婷六月情| 99网址在线观看| 三级大香蕉网| 性爱激情五月| 男女久久婷婷五月天| www五月婷婷88导航| 婷婷四色五月| 男人大jjc女人免费视频| 五月婷婷婷婷婷婷艺术| 天天躁日日躁狠狠躁日日躁2022年5月9日 | 丁香五月影| AAA亚洲AV| 久久性都花花世界成人免费视频| 中文字幕色色色| 沈娜娜av| 99乱视频| 丁香五月天堂网AV| 色五月婷婷网| 99在线视频播放| 狠狠综合久久| 日本老女人黄页在线播放| 99热只有| 天天做天天双| 国产精品91抖高| 深爱激情69热| 六月激情丁香一道本7777| 九九99热| 九九热精品| 免费做A爰片77777| 亚洲噜色| 97AV人人插人人操| 亚洲综合无码| 99在线精品视频免费| 疯狂做受XXXX高潮A片| 婷婷五月丁香伊人网| 色色色1网址| 综合99久久天天综合| 91操人| 欧美成人AAA片一区国产精品| 国产精品久久久久久五月天加勒比| 久久五月天精品视频| 五月天婷综合| 五月丁香久久精品在线观看| 欧美性猛交AAAA片黑人 | 思思久热| 99熟女啪啪视频| 人人操AV| 色五月天激情| 婷婷狠狠97| 丁香成人五月天| 五月婷婷久久网| 婷婷丁香社区| 天天操综合网| 婷婷五月六月激情| 大香蕉婷婷久久| 欧美成性色| 亚洲五月婷| 久久这里有精品视频在线免费观看| 五月亭亭欧美女人| 亚洲视频99| 久久这里只有精品1| 激情视频91| 伊人综合网站| 综合网天天| 丁香五月婷婷六月婷婷| 五月婷婷亚洲天堂97色婷婷| 另类图片五月天| 乱女乱妇熟女熟妇综合网站| 婷婷丁香五月在线观看91| 任你日视频| 天天爽曰日爽| 色私五月婷婷| 日本精品人妻无码77777| 五月欧美丁香在线观看| 99热在线爱| 五月丁香婷婷色播无码| 深爱五月激情| 色色哒五月婷婷六月丁香| 激情AV| 狠狠色婷婷丁香五月| 色婷婷丁香五月|