久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

Repowise Codebase Chat 技術(shù)指南:基于 MCP 工具集的 SSE 流式 Agent 對(duì)話架構(gòu)

Repowise Codebase Chat 技術(shù)指南:基于 MCP 工具集的 SSE 流式 Agent 對(duì)話架構(gòu) 【免費(fèi)下載鏈接】repowiseCodebase intelligence for AI and humans: code health scores, auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.項(xiàng)目地址https://gitcode.com/gh_mirrors/re/repowise點(diǎn)擊查看免費(fèi)下載本文是 Repowise「代碼庫(kù)聊天Codebase Chat」功能的技術(shù)參考與實(shí)戰(zhàn)解析。該功能讓用戶以自然語(yǔ)言直接與代碼庫(kù)交互Agent 使用用戶配置的任意 LLM Provider從 MCP 工具面MCP surface精選7 個(gè)工具而非完整的 11 個(gè)默認(rèn) MCP 工具通過(guò) SSE 把流式響應(yīng)實(shí)時(shí)推送到瀏覽器邊生成邊展示工具調(diào)用過(guò)程并在 Artifact 面板中渲染工具結(jié)果。讀完本文你將掌握其端到端調(diào)用鏈數(shù)據(jù)庫(kù) → ChatProvider 協(xié)議 → Agentic Loop → SSE → 前端狀態(tài)機(jī)、Provider 配置解析規(guī)則、SSE 事件協(xié)議以及各 ProviderAnthropic / OpenAI / Gemini / Ollama / LiteLLM的差異化實(shí)現(xiàn)。文中所有實(shí)現(xiàn)細(xì)節(jié)均可在當(dāng)前倉(cāng)庫(kù)源碼中找到對(duì)應(yīng)依據(jù)。1. 架構(gòu)總覽一次提問(wèn)的完整旅程用戶在聊天框輸入問(wèn)題后請(qǐng)求按如下鏈路流轉(zhuǎn)流程圖引自 docs/architecture/chat.md并對(duì)照 聊天路由實(shí)現(xiàn) 做了細(xì)化User types question | v POST /api/repos/{repo_id}/chat/messages | v ------ Chat Router (SSE stream) ------ | | | 1. Create/load conversation | | 2. Save user message to DB | | 3. Build LLM message history | | 4. Call provider.stream_chat() -------- tool_executor callback | | | | v | | 5. Stream text_delta events ------- SSE to browser | 6. On tool_start: | | - Execute tool (or provider | | executes internally) | | - Emit tool_result event ------- SSE to browser | 7. If tool calls found: | | - Append to history, loop to 4 | | 8. If no tool calls: | | - Save assistant message to DB | | - Emit done event | ---------------------------------------一個(gè)關(guān)鍵設(shè)計(jì)決策是Agentic Loop 默認(rèn)跑在 Chat Router 中OpenAI、Anthropic、Ollama、LiteLLM 皆是如此只有 Gemini 例外——它的循環(huán)在stream_chat()內(nèi)部執(zhí)行。原因在于 Gemini 的 API 要求在回放對(duì)話歷史中的函數(shù)調(diào)用時(shí)攜帶thought_signature簽名而通過(guò) Router 做 OpenAI 格式的往返轉(zhuǎn)換會(huì)丟失該簽名因此 Router 向 Gemini 傳入一個(gè)tool_executor回調(diào)由 Gemini 在內(nèi)部循環(huán)中直接調(diào)用。這一點(diǎn)在第 10 節(jié)會(huì)詳細(xì)展開(kāi)。2. 數(shù)據(jù)庫(kù) Schema會(huì)話與消息的持久化兩張表由遷移0005_chat_conversations.py引入遷移文件位于 packages/core/alembic/versions/0005_chat_conversations.py其中upgrade()與文檔描述完全對(duì)應(yīng)。conversations表ColumnTypeNotesidString(32)PKUUID hexrepository_idString(32)FKrepositories.idondeleteCASCADEtitleText自動(dòng)生成新會(huì)話默認(rèn)New conversation首輪回答后由前 6 個(gè)詞提煉created_atDateTime(tz)server_defaultsa.func.now()updated_atDateTime(tz)收到新消息時(shí)自動(dòng)更新索引ix_conversations_repo_updated建立在(repository_id, updated_at)上——按倉(cāng)庫(kù)列出會(huì)話并按更新時(shí)間排序是主要查詢路徑。chat_messages表ColumnTypeNotesidString(32)PKUUID hexconversation_idString(32)FKconversations.idondeleteCASCADEroleString(32)user或assistantcontent_jsonTextJSON 負(fù)載見(jiàn)下created_atDateTime(tz)索引ix_chat_messages_conv_created建立在(conversation_id, created_at)上。消息內(nèi)容格式用戶消息{text: What does the auth module do?}助手消息除了正文文本還會(huì)把本輪所有工具調(diào)用及其結(jié)果作為持久化負(fù)載一起存儲(chǔ)tool_calls數(shù)組這樣歷史會(huì)話回放時(shí)能完整還原當(dāng)時(shí)的工具證據(jù){ text: The auth module handles..., tool_calls: [ { id: call_abc123, name: get_context, arguments: {targets: [src/auth]}, result: { ... } } ] }從源碼看存儲(chǔ)的tool_calls條目實(shí)際結(jié)構(gòu)為{id, name, arguments, summary, artifact}即還包含工具結(jié)果摘要與 Artifact 信封見(jiàn) routers/chat.py 中_stored_tool_callArtifact 數(shù)據(jù)隨消息持久化歷史會(huì)話無(wú)需重新調(diào)用工具即可回放結(jié)果面板。3. ChatProvider 協(xié)議可選接入的流式聊天能力協(xié)議定義在 packages/core/src/repowise/core/providers/llm/base.py。設(shè)計(jì)要點(diǎn)既有的BaseProvider.generate()完全不動(dòng)新增一個(gè)基于typing.Protocolruntime_checkable的ChatProvider協(xié)議類把「流式聊天 工具調(diào)用」作為 Provider 的可選能力——實(shí)現(xiàn)stream_chat()即視為支持。runtime_checkable class ChatProvider(Protocol): def stream_chat( self, messages: list[dict], # OpenAI-format message list tools: list[dict], # OpenAI-format tool definitions system_prompt: str, max_tokens: int 8192, temperature: float 0.7, request_id: str | None None, tool_executor: Any | None None, # async callable(name, args) - dict ) - AsyncIterator[ChatStreamEvent]: ...配套數(shù)據(jù)類ChatToolCall(id, name, arguments)— LLM 想執(zhí)行的工具調(diào)用ChatStreamEvent(type, text?, tool_call?, tool_result_data?, stop_reason?, input_tokens, output_tokens)— 流中的一個(gè)事件。事件類型type填充字段含義text_deltatext增量文本 tokentool_starttool_callLLM 請(qǐng)求調(diào)用某個(gè)工具tool_resulttool_call,tool_result_data工具已執(zhí)行由 Provider 內(nèi)部執(zhí)行時(shí)usageinput_tokens,output_tokenstoken 用量更新stopstop_reason生成結(jié)束end_turn/tool_use/max_tokens消息統(tǒng)一使用OpenAI 格式的 dict 列表作為協(xié)議輸入各 Provider 在stream_chat()內(nèi)部自行轉(zhuǎn)換為自家原生格式。stop_reason采用 Provider 無(wú)關(guān)的中性取值base.py中的normalize_stop_reason()會(huì)把各廠商枚舉stop、length、tool_calls、function_call等歸一化為end_turn、max_tokens、tool_use未知值原樣保留以便診斷?,F(xiàn)有實(shí)現(xiàn)Anthropic、OpenAI、Gemini、Ollama、LiteLLM。它們都接受tool_executor參數(shù)但只有 Gemini 真正使用它用于thought_signature處理見(jiàn)第 10 節(jié)。4. Tool Registry聊天工具的唯一事實(shí)來(lái)源定義在 packages/server/src/repowise/server/chat_tools.py。它是聊天工具 schema 與執(zhí)行的單一來(lái)源從 MCP 注冊(cè)表投影出「請(qǐng)求作用域」的工具面向 LLM 暴露 OpenAI 格式的 function 定義。核心函數(shù)函數(shù)用途get_tool_catalog(repo_path)返回該倉(cāng)庫(kù)配置的 MCP 工具面含生成的 schemaget_tool_schemas_for_llm()轉(zhuǎn)成 OpenAI 格式的 tool definitions 交給 LLMexecute_tool(name, args)僅當(dāng)工具屬于該倉(cāng)庫(kù)配置面時(shí)執(zhí)行并保證輸出可 JSON 序列化get_artifact_type(name)/get_artifact_presentation(name)/get_artifact_evidence_basis(name)把工具名映射為前端 Artifact 類型 / 呈現(xiàn)方式 / 證據(jù)依據(jù)init_tool_state(...)把 FastAPI app state 橋接到 MCP 模塊全局session 工廠、FTS、向量庫(kù)、決策存儲(chǔ)、repo 路徑實(shí)現(xiàn)細(xì)節(jié)值得注意工具面由倉(cāng)庫(kù)配置決定get_tool_catalog調(diào)用selected_tool_entries(repo_path)即工具集來(lái)自倉(cāng)庫(kù)的 MCP 配置而非寫(xiě)死的列表雙重安全約束execute_entry遵循ToolEntry.safety合約——mutating工具在未顯式確認(rèn)時(shí)直接返回confirmation_required錯(cuò)誤執(zhí)行失敗不會(huì)拋異常中斷流而是返回{error: ..., error_code: tool_failed}工作區(qū)別名兜底_scope_repo_arg會(huì)攔截模型擅自填寫(xiě)的repo參數(shù)用當(dāng)前工作區(qū)別名覆蓋確定性序列化_make_json_serializable遞歸把 dict/list/dataclass 轉(zhuǎn)成純 JSON 類型避免 SSE 序列化失敗。7 個(gè)聊天工具與 Artifact 類型映射聊天 Agent 只暴露精選子集不包含完整的 MCP 默認(rèn)面沒(méi)有g(shù)et_answer、get_symbol、get_health、list_reposToolArtifact Typeget_overviewoverviewget_contextwiki_pageget_riskrisk_reportget_change_riskrisk_reportget_whydecisionssearch_codebasesearch_resultsget_dead_codedead_code前端 ArtifactPanel 依據(jù)artifact.type決定渲染方式Markdown、Mermaid 圖、搜索結(jié)果、原始 JSON。5. Provider 配置API Key 與活動(dòng) Provider 的解析鏈實(shí)現(xiàn)在 packages/server/src/repowise/server/provider_config.py。API Key 與活動(dòng) Provider/模型選擇存儲(chǔ)在服務(wù)端provider_config.json中路徑為$REPOWISE_CONFIG_DIR/provider_config.json未設(shè)置時(shí)位于~/.repowise/provider_config.json環(huán)境變量?jī)?yōu)先于存儲(chǔ)的 Key。文件采用「先寫(xiě)臨時(shí)文件再os.replace原子替換」的方式落盤(pán)并盡力設(shè)置0600權(quán)限保護(hù) Key 材料日志輸出會(huì)用_redact_key對(duì)sk-前綴的 Key 打碼。API Key 解析順序源碼為三層比文檔更細(xì)進(jìn)程環(huán)境變量如GEMINI_API_KEY、ANTHROPIC_API_KEY、OPENAI_API_KEY目標(biāo)倉(cāng)庫(kù)的.repowise/.env——以 dict 形式讀取不會(huì)注入os.environ因此工作區(qū)模式下某個(gè)倉(cāng)庫(kù)的 Key 不會(huì)泄漏到另一個(gè)倉(cāng)庫(kù)服務(wù)端存儲(chǔ)的 Keyprovider_config.json中keys段通過(guò)set_api_key寫(xiě)入。另外UI 里新增的 Key 會(huì)被_mirror_key_to_repo_env同步鏡像到該倉(cāng)庫(kù)的.repowise/.env以 Provider 目錄中的第一個(gè)規(guī)范環(huán)境變量名為準(zhǔn)這樣之后在該倉(cāng)庫(kù)跑 CLI 也能讀到同一把 Key——CLI 只讀.env不讀服務(wù)端存儲(chǔ)?;顒?dòng) Provider 解析順序源碼為五層覆蓋文檔的兩步每倉(cāng)庫(kù)持久化的 UI 選擇provider_config.json的repos[repo_id]——這是用戶對(duì)該倉(cāng)庫(kù)的顯式覆蓋按倉(cāng)庫(kù)隔離避免「為一個(gè)倉(cāng)庫(kù)選模型卻影響其他倉(cāng)庫(kù)」的歷史 bug倉(cāng)庫(kù)自身config.yamlprovidermodel由repowise init寫(xiě)入——無(wú)縫默認(rèn)服務(wù)端全局active_providerPATCH /api/providers/active寫(xiě)入的舊式單倉(cāng)庫(kù)狀態(tài)REPOWISE_PROVIDER/REPOWISE_MODEL環(huán)境變量自動(dòng)探測(cè)——遍歷目錄取第一個(gè)有可用 Key 或無(wú)需 Key 的 Provider。Provider 目錄文檔第 5 節(jié)列出的核心目錄為 Gemini、Anthropic、OpenAI、Ollama本地、無(wú)需 Key、LiteLLM對(duì)照當(dāng)前源碼中的PROVIDER_CATALOG實(shí)際還包含 OpenRouter、DeepSeek、Kimi、Eden AI、Claude Code本地 CLI、Codex本地 CLI、OpenCode本地 CLI等。每個(gè)條目聲明default_model、可選的models列表、env_keys與requires_key。示例源碼原文{ id: gemini, name: Google Gemini, default_model: gemini-3.5-flash-lite, models: [gemini-3.5-flash-lite, gemini-3.1-flash-lite, gemini-3.1-pro-preview], env_keys: [GEMINI_API_KEY, GOOGLE_API_KEY], requires_key: True, },base_url同樣有三層解析進(jìn)程環(huán)境變量名目來(lái)自PROVIDER_BASE_URL_ENVS與 CLI/MCP 解析共用同一張表保證不漂移→ 倉(cāng)庫(kù).env→ 倉(cāng)庫(kù)config.yaml中按 Provider 分段的openai: {base_url: http://localhost:4000/v1}這類寫(xiě)法。這使得本地 LiteLLM / OpenAI 兼容端點(diǎn)可以在init時(shí)配置并被聊天復(fù)用。6. SSE 流式協(xié)議瀏覽器實(shí)時(shí)看到生成過(guò)程聊天端點(diǎn)返回Content-Type: text/event-stream。每個(gè)事件格式event: data data: {type: ..., ...}事件形狀逐條解析// LLM 的增量文本 {type: text_delta, text: The auth module...} // LLM 要調(diào)用工具 {type: tool_start, tool_id: call_123, tool_name: get_context, input: {targets: [src/auth]}} // 工具執(zhí)行完成 {type: tool_result, tool_id: call_123, tool_name: get_context, summary: Context for 1 target(s), artifact: {type: wiki_page, data: {...}}} // 流結(jié)束 {type: done, conversation_id: abc123, message_id: def456} // 錯(cuò)誤 {type: error, message: Provider error: ...}HeadersCache-Control: no-cache, no-transform、X-Accel-Buffering: no、Connection: keep-alive。其中no-transform是為了防止 Next.js rewrite 代理的壓縮中間件對(duì)流做 gzip 緩沖與 jobs 流同一處理策略。Retry流開(kāi)始時(shí)發(fā)送retry: 3000。終端事件紀(jì)律每條流必須以done或error在data通道上收尾。前端useChat只按type字段分派事件因此發(fā)送到其他通道、或缺少type的事件會(huì)被丟棄——客戶端只會(huì)看到「回答到一半流停了」??蛻舳嗽?reader 結(jié)束時(shí)若未收到終端事件會(huì)自行結(jié)算本地狀態(tài)把進(jìn)行中的工具標(biāo)為錯(cuò)誤態(tài)但服務(wù)端仍然欠它一個(gè)終端事件。源碼中該格式由_sse_event(event, data)統(tǒng)一生成見(jiàn) routers/chat.py。此外源碼還會(huì)在特定場(chǎng)景發(fā)出文檔未列出的補(bǔ)充事件{type: suggestions, suggestions: [...]}—— 回答完成、且本輪有可跟進(jìn)問(wèn)題時(shí)附帶建議追問(wèn){type: truncated, loops: 10}—— 10 輪循環(huán)全部以工具調(diào)用結(jié)束、始終未產(chǎn)出最終答案時(shí)發(fā)出。7. Agentic Loop最多 10 輪的模型-工具交替循環(huán)循環(huán)每請(qǐng)求最多運(yùn)行10 次迭代源碼常量_MAX_AGENTIC_LOOPS 10見(jiàn) routers/chat.pyfor each iteration: 1. Call provider.stream_chat(messages, tools, system_prompt, tool_executor) 2. Collect text_delta events - stream to client 3. Collect tool_start events - stream to client 4. Collect tool_result events (from internal execution) - stream to client 5. If there are pending tool calls (not internally executed): a. Execute each tool b. Emit tool_result to client c. Append assistant tool results to message history d. Continue loop 6. If no tool calls: break循環(huán)結(jié)束后助手消息文本 全部工具調(diào)用及其結(jié)果保存到數(shù)據(jù)庫(kù)并發(fā)出done事件。對(duì)照源碼_AgentTurn的實(shí)現(xiàn)有幾個(gè)值得說(shuō)明的細(xì)節(jié)兩階段工具執(zhí)行模型_model_turn收集tool_start事件進(jìn)入pending列表若 Provider 已內(nèi)部執(zhí)行tool_result事件則從pending中移除對(duì)應(yīng)項(xiàng)——這正是 Gemini 內(nèi)部循環(huán)與 Router 循環(huán)的協(xié)作點(diǎn)客戶端斷連即中止每輪都檢查request.is_disconnected()斷連置aborted并停止不保存任何內(nèi)容源碼注釋明確客戶端斷連或 Provider 失敗時(shí)不落庫(kù)避免半截回答污染歷史grounding 預(yù)讀在模型第一輪之前Router 會(huì)基于頁(yè)面上下文ChatPageContext用plan_groundingrun_grounding做一次「該頁(yè)面已獲授權(quán)的讀取」例如打開(kāi) Wiki 頁(yè)先拉一次get_context并把結(jié)果注入消息歷史、以origingrounding標(biāo)記存儲(chǔ)重復(fù)的調(diào)用會(huì)被歷史去重跳過(guò)ProviderError 即 error 事件模型調(diào)用拋出ProviderError時(shí)置aborted并立即yield一個(gè)errorSSE 事件截?cái)鄻?biāo)記10 輪全是工具調(diào)用時(shí)置truncatedTrue回復(fù)內(nèi)容中帶truncated標(biāo)記并發(fā)出truncated事件。歷史構(gòu)建方面_db_messages_to_llm_format把數(shù)據(jù)庫(kù)消息轉(zhuǎn)成 LLM 格式_with_navigation_context再注入頁(yè)面導(dǎo)航上下文工具結(jié)果以tool_result_message回填歷史助手側(cè)用assistant_tool_call_message記錄本輪文本與工具調(diào)用。8. REST API 端點(diǎn)Chat 端點(diǎn)MethodPathDescriptionPOST/api/repos/{repo_id}/chat/messagesSSE 流——發(fā)送消息并獲取流式響應(yīng)GET/api/repos/{repo_id}/chat/conversations列出倉(cāng)庫(kù)的會(huì)話GET/api/repos/{repo_id}/chat/conversations/{id}獲取會(huì)話及其全部消息DELETE/api/repos/{repo_id}/chat/conversations/{id}刪除會(huì)話POST body{ message: What does the auth module do?, conversation_id: null, provider: null, model: null }conversation_id— 省略或null表示開(kāi)啟新會(huì)話provider/model— 可選的單請(qǐng)求覆蓋即 UI 的模型選擇器僅對(duì)本次請(qǐng)求生效不帶覆蓋時(shí)按第 5 節(jié)的倉(cāng)庫(kù)級(jí)解析鏈確定 Provider 與模型。從源碼看POST還接受一個(gè)context字段kind/label/target/target_kind用于把頁(yè)面上下文傳給 grounding 與系統(tǒng)提示詞且所有聊天端點(diǎn)都受verify_api_key依賴保護(hù)Router 級(jí)依賴。補(bǔ)充端點(diǎn)源碼中的完整面超出文檔表格源碼中的聊天路由還提供了會(huì)話生命周期管理的更多端點(diǎn)均帶verify_api_key依賴GET /api/repos/{repo_id}/chat/suggestions?kind...target...— 基于頁(yè)面已獲授權(quán)讀取生成建議問(wèn)題不產(chǎn)生模型調(diào)用與主聊天共用同一套 grounding 函數(shù)保證兩處對(duì)頁(yè)面類型的映射永不漂移POST /api/repos/{repo_id}/chat/conversations/{id}/restore— 恢復(fù)軟刪除的會(huì)話PATCH /api/repos/{repo_id}/chat/conversations/{id}— 更新標(biāo)題或固定pinned狀態(tài)標(biāo)題不可為空POST /api/repos/{repo_id}/chat/conversations/{id}/fork— 從某個(gè)消息節(jié)點(diǎn)派生新會(huì)話through_message_id與before_message_id二選一GET /api/repos/{repo_id}/chat/conversations/{id}/artifacts/{artifact_id}與PATCH .../artifacts/{artifact_id}— 讀取歷史消息中持久化的 Artifact、切換其固定狀態(tài)。Providers 端點(diǎn)MethodPathDescriptionGET/api/providers列出全部 Provider 及其狀態(tài)與活動(dòng)選擇PATCH/api/providers/active設(shè)置活動(dòng) Provider 與模型POST/api/providers/{id}/key存儲(chǔ) API KeyDELETE/api/providers/{id}/key移除 API Key9. 前端架構(gòu)API 層packages/api-client/src/chat.ts—listConversations、getConversation、deleteConversation、getChatSuggestions、restoreConversation、updateConversation、forkConversation、getConversationArtifact、setConversationArtifactPinned核心的postChatMessage返回原始Response而非解析后的 JSON供調(diào)用方讀取response.body作為ReadableStream逐幀消費(fèi) SSE。它還會(huì)透?jìng)鰽bortSignal不僅中止讀循環(huán)連 POST 請(qǐng)求本身一起中止否則服務(wù)端 Agentic Loop 會(huì)繼續(xù)空轉(zhuǎn)、DB 會(huì)話直到 socket 坍塌才被回收Provider 管理封裝getProviders/setActiveProvider/addProviderKey/removeProviderKey同樣在 api-client 層。HooksuseChat(repoId)實(shí)現(xiàn)見(jiàn) packages/web/src/lib/hooks/use-chat.ts—— 完整的聊天狀態(tài)機(jī)。使用fetchReadableStream讀取而非EventSource后者僅支持 GET。管理消息列表、流式狀態(tài)、會(huì)話 ID、錯(cuò)誤處理與中止控制。實(shí)現(xiàn)上的細(xì)節(jié)用AbortController在中止/切換倉(cāng)庫(kù)/組件卸載時(shí)打斷流文本增量通過(guò)requestAnimationFrame批處理queueText/flushText避免高頻 text_delta 觸發(fā)過(guò)量 React 重渲染流異常終止時(shí)用stopRunningTools把進(jìn)行中的工具調(diào)用標(biāo)記為錯(cuò)誤態(tài)并附上說(shuō)明。對(duì)外暴露sendMessage、loadConversation、resetuseProviders()—— SWR 包裝的 Provider 管理暴露providers、activeProvider、activeModel、activate、saveKey、removeKey。組件packages/ui/src/chat/與packages/web/src/components/chat/組件用途ChatInterface主容器——空態(tài)問(wèn)候語(yǔ) 建議問(wèn)題 模型選擇器與活躍態(tài)消息列表 輸入框ChatMessage渲染用戶氣泡或助手消息工具塊 MarkdownChatMarkdown客戶端 Markdown 渲染react-markdownremark-gfm使用設(shè)計(jì) token 樣式ToolCallBlock/ToolCallGroup內(nèi)聯(lián)工具調(diào)用可視化——運(yùn)行中spinner、已完成折疊勾選 摘要、已完成展開(kāi)輸入/輸出 JSONArtifactPanel右側(cè)滑入面板多 Artifact 分 Tab按類型渲染Markdown、Mermaid 圖、搜索結(jié)果、原始 JSONModelSelector緊湊 popover切換 Provider/模型并內(nèi)聯(lián)添加 API KeyConversationHistory下拉列出歷史會(huì)話支持刪除、新建、恢復(fù)、fork、固定等操作頁(yè)面結(jié)構(gòu)倉(cāng)庫(kù)落地頁(yè)/repos/[id]就是聊天界面緊湊頭部倉(cāng)庫(kù)名 commit 徽標(biāo) 分支徽標(biāo)、ChatInterface占滿剩余視口高度、側(cè)邊欄導(dǎo)航項(xiàng)由 Overview 改為 Chat。倉(cāng)庫(kù)的其他子頁(yè)graph、wiki、coverage 等保持不變。10. Provider 專屬說(shuō)明Anthropic使用client.messages.stream()原生 Anthropic 消息格式。OpenAI 格式消息需轉(zhuǎn)換工具結(jié)果轉(zhuǎn)為user角色的tool_resultcontent block工具調(diào)用轉(zhuǎn)為tool_usecontent block。Agentic Loop 跑在 Chat Router。OpenAI使用client.chat.completions.create(streamTrue)。原生 OpenAI 格式幾乎無(wú)需轉(zhuǎn)換。工具調(diào)用片段在流 chunk 中累積完整后一次性以tool_start事件發(fā)出。Agentic Loop 跑在 Chat Router。Gemini使用client.models.generate_content()非流式在線程池中執(zhí)行見(jiàn) packages/core/src/repowise/core/providers/llm/gemini.py。Agentic Loop 在stream_chat()內(nèi)部運(yùn)行Gemini 的 API 在回放對(duì)話歷史中的 function call 時(shí)必須攜帶thought_signature若經(jīng) Router 做 OpenAI 格式往返會(huì)丟失該簽名因此內(nèi)部循環(huán)全程使用原生Content對(duì)象通過(guò)tool_executor回調(diào)執(zhí)行工具并產(chǎn)出tool_start/tool_result事件。tool_executor參數(shù)對(duì) Gemini 是必需的缺失時(shí)它會(huì)yield一個(gè)stop讓調(diào)用方接管循環(huán)但注釋明確這會(huì)在下一次往返時(shí)因thought_signature缺失而失敗。Ollama使用 OpenAI 兼容端點(diǎn)localhost:11434/v1經(jīng)AsyncOpenAI調(diào)用流式模式與 OpenAI 一致無(wú)需 API Key。Agentic Loop 跑在 Chat Router。LiteLLM使用litellm.acompletion(streamTrue)OpenAI 兼容流式輸出。Agentic Loop 跑在 Chat Router。附注推理類模型的溫度參數(shù)兼容值得補(bǔ)充的是流式聊天與生成共用 Provider 層的溫度兼容策略見(jiàn) base.py推理時(shí)代的部分模型如gpt-5、o1、o3、o4系列Anthropic Opus/Sonnet 5 系列等會(huì)拒絕顯式temperature并返回 400。temperature_kwargs()對(duì)已知前綴直接跳過(guò)該參數(shù)is_temperature_rejection()/remember_temperature_rejection()則在運(yùn)行時(shí)從第一次拒絕中「學(xué)習(xí)」新模型并加入進(jìn)程內(nèi)緩存避免每次多付一次失敗的調(diào)用。這是跨生成與聊天兩條路徑的共享底層邏輯。結(jié)語(yǔ)與進(jìn)一步閱讀Repowise Codebase Chat 的核心價(jià)值在于「把 MCP 工具面安全地投影給一個(gè)帶流式的 Agent 循環(huán)」倉(cāng)庫(kù)級(jí)工具配置決定能力邊界ChatProvider協(xié)議讓不同廠商的流式/工具語(yǔ)義歸一化SSE 協(xié)議與前端useChat狀態(tài)機(jī)保證「生成過(guò)程可見(jiàn)、結(jié)果可回放」。若想深入源碼建議按以下順序閱讀聊天路由與 Agentic Looppackages/server/src/repowise/server/routers/chat.py工具注冊(cè)表與執(zhí)行合約packages/server/src/repowise/server/chat_tools.pyProvider 協(xié)議與事件類型packages/core/src/repowise/core/providers/llm/base.pyProvider 配置解析鏈packages/server/src/repowise/server/provider_config.py數(shù)據(jù)庫(kù)遷移packages/core/alembic/versions/0005_chat_conversations.py前端 API 層packages/api-client/src/chat.ts、packages/web/src/lib/hooks/use-chat.ts架構(gòu)級(jí)說(shuō)明docs/architecture/chat.md、docs/architecture/ARCHITECTURE.md贊分享【免費(fèi)下載鏈接】repowiseCodebase intelligence for AI and humans: code health scores, auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.項(xiàng)目地址https://gitcode.com/gh_mirrors/re/repowise點(diǎn)擊查看免費(fèi)下載相關(guān)推薦Hoppscotch 快速上手三步部署自托管 API 調(diào)試平臺(tái)的實(shí)操指南Hoppscotch 快速上手三步部署自托管 API 調(diào)試平臺(tái)的實(shí)操指南 Hoppscotch 是一個(gè)開(kāi)源 API 開(kāi)發(fā)工具支持 REST、GraphQL、開(kāi)發(fā)工具接口測(cè)試前端后端CLI基于 n8n 的 Tech Stack Expert 對(duì)話式技術(shù)選型 Agent工作流架構(gòu)、系統(tǒng)提示詞與實(shí)戰(zhàn)接入解析基于 n8n 的 Tech Stack Expert 對(duì)話式技術(shù)選型 Agent工作流架構(gòu)、系統(tǒng)提示詞與實(shí)戰(zhàn)接入解析 本文以 oTTomator Live A示例工程ruflo 性能優(yōu)化 Agent 實(shí)戰(zhàn)指南基于 sublinear 算法的 Performance Optimizer 架構(gòu)、MCP 工具與集成模式ruflo 性能優(yōu)化 Agent 實(shí)戰(zhàn)指南基于 sublinear 算法的 Performance Optimizer 架構(gòu)、MCP 工具與集成模式 本指南以人工智能AI Agent多智能體Agent 編排Agent 記憶工具調(diào)用代碼智能體MCP 服務(wù)AI 評(píng)測(cè)上一篇【免費(fèi)下載】 探索Windows驅(qū)動(dòng)存儲(chǔ)庫(kù)的利器Driver Store ExplorerRAPR下一篇終極指南如何使用Go-libp2p構(gòu)建去中心化網(wǎng)絡(luò)應(yīng)用創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
美国日韩黄片| 免费视频观看60秒| 丁香五月天堂| 亚洲精品白浆高清久久久久久| 本道在线| 操人妻逼91| 色爱国产| 韩国午夜理伦三级好看| 国产乱色国产精品免费视| 久9爱精品| AV天堂电影网| 丰满人妻一区二区三区| 女人高潮大叫一级毛片| 国产a级午夜毛片| 欧美色91| 亚洲激情在线一区二区| 午夜操一操| 麻豆区久久久久亚| 色眯眯av| 天天干1区2区在线| 亚洲drav色图| 亚洲欧美日韩中文久久自慰| 国产久久久久影院老熟女| 嗯嗯嗯,草死我| 五月天婷婷久久| 18禁美女裸体无遮挡啪啪| 丝袜亚洲综合| 国产综合网站在线播放 | 日本免费专区| 浓厚中出中文字幕在线| 日韩av电影成人在线| 青青草久草| 久久精品女同亚洲女同13| 淫乱图区| 日韩中文9| 最新精品久久蜜桃| 欧美熟妇亚洲版| 中文字幕少妇色 | 亚洲囯产精品女人久久久| 亚拍在线| AV中文字幕剧情1区2区3| 中文一区在线日| 国产人妻一区二区三区欧美毛片| 少妇三P| 日本有码久久| 国产suv精品一区二区四| 中文字幕黑人大片| 91黑丝少妇| 自拍二页| 亚洲午夜蜜臀| 日本媚薬中文字幕在线| 日韩av免费一级电影| 老司机午夜精品视频| 校园春色五月天| 性色aV一区二区三区噜噜| 精品人妻一区二区免费看| 日韩熟女精一区二区三区不卡| 91内射| 1人人看人人摸人人操| 天天谢天天干| aⅴ日韩成人电影av在线免费看av大全| 色爱三区| 调教熟妇 久久久久久| 美女黄频a美女大全免费皮| 国语av最新自产拍在线观看| 人妻少妇精品一区二区三区| 久久视网78| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 亚洲国产福利视频| 欧美18老人禁| 久精品无码av一区二免费国产在线观看 | 欧美日韩黄片精品在线| 国产精品久久久久久久久AV大片| 综合久草| 男人天堂网手机版婷婷| 女人与公拘交酡2020视频| 91人人爽人人爽| 爱干爱射网啊啊啊| 色五月av| www色色com| SUV一区二区在线看| 天天综合网~91| 超碰久久精品| 国产无马av| 嗯嗯,啊啊,国产精品| 99色婷婷中文字幕乱色| 91色宗合| 伊人大香蕉在线| 老熟女中文字幕高清| 激情在线青青操| 成年人网站在线免费观看| 精品久久久久久中文| 激情四射五月天| 久插不卡| 999久久久免费精品国产牛牛| 超97在线精品视频| 日韩9999| 91视频伊人| 天天综合亚在线| 青青草一区二区三区四| 国产91啪| 操逼999| 亚洲久久久久| 99精品在线| 美女网站黄页| 天天爽人人综合免费7799| 久久亚洲不卡一区二区三区| 国产精品午夜AV完会免费| 亚洲精品丝袜-不卡成人免费……| 日韩黄色av中文字幕| 亚洲激情综合| 四虎av在线| 欧美综合娱乐久久| 97AV在线免费观看| 国产精品久久久久久无码红治院| 人妻天天爽夜夜爽2| 巨爆乳一区二区爆乳区| 黄总AV色图| 精品无码久久久久久久杏吧| 久妇网| 国产精品播放| 91天天日| 日本黄大片在线观看视频| 后X久久| 欧美日韩色| 国产成人网址| 日韩欧美女求操每天更新| 久久婷五月| 欧美偷拍| 在线 亚洲 网爆 自拍| 97超碰色色| 在线啊啊啊| 免费超碰97在线观看| 物尤视频一区二区| 超碰成人最新最好看| 北野未奈加勒比av| 不卡免费av在线播放| 热热色国产一二区AV| 国产99 中文字幕日韩小视频| 蜜臀99久久精品| 玖玖在线视频| 夜嗨影院| 2018天天日天天日| 精品一区二区三区蜜桃| 毛片视频白嫩| 尤物黄色在线观看网站| 97超碰站| 欧美一区二区三区成人性生活| 人人操人人大香蕉| 婷婷三区| 99无码精品| 国产精品美女久久久久久网站| 夜夜操老骚逼视频网站| 能直接看AV的网站| 大奶啊啊好爽 | 久久AV无码网址| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 日本有码影片下载| 蜜桃视频成a人v在线| 日韩啪啪网| 欧美—性—交—色| 青青草在线视频欧美| 激情干在线| 特色a在线上| 蜜臀99999| 免费视频a级毛片免费视频| 亚洲久9| 日韩久久艹| 九九综合色| 亚洲国产精品99久久久| 2017天天插| 精品美女少妇一区二区三区| 亚洲欧洲偷拍一区| 七久久久| 久草大| 伊人久久在线视频观看| 人妻天天爽天天爽三区| 久久熟女嫩草成人片免费| 色综合中文字幕不卡| 亚洲h片在线免费观看| 亚洲深夜福利| 91亚洲丝袜熟女| 黄色不卡视频| 97色色国产视频| 蜜臀久久99精品久久久久久久久| 欧美性爱系列| 97二区四区| 人妻中文字幕日韩电影| 超碰无码加勒比| 搡老熟女免费视频| 精品人妻一区二区免费蜜桃视频| 亚欧操逼片在线观看 | 日韩国语字幕| 99re3这里只有精品| 欧亚免费视频| 丁香五月成人| www鬼畜国产男人的天堂| 亚洲九区| 精品超碰国产| 九色视频91| 欧美性爱三区二区| 无码WWW免费视频网站| gogogo免费高清看中国国语| 无码久久亚洲高清,| 亚洲情色 欧美| 校园春色 亚洲| 亚洲一区制服诱惑| 美女91AV| 99色色网| 91小视频| 亚洲AV成人无码一区二区三区在线观看| 亚洲成人日韩小说| 欧美一级黄片视频在线| 女人被男人桶爽视频网站| 精品毛片av一区二区| 超碰免费97| 亚洲熟妇一,二,三期| 18禁看网站一区| 操逼无毒无码免费视频| 伊人久久大香线综合无码| 欧美97在线观看| 91黑丝美女| 九X超碰| 天天做天天爱天天爽AV| 欧美激色| 日韩无码第3页| 九九九999久久久网站| 国产综合久久久麻桃个 | 3p国产欧美99热| 日本午夜久久电影| 一区二区激情国产熟女| 亚州春色| 91丝袜视频在线观看| 亚洲影院成人| 无色无码| 色av中文字| 久久精品天美| 天天干1区2区在线| 欧美乱欲| 美女极品一区二区三区| 超踫中文字幕| 人妻酒店出差被中出免费在线播放| 欧美日韩人妻婷婷一区| 一区二区乱码福利| 国岛片视频| 极品丝袜无码| 久久 久久国内精品亚洲| 日韩一级二级三级在线不卡观看完整| 久久双插| 人人操人人精品影片| 国产精品午夜福利| 日韩欧美成人性爱在线| 精品国产乱码久久久久久久久1 | 久久久555| 国产无码成人无码| 九九性爱网| 亚州成人A√| 中文字幕日韩人妻视频| 99综合视频一体| 淫骚熟女一区二区三区| 国产深喉视频一区二区| 色噜噜人妻丝袜a∨先锋影| 亚洲导航深夜福利| 美女好片色日本| 综合激情97 | 91国产操逼视频| 日本三级R| 九九九久千久久激情蜜桃在线看 | 综合网亚洲1| 天天日天天干天天操| 岛国在线一区二区三区| 久久日本熟女精品一区| 高潮毛片无遮挡高清免费| 五月天激情综合网| 欧美人妻熟女在线| 强奸乱伦大香蕉| 亚洲欧洲视频小说在线观看| 99在线精品观看视频中文| heyZO天然素人无码AⅤ专区| 91欧美偷拍| 日本加勒比无码专区| 国产精品视频白浆免费| 欧美老妇女内射网址| 无码国产精品96久久久久孕妇| caoni国产亚洲av| 午夜精品人妻二区三区| 国产中文精品一区二区在线观看| 熟妇艹鸡八| 操国产高清| 亚洲国产精品久久久久久久久久| 精品999一区二区| 强免费黄色网址| 狠操91,com| 3P乱轮视频| 综合网97| 久久久久9| 死我十八禁| 色久桃花影院在线观看| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 正在播放国产精品一区| 91久久堂| 欧美亚洲日本视频久久久| 欧美伦乱爱| 日本免费人成视频播放120秒| 性色国产东北露脸精品视频| 日韩性爱人人爱人人操| 欧美日韩美女精品久草一区二区三区| 艹比视频国产精品| 天天综合欧美黑人| 国产成人综合网| 9美女超碰在线免费观看| 婷婷五月天av| 无码久久国产| 欧美成人一区二区| 乱伦系列一区二区| 久热最新在线杭州| 91在线免费观看处女| 日本性感人妻91| 久久一二三四五六七八九区区| av天堂天堂av日韩| 91日产桃蜜| 97人妻色| 精品一区二区人妖| J?P?NESEHD熟女熟妇伦| 综合97亚洲| 国产美女精品| 亚洲一区二区三区AV无码| 蜜桃AV天堂| 欧美黑人猛交春色影视大全| 亚洲国产成人福利在线观看| 上床啊啊啊| av操操不卡| 强歼乱伦资源网| 在线欧美亚洲| 密臀AV在线| 亚洲欧洲综合视频在线| 91精品微拍福利| 日韩精彩视频| 五月天综合网| 99这里有精品视频| 99热精品在线观看| 极品人妻少妇综合| 欧洲乱码视频| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 欧美福利视频啊啊啊啊| 亚洲中亚日激情视频| 婷婷五月天补不补| 另类小色呦| 亚洲中文字幕在现观看| 伊人欧美大香蕉视频| 欧美天天综| 国产精品久久久鸭无码的功能| 成人精品无码| 97久久超碰| 亚洲另类色综合网站| 亚洲91网。| 亚洲第一综合| 久久东京国产精品视频| 高清无码一区二区三区| 九九热AV| 亚洲三级。日韩三级| 玖玖草久草99蜜月一区二区三区| 少妇被玩视频二三区| 99热综合| 久久综合婷婷| 久久九九网| 99久久精品无码一区二区| 国产成年女黄特黄| 黄色无码高清黄色无码网站| 国产视频第二页| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 国产偷人妻精品一区二区在线| 91在线美女| 婷婷导航| 久久久中文| 人人考人人摸人人干| 色色香蕉| 国产人伦a片信息免费片| 13小男生GAY自慰脱裤子| 青草一区二区| 9久久久久| 肥臀熟女一区二区三区视频| 欧美色97| 欧美欧美啪啪视频| 亚洲精品自拍| 伊人网免费视频| 最新无码国产| 亚洲欧美日韩免费电影| 超碰1024久久| 欧美精品四区| 爽爽淫人网| 日日夜夜干| 熟女丝袜视频| 丰满翘臀美女影院视频| 伊人久久大香线综合无码| 97超碰天天爱天天爱| 99久在线精品99re8a| 日韩丝袜二区| 麻豆天美电影一区二区| 中文字幕国产精品1区| 九九精品美女高溯喷水| 97超碰巨乳| 日本九九久久99| 夜夜骑操视频| 91日韩网站| 伊人网高清| 国产一区二区三区高清视频| 日本精品无码三级网站| 成人性爱电影网| 五月丁香激情综合网| 猛交交| 日韩中字av一区| 青春草A| av草草在线电影| 久久高潮妇女视频| 2017人人操,人人摸| 另类 日韩 熟女| 久久麻豆一区二区| 91成人社区| 青青久日| 人妻中文字幕精品无码| 丁香激情五月| 久久久国产成人一区二区三区在线| 久久精品视频一区三区小泽玛利亚| 麻豆黄站| 综合网亚洲| 99精品视频在线观看免费| AAA久久| 人人爱夜夜爱| 久久欧美激情| 久久五月天婷婷丁香中文字幕| 无码在线亚洲| 天堂麻豆天美| 怡红院成人视频| 91视频伊人| 99视频精品| 日夜久久久九九九久| 色九九久九九| av网站在线观看了| 2001天天操| 日本国产二线女色| 97欧美色资源| 337p大胆噜噜噜噜噜91Av| 婷婷国产精品九区| 久啪视频| 啪啪AV导航| 亚洲成人一二三区| 熟妇人妻丰满久久久久久久无码| 丰满岳乱妇一区二区三区| 这里只有精品视频| 日韩成年人性爱视频| 亚洲第一在线视频| 97chaopenrihan| 中文字幕乱码人妻二区三区| 久操高青| 97在线免费观看视频| 日韩午夜啪啪视频| 九九人妻| 久久久久国产精品片区无码直播| 天天激色| 26uuu性| 欧美人妻二区三区| 精品午夜福利| 熟女精品一区二区三区| 玖玖爱视频网站| 日本在线播放不卡一区| 9999久久久久| 国产美女mm131爽爽爽爽| 久久久久久久久久久999| 人妻精品免费一二三区| a男人的天堂| A 天堂| 熟妇熟女一区二三区| 蜜臀久久99精品久久久| 九九热男人天堂| 精品九九九| 国产怡红院| 精品一级毛片在线观看| 搡老女人老妇女老妇老熟女怎么读| 亚洲欧美黄| 欧美毛片在线网| 丁香九月婷婷| 成人网欧美风情| 人妻干天天| AV99热18这里只有精品| 亚洲欧美日韩精品久| 人澡逼| 免费一级视频特黄色大片| 欧美综合天堂| 真实高潮91| 国产视频一区二区三区在线免费观看| 精品一二三区四视频| HEYZO高无码国产精品227| 五月天人妻综合| 性吧在线视频| 九九精品无码专区免费| 无码人妻精品一区二区三区九九| 中文字幕在线观看二区三区| 久久二| 黑丝日韩av丝袜av| 大地资源在线观看中文第二页| 这里都是精品| 伊人精品视频| 亚洲九区| 老外又粗又长一晚做五次| 老女人91| 精品久久在线区一区| 乱伦一区二区三区‘| 91国产丝袜白虎| 最新加勒比丝袜在线| 亚洲色图欧美色图日韩色图| 天天干夜夜鈤| 白丝少妇一区二区| 亚洲一区二区麻豆影院| 欧美日韩日产免费网站看| 日日AAvv| 国产熟女精品区| 男人的天堂亚洲| 福利社区午夜一区二区| 久草资源在线| 国产一区二区精品在线视频| 欧美日韩222| 亚洲女毛多水多21P| 中文字幕三四区| 欧美91色| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 插入逼91| 欧美se综合| 色在线69堂| 亚洲另类久操网| 午夜电影在线观看无码专区| 精品亚洲成人免费在线| 成人八戒网站| 操逼逼一区视频| 极品肉射| 91综合天天| 激情小说亚洲视频| 天美精品一区二区三区四区在线观看| 屌色在线97视频| 亚洲色交| av网站在线观看了| 肉动漫无遮挡h在线观看| 精品女同一区| 亚州熟妇精品| 青青操少妇| 久久久久13| 99热精品免费| 99热精品在线| 丁香久久| 啪啪91| 熟女突然公开看18禁影片| 曰本人妻人人澡人人夹| 超碰色中文| 色青青久久影视| 国产精品一区午夜福利| 性暴力欧美猛交在线直播| 91在线视频国产网站| 中文字日本乱码| 久久婷五月天| 色五月婷婷网| 成功精品影院| 在线啊啊啊啊| 超碰在线974| 91在线视频免费中出| 青娱乐导航AV| 中文久久一区| 东京热熟女亚洲视频网站| 日韩av色图综合| 国产精品欧美激在线| 日韩精品人妻中文字幕久久久| 91夜夜蜜桃臀1区2区3区| 高清不卡国产| 蜜桃臀一区二区aV| 蜜臀99999| 亚洲一区二区 麻豆传媒| 国产精品欧美激在线| 97超碰免费人人性爱| 久久亚码| 精品国产乱码久久久久久免费| 亚洲极品| 婷婷涩嫩草鲁丝久久午夜精品| 99999精品| jizz啪啪| 精品国产丝袜一区二区三区乱码| 日本Xx性爱| 国产无马av| 天天综合网国产| 美女裸体麻豆天美蜜桃91| 久久99草| 中文字幕三四五区| 都市久久精品激情亚洲| 91天堂色男人的天堂| 六月婷婷综合| 日韩ab网| 97亚洲中文| 国产成人99久久亚洲综合| 久久av成人无码免费| 另类视频在线| 麻豆人妻少妇在线免费观看| 91操熟女视频 | 国产多人在线观看视频| 麻豆国产免费影片| 中文字幕55555| 日韩欧美天堂| 操啊国产| 青青草操逼逼视频| 亚洲综合贴图91| 亚洲色图欧美| 中文字幕精品资源在线| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 试看60秒| 女人天堂av在线播放| 国产成人无码啪| 九九热免费国产视频婷婷伊人 | 欧美另类精品xxxx| 久久人人妻| 欧洲亚洲人人爽爽视频| 国内毛片欧美香蕉精品| 日本3级一区二区免费| 欧美少妇第一页| 91爱剪切久久| 欧美性爱十八禁| 东北女人的毛片| 美女诱惑久久| 大香蕉久操| 亚洲宗合网| 国产精品久久久久久高清无码免费看 | h在线看免费版在线看| 欧色性第一页| 国产精品久久久啊| 嗯嗯啊在线视频| 女上位精品在线| 欧美日韩色综合网| 久插综合| 欧美福利视频啊啊啊啊| 男人亚洲91首页在线| 噜噜瑟| 无码聚合| 碰人碰碰人人开房人肉| 欧美日韩性爱无码| 久久久专区| 午夜AV人气不卡| 丝袜无码a片| 亚洲成人精品在线一区| 久久9 9 9精品| 蜜臀无码视频在线观看| 天天影视网综合少妇| 啊啊啊好大好深| 婷婷丁香五月综合| 抽插一区二区视频| 欧美色五月| 嗯嗯啊啊啊好爽| 成人在线日韩| 亚洲欧美另类小说| 麻豆天美国美国产| 免费岛国一级片| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 韩日欧亚a级| 色色婷婷五月| 啊啊啊好想要| 亚洲中文字幕乱码无码一区二区| 亚洲欧美高清无码| 午夜精品久久久久| 操逼操网| 中文字幕激情小说| 熟妇最新先锋一二三区| 亚洲AV麻豆Aⅴ无码电影一| 亚洲男人天堂网久久| 无码区蜜乳| 亚洲中亚日激情视频| 日韩性爱网址| 亚洲动态色图| 久久久久亚洲一区女同性恋中文字幕| 综合久久六月久久婷婷| 偷窥自拍亚洲| 欧美人妻二区三区| 新久久AV| 欧美综色欧| 国产精品白虎| 亚洲熟女性高潮久久久| 久久青娱乐| 97超级久久强资源| 国产精品亚洲无码| 国产白丝网站| 欧美久久久15P| 超碰人人超在线观看| 天天干18禁| 欧美色一二三| 秋霞一级A片黄色视频| 亚洲激情网一二三四区| 超碰在线人人射| 免费农村成人少妇人妻Aa一区二区视频| 色五月AV在线| 51国产午夜精品视频| 一本一道vs波多野结衣| 蜜臀久久99精品久久久久久婷婷| 中文字幕视频2区| 欧美丝袜制服久久| 99re9| 99只有精品| 99re视频在线观看这里只有精品| 欧美在线永久天堂| 国产精品69久久久久孕妇欧美| 性色一线| 国产高潮AA片免费看| 三级日韩一区二区三区| 国产97/欧美| 久精品无码av一区二免费国产在线观看| 99热这里都是精品| 97频视在线| 97视频观看| 国模精品一区二区三区苹果色戒| 豆花视频操逼网址| 色与欲影视| 久草老司机| 亚州色图欧美| 91丝袜美女| 婷婷色婷婷| 韩国午夜理伦三级好看| 亚洲色图尤物视频| 青娱乐休闲视频在线观看| 久肏视频字幕| 2019午夜福利视频| 人妻在线大香蕉| 婷婷色香| 国产怡红院| 欧美性天天影视| 四虎AV在线观看| 婷婷综合在线| 强奸xx国产| 久久99精品视频| 久久国内| 草莓精品视频| 亚洲最大AV网| 女人双腿搬开让男人桶| 久久久久久久久成人av解说| www.99中文字幕| 国产成人午夜视频网址| 九九视频黄色片| 妇女性内射冈站HDWWWCOM| 激情婷婷综合久久| 中国一级αV| 在线视频 亚洲精品| 久久久久少妇| 激情黄色片在线观看| 亚洲伊人成综合成人网| 久久神马| 精品久久久久久AV无码| 国内毛片热久久思思热| 翔田千里AⅤHD无码| 欧美日韩啪啪电影| 日韩精品一区二区日韩| 日va操| 999亚洲国产视频| 人妻人人做人人澡人人爽欧美一区| 国产高清无码一区二区三区四区皇冠| 亚洲欧美日韩电影网站一区| 欧美一级专区免费大片| 国产第二页| 亚洲日本天堂| 91痴汉| 另类欧美色| 国产色产精品在线观看| 91AV入口| 日韩性爱免费视频在线网站| 人人扣人人操| 欧美极品少妇交| 久久AV无码1区2区3区| 青青草在线视频欧美| 97在线青| 狠狠入| 亚洲成人黄色在线观看| 十八禁成人网站在线观看| 女人爽到高潮潮喷18禁网站| 久久午夜伦| 在线观看A啊啊啊| 男人成人黄色视频在线观看免费下载| 91高清欧美| 欧美黄色手机在线观看| 高清无码 国产精品| 思思热在线观看| 又摸又舔在线观看网站| 骚妻少妇精品性色无码四色A V| 好吊色青靑草| 中文字幕91页| 蜜桃视频精品一区二区| 97超碰免费人人性爱| 亚洲天堂另类| 亚欧免费| 97精品国产97久久久久久| 久9久9精品| 91bbbbbb| 欧美性爱日韩性爱| 97人妻色| 91模特在线观看| 欧美真人抽搐一进一出gif| 在线观看黄色电话| 国产精品久久久久久夜夜夜| julia ann久久| 玖玖爱在线视频免费观看| 偷窥自拍亚洲天堂网爆| 神马久久网| 免费视频97| 久久久久国产精品喷潮免费观看臀| 女色视频社区| 91亚洲狠狠色| 亚洲天堂AV在线播放| 高凊专区人人操| 亚洲综合色图欧美| 国产91啪| 久久欧洲| 午夜舔阴达高潮视频免费看| 亚洲综合九九| 美女丝袜激情小说| 岛国毛片在线观看免费| 国产视频一区二区在线| 91美女片在线| 人人操人人狠狠操| 狠狠躁天天躁日日躁| 立川理惠被中出无码| 天堂精品在线| 78精品在线| 久久久久9| Julia Annxxxxx| 欧美黑人精品在线播放| 青青操少妇| 国产精品白丝在线播放| www老逼91| 九九九免费视频| 九九九九久久久| 欧美在线电影| 久久思思热| 一区二区视频在看| 色婷久久| 亚洲一区二区av| 九九久久综合| 激情在线青青操| 三级三级三级日本99| av2014 日韩在线中文字幕| 丁香九月激情啪| 色哟哟av| 99热在线播放| 色图综合| 久久精品免费| 岛国在线国产| 热久日综合| 国产日韩欧美亚洲精品95 | 熟妇一区,二区,三区。| 粉嫩不卡一区二区性爱| 伊人在线大香蕉视频久久| 亚洲一区二区精品福利| 国产精品一区二区麻豆| 婷婷综合久久| 日韩不卡a级视频专区| 综合视频91| 91小视频| 啊啊啊啊啊好多水| 一二三啪啪专区| 亚洲 欧美 制服 另类 自拍| 青草视频人妻在线观看| 精品v日韩欧美国产| 蜜桃天美传媒AV一区二区三区| 婷婷成人五月天| 青青草国产欧美非洲黑人| 亚洲免费日韩在线一区二区| 麻花豆传媒剧国产MV出差| 96精品一区| 中文字幕 码 自拍 视频 区| 91精品国产91久久青草| 欧美亚洲美少妇一区二区| 欧美人妻一区| 美女诱惑一区| 激情终合网| 久久亚洲av成人无码国产| 日本不卡五区| 欧美91精彩| 激情五月综合网| 老熟女搡BBBB搡BBBB视频| 任我爽在线视频免费观看| 亚洲久热| 再深点灬舒服灬太大了添视频| 神马久久免费电影观看| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 麻豆传媒一区二区在线观看| 五月婷婷基地| 都市久久精品激情亚洲| 人妻精品一区二区三区| 色五月第四色| 啊…啊…操我用力操我 | 精品久久大胆人体| 九九热免费视频| 97在线视频观看网站| 91熟女丨老女人| 久久久久密臀视频| 亚洲欧美大| 欧美成人午夜免费福利785| 国产一线二线三线av| 操一区| 成人五月香网在线| 丁香六月东京热| 成人免费性爱视视| 99999亚洲另类| 国产白领连续中出在线播放| 欧美性爱中文字幕无线码| 99在线观看视频在线高清| 亚洲影院小综合| 久久久精品国产亚洲AV无码| 亚洲精品九九九| 人人摸人人舔一区二区| 青青操少妇| 97香焦色区| 五月激情啪啪| 久操视频资源站公开| 免费家庭乱伦视频| 大香蕉综合网| 风间由美日韩欧美久久| 九九九九九九九九九九九九九九九女| 91久青| 99精品无码| 免费视频a级毛片免费视频| 欧美黄色大片在线观看 | 国产美女自拍AV| 久久久中文| 国产精品一区二区密臀| 日日嗷| 色哟哟精品1精品2| 免费亚洲国产精品久久一区| 青青草久久一区网| 日韩美女久久一区二区三区| 亚洲天堂区| 91操操| 九九黄色网| 91超级碰碰碰| 99久久婷婷国产综合精品草原| 福利在线黄片| 欧美麻豆成人同性GⅤ在线| 又粗又长又爽在线观看| 亚洲图片日本AⅤ欧美在线| 久久中文字幕不卡人妻| 久久精品国产精品一区| 在线日韩精品一区二区三区| 91欧洲国产成人久久精品网站| 999综合网| 色香综合| 日韩精品人妻中文字幕久久久| 亚洲成人一区二区精品| av强奸乱轮| 9丨亚洲一区二区在线| 欧美一级美片在线观看免费| 乱伦一二三区| 亚洲?V无码专区在线电影| 八戒无码国产午夜福利| 国产精品一区二区校花| 日韩欧美一级特黄大片| hd成人一区二区在线| 影音先锋国产精品| 男人的天堂不卡一区二区| 玖色AV| 久久9 9 9精品| 青青草五月天| 中文字幕人乱码中文字的预防方法 | 午夜一区二区三区国产| 人妻日日干| 天天弄天天操| 男人的天堂激情| 欧美综合网1| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 色穴精品| 97 九色| 久久激情四射婷婷丁香五月天| 久9精品| 永久免费av无码网站国产app| 色色福利| 麻豆久久久一区二区| 一区二区首页| 亚洲天堂久| 探花视频免费观看国产专区| 欧美呦呦性爱| 欧美综合区| 特级大荫道BBwBBwBBW| 国产精品天干天干综合网麻豆| 久久99久久99精品天美传媒棢·纸:. | 99久在线精品99re8| 东京热天堂网| 美女极品一区二区三区| 欧美精品第3页| 亚洲中文字幕日产无码久久| 五十路熟女在线不卡观看一区二区| 丁香九月婷婷| 国产精品一二三在线看| 内射白嫩美女| 欧美激情一| 色屁屁影院www国产| 女人双腿搬开让男人桶| 欧美久久婷| 欧洲色综合| 国产精品国产自产高清AV| 中文字幕一区av| 午夜综合在线| 国产精品懂色tv影视免费观看| 在线观看精品国产免费| 欧美精品丝袜久久久中文字幕| 中文字幕 人妻不满 在线视频| 色999人与兽| 天天热精品| A一区片| 志村玲子视频一区二区| 亚州欧美综合| 香蕉国产精品麻豆亚洲欧美日韩| 日本岛国黄色网址| 青青伊人久久| 日韩免费a级毛片无码a∨| 日韩精品中文字幕二区| 91天美| 黄页视频网站野外| 久久综合精品一区二区三区| 亚洲精品91| 久久‘黄片视频| 91激情网| 亚洲国产精品成人综合| 玖玖综合.com| 欧美熟妇色| 久久草在线综合视频| 加勒比海成人视频网| 极品欧美一区二区三区| 亚州精品一区二区三区香中文字幕在线| 精品无码产区一区二| 18禁中文字幕| 精品97精品97| 91AV入口| 欧洲中文字幕| 天天操夜夜操| 亚洲欧美一区二区三区在钱蜜桃| 久久日韩肥臀| 色婷婷综合视频| 精品丰满熟妇人妻一区| 乱伦系列一区二区| 在线五区| 亚洲欧美一区二区三区一猛片| 97爱碰| 国产精品婬乱一级毛片彝族| 麻豆国产成人精品| 欧美性爱日韩性爱| 色综合20p| 国岛片视频| 男人的天堂日韩| 不卡啪啪视频| 久久有码视频| 激情五月婷婷| 91啪啪| 91在线限制级| 伦激情人妻另类人妻| 久久爱超碰网| 乱伦av麻豆| 国产少妇内射| 人妻少妇一区二区| 97天堂| 久久亚洲不卡一区二区三区| 亚洲AV资源| 少妇被玩视频二三区| 97视频在线| 五月天婷精品激情| 蜜臀va69| 九九亚洲| 亚洲国产美女久久久久| 国产传媒一区日韩| 人妻一区视频| 18+91网站| 玖玖97综合| 亚洲 欧美 偷拍 唯美| 天天爱综合网| 女优免费一区二区永久| 啪啪性爱免费视频| 日本九九久久99| 色色五月婷| 熟女乱3伦999| 看看日B真人视频| 激情小说五月天| 亚欧毛片基地国产毛片基地| 亚洲少妇激情一区二区三区| 99操| 国产一区二区三区白丝| 91天天爽| 一区二区三区日韩欧美| 深夜激情无码| 国产成人欧美精品在线| 97超碰免费生活| 屌逼麻豆| 26uuu国产日韩综合在线观看| AV女优男人的天堂| 99色日| 性吧在线视频| 人妻 中文 日韩| 久久久久久精| 久久精品91| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 天天干人人看综合| 在线中文AV| 久jiu久神马影院| 亚洲Av无码成人精品国产| 午夜国产成人精品视频| 久久精品一区一起草| 蜜臀AV成人精品蜜臀AV久久| 9999久久久久| 国产精品激情久久久久久久| 98久久| 九九热只有精品| 狠色婷婷久久一区二区三区_| 男人的天堂2010| 日韩av在线免费网站| 久久国产熟女影院| 亚洲不雅视频1区二区| 麻豆黄站| 九九九九九九九九九五码| 久操黄色视频| 日本中文字幕在线电影| 热久久国产| 中文字幕在线免费观看2| 亚洲黄色电影| 亚洲偷91色| 樱花草社区www中国| 天天综合AV| 看日韩美女二区三区免费操逼视频| 丝袜剧情| 强奸乱伦AV网站| 被男人吃奶很爽的毛片| 亚洲影视综合| 国产视频第二页| 亚洲交性| 九九热精品视频六| 91高清日| 骚妻少妇精品性色无码四色A V| 国产精品熟妇一区二区三| 人妻在线中出视频| 91精品国产综合久久久蜜臀| 色色亚洲| 又黄又爽在线观看视频| 国产成人网| 九九香蕉网| 91操人| 五月丁香成人网| 激情五月天婷婷| 色婷婷丁香五月| 狠狠色综合网| 超碰97起碰| 国产乱码久久| 天天摸天天插天天日| 亚洲最大黄网| 亚洲第一页欧美| 久久久久久91香蕉国产| 少妇极品熟妇人妻无码| 超碰在线97国产| 亚洲综合贴图91 | a男人的天堂久久一级A毛片| 亚洲 欧美 精品专区 极品| av网站免费看| 欧美激情综合色综合啪啪五月| 九九五月天| 91亚洲黄色网| 欧美性暴力猛交|