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
返回資訊列表
99riAV国产精品视频| 99热这里只有精品在线观看| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 亚洲妇女熟BBW| 丁香激情五月少妇| 五月激情基地| 同性gv国产精品一区二区| 天天艹| 色色狼人综合| www.日日夜夜.com| 思思精品久久艹| 大香蕉操操| 五月天婷婷激情| 欧美五月婷婷| 99综合激情久久精品久久| A在线观看| 嫩草AV久久伊人妇女超级A| 天天插天天爽| 日本五月天一页| 色丁香五月婷婷婷| 婷婷丁香射射| www.久久| 国产欧美日韩性爱| 97综合在线| 9久热在线精品| 亚洲色色色| 婷婷色啪| 97在线刺激| 女力报到正好爱上你| 久久婷婷热| 五月天大香焦| 97婷婷五月丁香| 日本狠狠干| 五月丁香av中文| 狠狠干无码| 亚洲人人96@| 激情五月综合久久| 欧美啪啪9| 亚洲综合色婷婷文学| 99久热| 久久久久久久久99精品| 久久HD| 人人摸人人搞| 99热丁香| 99热这里只有精品青草| 婷婷五月天激情网| 一点色成人网| 精品一区久热| 97久操视频| 伊人久久大香线蕉亚洲五月天,| 男女啪啪做爰高潮无遮挡| 色一情一乱一乱一区91Av| 五月天六月婷婷| 天天操天爱综合| 色亚洲中文| 天天做天天爱天天搞| www.婷婷.com| 99色区| 快乐激情五月色婷婷| 亚洲午夜av| 香蕉国产2013| 久久久久久草黄色片AV在线观看| 婷婷激情区| 亚洲 在线 性爱| 99在线观看这里都是精品| 色色综合色视频| 婷婷久热| 婷婷五月综合激情小说| 国产偷人妻精品一区| 久久五月丁香| 亚洲中文乱字字幕在线永久| 九九99久久精品| 四虎国产精品永久在线国在线| 少妇熟女视频一区二区三区| 2013AV天堂| 亚洲精品成人片在线播| 久久这里只有精彩| 日日夜夜狠狠干| 激情综合激情综合| www.狠狠操| AV电影在线播放| 九九热在线精品视频| 少妇高潮A片无套内谢麻豆传| 午夜69成人做爰视频| 成人片黄网站色大片免费毛片| 五月停视频天堂| 嫩草视频。| 五月天丁香婷婷社区| 久久婷婷成人| 狠狠草综合网| 久久a热| 五月婷在线| 九九综合九| 色99xx| 91视频免费后入强操| 99自拍网| 婷婷五月天狠狠| 婷婷成人视频| AV在线不卡播放| 亚洲一区二区 成人网站戴套| 婷婷午夜综合| 色吧五月婷婷| 99精品在线播放| 久久婷婷综合五月| 亚洲精品视频在线| 久久99激情五月天| 99热国产国产| 色五月涩涩婷婷| 婷婷深爱五月| 综合久久五月天| eeuus五月婷| 五月综合六月婷婷| 99∨VTV| 综合网网欲色| 久久婷婷五月综合啪| 久久五月网| 超碰人妻公开在线| 丁香五月天色| 丁香五月性| Aaa久久| 伊人婷婷大香蕉| 五月天激情国产综合AV| 成功精品影院| 日本久久99| 狠狠激情五月天| 国产毛片精品一区二区色欲黄A片| 日韩野外 无套| 玖玖综合网| 婷婷五月天狠狠搞干| 狠狠操狠狠操| 五月婷婷激情刺激| 免费亚洲婷婷| 淫视馆aV二区一区| 色~性~乱~伦~噜| www.九九婷婷| 五月天婷婷人妻| 无码日本精品XXXXXXXXX | 91人人操| 久久9热| 任你搞免费视频观看| 婷婷五月天丁香花| 99这里有精品| 激情婷婷五月亚洲| 91丨九色丨熟女高潮| 五月丁香大相交| 99爱在线视频观看| 色婷婷五月天无码视频| 五月丁香偷拍| 欧美性爱中文字幕| 大香蕉久久久久| 免费在线a| 色情一区二区播放| 婷婷五月天大香蕉在线视频观看| 天天综合中文| 色色色区| 丁香五月综合| 国产精品在线视频| 五月婷婷色欲| 激情六月综合| 久久精品4| 日韩一级网站| 色天天综合天天综合频道。| 国产婷婷色综合AV蜜臀AV | 欧美性色A片免费免费观看的 | AV操一操| 日本久久精品18| 午夜福利8055| 97精品综合久久| 超碰在线国产| 欧洲第一无人区观看| 天天狠天天狠| 亲子乱AV-区二区三区| 久香草视频在线观看| 国产日韩精品SUV| 激情99。| 热996精品在线观看| 99视频只有精品| 色九综合| 开心深爱激情网| 99在线免费视| 五月丁香A∨在线| 五月色婷婷综合| 六月色激情| 97干在线观看视频| 久久婷婷欧美| 中文字幕精品在线观看| 最近中文字幕在线中文视频| 五月天婷婷影院| 操逼六区| 日韩av一区二区在线/日产精品久久久| 五月丁香六月合| 无码一级片| 另类视在线| a在线观看| 性爱视频久久| 超碰人人99| 婷婷综合久久| 色99超碰| 五月激情小说| 婷婷涩涩五月天| 狠狠色狠狠干| 亚洲久久日| 丁香五月婷婷基地| 日韩精品一区二区亚洲AV观看 | 婷婷伊人久久综合| 99久久综合| 中文字幕 中文字幕明步| 99精品免费欧美小视频| 六月亚洲婷婷6月中文字幕| 亚洲情综合五月天| 99久在线精品99re8热| 天天插天天很| 91性高潮久久久久久久久| 亚洲视频在线观看| 可以看的AV| 狠狠va| 伊人影院久久网| 丁香婷婷啪啪| 激情五月天开心| 狠狠操.com| 碰超在线九色| 综合狠久久| 九九热在线视频观看| 激情六月日韩| 极品五月天| PORNY九色9l自拍视频成人| 青草青草视频2免费观看| 夜色综合网| 精品99网站| 九九热re99re6在线精品| www.婷婷com| 操操啪| 丁香六月欧美| 99精品小视频| 婷婷综合色五月天| 色情激情五月| 提提热五月天婷婷| 婷婷五月天在线观看av| 色五月婷婷五月丁香五月激情五月视频 | 亚洲精品色| 日本色99| 日本久热| 婷婷色在线观看| 五月婷婷天天| 欧美 日韩 成人| 久久成人天| 2050人人操免费工开爱| 久久婷婷激情五月天一区二区| 久久激情天堂| 狠狠爱婷婷| 日韩欧美性爱| 99er热精品视频| 久久婷婷老| 人人操AV| av高清无码| 色婷婷丁香五月| 五月婷婷丁香六月| 超pen个人视频97| 99热亚洲| 亚洲国产精品VA在线看黑人| 久久婷婷老| 婷婷成人基地| 婷婷五月天综合久久日美女| www.爱婷婷.com| 久久99久久99久久99| 色五月激情五月| 激情五月天婷婷| 五月婷婷五月| 狠狠爱深色婷婷综合| 日韩成人精品中文字幕电影| 九 九九九AV| 日本wwww在线| 午夜成人综合| 熟女婷婷网站一婷婷五月一丁香婷婷一婷婷激情网 | 特级片神马电影| 五月天婷婷青青草| 97亚洲婷婷| 91丨九色丨白浆| 激情视频综合| www狠狠com| 激情婷婷护士激情| 久久久久亚洲AV成人无码电影| 久热99热| 十月丁香婷婷| 久久久久久久久人妻| 天天狠狠夜夜狠狠2023| 亚洲中文字幕av| 五月婷婷综合激情| www.ywav| 久久久大香蕉| www.久久五月天.com| 欧洲综合色| 丁香五月婷中字幕| 96丁香六月婷婷蜜桃综合久久| www.99在线| 99久久99综合| 91黄址| 99色这里| 99无吗| www.婷婷五月天| 激情丁香五月婷婷| 9 1 A v久久久| 91九色中文字幕女在线观看| 婷婷成人五月天一区| 色婷婷久久综合丁香五月| 天天日本夜夜谢| 99熟女| 98国产精品综合一区二区三区| 国产女生爱爱AA| 91婷婷色五月| 九九九九这里只有精品| 狠狠综合网| 久久3级片| 五月婷啪| 五月丁香淫淫婷婷婷| 在线中文av| 性欧美大战久久久久久久83| 97操碰碰无码视频| av网站中文| 99日本在线| 成人AV在线中文版| 九九家庭影院| 性色婷婷| 国产精品A片在线| 久久只有这里精品免费| 9l视频自拍9l九色9l成人| 丰满人妻一区二区三区| 五月天婷婷久久| 婷婷干五月综合在线播放| 99精品综合| 丁香六月激情毛片| 99日韩网站| 啪啪91| 在线sebiav精品视频| se99高清无码| 婷婷综合网| 婷久久综合| 日本www五月婷婷| 婷婷综合亚洲| 色五月婷婷自拍| 俺去也在线www色官网| 婷婷五月在线观看| 色播五月婷婷| 五月激情六月宗合| 婷婷色影院| 五月婷婷亚洲色视频| 麻豆WWWCOM内射软件| 9精品在线| 丁香五月天激情综合| 九九草草逼| 婷婷综合五月激情| 色色99| 天天天久久久| www.99热| 丁香五月大片| 九九亚洲天堂| www.六月丁香看AV| 视频一区二区在线| 亚亚州久久高潮| 香蕉网婷婷| 婷婷五月天xxx| 热久久这里只有精品| 9l视频自拍9l九色成人| 久久六月天| 五月婷婷丁香综合| 婷婷五月综合在线| 美女要搞搞天天搞搞搞网站| 丁香五月激动深爱欧美| 国产精品热搜丁香五月婷婷| 国产亚洲成AV人片在线| 丁香婷婷情色五月天| 激情性爱婷婷| 日本久久人| 99碰网站| 五月天开心网| 天天操天天日天天爽| 午夜不卡久久精品无码免费| 色五月首页| 在线综合亚洲欧美65| 五月婷婷丁香色吧网| 在线免费视频caop| 青青草原伊人网| 丁香玖玖| 99视频内射三四| 亚洲婷婷月丁香五月| 国产做A爰片毛片A片美国| 五月天成人在线精品| 天天色中文字幕女优AV| 色五月激情五月开心五月| 成人在线综合| 另类天堂| 五月天激情久久| 超碰色综合| 天天插综合| 五月色情婷婷开心五月色情| 狠狠色婷婷丁香五月| 神马欧美精| www.婷婷五月天.com| 99热这里只有精品55| 夜夜天天久久婷婷| 精品亚洲日韩99欧美片| 五月婷婷综合网| 久久机热这里只有 | 伊人五月婷婷| 婷婷丁香综合在线| 婷婷丁香五月综合| 99国产在线| 97精品自拍| 少妇水多A片太爽了| 国产婷婷色综合AV蜜臀AV| 婷婷午夜综合| 日韩综合成人| se99视频| 日本五月天激情| 91viP在线看| 色色色激情网| 天天爽天天日| 狠狠操天天干| 日本在线噜噜| 天天五月丁香五月| 色婷婷色五月综合| 欧美性生交xXxX久久久| 91丨九色丨43老版熟女| 99热这里只有精品一区| 99国产er热视频| 碰超亚洲| 亚洲人妻av伦理| 能看的AV| 九九婷婷五月天| 久鲁鲁色网 | 激情第四色| 日日夜夜天天综合| 中文aV网| 激情久久四色| 婷婷色综合| 亚洲成人在线观看网址| 午夜天堂一区人妻| 99久在线精品99re8热| 精品色| 极品 少妇 内射| 色啪综合| 丁香色成人| 国产激情一区| 久久久久久久久18久久| 久久综合99综合| 五月婷婷香| 色综合久久99色| 99视频网| 激情五月天伊人av| 九九精品在线网| 日本激情ⅩXX免费视频| 五月天婷婷一起草| 欧美天天草人人草| 五月色网| 超碰超碰在线| 欧美六月| 久99久视频| 九九干视频| 亚洲视频另类| 9999热精品| 婷婷色资源| 激情小说色五月| 桃色五月天| 超碰免费在线| 97干在线视频| 五月天久久久| 99国产精品久久久久久久久久久| 91精品久久久久久综合五月天| 99精品亚洲| 五月天色丁香| 色色无码| 日本人妻伦在线中文字幕| 99热66| 久久九九综合| 草了bav视频在线观看| 午夜成人片400| 饮料下药迷倒漂亮女同事强干| 久久久婷婷五月亚洲97号色| 九九九热精品| 做爱夜夜干天天操| 日韩成人精品一区久久久久| 韩国久久少妇视屏| 噜噜噜噜综合在线| 成人av在线网站| 黄色AV日韩| 五月婷婷中文| 国产精品天天狠天天看| 九色视频入口91| 五月婷婷丁香网| 国产九九一区二区三区| 涩五月婷婷| 99这里的视频都是精品| 色噜噜狠狠狠综合曰曰曰| 日日日日操| 婷婷六月色| 丁香六月婷婷综合| 中文字幕按摩做爰| 天堂在线婷婷| 亚洲一个色| 俺五月| 久久五月天激情| 久久激情天堂| 777影视理论片大全在线观看| 操大屄五月天视频| 欧美日韩成人一区二区| 欧美色骚婷婷五月天| 99国产小视频| 日韩成人电影AV| 午夜69成人做爰视频| 婷婷热色| 97色色色色| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 免费操超碰| 色色吧综合| 四色女婷婷| 精品久久人妻| 亚洲中文字幕在线观看| 狠狠色噜噜狠狠| 天天肏屄夜夜爽| 天天操天天草天天草天天| 亚洲婷婷五月| 北条麻妃伊人| 久操b网| 华人在线免费| 婷婷五月成人| 丁香五月六月综合激情| 五月婷婷精品无在线| 91色色色18| 激情五月成年| 人人爽在线视频综合网| 九九大香蕉黄色影院| 国产亚洲精品久久久久久豆腐| 亚洲啪啪精品| 色九月激情综合网| 亚洲热久久| 中文字幕欧美精品久久| 久久综合网免费视频| 成年人最刺激的综合网| WwW色婷婷| 大香蕉啪啪啪| 色七七九九| 久久91久久精品久久| 99视频色在线观看| 久久五月激情| 久久色五月天| 五月天婷婷激情在线色图| 无码色| 五月丁香婷婷综合| 色一情一乱一乱一区91| 国产精品丝| 五月丁香婷爱在线| 热日韩欧美| 五月天无码视屏播放| 五月天婷婷色色| 精品99在线| 婷婷伊人网| 九九精品免费视频99| 99 频99热国里只有精品| PORNY九色9l自拍视频成人| 超碰在线网站| 色色色色色网| 99九九在线视频| 天天做天天摸| 亚洲99一级无嗎特制在线| WWW、日本色丁香、co m| 九九热AV| 无码天天操| 天天天天干| 凹凸探花电影| 亚洲午夜成人av电影网| 国精产品一区二区三区| 久久丁香婷婷色情综合| 亚美欧色影院| 人人插9| 色五月婷婷大香蕉| 久久资源网五月婷| 第五色婷婷| 色五月婷婷 成人| 久久怡红院| 青青热久久综合| 五月天婷婷影院| 五月天婷婷在线啪啪视频| 激情六月天| 色欲五月天| 蜜乳av一级av| 99精品视频免费| 丁香婷婷婷五月综合色情| 99网99热| jiqingtaose五月天| 婷婷久久网| 九九九午夜影院成人| 亚洲日韩操B| 婷婷五月深爱五月| 色v综合网| 99视频| 无码G高清天| 久久综合五月情| 尔尔AV一区| 亚洲AV影片在线观看| 久久婷婷网站| 大学生高潮无套内谢视频| 五月色无码| 九月婷婷在线观看| 五月激情婷婷综合| 色婷婷色久综| 超爽内射| 秋霞性爱AV| 色五月激情五月丁香五月婷婷啪啪综合| 婷婷精品| 综合图片色色| 亚洲视频a| 婷婷综合激情| 第四色首页| 影音先锋 一区| 婷婷五月天久久久| 99性感视频| 日本97久久久精品| 天天综合网站| 天天草比天天爽| 五月丁香啪啪婷婷| 三级毛片视频| 桔色成人在线| 激情丁香久久| 久久九九囯产| 青青草免费公开视频| 五月婷精品| 五月天日日操夜夜操 | 亚洲久热无码| www激情网站| 九九人人操| 婷婷五月图片小说视频| 色婷视频| 婷婷伊人75| 免费无码毛片一区二区A片| 丁香美女五月天婷婷| 99re这里只有精品9| 香港九九六区八区99| 五月婷婷色五月| 五月久久丁香| 色婷婷五月丁香在线观看| 久re在线| 中文字幕无码人妻少妇免费视频| 99九色视频在线观看| 97色伦另类图片小说视频| 九色PORNY自拍成人精彩视频| 欧美性生交XXXXX无码小说| 婷婷 丁香 精品| 高清无码中文字幕aVDV| 国产激情久久久| 嫩草国产| 五月婷婷久久网| 六月婷婷综合| 9热精品| http://www.sd-xiangsu.com/| 五月婷婷在线丁香| 成人AV在线电影| 九九热99精品| Av在线资源| 少妇被躁爽到高潮无码文| 五月婷婷中文字幕| 国产婷婷综合| 日本在线va| 色色丁香激情五月| 亚洲婷婷丁香五月视频| 大香蕉久久草| 亚卅毛片| 丁香五月综合久久综合| 热久久色| www.玖玖婷婷在线| 国产第99页| 爱iii做iiii日| 极品人妻VideOssS人妻| 激情婷婷| 色碰碰视频| 日本久久婷| 丁香五月婷婷综合精品素人| 超碰资源在线| 99亚洲视频| 性色婷婷| 婷婷午夜精品久久久| 激情婷婷丁香| 婷婷五月电影院| 操九色| 97视频91| 日韩另类| 五月天激情综合| 五月激情六月综合| 五月婷婷综合网| 成人短视频在线免费观看| 桃色五月天| 99热99精品| 亚洲av日韩无码| 婷婷五月天AV在线| 九九综舍久久| 玖玖国产视频一区| 亚洲色色在线| 五月天a婷婷伊人| 日日肏天天操| 橾逼网| AV在线观看网站| 91婷婷| 99精品偷自拍| 丁香五月婷婷国产在线| 亚洲视频无| 五月综合丁香婷婷| 天天爽在线视频| 亚州视频九九99| 可以直接看的AV网站| 网站免费一站二站| 色婷五月| 六月婷综合| 综合久久六月| 天天开心婷婷丁香五月| 五月丁香亚洲综合网| 色丁香婷婷| AV五月丁香| 99熟女| 男女激情久久| 五月婷婷偷拍| 天天综合五月| 婷婷五月天美女21p| 青青草五月天| 伊人在线另类| 婷婷丁香九月| 激情 婷婷 丁香五月天| 噜噜狠狠色综合久| 99久久户外勾搭| 久久精品五月| 五月丁香激情婷婷综合字幕| 热99这就是精品视频| 91蜜桃婷婷狠狠久久综合9色| 久色精品| 日韩啪啪网| 91大屁股| 久久婷婷五月天懂色| 99色热综合| 91人人操人人爱| 狠狠操狠狠狠| 婷婷金品综合视频| 丁香五月www| 九九热这里精品| 日本在线99| 欧美性猛交 XXXX 乱大交| 大香蕉 伊人夜| 热这里只有精| 丁香五月六月综合激情| 超碰人人超碰| 国产三级在线播放| 就爱啪啪婷婷| 黄网在线免费观看| 琪琪色影音先锋| 亚洲五月天综合| 97干97色| 久久婷鲁| 一个色的综合| 人妻人人操| 国产精品成人av在线观看春天| 婷婷久久综合久| 久久九九国产| 青青草五月天| 色综啪啪网| 亚洲色色在线| 中文字幕成人| 色婷婷丁香综合中文字幕| 日韩精品无码99| 欧亚成人A片一区二区| 久久久8| 婷婷爱五月天| 久热精品9999| http://www.sd-xiangsu.com/| 久久婷婷五月天| a色色色色色| 欧美日韩成人一区二区| 丁香操逼| 激情五月天婷婷视频| 婷丁香五月天| wWW九九在线播放| 99久久玖玖| 中文字幕人妻AV| 国产99视频永久免费| 国产真人做爰视频免费| 激情五月天婷婷久久久久久久久久久| 久久草大香蕉| 九九热中文| 四虎成人精品永久免费AV九九| 五月丁香视频色色| 天天噜| 美欧成人视频| 六月婷婷久久| 色婷婷AV在线| 成人在线视频网| 亚洲在线操| 色情综合网| 超碰成人免费| 免费视频无码| 五月婷婷亚洲综合网| 婷婷午夜综合| 99碰超| 99热精品在线观看| 婷婷另类开心| 精品一二三区久久AAA片| 99视频精品8 | 色婷五月天网站| 色狠狠色噜噜AV天堂五区| 五月丁香色狠狠干大屄| www.久久99精品| 激情五月婷黄版| 久久天堂| 大香蕉av在线| 四色女婷婷| 国产探花一片区| 色婷婷色99国产综合精品| 97丁香婷婷| 可以看的av网站| 夜夜骑日日夜夜| 婷婷久久色五月婷婷久久久| 婷婷五月天成人| 99激情在线| 亚洲欧洲中文日韩久久AV乱码| 色综合五月在线| 婷婷伊人五月丁香天堂网| 五月天停婷基地| 99综合色色色| 亚洲中文字幕AV在线| 丁香六月综合| 66精品国产成人| 99热综合在线观看| 色色无码| 99热这是里只有精品| 五月综合激情啪啪啪啪啪| 亚洲熟妇无码乱子AV电影| 亚洲AV成人片无码网站| 五月激情四射网站| 五月天天综合| 国产99视频永久免费| 五月天久草| 午夜丁香| 99操逼| 五月丁香婷婷爱激情综合网| 婷婷丁香九色| 大香蕉五月婷婷| 性爱网五月天| 操人妻AV| 欧美婷婷五月丁香| 五月婷婷婷自由综合| 91九色视频| 思思9久久| 亚洲欧美综合7777色婷婷| 婷婷五月开心中文字幕色| 99人妻碰碰碰久久久久| 色色婷| 激情婷婷丁香色五月| 国产精品99久久久久久猫咪| 亚洲精品第一国产综合亚AV | 爱之国产色情综合| 色99视| 尤物一区二区| 九色婷婷| 日韩色色视频| 99热这里只有精品96| 婷婷五月激情网| 另类亚洲电影| 成人国产欧美大片一区| 欧美综合五月丁香六月婷| 婷婷无码视频| 开心五月激情| 久月婷婷| 五月丁了香蕉综合| 九九色插| AA丁香综合激情| 综合99综合久久久久久久| 欧美成人A片AAA片在线播放| 丁香五月色综合色播五月| 五月婷婷丁香综合| 中文在线视频久9| 久久婷婷六月综合国际| www.婷婷五月| 精品人人操| 亚洲婷婷五月天激情| 开心五月色婷婷综合开心网| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 97黑人精品区| 大香蕉欧美在线| 色五月人妻| 久操人妻| 丁香六月婷婷综合激情欧美| 26uuu精品一区二区| 丁香五月婷婷色| 天天插夜夜爽| 婷婷色播综合五月| 99re热精品视频国| 天天插天天插天天日| 激情综合网五月丁香| 久久精品99久久久久久| 操操精品| 超级碰碰碰97免费| 久久加勒比| 日韩AV在线免费观看| 久久五月天免费网站| 五月婷婷国产| 日韩色色色色| 久久婷婷一级片| 欧美日韩国产一二区| 欧美日韩二区在线| 色五月天 丁香| 久热久69| 无码一区二区三区四区五区91c| 玩熟女五十AV一二三区| 1024亚洲无码| Www.sesese丁香| 五月婷婷综合色啪首页| 色综合9| 色五月中文字幕| 久久青青日本视频| 色呦呦美女| 六月丁香婷婷五月天| 亚洲精品色色| 79成人网| 亚洲丁香五月在线观看| 五月天狠狠网| 五月丁香在线| 特级西西4444www无码| 综合色播| 欧美亚洲色色色色| 国精产品一区一区三区免费视频| 婷婷成人基地| 国产精品24r| www:99热视频| 激情综合色| 亚洲色五月天是什么| 中文字幕久久一区二区三区| 五月激情偷拍| 另类视频一区| 思思99热| 91亚洲免费片| 人妻性操逼中文字幕 国产| 亚洲丁香五月综合| 无码 色| 欧美日本黄色| 熟妇无码乱子成人精品| 九九热123| 91久久综合| 激情五月黄色小说| 99在线精品视频免费观看20| 9l视频自拍九色9l视频自拍九色9l社区 | www.99色在线| 国产免费av在线| 少妇日麻屄| 婷婷免费视频| 激情影院丁香五月| www.1024久久| 啪啪激情综合| 色五月婷婷婷婷| 色五月亚洲| 精品夜夜澡人妻无码AV| 婷婷欧美激情| 99热思思在线观看| 五月天社区| 日日夜夜天天| 男人視頻站| 99热乎| 特级西西4444www无码| 操人无码| 欧美日本高清视频99| 久久这里这里有精品免费视频| 六月婷婷国产| 激情五月婷婷网| 丁香婷婷老熟女综合网| 九九Av| 人人射人人高潮| 东京热免费视频| 91精品综合久久婷婷九色| 婷婷五月天影视网址| 中文字幕av在线| 天天射天天操天天干| 在线视频色五月| 丁香五月最新地址| 五月天sesese| 精品一区二区三区四区五区六区介绍| 久久婷婷综合五月趴| 免费看成人AA片无码视频吃奶| 精品99在线| 色色色免费视频| 中文字幕中文有码在线| 精品人人操| 噜噜吧天天爱| 91色色五月天| 第四色色六月色综合| 97碰碰视频| 97超碰色| 国产精品久久久久久五月天加勒比| 日本久热| 日本乱论99| 丁香婷婷六月在线资源观看| 五月天激情网图片| 色玖玖综合网| 婷婷五月天综合AV| 中文字幕+中文在线| 亚洲小说欧美激情| 丰满老熟妇BBBBB搡BBB| 狠狠爱综合网| 超碰超碰在线| 99热国内精品| 色婷婷亚洲五月天| 欧在线一区| 艾小青av| 色五月 婷婷, 大香蕉| 夜夜爽日日躁| 99综合网| 婷婷五月天日本国产| 五月丁香婷婷色| 久操热线| 色天天综合成人网| 日韩青青| 无码色色| 五月天婷婷青青草| 99视频网| 1024欧美看片| 丁香五月另类小说| 99啪啪骑| 亚洲视色| 色色五月天婷婷丁香| 99日这里只有精品| WWW色五月| 五月婷婷激情综合视频| 丁香五月瑟瑟| 五月天婷婷影院影院观看| 麻豆WWWCOM内射软件| oumeisesewang| 日本欧美成人片AAAA| site:wpjngj.com| 亚洲经典三级| 国产综合色婷婷精品久久| 婷婷在线视频| 亚洲 精品 综合 精品| 色婷婷在线视频| 极品人妻videosss人妻| 色色色激情网| 色五月婷婷一二| 黄网免费观看| 99热网站| 五月婷综合性中心| 成片免费观看大全| 少妇搡BBBB搡BBB搡毛茸茸 | 九热...av| 六月丁香久久| 色婷婷欧美在线| WWW.HENHENL.| 超碰国产在线观看| 最新热中文字幕| 图片区 小说区 区 亚洲五月| 97好吊操| 成人电影在线免费试看| 五月丁香婷婷成人网| 呦呦v线| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 色色色婷| 九九家庭影院| 五月丁香久久久| 婷婷免费视频| 久热只有这里有精品| 大陆极品少妇内射AAAAAA| 99久久玖玖| 9久精品视频| 99热这里有精品| 日狠狠| 狠狠操之狠狠操| 亚洲六月色| 综合AV在线| 九九色婷婷| 五月婷婷伊| 老司机伊人| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 中文字幕人妻AV| 99色视频| 婷婷色正月| 日本久久精品| 任我肏视频精品| 五月丁香影视| 婷婷综合色五月天| 9.1综合网| 九九爱精品网站| 99视频这里有精品| 久热免费| 99re这里只有精品国产99| 色婷婷女优有码五月亭| 国产成人精品一区二三区熟女在线 | 久久精品国产精品| 六月婷婷久久| 久久66er久久| 亚洲乱啪| 日韩精品AV一区二区三区| 玖玖五月| 丁香六月视频| 激情五月天视频| 五月色丁香婷婷综合| 色情成人五月天| 色噜噜狠噜噜视频| AV在线中文| 六月丁香开心婷婷欧美| 精品一二三区久久AAA片| 99精品网| 亚洲色色香蕉| 天天综合五月| 国产成人av在线播放| 五月丁香888| 婷婷操无码| 六月丁香网| 激情综合无码| 99热免费观看| 人人草人人爱手机视频看看| 性婷婷| 婷香五月网在线| 九九激情| 人人操9| 精品国产AV色一区二区深夜久久| 丁香综合网| 超碰在线免费9| 99热这里只有精品18| 伊人五月久久| 婷婷六月丁香久| www.色五月| 色婷婷久久综合| 中文字幕AV网址| 国产亚洲成人综合| 在线五月婷| 久久成人亚洲欧美电影| 精品一区二区三区免费毛片爱| 色色射| 色婷婷五月在线| 啪啪婷婷五月天激情| 亚洲免费观看高清完整版AV线| 玖玖精品视频| 久久99成人性爱高清视频| 森林影视大全,最好看的2019年视频 | 五月天婷婷午夜丁香| 久9久9热久热| 啪啪激情综合| 超碰av在线| 日本精品99| www超碰| 99色在线视频观看| 99综合视频| 欧亚色色| 免费色色色| 免费日韩99| 久久狠狠色| 色五月丁香六月婷婷| 狠狠五月天婷婷激情网。| 思思久久99热只有频精品66| 五月丁香婷爱在线| 五月天婷婷丁香社区| 婷婷五月丁香在线视频| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 中文字幕操比影片| WWW.久久99| 色五月天丁香婷婷色| 超碰色色综合| 99热这里只有精品268| 丁香五月天在线观看视频| 99热精品网| 丁香五月六月激情| 伊人久久丁香婷婷六月五月综合| 天天干夜夜谢| 亚洲综合1024| 狠狠色狠狠操| 99视频这里有精品| 久久女人九九| 午夜丁香六月婷| 综合激情婷婷| 五月丁香综合伦理片| 三级大香蕉网| 人人操av| 99网| 强辱丰满人妻HD中文字幕| www.韩日视频| AAA久久久| 色女人久久| 激情综合五月激情XXXX| 五月色俺婷婷| 一起草无码| 五月婷婷成人| 黄色AAAA韩国guochansanji| www.五月婷婷久久.com| 国产69久久久欧美黑人A片| 国产做爰视频免费播放| 一区二区三区XXXXXX| 97婷婷色| 狠狠色丁香婷婷基地| 国产成人亚洲综合A∨婷婷| 99九九视频| 亚洲精品久久久久久久久久吃药| 超碰中文字幕在线| 日韩aaa| 另类激情综合| 色婷婷五月天| www.9色色色| 热99这里只是精品| 五月丁香色狠狠干大屄| 久久99精品久久久久久噜噜| 蜜桃人妻无码AV天堂三区| www.一区二区三区| 六月丁香婷婷视频综合在线观看| www,五月天激情| 精品网站:999WWW| 五月天激情色色| 日本不卡中文字幕| 色一情一乱一乱一区91Av| 天天爽天天做| 99啪啪视频| 五月天婷婷社区久久综合| 色色色在线免费视频| 天天干一干| 激情小说色五月| 91久久1118| 六月丁香六月婷婷欧美| 天天干天天拍| 综合视频久久| 亚洲免费99| 婷婷激情四射| 亚韩在线视频| 美女美女美女三级色天天天天天| 这里只有精品久久| 影音先锋91| 五月丁香六月婷婷综合| 婷婷激情五月| 五月色丁香| 五月天婷婷亚洲| 五月天大香蕉| 超碰免费99| 99精品在线观看视频| 色婷青青| 91丨九色丨熟女高潮| 天天爱天天操| 色99xx| 丁香五月aV| 深爱婷婷网| 成人亚洲精品| 久久综合影院 | 国产精品99久久久久久久女警| 婷婷丁香五另类网站| 激情99| 亚洲午夜国产成人电影VA国产欧…| 五月婷婷六月丁香综合视频在线| 久久婷婷五月天| 在线网黄| 九九热在线观看视频| 国产色色色色色| 婷婷五月丁香综合人妻| 五月激情综合网| 丁香五月天堂网| 久久六月天| 4438激情网| 婷婷无码五月天| 97婷婷久久丁香| 97色色色色色| 激情电影五月婷婷| 天天舔天天插天天干| 99色爱| 欧美va亚洲va在线播放| 欧美特大片黄| 丁香五月激情综合在线观看| 久久婷婷五月天| 亚洲婷婷月丁香五月| 91seav| 亚洲综合五月天婷婷丁香|