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成人无码电影| RenRenSe在线视频网站| 思思热闹这里只有精品| 五月开心播播网| 手机旧版看人妻1025| 久久久久综合激动五月天| www.丁香黄色五月天人与| 亚洲天堂99| 亚洲最大五月天成人网| 激情综合网激情五月欧美| 性欧美日本| 精品五月花| 亚洲综合五月天婷婷丁香| 色优久久| 大香蕉五月丁香| 91re色综合视频| 天天爱天天操| 天天操夜夜操| 婷婷五月天小说| 天天操天天干天天日| 中文字幕簧片| 国产99视频永久免费| 如何安全看伊人婷婷| 日韩高清久久| 99久热精品在线| 亚洲婷婷性爱| 久久五月天影院| 狠狠精品干练久久久无码中文字幕| 夜夜躁婷婷AV| 性视频久久| 欧美性爱五月天| 日本情色一区二区| 操人精品| 亚洲无码你懂的| 九色视频九色九色91jiuseshipin| 成人丁香五月| 天天日夜夜| 婷婷久久亚洲| 这里只有精彩视频| 激情五月天色播| 欧美99热| 大香蕉综合| 亚洲天堂热| 91人操| 久久人人妻| 婷婷日日夜夜| 色婷六月| 六月婷婷综合| 99精品久久| 日日操,夜夜撸| 91视屏在线观看com.wwwvv| 色VA| 先锋av性爱成人电影| 色婷婷成人影片| 秋霞学生妹一二级| 五月色丁香激情| 五月婷深深爱激情网| 午夜爱爱爱成人| 五月的丁香六月的婷婷| 色五狠狠| 久久99操| 秋霞免费视频| 色站9/| 婷婷性爱综合| 欧美日韩成人| 色射婷婷五月天| 久久这里只有国产视频| 天天综合五月天| 九色自拍| 99热这里有精品| 激情五月婷婷老师| 色噜噜狠狠色综无码久久合欧美| 色青青电影色五月| 日韩精品一区二区亚洲AV观看| 日本色99| 玖玖九九99| 色五XX| 色J香五月天| 五月婷婷激情综合| 天天色粽合合合合合合合| 九九成人视频| 综合久久六月| www.激情在线| 色色AV色色色东莞| www色婷婷| 这里只有精品96| 久久久潮喷-久久久九九-成人AV| av一级棒av| 91黄色五月天视频| 激情综合网五月| 五月丁香久久呀| 99免费综合网| 精品五月天| 九色91视频| 91精品久久久久久77777| 中文人妻AV久久人妻18| 国产免费一区二区三州老师F1F1| 五月婷婷黄色视频| 婷婷伊人綜合中文字幕| 99婷婷综合| 亚洲免费观看高清完整版AV线| 99热这里在线精品| 欧美爆乳一区二区三区| 色999亚洲人成色| 日本久碰| 天天做综合网色综合| 日韩九区| 婷婷丁香18| 婷婷另类小说| 成人短视频在线免费观看| 91精品久久久久久久久| 久久在线人妻| 99久在线精品99re8热| 色啪久| 另类图片激情五月| 99热这里只有精品国产首页| 性做久久久久久久免费看| www九九热| 中文字幕无码人妻少妇免费视频| 超碰免费人妻| 天天久| 天天日日夜夜| 色婷| 可以免费观看的AV| 亚洲成人av在线观看| 中文资源在线a| 日韩六十路91性交电影| 日日操夜夜爽| 日韩欧洲亚洲| 狠狠爱五月婷婷| 人与禽A片啪啪| 女人高潮内射99精品| 91打屁股视频网站| 色五月婷婷一二| 色一情一乱一伦一区二区三区| 偷拍九九五月丁香婷婷| 五月婷在线视频免费看| 久久久av久av久片一区二区| 色婷婷五月基地在线| 六月激情网| 大香蕉手机视频| 精品亚洲国产成AV人片传媒| 色亚洲激情| 玖玖热视频| 日本欧美成人片AAAA| 五月丁香久久呀| www、色色色| 婷婷97狠狠成人网站| 99在线资源| 国产乱轮一区二区三区| 国产无遮挡又黄又爽免费网站| 久热 91| 天天草天天摸| www狠狠com| 9久热这里只有精品| 伊人色综合网| 色婷婷丁香五月在线| 大香蕉九操| 色情五月天导航| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 九九热99热| 五月婷婷啪啪啪啪| 五月婷婷精品无在线| 九九在线精品| 丁香六月成人网| 日日干日日| 五月丁香日本片| 热九九精品| 久久免费操| 激情久久久久久久久久| 久久久久8888| 99在线精品视频| 激情亚洲婷婷| 五月天婷婷色| 五月婷婷免费视频| 99视频极品在线香蕉| 亚洲最大五月天成人网| 欧美色五月| 六月色婷婷色| 色www久视频| site:901-07.com| 五月色婷| 婷婷爱综合| 国产69久久久欧美黑人A片| 久久中文人妻系列| 色六月 婷婷| 激情五月婷婷综合色播小说| 九九色大香蕉| 日日噜噜夜夜狠狠久久丁香六月| 欧美成人网婷婷综合在线| 五月丁香综合网| 丁香五月六月婷婷自拍| 综合久久8| 亚洲天堂aaa| 亚洲欧美国产A片免费观看| 色五月婷婷五月天激情综合| 色婷婷操逼| 九九色视频| 51精品国内探花| 99这里只有精品|v| 五月丁香色情| 琪琪色五月婷婷老师| 激情五月婷婷色播网| 91N 一起草| 久热黄色| 天堂婷婷丁香六月网| www91色网站| 婷婷狠狠操| 91超碰人人操| 亚洲正能量欧美| 高清无码入口| 国产26uuu视频| 丁香五月欧美婷婷| 天天综合网在线| 九九九午夜影院成人| 婷五月天| 99精品无码| 亚洲色情在线| 丁香亭亭久久| 久久久潮喷-久久久九九-成人AV| 亚洲俩性性爱图片久久第六页| 久久黄色片| 2025天天日爽| 伦99热| 亚洲午夜一区二区| caop视频| 人妻啪啪啪| 99热这里只是精品| 99久久婷婷国产综合精品草原| 国产成人片| 五月婷婷六月丁香色| 日本不卡中文字幕| 91viP在线看| 26uuu国产精品| 99在线视频女女视频| 色色色99| 国产激情AV| 天天综合永久| 天天日天天狠狠操| www.黄色片-久久成人国产精品在线播放-999AV| 欧美日韩中文国产一区发布| 久久综合五月天| 久婷婷久草| 五月天婷婷伊人| 久久无码成人| 色色COm| 伊人网欧美在线男人天堂五月丁香 | 成人无码精品1区2区3区免费看| 激情色色色| WWW·天天操·视频?| 色97啪啪| 色五月亚洲| 亚洲五月婷| 五月天婷婷在线播放| 久久老码第一| site:pzdcoin.com| 日本91在线| 久久九网| 丁香性爱在线视频| 午夜天堂一区人妻| 久久久久婷婷| 狠狠色综合网| 91超级碰| 婷婷香蕉| 色五月婷婷亚洲| 26uuu| 在线看黄色| 4399无码视频| 51精品国自产在线| 亚洲成人AV电影在线| 丁香五月五月婷婷| 色婷婷久久| 五月婷婷色影院| 天天狠狠干| 六月婷婷狠狠做| 亚洲美女高潮久久久久久69| 色色色色色色色色色色色色色97| 六月丁香啪| 日本久久激情| 超碰a女人的天堂| 五月天婷婷婷| 激情婷婷五月| 五月丁香婷婷网在线在线| 99热这里只有精品无码| 性生活久久朋友人妻| 深爱丁香网| 成人在线不卡| 任你擦免费视频| 99热一本| 色五月色图| 婷婷九月亚洲| 五月丁香大香蕉| 亚洲色五月婷婷| 五月色婷| 67194国产| 成人丁香五月天| www.色婷婷| 99欧美| 五月丁香人妻| 国产毛片精品一区二区色欲黄A片| 婷婷综合激情| 香蕉网婷婷| 成人做爰A片免费看视频| 成人看片网站| 桃色五月婷婷| 国产操碰| 亚洲超碰在线| 人妻有码乱操| 人妻激情视频| 99热99成人| 久久五月天综合视频网站| 久久久久久欧美精品se一二三四| 激情五月天啪啪视频| 色色吧综合| 在线国产精品色| 99这里精品| 日韩按摩二区| 五月综合色| 久久婷婷激情| 麻豆WWWCOM内射软件| 色婷婷色综合久久精品V| 日韩AV免费电影在线播放| 琪琪色网址| 五月丁香中文婷婷中文| 啪啪91| 亚州激情在线视频| 99热精品在这里| 丁香伊人网| 99热这里有精品| 婷婷刺激综合| 欧洲第一无人区观看| 9热在线| 欧美日韩国产一区二区| 華人性愛AV在線| 五月婷婷影视| 五月天婷婷綜合院| 日韩成人无码| 激情爱爱网站超大免费| 婷婷精品在线| 久热九九| 国产婷婷久久| 精品人妻久久久| 在线中文亚洲| 天堂久热| 99热免费精品热久久66| 色日本五月天| 免费无码毛片一区二区A片| 丁香97综合| 色婷婷久久综合久色综| WWW.99热| 99性爱视频| 绿色小导航AV| 麻豆123区| 六月丁香激情| 日韩AV中文在线观看| 九九热免费视频| 91干网站| 婷婷久久五月| 国产在线中文字幕| 97久久精品视频| 久久这里都是精品免费| 亚洲国产精品VA在线看黑人| 免费超碰在线观看| 操一区| 色综合天天天天做夜夜| 久久婷婷五月天| 五月丁香综合网| 五月天天天操天天爽夜夜操| 色五月激情综合网| www.97碰碰com| 色丁香婷婷| 国产欧美熟妇另类久久久| 91九色在线视频| 色婷婷丁香香香蕉视频| 欧美色一级色| 狠狠色丁香99| 综合五月婷婷| 天天做综合| 9精品在线| 久青草影院| 综合狠狠干| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 九九综合九九| 色综合com| 毛v一区二区视频| 热的无码综合视频| 久久久久久久久久久-久五月天婷婷| 色,激情五月天| 九九这里是免费的视频5| se婷97| 五月婷婷手机在线| 97人人干视频| 都市激情五月婷婷亚洲| 婷婷丁香五月在线观看91| 91热er| 超碰人人在线| 婷婷五月天激情综合婷婷五月天激情综合| 五月丁香大香蕉| 久久五月婷| 五月婷婷久久综合| 超碰日韩成人| 婷婷色Av| 五月激情久久| 少妇搡BBBB搡BBB搡毛茸茸 | 欧美精产国品一二三区| 色爱亚洲| 婷婷另类开心| 婷婷欠久少妇| 久热网站| 成人免费在线电影| 99久久久久| 99操逼| 久久这里有精品| www.天天干.com| 久综合网| 天天射天天射一道本日本社区 | 婷婷99狠| 久久99精品久久久久久三级| 九月激情网| 色五月丁香网| 激情久久综合网| 激情六月天婷婷| 91超级碰在线| 色999五月色| 天干干夜夜操| 偷拍99在线视频观看| 婷婷激情社区| 久久久WWW| 婷婷五月影院| 婷婷五月天激情丁香| 色综合久网| 日韩超碰在线| 久热这里这里有精品| 久久97久久99久久综合欧美| 天天噜噜| 丁香五月在线人妻| 成人精品免费在线观看| 色域五月婷婷丁香| 色五月aV| 26uuu偷拍亚洲欧洲综合| 丁香六月婷婷开心| 人人干Av| 91婷色| 九九碰九九爱97超碰| 毛片新网地| 久草丁香婷婷五月天婷| 色五月婷婷五月丁香五月| 久久久久久久久久久44| 99视频只有精品| 婷婷五月天综合色| 久久99久久99精品免视看婷婷| 亚洲妇女熟BBW| 日日舔夜夜操| 亚洲午夜精品久久久久久人妖| 五月婷婷色在线| 狠狠干综合| site:wpjngj.com| YW无码| 日本99久久| 狠狠干伊人| 国产成人综合在线| 狠狠婷婷日韩| 开心五月天激情网| 涩涩五月天| 99无码免费视频| 97超碰欧美中文字幕| 亚洲激情综合| 26uuu欧美| 日日干日日s| www激情网站| 无码日本精品XXXXXXXXX| 国产精品色色| 97精品在线| 久操欧美在线观看97| 色九月婷婷丁香| a v色婷婷| 久大香蕉| 日韩成人电泉AV| 丁香婷婷色五月| 99热这里只有精| 五月丁香直播| 99视频色在线观看| 人人九色| 综合网网欲色| 123日本不卡在线| 99热亚洲| 伊人久久婷婷| 久久婷婷五月综合激情国产 | 国产婷婷色综合AV蜜臀AV| 欧美成人无码高清一区二区三区| 99毛片| av人人操| 97碰碰草| 亚洲AV影片在线观看| 五月天婷婷在线播放| 亚洲无码99| 五月天基地| 激情涩涩网| 欧美成人猛片AAAAAAA| 四色永久成人网站| www.91操| 97婷婷狠狠| 激情五月天小说| 丁香五月久久综合| 日日干日日s| 思思久久99热| 久久丝丝热| 天天操婷婷| 啪啪六月婷婷| 六月婷婷七月丁香| 97碰碰在线观看视频| 亚洲国产成人AV在线| 日本无码专区| 婷婷丁香九色| 九九精品丁香花| 丁香五月五月婷婷欧美大香蕉 | AV性爱在线| 色婷婷AV久久久久久久| 久久色五月天激情小说| 国产亚洲精久久久久| 天天日天天做天天操| www。五月天。com| 婷婷中文字幕版| 狠狠擼综合| 五月丁香网站在线播放| 99精品视频免费观看,| 99在线观看这里都是精品| 婷婷六月丁香开心深深爱| 操操操操操操婷婷五月天| 婷婷五月综合在线| 五月婷婷偷| 丁香五月天激情五月天激情五月天激情网 | 九九色区| 97人人操在线| 99色综合网| 天天色·欧美| 色综合五月婷婷狠狠干| 开心婷婷五月中文字幕组| 亚洲精色| 婷婷婷久久久| 五月天久久婷婷| 婷婷综合五月| 天久综合91综合首页| 99久久婷婷精品视频| 黄色成人AV在线| 狠干综合| 色色综合网站| 天天操天天操综合| 色狠狠色噜噜AV天堂五区消防| 色五月AV| 婷婷五月天堂| WWW嗯嗯啊啊啊啊| 亚洲中文AV网站| 99综合自拍| 色噜噜狠狠色综合日日| 六月丁香深深爱| 九九热经典视频在线观看| 色综合五月| 九九综合久久| 九九热9| 九九青草热| 操操操操操操婷婷五月天| 日本www五月婷婷| 色五月丁香伊人| www.五月天色色.com| 久久这里只有精品热在99| 风流少妇A片一区二区蜜桃 | 亚洲色五月婷婷| 亚洲成人在线在线| 五月天婷婷綜合院| 中文字幕簧片| 性色婷婷| 成人无码免费一区二区中文| 久久精品婷婷五月丁香| 日本www五月婷婷| rr天天操| 依人大香蕉| 综合久久综合综合| 婷婷欧美色| 婷婷五月无码| 亚洲激情综合| www热久久yy9| 亚洲六月婷| 天天综合网91| 99爱在线| 久热这里这里有精品| 丁香色婷婷五月天| 99在线精品免费视频| 久久婷婷激情四射五月天| 狠狠夜夜五月丁香| 久久色五月天| 黄色高清无码| 五月丁香色婷婷伊人| 成人色五婷婷| 久久综合久色欧美综合狠狠| 91干| 色色色色色网| 婷婷五月天天| 如何安全看伊人婷婷| 色五月丁香网| 荫道BBWBBB高潮潮喷| 激情丁香六月| 五月丁花六月丁香综合| 色欧美色色色| 天天拍夜夜撸| 九九亚洲视频| 五月天久久网站| 狠狠色 综合色区| 五月天开心网| 色婷婷成人网| 激情综合激情综合| 欧美日韩色色| 伊人综合网4| 热久久99热欧美国产亚洲| 丁香五月最新网址| 丁香成人色情五月天| 五月色综合| 久久久久9999| 婷婷 伊人 久久| 久久综合婷婷五月| 5月婷婷五月天| 国产成人精品一区二区三区视频| 亚洲色99| 亚洲图色五月天| 亚洲色域网| 人人摸人人干| 蜜臀丁香黄色婷婷五月天| 色爱综合网| 青青草原爱爱网| 国产成人va在线| 国外亚洲成AV人片在线观看| wWw色五月| 五月天另类小说| 激情综合五| 久久婷婷丁香| 五月婷婷丁香啪啪| 色婷六月| 91凹凸在线| 久久性爱视频| 非洲一级AV| 亚洲精品视频电影| 强伦轩人妻一区二区电影| 人人摸人人澡人人| 激情五月综合第一页| 精品人妻一区| 亚洲色图五月丁香| 狠狠色噜噜狠狠狠狠综合| 五月丁香激| 99九九精品视频| 91色在线/日韩| 五月丁香香蕉| 久久视频66| 性爱视频久久| 99re这里只有精品首页| 亚洲mm免费| 婷婷色狠狠| 91精品综合久久久五月天| 亭亭玉月丁香| 久久婷婷色色| 亚洲无码色色| 极品人妻videosss人妻| 天天日日| 久热亚洲| 天天色天天搡| 国产无遮挡又黄又爽免费网站| 久久精品小视频| 67194线路二在线观看| 国产综合网在线| 天天操天天曰天天射| 婷婷午夜激情| AV天堂淫乩| 91午夜婷婷狠狠久久综合9色| 99热无码| 黄色成人网站在线播放| 狠狠色综合网| 亚洲激情精品| 色99在线视频| 免费无码毛片一区二区A片| WWW.99热| www,色婷婷| 综合激情五月丁香| 五月天精品综合| 青青草原伊人网| 99精色| 先锋资源 996| 99日精品视频| 99热这里| 综合图片色色| 另类色网| 一区二区三区四区牛| 五月丁香啪啪激情| 激情五月天免费视频| 99久久97久久欧美综合网| 色情婷婷五月天| 激情五月婷婷综合色播小说| 婷婷激情九月| 九月丁香八月婷婷加勒比| 天天色99| 国产精品色色色色| 欧美人久久| 专区无日本视频高清8| 色香欲综合| 日本激情ⅩXX免费视频| 98热精品| 嫩草AV久久伊人妇女超级A| 老司机日日夜夜青草| 99在线精品视频免费| 久久38视频| 婷婷社区五月天| 九九这里都是精品| 《战争与艾拉》完整版| 色婷婷影| 九月婷婷在线视频| 亚洲五月花| 日韩精品二三区| 第四色色六月色综合| 影音先锋综合网| 国产午夜精品AV一区二区麻豆| 人人摸人人| 99热在线中文字幕| 91久久婷婷| 丁香社92视频| 精品一二三区久久AAA片| 丁香六月啪啪啪| 丁香五月亚洲| 婷婷五月俺要去| 99久热在线精品| 奇米色大香蕉| 久久9热好| 日日色综合| 婷婷五月花| 亚洲精色| 色亚洲色宗合| 激情五月丁香婷婷夜夜操| 五月天激情啪啪| 久久免费高| 免费看欧美成人A片无码| 四虎成人精品永久免费AV九九| 婷婷色五月综合| 99热在线中文字幕| 五月天婷婷色五月天| www.色9| 色婷婷综合电影| 99九九这里有免费视频| 青青草国产亚洲精品久久| 99热这里只有精品2| 五月天激情啪啪| av色色国产| 激情六月一二| 开心五月激情五月丁香五月婷婷| 狠狠做五月婷婷| 五月丁香爱婷婷深深| 嫩草视频在线观看| 久久与婷婷| 天天肏天天肏天天肏| 婷婷五月天天爽| 丁香成人色情五月天| 天天操天天谢| 天天干夜夜欢| 婷婷丁香五月欧美人| 伊人婷婷激情| 内射丰满人妻| 欧美综合在线五月天色婷婷| 五月天婷婷激情小说| 日日干综合| 六月丁香婷婷亚洲中文玖玖| 99热欧| 婷婷5月天激情综合| 亚洲午夜国产成人电影VA国产欧…| 日本乱子人伦在线视频| 五月天婷婷综合网| 国产欧美精品AAAAAA片| 国外亚洲成AV人片在线观看| 性生生活大片又黄又| 影音先锋91在线资源站| 精品人妻在线免费观看| 婷婷五月天综合亚洲| 大操人妻| 色色网91| 狠狠爱五月婷婷| 色婷婷88| 99热婷婷| 五月色亭丁香| 99视频精品全部免费 在线| ss99热| 九九久久视频| 五月天激情无码| 伊人色综合网| 九九色精品| 99久在线精品99re8| 成人视频网| 黄色网址五月婷婷| 久久五月情| 婷婷久久五月天丁香| 五月丁香成人网| 亚洲第一色色色色| 丁香五月天激情网| site:hcxsz888.com| 狠狠另类视频| 思思热99在线视频| 丁XX 成人| 五月婷婷激情五月| 日韩在线观看网址| 色色五月综合| 五月丁香六月婷综合成人综合| 人人色婷婷五月天| 婷婷五月天男人影院色色网| 天天综合网站| 五月丁香激情综合| 亚州男人天堂婷婷五月| 天天插天天射天天干| 色情五月天小说| 热久久视频99| 99在线资源| 国产精品人成A片一区二区| 色婷婷五月丁香色| 97操在线视频| AV国产有码| 国产精品国产| 丁香婷婷噜噜| 亚洲人人操| 99久久人人| 狼人久草| 在热视频精品| 丁香五月影院| 丁香操逼| 丁香五月天激情网址| 99热在线观看亚洲区| 五月婷婷六月天| 丁香五月婷中字在线| 色五月色图| 色五月天成人在线| 香蕉视频91| 五月天色小说| 9l视频自拍九色9l视频自拍九色9l社区| 婷婷五月天日逼| 狠狠色大香蕉| A短视频免费在线观看| 99网址在线看| 亚洲丁香五月在线观看| se99视频| 人妖色AV色综合| 99综合婷婷五月| 美女五月天婷婷| 欧美色频| 色情终和网| 99久久99久久综合| 97热这里只有精品| 无码激情AAAAA片-区区| 日本一级一片免费视频| 青青草原99热| 丁香五月大香蕉| 超碰男人色| 天天爽日日爽夜夜爽| 99综合网| 五月婷婷三级| 久久久免费精彩视频| 天堂成人A片永久免费网站| 久操无码| 色噜噜狠噜噜视频| 97人人干视频| 玖玖在线资源视频| 激情AV| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 综合99久久| 丁香五月天在线观看| 久久国产一区二区三区| 女性自慰系列第五页| 成人网在线视频| 婷婷五月欧美AA片免费| 婷婷丁香成人网址| 激情五月丁香五月| 99日本精品视频热| 九九性爱网| 国产探花一片区| 丁香五月婷婷成人网| 五月丁香成人网| 欧亚洲在线高清视频| 99re热在线视频观看| 激情文学 综合 九月| 色婷婷亚洲在线| 日韩中文字幕| 激情五月天综合图片小说网站 | 中文字幕日产A片在线看| 日韩成人AV在线| 欧美乱码国产一级A片| 狠狠狠狠青草| jiqingliuyuetian| 婷婷丁香精品视频在线观看| 99在线看片| 99视频| 婷婷五月天激情综合| 婷婷啪啪| 国产激情综合五月| 女人天堂AV| 99re99热| 丁香五月电影| 色播五月婷婷综合| 久色网| 婷婷五月天777| 99精品成人无码A片观看金桔| 丁香六月婷婷综合色| 99在线免费视频| 丁香五月婷婷性爱| 疯狂做受XXXX高潮A片| 亚洲色色爱| 欧美成人AAA片一区国产精品| 五月天婷婷色紫薇阁| 国产AV国片偷人妻麻豆| 久久成人综合五月天| 久久性爱网| 操逼棍操逼| 99天堂网最新| 国产精品爽爽久久久久久| 久久99精品久久久久久噜噜| 婷婷欧美综合| 九九精品在线视频观看| 丁香五月久久| 九九热在线视频,| 天堂美国久久| 激情五月丁香亭亭| 色色五月天丁香婷婷| 99热自拍| 五月丁香少妇A| 色欲AVV| 婷婷六月丁香五月| 99色中文| 丁香激激情网| 9 1在线视频| 色婷| 99热国产国产| 亚洲中文AV| 九色啦蜜臀| 91欧美| 午夜不卡久久精品无码免费| 99热这里只有免费精品| 91九色精品| 色播五月天激情| 五月天婷婷导航| 午夜日韩久久久网站| 香蕉久久国产AV一区二区| 天天日天天摸天天| 欧美超碰亚洲| 亚洲视频99| 婷婷色Av| 色婷婷五月在线| 99精品国产在热久久| 国产午夜一区二区三区| 91操片| 无码人妻AV久久久一区二区三区 | 综合色五月天| 国产亚洲精品久久久久苍井松| 韩国三级五月天婷婷。| 色婷婷五月在线| 69精品人人人人| 99九九视频| 久久精品色| 国模狼狼| 激情伊人五月天| 五月天激情.com| 婷婷丁香激情综合色情| 欧美三级巜人妻互换| 五月天激情综合| 色9色| 超碰色女人| 99国产精品久久久久久久久久久 | 五月天天综合网色婷婷| 91viP在线看| 五月天婷婷成人资源站| 婷婷五月天堂| 超碰色碰碰| 五月天婷婷在线AN| 五月丁香六月综合激情无码软件亮点| 五月丁香色情| 9l视频自拍9l九色成人| 狠狠操狠狠做| 九九日本视频| 海外网站专业操老外| 成人无码髙潮喷水A片| 人妻久久久| 天天色色婷婷| 色啪网| 久久天堂色| 天天做天天爱天天高潮| 精品女人九九九| 五月丁香五月天现场视频| 99操逼| 久久艹网| 成人做爰A片免费看网站找不到了| 亚洲天堂啪啪| 婷婷开心激情五月激情网| 天天拍夜夜撸| 91婷色| 亚洲天堂碰碰婷婷| 亚洲字幕AV一区二区三区四区| 9999三级片| 六月丁香激情网| 色婷五月天亚洲| 九九香蕉网| 91嫩草久久| 拍色综合| 热91久| 五月大香蕉| 色婷婷综合视频| 天天爱天天操| 欧美日韩AAAA| 99re这里有精品手机在线| 五月丁香婷婷在线综合蜜桃| 五月天伊人综合| 亚洲视频久久| 99婷五月| 精品夜夜澡人妻无码AV| jiZZdr| 亚洲视频二区| 五月丁香综合| 日本人人xxx| 国产色五月| 久久机热这里只有 | 欧美在线干| 91丨九色丨东北熟女| 99热亚洲精品| 99国产精品久久久久久久久久久| 99久久久| 开心婷婷五月中文字幕组| 精品九九视频| 99这里只有精品在线| 婷婷丁香五| 丁香五月天激情五月天激情五月天激情网 | 色九月国产| 色婷婷最新域名| 啪啪色激情五月天| 99视频啪啪| 色播激情| 99干在线视频| 五月婷婷精品视频| 激情五月天婷婷丁香| 夜色.cnm| 伊人成综合五月婷婷| 国产特黄色精品一区二区三区精品无广告| 亚洲午夜成人av电影网| 激情AV网| 91夫妻网站九色| 久久久精品免费啪啪国| 高清a片基地| 丁香五月激情啪啪啪啪| 亚洲成人av在线观看| 国产免费av网站| 秋霞av不能| 色五月婷婷激情基地| 天堂久久性| 久久总和99| 中文字幕在线资源| 五月天激情黄色小说在线观看| 欧美婷婷| 九九视频这里只有精品在线播放 | 激情九九综合网| 天天视频亚洲| 日本狠狠网| 狼人婷婷久久| 99性视频| 精品国产AV色一区二区深夜久久| 人妻丰满精品一区二区A片| 激情操逼婷婷| 丁香97综合| 五月丁香黄色| 日本综合久| 日日操夜夜爽天天天| 丁香五月欧美色综合| 激情5月婷婷| 中文字幕综合| 日韩aaa| 亚洲精品又粗又大又爽A片| 黄色片avv| 婷婷色片| 狠狠综合| 九九热在线视频,| 亚洲日韩欧美综合VA| 99热99久久| 91日本在线观看| 日本eVa一区=区视频| 综合 蜜月 婷婷| 国产美女无遮挡裸体毛片A片| 六月婷综合| 九九99在线| 伊人久久婷婷| 综合视频五月| 日本色爽| 亚洲中文乱字字幕在线永久| 黄色三级毛片中字| 久久99久久久| 色噜噜狠狠色综合AV兰草影视| 激情www.98com| 亚洲激情综合| 婷婷五月花| tingtingseav| 婷婷天堂综合| 激情久久天天| 丁香婷婷五月综合| 狠狠五月天| 综合激情九月婷婷,激情综合婷婷中文字| 99热在线资源| 婷婷区日本| 99re这里只有| 久久综合五月天| 五月天色站| 六月五月丁香五月欧美| 99热在线观看精品| 狠狠插狠狠插| 激情五月天色色色| 九九国产视频| 精品亚洲VA网站| 欧美精品18| 六月色婷婷综合影视| 色噜噜狠狠色综合伊人| 99精品福利视频| 国产精品色| 任你日热视频| 天天摸夜夜爽天天做| 五月丁香欧美综合| 99啪啪网| 久久色六月| 91九色在线| 久久一热| 五月天激情网图片| 大香蕉久久婷婷| 台湾佬天天日丁香婷婷五月天| 久久视频婷婷视频| 97干在线免费| 丁香五月婷婷姐| 大香蕉五月婷婷| 久久丁香婷婷色情综合| 六月欧美综合色情| 大香蕉天堂| 碰久久精品w| 五月天激情在线视频| 九九99九九99九九99视频网| 婷婷字幕在线| 欧美激情xxxXX| 性一交一乱一交A片久久四色| www久久久久久久| 成人婷婷五月天| 激情综合色网| 亚洲爱婷婷| 五月婷六月丁| 北京熟妇搡BBBB搡BBBB| 91啪啪视频| 成人在线综合| 91大神在线免费看视频全集男男一起操| 婷婷区日本| 99精品在线| 综合久| 99久久婷婷五月综合| 婷婷五月丁香人妻无码高清| 四色女婷婷| 99国产精品久久久久久久久久久| 99无码视频| 五月婷婷成人w| 99热国产免费| 337p大胆噜噜噜噜噜91Av| 播五月丁香三月婷婷| av人人操| 99色最新在线视频网站| 香蕉婷婷| 少妇口诉沐足视频播放器网址| 99这里只有精| 色五月综合在线| 婷婷丁香花五月天| 超碰无码318604| 色色色99| 免费人人操| www激情| 久久五月天丁香花| 婷婷五月天开心激情网| 丁香婷婷婷| 久久A V无码视频| 99久久超级| 久久99成人性爱高清视频| 超碰在线免费观看日韩| 在线综合婷婷| 中文字幕精品无码一区二区| 天天草婷婷五月| 欧美私人家庭影院| 天天综合五月| 色噜噜丁香| 色五月婷婷啪啪五月| 久久99热网| 五月丁香花免费视频| 九九热9| 六月丁香社区| 大香蕉在线观看9| 六月丁香综合| 99热丁香五月| 亚洲AV人人操| 五月丁香啪| 天天色官网| 97久久婷婷色| 人人妻久久妻| 九九视屏| 九九综合九九| 色色日韩| 国产露脸150部国语对白| 影音先锋 婷婷| 色婷狠狠| 超碰资源在线| 开心五月婷婷激情| 欧美操人| 五月婷婷婷自由综合| 五月婷视频在线观看| 激情綜合網址| 97人人草| 亚洲日韩一页精品发布| 99热99re6国产在线播放| 777久久久| 亚洲天堂99| 色婷婷在线综合色播网| 色狠狠婷婷| 欧美丁香五月夫妻天| 婷婷五月天六点丁香五月| 色综合天天| 婷婷丁香激情| 亚洲有码在线视频| 色婷婷www| 这里只有国产精品在线| 久久精彩视频99| 成人 在线 日韩| 色婷婷深爱五月| 久热在线观看视频9| 久久久91| 婷婷激情六月中文| 99热99| 网站免费一站二站| 丁香综合网| 日本一级| 色狠狠色噜噜AV天堂五区| 九九热99热| 天天久久66xxx| 亚洲婷婷性爱| 久久色五月| 日日色五月天| 蜜桃婷婷狠狠久久综合| 99综合视频| 婷婷五月天激情综合深爱激情| 99久扒热| 内射在线CHINESE| 婷婷丁香五月激情密臀av| 99丁香五月婷| 第1影院之五月婷婷| 中文字幕 中文字幕明步| 亚洲色无码| 成久综合视频| 日韩五月婷婷| 久久久久久久人妻|