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

ARTICLE DETAIL

資訊詳情

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

openrig:用YAML與Node.js統(tǒng)一管理Claude Code和Codex的AI編程環(huán)境配置

openrig:用YAML與Node.js統(tǒng)一管理Claude Code和Codex的AI編程環(huán)境配置 1. openrig 到底是個什么東西第一次看到 openrig 這個名字很多人會以為是某個硬件外設或者開源機械臂項目。實際上結合它周邊的關鍵詞——Claude Code、Codex、YAML、Node.js——可以很清楚地判斷出openrig 是一個圍繞 AI 編程助手生態(tài)構建的本地配置與代理編排工具。它的核心價值在于把 Claude Code、Codex 這類命令行 AI 編程工具的運行環(huán)境、模型接入、代理轉(zhuǎn)發(fā)、配置管理統(tǒng)一到一個可維護的框架里。說白了你平時用 Claude Code 寫代碼可能遇到幾個煩人的問題公司網(wǎng)絡環(huán)境需要走本地代理、想切換到 DeepSeek 或 GLM 這類第三方模型、多個項目需要不同的配置、每次換機器都要重新折騰一遍環(huán)境。openrig 就是來解決這些問題的。它用 YAML 做配置描述用 Node.js 做運行時把 Claude Code 和 Codex 的啟動參數(shù)、環(huán)境變量、代理規(guī)則、模型映射全部收攏到一份配置文件里。這篇文章適合誰看如果你是剛接觸 Claude Code 或 Codex 的新手想搞清楚怎么在本地把環(huán)境跑通如果你已經(jīng)在用這些工具但每次配置都靠手動改環(huán)境變量、記不住參數(shù)如果你需要在多個模型供應商之間切換比如今天用 Claude 官方、明天接 DeepSeek、后天試 GLM——那 openrig 這套思路值得你花時間研究。我自己的使用場景是這樣的手頭有三臺開發(fā)機一臺 macOS 日常開發(fā)一臺 Ubuntu 跑 CI 和長任務還有一臺 Windows 偶爾做前端調(diào)試。以前每臺機器上 Claude Code 的配置都是散的環(huán)境變量寫在 shell 配置文件里代理設置靠手動 export換模型要改好幾個地方。后來用 openrig 的思路把配置統(tǒng)一成 YAML 之后同步配置就是復制一個文件的事。注意openrig 本身不是一個官方項目它更像是一種配置管理模式的代稱。你在 GitHub 上搜到的同名倉庫可能和本文描述的不完全一致但核心思路是通用的——用結構化配置管理 AI 編程工具的運行時環(huán)境。2. 核心組件拆解YAML、Node.js 與代理層2.1 為什么選 YAML 做配置載體YAML 在這套體系里扮演的是“唯一真相源”的角色。你可能會問為什么不用 JSON 或者 TOMLJSON 的問題是寫注釋不方便而配置文件恰恰最需要注釋——你得記清楚每個參數(shù)是干什么的。TOML 雖然可讀性好但嵌套結構表達起來比較啰嗦。YAML 在可讀性和表達力之間取得了不錯的平衡支持錨點和引用這對多環(huán)境配置復用非常關鍵。一個典型的 openrig 配置結構大概長這樣# openrig.yaml version: 1.0 defaults: provider: anthropic proxy: enabled: true host: 127.0.0.1 port: 7890 providers: anthropic: base_url: https://api.anthropic.com api_key_env: ANTHROPIC_API_KEY models: - claude-sonnet-4-20250514 - claude-opus-4-20250514 deepseek: base_url: https://api.deepseek.com/v1 api_key_env: DEEPSEEK_API_KEY models: - deepseek-chat - deepseek-coder glm: base_url: https://open.bigmodel.cn/api/paas/v4 api_key_env: GLM_API_KEY models: - glm-4-plus profiles: work: provider: anthropic proxy: enabled: true personal: provider: deepseek proxy: enabled: false這份配置里providers定義了各個模型供應商的接入信息profiles定義了不同使用場景的組合。你切換工作環(huán)境只需要改defaults.provider或者指定 profile不用去動環(huán)境變量。YAML 的錨點功能在這里特別有用。比如你有多個 provider 共享相同的代理設置可以這樣寫_proxy_default: proxy_default enabled: true host: 127.0.0.1 port: 7890 providers: anthropic: proxy: *proxy_default openai: proxy: *proxy_default這樣改一處就能影響所有引用它的地方避免了復制粘貼帶來的不一致。2.2 Node.js 在其中的角色Node.js 是 openrig 的運行時基礎。為什么不用 Python 或者 Go因為 Claude Code 和 Codex 本身就是 Node.js 生態(tài)的工具用 npm 全局安裝的。openrig 作為它們的配置管理層用 Node.js 寫可以無縫調(diào)用這些工具的 API也能直接復用 npm 的包管理機制。Node.js 的版本選擇有個坑要注意。Claude Code 對 Node.js 版本有要求一般建議用 LTS 版本。我實測下來Node.js 20.x 和 22.x 都能正常工作但 18.x 在某些新特性上會報錯。如果你看到類似error installing 24.21.0: node.js v24.21.0 is not yet released這種報錯說明你指定的版本號根本不存在去 Node.js 官網(wǎng)下載頁面確認一下當前 LTS 版本號。安裝 Node.js 最省事的方式是用版本管理器。macOS 和 Linux 上可以用 nvmWindows 上可以用 nvm-windows 或者直接下安裝包。用 nvm 的好處是可以在不同項目間切換 Node.js 版本# 安裝 nvm 后 nvm install 22 nvm use 22 nvm alias default 22 # 驗證 node -v npm -vopenrig 的啟動腳本通常是一個 Node.js 腳本它讀取 YAML 配置解析出當前 profile 對應的環(huán)境變量然后以正確的參數(shù)啟動 Claude Code 或 Codex。這個腳本的核心邏輯大概是const fs require(fs); const yaml require(js-yaml); const { spawn } require(child_process); function loadConfig(path) { const raw fs.readFileSync(path, utf8); return yaml.load(raw); } function buildEnv(config, profileName) { const profile config.profiles[profileName]; const provider config.providers[profile.provider]; const env { ...process.env }; env.OPENRIG_PROVIDER profile.provider; env.OPENRIG_BASE_URL provider.base_url; env.OPENRIG_API_KEY process.env[provider.api_key_env]; if (profile.proxy profile.proxy.enabled) { env.HTTP_PROXY http://${profile.proxy.host}:${profile.proxy.port}; env.HTTPS_PROXY env.HTTP_PROXY; } return env; } const config loadConfig(./openrig.yaml); const env buildEnv(config, process.argv[2] || default); const child spawn(claude, process.argv.slice(3), { env, stdio: inherit });這段代碼的邏輯很直白讀配置、拼環(huán)境變量、啟動子進程。但就是這種直白的設計解決了很多手動配置時的痛點。2.3 代理層的設計考量代理層是 openrig 里最容易被忽視但最關鍵的部分。Claude Code 和 Codex 都需要訪問外部 API而在某些網(wǎng)絡環(huán)境下直接連接可能不穩(wěn)定或者根本連不上。這時候就需要一個本地代理來轉(zhuǎn)發(fā)請求。代理層的設計有幾個要點第一代理只對 AI 工具的流量生效不影響系統(tǒng)全局。你肯定不希望開個代理把整個系統(tǒng)的網(wǎng)絡都繞一遍。openrig 的做法是通過環(huán)境變量HTTP_PROXY和HTTPS_PROXY只注入到子進程父進程和其他程序不受影響。第二代理要支持按 provider 區(qū)分。有些 provider 需要走代理有些不需要。比如你接 DeepSeek 的國內(nèi)節(jié)點可能直連就很快走代理反而慢。配置里每個 provider 可以單獨設置代理開關。第三代理失敗要有降級策略。我遇到過代理進程掛了但 Claude Code 還在跑的情況請求全部超時。后來在 openrig 的啟動腳本里加了一個健康檢查啟動前先探測代理端口是否可達不可達就自動禁用代理并給出警告。const net require(net); function checkProxy(host, port, timeout 2000) { return new Promise((resolve) { const socket new net.Socket(); socket.setTimeout(timeout); socket.on(connect, () { socket.destroy(); resolve(true); }); socket.on(timeout, () { socket.destroy(); resolve(false); }); socket.on(error, () { resolve(false); }); socket.connect(port, host); }); }這個健康檢查邏輯很簡單但能避免很多“為什么請求一直卡住”的困惑。3. 從零搭建 openrig 工作流的完整實操3.1 環(huán)境準備與依賴安裝開始之前確認你手頭有這些東西一臺能正常上網(wǎng)的開發(fā)機、Node.js 環(huán)境、至少一個 AI 模型供應商的 API Key。如果你還沒有 API Key先去對應平臺注冊申請這里不展開。第一步安裝 Node.js。去 Node.js 官網(wǎng)下載 LTS 版本或者用包管理器# macOS with Homebrew brew install node22 # Ubuntu/Debian curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt-get install -y nodejs # Windows # 直接去官網(wǎng)下載 .msi 安裝包雙擊安裝安裝完成后驗證node -v # 應該輸出 v22.x.x npm -v # 應該輸出 10.x.x第二步安裝 Claude Code 和 Codex。這兩個工具都是 npm 全局包npm install -g anthropic-ai/claude-code npm install -g openai/codex如果你在安裝 Claude Code 時遇到y(tǒng)our organization has disabled claude subscription access for claude code這類提示說明你的賬號類型不支持直接使用需要檢查訂閱狀態(tài)或者改用 API Key 方式接入。第三步創(chuàng)建工作目錄和配置文件mkdir -p ~/openrig cd ~/openrig npm init -y npm install js-yaml然后把前面提到的openrig.yaml配置文件放進去根據(jù)你自己的 provider 信息修改。3.2 配置文件編寫與參數(shù)詳解配置文件是 openrig 的核心值得花時間仔細寫。我把自己用的配置拆解一下每個參數(shù)都解釋清楚。version: 1.0 # 全局默認值所有 profile 繼承這里 defaults: provider: anthropic log_level: info timeout: 120000 # 代理設置可以被 profile 覆蓋 proxy: enabled: false host: 127.0.0.1 port: 7890 # 不走代理的地址列表 no_proxy: - localhost - 127.0.0.1 - *.local # 模型供應商定義 providers: anthropic: base_url: https://api.anthropic.com api_key_env: ANTHROPIC_API_KEY # 請求頭額外字段 headers: anthropic-version: 2023-06-01 models: - id: claude-sonnet-4-20250514 alias: sonnet - id: claude-opus-4-20250514 alias: opus deepseek: base_url: https://api.deepseek.com/v1 api_key_env: DEEPSEEK_API_KEY models: - id: deepseek-chat alias: ds-chat - id: deepseek-coder alias: ds-coder glm: base_url: https://open.bigmodel.cn/api/paas/v4 api_key_env: GLM_API_KEY models: - id: glm-4-plus alias: glm4 # 使用場景配置 profiles: # 日常開發(fā)用 Claude 官方 dev: provider: anthropic model: sonnet proxy: enabled: true # 寫代碼專用用 DeepSeek Coder code: provider: deepseek model: ds-coder proxy: enabled: false # 省錢模式用 GLM budget: provider: glm model: glm4 proxy: enabled: false幾個關鍵參數(shù)說明api_key_env指定的是環(huán)境變量名不是 API Key 本身。這樣做的好處是配置文件可以安全地提交到 Git不會泄露密鑰。你只需要在 shell 里 export 對應的環(huán)境變量就行。models里的alias是給模型起短名方便在命令行里快速指定。比如openrig dev --model opus比openrig dev --model claude-opus-4-20250514好記多了。no_proxy列表里的地址不會走代理。這個在本地開發(fā)時特別有用比如你本地跑了一個模型服務肯定不希望請求繞一圈代理再回來。3.3 啟動腳本與命令行封裝配置文件寫好了接下來需要一個啟動腳本來讀取配置并啟動 Claude Code 或 Codex。我寫了一個比較完整的版本放在~/openrig/bin/openrig.js#!/usr/bin/env node const fs require(fs); const path require(path); const yaml require(js-yaml); const { spawn } require(child_process); const net require(net); const CONFIG_PATH path.join(__dirname, .., openrig.yaml); function loadConfig() { if (!fs.existsSync(CONFIG_PATH)) { console.error(配置文件不存在: ${CONFIG_PATH}); process.exit(1); } return yaml.load(fs.readFileSync(CONFIG_PATH, utf8)); } function checkPort(host, port, timeout 1500) { return new Promise((resolve) { const socket new net.Socket(); socket.setTimeout(timeout); socket.on(connect, () { socket.destroy(); resolve(true); }); socket.on(timeout, () { socket.destroy(); resolve(false); }); socket.on(error, () resolve(false)); socket.connect(port, host); }); } async function buildEnv(config, profileName) { const profile config.profiles[profileName]; if (!profile) { console.error(Profile ${profileName} 不存在); console.error(可用: ${Object.keys(config.profiles).join(, )}); process.exit(1); } const provider config.providers[profile.provider]; const env { ...process.env }; // 注入 provider 信息 env.OPENRIG_PROVIDER profile.provider; env.OPENRIG_BASE_URL provider.base_url; env.OPENRIG_MODEL profile.model || provider.models[0].id; // 注入 API Key const apiKey process.env[provider.api_key_env]; if (!apiKey) { console.warn(警告: 環(huán)境變量 ${provider.api_key_env} 未設置); } else { env.OPENRIG_API_KEY apiKey; } // 代理配置 const proxyConf { ...config.proxy, ...(profile.proxy || {}) }; if (proxyConf.enabled) { const alive await checkPort(proxyConf.host, proxyConf.port); if (alive) { const proxyUrl http://${proxyConf.host}:${proxyConf.port}; env.HTTP_PROXY proxyUrl; env.HTTPS_PROXY proxyUrl; env.NO_PROXY (proxyConf.no_proxy || []).join(,); console.log(代理已啟用: ${proxyUrl}); } else { console.warn(代理 ${proxyConf.host}:${proxyConf.port} 不可達已跳過); } } return env; } async function main() { const args process.argv.slice(2); const profileName args[0] || dev; const restArgs args.slice(1); const config loadConfig(); const env await buildEnv(config, profileName); // 決定啟動哪個工具 const tool env.OPENRIG_PROVIDER openai ? codex : claude; console.log(啟動 ${tool} [profile${profileName}, provider${env.OPENRIG_PROVIDER}]); const child spawn(tool, restArgs, { env, stdio: inherit, shell: process.platform win32 }); child.on(exit, (code) process.exit(code)); } main().catch((err) { console.error(err.message); process.exit(1); });給腳本加執(zhí)行權限并創(chuàng)建軟鏈接chmod x ~/openrig/bin/openrig.js sudo ln -s ~/openrig/bin/openrig.js /usr/local/bin/openrig現(xiàn)在你可以這樣用了# 用 dev profile 啟動 Claude Code openrig dev # 用 code profile 啟動并傳遞額外參數(shù) openrig code --resume # 查看當前配置 openrig dev --help3.4 多環(huán)境同步與版本管理配置寫好后怎么在多臺機器之間同步我的做法是把~/openrig目錄做成一個 Git 倉庫但 API Key 不放在配置文件里而是通過環(huán)境變量注入。每臺機器上單獨設置環(huán)境變量# 加到 ~/.bashrc 或 ~/.zshrc export ANTHROPIC_API_KEYsk-ant-xxxx export DEEPSEEK_API_KEYsk-xxxx export GLM_API_KEYxxxx這樣 Git 倉庫里只有配置結構沒有敏感信息。換機器的時候 clone 下來設置好環(huán)境變量就能用。如果你不想把配置提交到遠程倉庫也可以用 rsync 或者 Syncthing 在本地網(wǎng)絡同步。我試過用 Syncthing 同步~/openrig目錄效果不錯改一臺機器上的配置其他機器幾秒鐘后就更新了。提示環(huán)境變量里的 API Key 在某些 shell 下可能被其他程序讀取到。如果你對安全性要求高可以用pass或者系統(tǒng)鑰匙串來管理密鑰然后在啟動腳本里動態(tài)讀取。4. 常見問題排查與避坑指南4.1 Claude Code 與 Codex 的典型報錯處理在實際使用中我踩過的坑主要集中在幾個方面。下面整理成速查表方便對照排查。報錯信息可能原因解決方法your organization has disabled claude subscription access賬號訂閱類型不支持改用 API Key 方式或檢查訂閱狀態(tài)cc switch local proxy failed while handling codex endpoint /responses代理轉(zhuǎn)發(fā)規(guī)則不匹配檢查代理配置確認/responses路徑被正確轉(zhuǎn)發(fā)the gpt-5.6-sol model is not supported模型名稱錯誤或未授權確認模型 ID 拼寫檢查 API Key 權限error installing 24.21.0: node.js v24.21.0 is not yet releasedNode.js 版本號不存在去官網(wǎng)確認當前 LTS 版本號codex無法加載組織設置配置文件路徑或權限問題檢查~/.codex/config.yaml是否存在且可讀請求一直超時無響應代理不可達或網(wǎng)絡問題用curl測試代理端口檢查NO_PROXY設置關于cc switch local proxy failed這個報錯我專門研究過。它的本質(zhì)是代理在處理 Codex 的/responses端點時轉(zhuǎn)發(fā)規(guī)則沒有覆蓋到這個路徑。Codex 的 API 路徑和 Claude 不太一樣Claude 用的是/v1/messagesCodex 用的是/responses。如果你的代理規(guī)則只寫了/v1/*那 Codex 的請求就會漏掉。解決方法是在代理配置里顯式加上/responses路徑的轉(zhuǎn)發(fā)規(guī)則。4.2 模型接入的兼容性問題接入第三方模型時最大的問題是 API 格式兼容性。Claude Code 和 Codex 各自期望的請求格式不同而第三方模型供應商的 API 格式又各有差異。openrig 的代理層需要做格式轉(zhuǎn)換。以 DeepSeek 為例它的 API 格式和 OpenAI 兼容但和 Claude 的格式有差異。如果你直接用 Claude Code 去調(diào) DeepSeek 的接口會報格式錯誤。解決方法是在代理層做轉(zhuǎn)換// 簡化的格式轉(zhuǎn)換邏輯 function convertClaudeToOpenAI(claudeRequest) { return { model: claudeRequest.model, messages: claudeRequest.messages.map(msg ({ role: msg.role assistant ? assistant : user, content: typeof msg.content string ? msg.content : msg.content.map(c c.text).join() })), max_tokens: claudeRequest.max_tokens, temperature: claudeRequest.temperature }; }這個轉(zhuǎn)換邏輯看起來簡單但實際要處理的邊界情況很多。比如 Claude 的system字段在 OpenAI 格式里要放到 messages 數(shù)組的第一條stop_sequences要改成stop工具調(diào)用的格式也不一樣。我建議直接用現(xiàn)成的轉(zhuǎn)換庫比如anthropic-ai/sdk配合openai包做適配不要自己從頭寫。另一個坑是流式響應的處理。Claude 和 OpenAI 的流式格式不同Claude 用event: content_block_deltaOpenAI 用data: {choices:[{delta:...}]}。代理層需要把兩種格式互相轉(zhuǎn)換否則 Claude Code 會解析不了響應。4.3 性能調(diào)優(yōu)與穩(wěn)定性建議跑了一段時間之后我總結了幾條調(diào)優(yōu)經(jīng)驗第一給代理層加緩存。對于重復的請求比如相同的代碼補全請求可以在代理層做短期緩存。我用了一個簡單的內(nèi)存緩存TTL 設 60 秒命中率大概有 15% 左右響應速度明顯提升。第二設置合理的超時時間。Claude Code 默認的超時可能比較長遇到網(wǎng)絡問題時體驗很差。在 openrig 配置里把timeout設成 120 秒比較合適太短了長任務會中斷太長了卡住等得難受。第三日志分級。開發(fā)階段把log_level設成debug能看到完整的請求和響應。生產(chǎn)使用時改成warn避免日志文件膨脹。我見過有人忘了改日志級別跑了一周日志文件幾十個 G。第四定期檢查 API Key 余額。第三方模型供應商的余額不足時報錯信息往往不直觀可能表現(xiàn)為請求超時或者返回空響應。在 openrig 里加一個余額檢查的定時任務余額低于閾值時發(fā)通知。// 簡單的余額檢查 async function checkBalance(provider) { const resp await fetch(${provider.base_url}/user/balance, { headers: { Authorization: Bearer ${process.env[provider.api_key_env]} } }); const data await resp.json(); if (data.balance 10) { console.warn(${provider.name} 余額不足: ${data.balance}); } }4.4 跨平臺使用的注意事項Windows、macOS、Linux 三個平臺我都跑過 openrig各有各的坑。Windows 上最大的問題是路徑分隔符和 shell 差異。Node.js 的spawn在 Windows 上默認不通過 shell 執(zhí)行導致一些命令找不到。解決方法是在spawn參數(shù)里加shell: true但這樣又可能引入命令注入風險。我的做法是只在 Windows 平臺加shell: true并且對傳入的參數(shù)做轉(zhuǎn)義。macOS 上相對省心但要注意 Apple Silicon 和 Intel 的架構差異。有些 npm 包在 M 系列芯片上需要重新編譯如果遇到invalid ELF header之類的報錯刪掉node_modules重新npm install通常能解決。Ubuntu 上的坑主要在權限和 systemd 集成。如果你想把 openrig 做成開機自啟的服務需要寫一個 systemd unit 文件[Unit] DescriptionOpenRig Proxy Service Afternetwork.target [Service] Typesimple Useryouruser WorkingDirectory/home/youruser/openrig ExecStart/usr/bin/node /home/youruser/openrig/bin/proxy.js Restarton-failure EnvironmentNODE_ENVproduction [Install] WantedBymulti-user.target放到/etc/systemd/system/openrig.service然后systemctl enable --now openrig就能開機自啟了。5. 進階玩法把 openrig 用出花來5.1 多模型路由與自動降級openrig 的配置結構天然支持多模型路由。你可以在 profile 里定義一個模型優(yōu)先級列表當主模型不可用時自動切換到備用模型profiles: resilient: provider: anthropic model: sonnet fallback: - provider: deepseek model: ds-chat - provider: glm model: glm4啟動腳本里實現(xiàn)降級邏輯先試主模型請求失敗超時或返回錯誤碼就切到下一個。這個邏輯用 Node.js 的try/catch加循環(huán)就能實現(xiàn)但要注意區(qū)分“可重試錯誤”和“不可重試錯誤”。比如 401 認證失敗重試多少次都沒用直接報錯而 429 限流或者 503 服務不可用就值得重試。我實測下來這套降級機制在主力模型偶爾抽風的時候特別管用。有一次 Claude 的 API 返回 503openrig 自動切到 DeepSeek整個開發(fā)流程沒有中斷我甚至沒注意到切換發(fā)生了。5.2 與 VS Code 的集成Claude Code 有 VS Code 擴展openrig 可以和它配合使用。在 VS Code 的settings.json里配置{ claude-code.environment: { OPENRIG_PROFILE: dev, OPENRIG_CONFIG: /Users/yourname/openrig/openrig.yaml } }這樣在 VS Code 里啟動 Claude Code 時它會讀取 openrig 的配置。不過要注意VS Code 擴展啟動的進程可能不會繼承你 shell 里的環(huán)境變量所以 API Key 需要在 VS Code 的設置里單獨配置或者通過terminal.integrated.env注入。另一個集成點是用 VS Code 的任務系統(tǒng)跑 openrig 命令。在.vscode/tasks.json里定義一個任務{(diào) version: 2.0.0, tasks: [ { label: openrig: dev, type: shell, command: openrig dev, problemMatcher: [] } ] }按CtrlShiftP然后選Tasks: Run Task就能快速啟動。5.3 配置模板化與團隊共享如果你在團隊里推廣 openrig可以做一個配置模板倉庫。把通用的 provider 定義、代理設置、profile 結構放在模板里團隊成員 clone 之后只需要填自己的 API Key 和個性化配置。模板倉庫的結構大概是這樣openrig-template/ ├── openrig.yaml # 主配置模板 ├── profiles/ │ ├── dev.yaml # 開發(fā)環(huán)境 │ ├── staging.yaml # 預發(fā)環(huán)境 │ └── prod.yaml # 生產(chǎn)環(huán)境 ├── bin/ │ └── openrig.js # 啟動腳本 ├── package.json └── README.md # 使用說明主配置里用 YAML 的!include指令需要自定義 YAML 類型或者啟動腳本里做文件合并把 profiles 目錄下的配置合并進來。這樣每個人只需要維護自己的 profile 文件公共部分由模板統(tǒng)一管理。團隊共享時還要注意 API Key 的管理。絕對不要把 Key 寫進配置文件提交到倉庫??梢杂?env文件加.gitignore的方式或者用團隊統(tǒng)一的密鑰管理服務。我見過有人不小心把 Key 提交到公開倉庫幾分鐘內(nèi)就被掃到并盜用了損失不小。5.4 監(jiān)控與日志分析跑了一段時間后你可能會想知道哪個模型用得最多平均響應時間是多少哪些請求經(jīng)常失敗這些數(shù)據(jù)對優(yōu)化配置很有幫助。在 openrig 的代理層加一個簡單的日志記錄把每次請求的元數(shù)據(jù)寫到 JSON Lines 文件function logRequest(entry) { const line JSON.stringify({ timestamp: new Date().toISOString(), provider: entry.provider, model: entry.model, duration: entry.duration, status: entry.status, tokens: entry.tokens }); fs.appendFileSync(openrig.log, line \n); }然后用jq或者寫個小腳本做分析# 統(tǒng)計各模型使用次數(shù) cat openrig.log | jq -r .model | sort | uniq -c | sort -rn # 計算平均響應時間 cat openrig.log | jq -s map(.duration) | add / length這些數(shù)據(jù)幫我發(fā)現(xiàn)了一個問題我原以為 DeepSeek Coder 在代碼任務上更快但實際數(shù)據(jù)顯示 Claude Sonnet 的平均響應時間反而更短。后來調(diào)整了默認模型開發(fā)效率提升了不少。6. 我踩過的那些坑說幾個印象深刻的翻車經(jīng)歷希望能幫你省點時間。第一個坑是 YAML 的縮進。YAML 對縮進極其敏感用 Tab 還是空格、縮進幾個空格都有講究。我有次從網(wǎng)頁上復制了一段配置粘貼進去之后一直報解析錯誤查了半天才發(fā)現(xiàn)是混合用了 Tab 和空格。后來在編輯器里設置了tab_size: 2并且開啟render_whitespace這類問題就少多了。第二個坑是環(huán)境變量的繼承。openrig 啟動子進程時如果直接傳env對象子進程的環(huán)境變量就是完全替換而不是追加。我一開始沒注意導致 Claude Code 找不到PATH連基本命令都執(zhí)行不了。正確的做法是{ ...process.env, ...customEnv }先繼承再覆蓋。第三個坑是代理的NO_PROXY設置。我本地跑了一個模型服務在localhost:8080但請求一直走代理繞了一圈。后來發(fā)現(xiàn)NO_PROXY里寫的是localhost但實際請求用的是127.0.0.1兩者在代理規(guī)則里不等價。把兩個都加上就好了。第四個坑是 Node.js 版本升級導致的兼容性問題。有次我把 Node.js 從 20 升到 22結果js-yaml包報了個奇怪的錯誤。查了才知道是包版本太老不支持新的 Node.js API。升級js-yaml到最新版就解決了。所以升級 Node.js 大版本時記得把依賴包也更新一遍。第五個坑是 API Key 的權限范圍。有些平臺的 API Key 可以設置權限范圍比如只讀、只寫、或者限定模型。我申請了一個 Key 用來測試結果一直報 403后來發(fā)現(xiàn)是申請時沒勾選對應的模型權限。這個坑不常見但遇到了很難排查因為報錯信息不會告訴你具體缺哪個權限。這些經(jīng)驗歸結起來就是一句話配置管理這件事細節(jié)決定成敗。openrig 的思路是把所有細節(jié)顯式化、結構化讓你能一眼看到全貌而不是散落在各個 shell 配置文件和環(huán)境變量里。剛開始搭建的時候多花點時間后面用起來就省心了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
精品无码99| 天天舔天天操| 97热九九| 国内自拍97在线| 婷婷五月综合体验看| 色色色色欧洲| 色婷婷国产精品综合在线观看| 色色五月婷婷| pom538精品视频| 色欲五月天| 日韩精品无码AV| 天天操天天曰| 色色色国产| 丁香五月天无码| 色色色地址| 成人综合网站| 免费看欧美成人A片无码| 色婷婷国产精品综合在线观看| 狠狠擼综合| 91超级碰在线视频| 丁香激情五月| 亚洲无aV在线中文字幕| 99在线爽| 激情五月婷婷她| 亚洲激情久久| 亚洲色综合| 五月婷婷六月丁香在线| 激情六月日韩| 天天撸天天干天天插| 激情综合女人网五月播播| 丁香五月 激情文学| 五月激情天| 天天影院色| 五月伊人网| 丁香五月播播| 夜夜夜夜夜操| 超碰93在线观看| 五月婷婷色激情| 亚洲五月天天| 色综合日日| 青青热久久综合| 99热综合在线| 啪啪婷婷五月天激情| 思思热在线视频精品| 婷婷伊人久久| 六月丁香深深爱综合网| 思思热在线视频观看精品| 91精品婷婷国产综合久久| 国产精品岛国片在线观看免费| 欧美一区二区三区不卡影视| 日本va欧美va精品发布视频| 激情五月com| 91免费在线视频6| 亚洲综合99| 97热在线精品| 亚洲sesesese| 久久99热 这里有精品| 天天狠天天狠| 国产精品久久久丁香五月八戒视频| 五月花成人网| 丁香六月伊人| 99在线资源| 六月婷婷综合激情| 青草视频在线观看视频| 婷婷在线日韩综合| www.com亚洲网站在线免费| 91在线观看www| 99操不停| 五月婷婷影院| 另类激情五月| 99ri视频在线播放| 一起草av| 99热99思午夜精品| 婷婷五月黄色激情在线| 丁香社区婷婷五月| 俺去也五月天| 欧美日韩一区二区三区四区| 欧美影院婷婷| 色六月天| 五月综合无码| 色婷婷aV四虎| 五月丁香激情片| 婷婷免费成人视频| 激情网五月天| 夫妇交换刺激做爰| 久久久.COM| 9+1视频网址| 日日撸天天干| 超碰在线99| 婷婷五月在线视频| 激情五月婷| 激情丁香五月婷| 九九热视频免费| 色五月激情五月开心五月| 99在线视频精品| 九九亚洲视频| 99久超碰| 99热精品在线免费观看| 婷婷五月天激情小说| 丁香九月激情在线视频| 激情婷婷五月女| 五月天婷婷丁香六月| 天天综合久久| 91九九九色在| 丁香狠狠| 国产激情久久| 婷婷六月综合| 色五月天综合网| 五月天久久久| 射区导航| 99精品免费| 天天爽天天| 激情婷| 成人五月天综合网| 丁香九月综合激情| 丁香97综合| 亚洲精品乱码久久久久久按摩观| 玖玖五月丁香| 在线成人av播放| wwxx日本| 五月天激情图片| 丁香婷婷综合喷| 夜夜爽天天| www.五月天婷婷| 做爰丰满少妇1313| 亚洲五月六丁香激情| 欧美丁香五月夫妻天| 久久婷婷五月| 99精品色色| 五月婷婷六月情| 五月天综合在线网| 丁香五月激情婷婷激情| 九九亚洲| 99成人精品六| 老师的粉嫩小又紧水又多A片视频| 香蕉大综综综合久久| 俺五月| 伊人激情| 丁香婷婷综合精品六月初| 这里只有精品久久| 婷婷狠狠18禁久久| 久久资源网五月婷| 亚洲精品电影| 婷婷五月婷婷| xx综合网| 人人妖人人97| 久久激情五月婷婷| 日本人人草草| 色欲av伊人久久大香线蕉影院 | 久九色| 五月天精品| 97人人操人人插| 求可以看的AV网址| 婷婷丁香精品视频在线观看| 日韩色五月| 日韩AC在线免费观看| 狠狠干在线视频| 亚洲乱码日产精品BD| 婷婷五月天在线综合导航| 天天干天干| www激情| 色色色色色色色色五月先| 九色七七| 北京熟妇搡BBBB搡BBBB| 狠狠狠狠狠草| 婷婷丁香社区| 思思热在线精品视频| 性爱综合网| 深爱婷婷网| 国产伦理精品高清在线观看网站一区二区 | 五月丁香在线精品| 五月婷久久综合| 色婷婷丁香五月天在线观看| 91精品久久久久久77777| 丁香婷婷色五月| 99久久婷婷国产综合精品青桔| 九九视频这里只有精品| 婷婷涩五月天综合| 国产成人在线精品| 99热这里只有精| 色婷婷丁香五月高清在线| 热久久这里只有精品| 婷婷丁香五月激情中文字幕版| 疯狂做受XXXX高潮A片| 五月婷婷深爱六月| 天堂成人久久| 亚洲妇女熟BBW| 一本久道综合色婷婷五月| 亚洲色基地| 亲子乱AV一区二区三区下载| 五月社区婷婷激情| 综合99久久天天综合| 色婷婷丁香| 六月五月久久丁香| 天天射综合网站| www.婷婷| 噜噜噜噜综合在线| 97色伦另类图片小说视频| 婷婷激情综合色五月久久91| 特级西西4444www无码| 五月开心啪啪| 欧美日韩91| 国产亚洲精品久久久久苍井松| 五月婷婷综合在线观看| 婷婷激情五月天7| 国产性爱大片久久| 97人人草| 天天色播| 狠狠色成人影片| 九九这里只有精品在线视频| 久操97| 婷婷五月天综合网| 久久狼人天堂| 色色色色色色网| 婷婷五月深情丁香深爱日韩| 久久久久网站| 久久玖玖99| 99精色| 婷婷五月图片小说网| 丁香激情网| 婷婷五月天天| 亚洲中文字幕在线观看| 激情五月影院| 91色在线/日韩| 激情网婷婷婷| 2020久久婷婷五月| 亚洲小视频免费观看| 亚洲av成人电影在线观看| av在线资源| 97九色视频| 五月天激情小说婷婷基地| 91久久久久久久| 激情综合婷婷久久| 中文字幕精品推荐免费在线观| 国产精品大香蕉| 一起草无码| 99热这里只有精品最新网址| 久99热| 91热er| 久9久9久9久9久9久9| 热久久999| 天天影院色| 99热这里只有精品8| 亚洲成人电影aaaa| 九九在线免费观看| 久久这里有精品在线观看| 99热99网| 中文久久久人妻| 91一起操| 午夜丁香丁香婷婷| 高清无码.com| 婷婷五月综合欧美在线播放| 六月丁香射婷婷欧美色图片| 丁香婷婷五月天色播| 黄色大片又大粗又爽| 色色色婷婷五月天| 婷五月丁香俺| 先锋资源996| 天天日夜夜高潮| 91碰碰| 99热爱爱干干日| 久久婷婷丁香五月宗合| 日本熟妇精品99| 99九九精品视频| 97日在线视频| 九九aV| 97精品综合久久| 99在线69| 五月丁香激情婷婷综合字幕| 26uuuuuuuu国产| 激情五月婷婷色播网| 操逼在线视频| 狠狠人人婷婷| 色啪综合| 99精彩视频网站在线| 疯狂做受XXXX高潮A片| 人妻丰满精品一区二区A片| 日韩免费视频| 久久久久久久久久久月丁| 日本操B片| 婷婷亚洲久久| 国产中文亚洲欧美日韩性交| 偷拍视频五月天| 色五月丁香六月欧美综合| 丁香六月情| 五月婷婷成人| 丁香婷婷色五月激情综合| 99性色| 婷婷久久综合| 99五月婷| 成年人99热| 成人开心五月天| 五月婷婷人人人操| 97超碰免费超级在线观看| 亚洲第一成人AV| www.久久爱.c n| 五月天婷婷久久| 亚洲婷婷开心五月| 丁香 久久| 五月天色区| 97在线观视频免费观看| 国产免费一区二区三区三州老师F1F1.CC | 五月婷婷六月丁香首页| 99热这只有| 俺去啦综合网| 色五月婷婷亚洲| av婷婷六月丁香社区在线观看| 激情五月瑟瑟| 色五月久久成人婷婷| 丁香五月婷老师| 色婷五月天| 精品影院| 啪啪综合网| 激情五月色综合国产精品| 综合色色色| 26uuu国产| 日韩啪啪视品| www.99热国产| 99热偷拍| 蜜乳人妻一区二区三区| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 五月六月激情| www99热| 久久大香蕉伊人| 亚洲综合色网站| 日本色婷婷| BBWCUCKOLD精品熟妇| 无码动漫av| 99热99热在线观看| AVDV久久| 久久婷婷五月天懂色| 五月天停停基地| 日本va欧美va国产激情| 人人97碰| 97婷婷丁香| 96丁香婷婷九月蜜桃综合久久| 色色五月婷| 99热成人| 亭亭玉月丁香| 色J香五月天| 狠狠精品干练久久久无码中文字幕| 久久性刺激| 色五月综合网| 久久99人人| 凹凸探花电影| 无码人妻精品一区二区蜜桃色欲| 人妻内射麻豆视频| 婷婷五月天激情小说| 99视频精品| 99精品在线观看| 色色色色色日韩午夜激情| 五月丁香WWW| 欧美在线视频99| 日本九九视频| 成人片在线播放| 黄久久久| 久久婷婷色综合| 国产婷婷久久| 欧美激情VA永久在线播放| 99热欲| 夜夜爽天天日| 婷婷久久18| 婷香五月激情视频| www.五月天婷婷| 丁香五月综合| 99在线热| 我爱大香蕉| 丁香五月婷婷啪啪| 中文幕无线码中文字蜜桃| 久久无码激情视频| 青青草免费公开视频| 久久99最新| 免费视频WWW在线观看网站| 夜夜爽天天| 色播播五月天| 99精品爱| 婷婷终合色图| 99视频内射三四| 五月花综合| 丁香五月偷拍| 五月婷婷中文网| 性色九九| 五月丁香亭亭操逼| 久久婷婷丁香五月一二三| 99色婷婷视频| 丁香五月综合亚洲| 婷婷激情人妻| 激情五月天色色| 99色色最新视频| 国产av网| 在线中文av| 99re思思精品视频在线观看| 婷婷色基地在线看 | 91精产品自偷自偷综合| 丁香色色网| 人人综合五月人人婷婷| 任你擦免费视频| 免费黄色片子| 综合网天天| 中文字幕丰满乱孑伦无码专区| 婷婷丁香五月噜噜噜| 182tv992tv人之初午夜免费观看| 五月丁香激情综合| 亚洲 精品 综合 精品| 岛国在线观看91| 色五月av| 丁香伊人综合| 91超碰在线观看| 国产欧美熟妇另类久久久| 日日爽天天| 久久网日本| 一二线视频 另类| 五月丁香六月激情在线| 激情五月天之五月婷婷| www.黄色片-久久成人国产精品在线播放-999AV| 丁香五月天啪啪| 五月婷婷欲色| www.激情五月天.com| 九色综合五月天婷五月| 人妻人人操| 人人摸人人摸| 成 久久| 99久久www| A片试看120分钟做受图片| 激情五月天啪啪| 六月丁香婷婷网| 区美毛片子| 色九九中文字幕| 婷婷色五月天在线| 婷婷五月电影| 99视频在线观看网址| WWW夜夜| 成人午夜免费电影| 99精彩视频在线观看| 99热只有| 综合网色| 超碰91人人操| 久久玖玖综合| 天天做夜夜爽| 天天干天天操| 婷婷成人丁香色情基地30 | 色色五月天婷婷丁香| 亚洲V国产V欧美V久久久久久| 婷婷在线精品| 欧美性爱一区| 激情綜合網址| WWW.99视频| 99视频这里有精品免费观看| 人人爽人人爽人人爽人人爽| 草美女在线观看视频在线播放| 在线你懂的亚洲欧| 五月天激情久久| 97在线/日本| 色五月综合网站| AA片在线观看视频在线播放| 无码日本精品XXXXXXXXX | 九九99精品视频在线观看| 天天干,天天日| 五月开心色| 性日本精品| 五月天精品综合在线| 爱草视频在线观看| 五月丁香久久久| 五月天免费色| 99视频精品8| 九九久久五月天综合伊人| 色五月久久成人婷婷| 五月天婷婷色五月天| 91综合在线| 婷婷丁香五月综合| 蜜臀av无码久久久久久久久| 激情五月激情综合网一级丸片| 亚洲va日| 午夜精品777| 99色视频在线观看| 五月婷婷激情综合视频| 日本婷婷| 亚洲区视频| 色婷婷小说| 天天爽天天操| AV成人在线网站| 色综合婷婷99| 久久综合色五月| 九九热99视频在线| 爱之国产色情综合| 99er视频在线| 激情五月天综合网| 操一区| 亚洲中文字幕在线观看| 青青操成人福利| 光棍影院日韩精品| 久久66er久久| 99热99热| 五月婷网| 欧美成人AAA片一区国产精品| 亚洲xx在线| 久久人视频| 亚洲av综合网| 婷婷五月天影视| 俺也去在线视频| 99热这里都是精品| 伊人无码高清| 4438成人电影| 五月天婷婷久色| 婷婷五月天综合小说网| 亚洲天堂99| 国产精品99久久久久久久女警| 色九四色| 综合色情网| 激情WWW| 五月丁香六月婷婷色情| www.婷婷五月天| 九九精品少妇| 99色看这里只有精品| 99免费视频在线观看爱| 伊人在线视频| 久久在线大香蕉| 婷婷基地成人五月天| 欧美啄木乌丝袜人妻系列| 综合视频久久| 男女激情久久| 久热这里这里有精品| 五月天天爽| 欧美在线干| 综合激情在线观看| 婷婷爱婷婷| 影音先锋一区二区三区| 五月婷婷丁香综合,亚洲天堂| 成人视频一区| 久久久久这里只有精品| 9久热精品在线视频| 超碰色婷婷| 99re思思热这里| 九九99精品| 日本道久久91| 丁香五月天av| 五月激情影院| 天天日天天舔天天摸| 另类五月激情| 激情AV网| 亚洲综合新99视频| 99热久| 色九九九九| 色婷婷激情五月天在线观看| 日韩精品AV一区二区三区| a九九热www| 欧美VA在线观看| 欧美精品XXXXBBBB| 欧美丁香婷婷天天操| 99A级片| 超爽内射| 99久在线精品99re8| 江苏少妇性BBB搡BBB爽爽爽| 婷婷5月天av| 色色热| 亚洲综合色色| 丝袜人妻| 久婷| 久久久99久久| 人人97碰| 久久色情| 色婷婷五月影视| 九九亚洲综合| 超碰免费大香蕉| 色五月五月婷婷| 在线色婷婷| 婷婷丁香五月天亚洲| 天堂成人A片永久免费网站| 狠狠草天天草| 97在线观视频免费观看| 综合色色婷婷| 婷婷94s| 色 色 色综合com| 嘿嘿视频免费看9| 五月第四色| 色色影院黄大片| 99热这里只有精品55| 丁香玖玖| 99热这| 丁香婷婷色五月| av狠狠操| 婷婷五月精品在线| 亚洲无码免费看| 五月天色婷婷综合| 婷婷午夜| 日99网站| 婷婷激情小说| 大香蕉五月丁香| 99精品色| 国产日日操夜夜操的肉棒视频| 亚洲无码性爱| 午夜成人网站在线观看| 色激情综合狠狠婷婷| 少妇高潮呻吟A片免费看软件| 亚洲行行色色| 碰97久久| 亚洲无AV在线中文字幕| se影音资源在线观看| 久9精品| 九九色综合九九色| 国产日日操夜夜操的肉棒视频| 婷婷激情综合色五月久久91| 成人 视频免费观看网站| 欧美99| 蜜臀久久99精品久久久久久酒店| 夜夜撸夜夜骑| 99热这里只有精品21| ztEJj| 91.com男女操| 亚洲99手机免费看视频| 人妻激情在线| 丁香六月天婷婷色| 久9视频| www.婷婷,com| 91色色色| 丁香9月婷婷| 五月丁香成人网| 五月天成人在线| 91色噜噜狠狠狠狠色综合| www.色婷婷.com| 久久色情综合免费网站| 五月丁香六月色婷婷综合五月天| 欧美日本不卡黄色片| 99久久婷| 丁香五月综合网亚洲综合欧美狠狠| 伊人9在线| 91九色首页| 色婷婷狠狠| 99热综合在线| 日韩精品电影| 日本操B视频| 99这里都是精品| 天天干-天天日| 亚洲AV无码成人精品区电影网| 中文字幕成人| 色婷婷五月天| 婷婷亚洲丁香五月| 五月婷婷色色| 9久久网| 丁香五月天天久久综合小说| 99自拍网| 第四色婷婷丁香五月| 久久久久综合激动五月天| 99视频在线啪| 久久婷鲁| 欧美性色A片免费免费观看的| 激情婷婷五月天| 丁香五月,激情五月,深爱五月| 丁香花五月天激情| 丁香婷婷性久久| 久久A极片| 婷婷五月婷婷| 中文字幕AV在线播放| 99'无码| 激情综合色网| 久久婷婷丁香视频网| 五月婷九月| 五月婷婷六月天| 五月婷在线| 欧美日本另类| 午夜激情五月天| 色婷婷狠狠久久综合五月| 婷婷五月在线免费| 丁香婷婷啪啪| 五月天丁香综合久久国产| 日日噜噜久久婷婷五月天| 亚洲精品一区无码A片| 99色视频在线| 久99久视频| 亭亭玉月丁香| 国产九九一区二区三区| 九九色综合九九色| 婷婷五月情| 五月婷导航| 日日狠狠久久偷偷四色综合免费| 午夜青草资源| 天天色伊人| 激情婷婷丁香色五月综合| 热99国产精品| 丁香五月在线视频| 天天搽天天射| 国产热精品| 婷婷黄色五月天在线视频| 婷婷激情六月综合| 色v综合网| 五月天婷婷色色网| 日韩影院三级| 五月天婷婷色| 日本ww亚洲| 亚洲狠狠婷婷综合久久久| 婷婷五月天论坛| 激情美女五月天激情在线| 色五月视频无码播放| 激情五月婷婷综合色播小说| 亚洲99热| 日韩九区| 久久激情视频| 亚洲AV无码电影| 97婷婷丁香五月综合| 超级碰碰碰碰视频| 九九激情综合| www.综合久久.com| 亚洲色色在线| 五月丁香婷婷中文网| 激情六月色| 大香蕉网站,大香蕉综合| 亚洲色婷婷五月天| 日韩在线看AV| 丁香婷婷超碰| www,五月天com| 激情五月婷婷综合网| 99小视频网站| 丁香五月婷中字幕| 色五月综合| 色狠狠色噜噜AV天堂五区| 任你搞在线观看视频| 亚洲五月激情| 男人综合网| Www.激情| 色九月婷婷| 中文AV网站| 天天综合网91| 五月丁香六月婷婷免费视频| 同性gv国产精品一区二区| 情趣视频66| 五月天综合久久| 伊人爱爱日本| 色婷婷久久综合| 丁香丁婷五月激情| www.丁香五月| 欧美 日韩 成人 在线| www.婷婷六月天| 国产日韩精品SUV| 九热免费视频| 六月五月久久丁香| 91久久婷婷| 日韩av手机在线观看| 久综合色| 五月婷婷之美女图片| 丁香五月六月| 色婷婷四色| 插插五月天| 六月丁丁香| 91精品国产综合久久久不卡电影| 婷婷五月亚洲综合| 亚洲精品激情| 色综合五月天| Www99热| 九九热99精品| 五月婷丁香| 丁香六月| 婷婷六月丁香欧美视频在线| 丁香六月婷婷综合| 婷婷午夜| 99热天堂| 久热伊人在91| 深爱五月天天| 日本不卡一区二区三区| 久久婷色| 中文字幕人妻在线| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 婷婷五月天激情小说| 热99热9| 狠狠穞A片一區二區三區| 亚洲一级AV在线免费播放| 丁香婷在线| 亚洲综合五月天| 五月丁香日本片| 超碰日日操| 99熟女啪啪视频| 九九视频这里有精品| 苗黎美女四级成人版一级二级毛片| 噜噜噜狠狠色综合| 婷婷五月av| 日本久久超碰| 久99久精品视频| 五月婷中文娱乐综合| 这里只有精彩亚洲视频推荐| 风流少妇A片一区二区蜜桃| 狠色狠色狠狠色综合网| 99精品亚洲| 99热精品在线观看| 国产精品久久..4399| 久热黄色| 五月婷婷久久大香蕉| 香蕉操亚洲| 五月丁香久久| 成人在线视频网| 99毛片| AV网址大全在| 日本五月婷| 婷婷色资源| 狠狠色婷婷六月激情网| 婷婷中文字幕网站| 色噜噜狠狠插综合| 五月情涩综合婷婷| 国产成人综合在线| 97干97色| 99精品成人无码A片观看金桔| 国产精品久久99| 色丁香五月婷婷| 婷婷五月天激情偷拍| 久久性爱99国产| 婷婷丁香五月天亚洲| av超碰在线| 婷婷五月天电影网| 日本久久精品| 九九热AV| 性天天中文网| 婷婷六月色情| 久久久久人妻网址| 亚洲久久视频| 色9999综合久久| 色播五月婷婷| 激情婷婷丁香五月天小说| 99re久久| 天天干天天操| 六月婷欧美| 九九热最新| 99热精品9| 熟女91九色| 天天干 夜夜爽| 深爱丁香激情| 五月婷三级片| av在线中文| 怡红院 久久| 疯狂做受XXXX高潮A片动画| 五月婷婷啪| 大香蕉婷婷久久| 51精品国自产在线| 五月激情婷婷国产精品久久久久久| 深夜男女福利刺激影院一区完整| 99精品在线| 丁香五月婷婷在线观看| 久久精品63| 午夜精品久久久久久久爽| 精品亚洲VA网站| 热99精品视频在线观看| 激情6月| 91久久久久久| 天天色综合网1| 五月丁香婷婷啪啪| 国产婷伊人| 婷婷五月天影院| 日韩人妻操逼视频| 激情小说五月天社区丁香| 新激情婷婷| 99热这里只有精品22| 丁香五月av在线| 久热婷婷| 狠狠狠狠青草| 久草热8精品视频在线观看| 丁香婷婷视频| 很操日本7| 在线视频另类| 五月丁香视频色色| 天堂无码人妻精品AV一区| 五月天天综合| 精品久久久久久久人妻| 99精品无码视频| 色五月婷婷青娱乐| 97luluse| 色婷婷五月在线| 情趣视频66| www.夜夜騎夜夜狠| 婷婷99| 久久久久久久久久91| 亚洲成人影视在线| 这里只有精品视频在线| 激情啪啪五月| 欧美中文五月天| 激情小说五月天中文字幕| 久热精品视频在线观| 欧美日韩成人高清在线| 亚洲天堂有码| 操碰色一区就去操| 高清一区二区三区日本久| 亚洲精品国产setv| 色欲婷婷五月天丁香| 97色色色视屏| AV电影在线播放| 日韩不卡DvD| 丁香六月婷| 成年视频免费观看| 好大好粗嗯啊-一级黄色大片免费观看-成人AV| 疯狂做受XXXX高潮A片| 五月婷在线观看| 婷婷色操| www.色婷婷.com| 丁香色情五月综合网站| 成人色五月天| 丁香六月色婷婷欧美| 91vip在线观看| 激情九月天天天天婷婷| 久久玖玖99| 99ri网站在线观看| 97亚洲视频在线| 香蕉久久国产AV一区二区| 国产精产国品一二三在观看| 99在线免费视频| 色5月婷婷| 色五月AV| 成人无码髙潮喷水A片| 五月婷婷综合在线| 熟女人妻一区二区三区免费看| 日本精品久久久久中文字幕| 九九色逼| 久久久久久久久久久-久五月天婷婷| 激情五月婷婷| 丁香五月婷婷免费视频| 综合色、色综合| 婷婷五月激情在线| 日本在线wwww| 99热热这里只精品996小说| 99精品久久久久久久久| 激情五月天99色| 亚洲成人一区| 色婷婷五月天av在线| 婷婷丁香五| 亚洲婷婷婷| 五月第四色| 成年人丁香五月| 国产精品大香蕉| 色五月欧美| 玖玖爱伊人网| 综合伊人久久| www.五月婷婷久久.com| 精品99久久久久成人网站免费| 草美女在线观看视频在线播放| 思思精品久久艹| 天天爽日日爽夜夜爽| 狼人婷婷综合| 婷婷情色五月天| 亚洲久热| 久久99免费视频| 91人碰| 久久五月天婷婷视频| 欧美综合丁香网| 久热这里| 99操视频| 伊人喵咪a V| 亚洲六月色婷婷| 五月天丁香啪啪综合| 97碰人人操| 激情六月天| 色色综合五月| www91在线| 91精品熟女| 九九精品免费| 超碰成人免费| 激情综合文学| 婷婷欧美综合| 极品五月天| 操日视频| 丁香五月激情久久麻豆| 在线中文字幕视频| 岛国av网| 九月激情网| 亚洲深喉aV| 婷婷伊人中文字幕| 五月丁香网中文字幕| 久久综合丁香| 久久婷婷五月天丁香| 碰97久久| 五月婷婷激情综合拍| www.色综合.com| 亚洲人操亚洲人| 成人国产综合| 99在线精品视频在线观看| 激情AV| 9超碰在线| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 另类图片五月天婷婷| 另类激情综合| 桃色五月婷婷| 久这里只有精品99| 色99在线观看| 九九XX视频| 99re在线观看| 欧美啪啪9| 精品一二三区久久AAA片| 99九九热在线观看| 亚洲男女激情| 婷婷色色亚洲| wwW天天干| 99热免费| 婷婷色色宗合网| 99热精品一区| 99热这里只有精品66| 91无码高清| 久久久五月婷婷| 无码免费人妻A片AAA毛片西瓜| 丁香五月性| 久久天天| AV免费在线网站| 99re思思热这里| 婷婷综合精品| 99色在线观看视频者| 激情婷婷内射| www.色婷婷.com| 五月天激情四射| 99精品无码| 97超级碰碰碰| 色色色.COM| 91女人18毛片水多国产| 五月丁香久久丝袜啪啪| 日韩免费视频| 成人小说 五月天 婷婷| 婷婷五月天开心网| 天天操天天日天天爱| 99在线小视频| 九九久久五月天综合伊人| 五月婷婷天堂| 91色吧网| 99色热视频| 婷婷的99视频网站| 五月丁香大相交| 婷婷九九| 99色热视频| 色婷操逼| 婷婷五月天伊人| 五月婷婷色| 丁香六月婷婷久久综合| 综合网狠狠| 激情婷婷久久| 久久激情五月| 亚洲成人综合在线| 天天摸天天舔在线视频| 日本人妻伦在线中文字幕| 丁香五月在线伊人| 国产FREESEXVIDEOS性中国| 91艹人| 婷婷的五月天另类视频| 天天高潮夜夜爽| 91成人看| 黄色五月婷婷| 99ri视频| 久久在线视频免费观看| 天天干天天射综合网| 97色五月婷婷在线| 欧美黄色AA片哗啦啦啦| 99热精品观看| 色婷婷狠狠| 米奇激情婷婷| 丁香五月婷婷av影院| 狠狠操狠狠操| www.天天色综合| 少妇熟女视频一区二区三区| 99热在线观看这里只有精品| 五月花激情网| 色域五月婷婷丁香| 亚洲色情免费网| 97日韩无套内| 久久久久激情网| 99热免费网站| 丁香,开心成人,久久| 俺去也婷婷| 少妇丁香婷婷 | 色五月97| www.色婷婷| 另类婷婷丁香| 另类图片五月天激情| 久久 婷婷 五月天| 日本激情ⅩXX免费视频| 国产原创视频91九色| 啪啪综合| 综合激情综合啪啪| 五月天激情网址| 狠狠干狠狠色| www激情com| a色色色色色| 久久99人人| 一起草AV| 欧美国产一区二区三区| 丁香婷婷五月天激情四射| 成人.在线日韩| 色色激情网| 激情五月天之五月婷婷| 一本久道综合99| 中文字幕视频色婷婷| 婷婷成人视频| 色插综合网| 国内精品99| 天天操天天干天天日| 丁香五月婷老师| 五月婷俺去也| 玖玖精品婷婷| 玖玖99婷婷| 五月婷精品| 婷婷六月五月| 婷婷六月丁香激情综合| 超色欲天天| 熟女强人妻一区二区三区四区无| 色婷婷色99国产综合精品| 欧美婷婷五月| 26uuu.| 久久视频婷婷视频| 91人人妻人人操人人爽| www.狠狠操| 99热99在线| 婷婷开心激情五月激情网| 五月丁香视频在线观看| 噜噜色五月| 综合激情九月婷婷,激情综合婷婷中文字| 激情六月天| 五月天激情啪啪| 九九色综合九九色| 色情激情五月| 久久98| 99 re视频一区| 玖玖婷婷色| 五月丁香久久久| 欧美大片| 狠狠干狠狠色| 91久久| 五月婷婷丁香大陆免费| 天天五月天综合网址| 婷婷色系婷色| 色亚洲视频| 丁香六月婷婷缴情欧美| 色五月天丁香婷婷| 啪啪色区| 97碰免费精采视频| 婷婷综合国产| 男女激情久久| 亚洲区在线| 日本欧美成人片AAAA| 熟女人妻一区二区三区免费看| 俺去也五月| 五月天丁香网站| 黄网免费看| 超碰免费大香蕉| 操一操干一干| 亚洲天堂色色| 色五月激情五月开心五月| 人人人va亚洲视频在线| 狠狠操狠狠干综合| 久久久久思思热| 欧美色小说婷婷| 婷婷激情五月综合丁香社| 天天射天天射一道本日本社区 | 五月天久久久| 亚洲精久久| 99ri视频| 激情深爱婷婷网| 天天激情夜夜干| 五月熟妇婷婷久久| 一个色的综合| 色情综合网| 亚洲综合九九| 亚洲激情网| 天天操天天操天天操天天操天天操 | 久久久天堂国产精品女人| 天天插天天日| 一点色成人网| 68热超碰在线| 天色色综合网| 色婷婷69| 婷婷激情小说网| 丁香五月六月久久综合 | 免费看欧美成人A片无码| 欧美色片中文字幕久久久久| 婷婷丁香精品视频在线观看| 亚洲Av成人在线观看| www.91在线看| 香蕉久久国产AV一区二区| 99热这是里只有精品| 激情校园 亚洲| 久久人妻www| 97久久人人| 日日夜夜干| 91日在线视频| 婷婷操超碰| 无码se| 中出内射的人妻视频| 人人摸人人| 色五月婷婷色| 男女啪啪做爰高潮无遮挡| 婷香狠狠爱五月| 久热9| 婷婷丁香人妻| 婷婷五月天国产在线播放| 六月激情婷婷| 无码免费人妻A片AAA毛片西瓜| 欧美日韩精品一区二区三区钱| 婷婷99中文字幕| 国产色婷婷亚洲| 天天澡天天狠天天天做| 日韩成人电影AV| 99热在线观看| 久热精彩视频98| 97操操| 亚洲激情精品| 九九色人| 美女久久天堂| 五月天婷婷色色| 激情美女五月天激情在线| 影音先锋四区| 五月丁香久久综合91| 玖玖综合色| 婷婷五月天亚洲图片| 另类图片天天影视在线观看| 激情综合网激情五月婷婷| 婷婷成人AV| 五月色俺婷婷| 久久怡红院| 成人午夜视频精品一区| 庭庭久久内射| 色五月首页| 色综合色综合网| 啪啪色激情五月天| 五月视频日本免费观看| 丁香婷婷色色| 草草女人亚洲| 激情四射五月天| www.五月丁香| 美女婷婷激情亚洲| 日本美女上人| 丁香六月婷婷综合缴| 亚洲成人AV电影在线| 人妻久久久久久久久妻久久久久久久久| 五月激情婷婷女| 99国产精品久久久久久久久久久| 天天综合色丁香| 五月天中文字幕在线婷婷| 丁香色婷婷| 波多野结衣AV无码Porn| 17.c黄色| 天天综合色| 久久永久网址| 日本三级韩三级99久久| 情色五月天 网站| 亚洲尤物在线| 五月天伊人| 丁香五月综合婷婷| 六月丁香久久| 深夜婷婷 丁香| 五月天激情在线视频| 五月丁香偷拍| www99久久| 天天在线XXX| 丁香六月色| 欧美激情2025| 超碰在线caop| 欧美五月丁香在线观看| 久久XX| 午夜成人AV在线| 在线另类视频| www.99热在线观看| 五月天色色婷婷| 婷婷丁香五月天熟女丝袜| 久久思思精品| cao视频,现在观看| 激情五月天激情综合网| 四LLL少妇BBBB槡BBBB| 思思热思在线精品视频| 色999五月色| 天天综合激情| 色五月播五月| 99惹在线精品免费观看| 六月婷婷综合| 伊人大香五月天| 99九九精品| 日韩色色小视频| 天天爽天天操| 青青草深爱激情网|