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

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(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 這個名字很多人會以為是某個硬件外設(shè)或者開源機械臂項目。實際上結(jié)合它周邊的關(guān)鍵詞——Claude Code、Codex、YAML、Node.js——可以很清楚地判斷出openrig 是一個圍繞 AI 編程助手生態(tài)構(gòu)建的本地配置與代理編排工具。它的核心價值在于把 Claude Code、Codex 這類命令行 AI 編程工具的運行環(huán)境、模型接入、代理轉(zhuǎn)發(fā)、配置管理統(tǒng)一到一個可維護的框架里。說白了你平時用 Claude Code 寫代碼可能遇到幾個煩人的問題公司網(wǎng)絡(luò)環(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ù)如果你需要在多個模型供應(yīng)商之間切換比如今天用 Claude 官方、明天接 DeepSeek、后天試 GLM——那 openrig 這套思路值得你花時間研究。我自己的使用場景是這樣的手頭有三臺開發(fā)機一臺 macOS 日常開發(fā)一臺 Ubuntu 跑 CI 和長任務(wù)還有一臺 Windows 偶爾做前端調(diào)試。以前每臺機器上 Claude Code 的配置都是散的環(huán)境變量寫在 shell 配置文件里代理設(shè)置靠手動 export換模型要改好幾個地方。后來用 openrig 的思路把配置統(tǒng)一成 YAML 之后同步配置就是復(fù)制一個文件的事。注意openrig 本身不是一個官方項目它更像是一種配置管理模式的代稱。你在 GitHub 上搜到的同名倉庫可能和本文描述的不完全一致但核心思路是通用的——用結(jié)構(gòu)化配置管理 AI 編程工具的運行時環(huán)境。2. 核心組件拆解YAML、Node.js 與代理層2.1 為什么選 YAML 做配置載體YAML 在這套體系里扮演的是“唯一真相源”的角色。你可能會問為什么不用 JSON 或者 TOMLJSON 的問題是寫注釋不方便而配置文件恰恰最需要注釋——你得記清楚每個參數(shù)是干什么的。TOML 雖然可讀性好但嵌套結(jié)構(gòu)表達起來比較啰嗦。YAML 在可讀性和表達力之間取得了不錯的平衡支持錨點和引用這對多環(huán)境配置復(fù)用非常關(guān)鍵。一個典型的 openrig 配置結(jié)構(gòu)大概長這樣# 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定義了各個模型供應(yīng)商的接入信息profiles定義了不同使用場景的組合。你切換工作環(huán)境只需要改defaults.provider或者指定 profile不用去動環(huán)境變量。YAML 的錨點功能在這里特別有用。比如你有多個 provider 共享相同的代理設(shè)置可以這樣寫_proxy_default: proxy_default enabled: true host: 127.0.0.1 port: 7890 providers: anthropic: proxy: *proxy_default openai: proxy: *proxy_default這樣改一處就能影響所有引用它的地方避免了復(fù)制粘貼帶來的不一致。2.2 Node.js 在其中的角色Node.js 是 openrig 的運行時基礎(chǔ)。為什么不用 Python 或者 Go因為 Claude Code 和 Codex 本身就是 Node.js 生態(tài)的工具用 npm 全局安裝的。openrig 作為它們的配置管理層用 Node.js 寫可以無縫調(diào)用這些工具的 API也能直接復(fù)用 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 對應(yīng)的環(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)境變量、啟動子進程。但就是這種直白的設(shè)計解決了很多手動配置時的痛點。2.3 代理層的設(shè)計考量代理層是 openrig 里最容易被忽視但最關(guān)鍵的部分。Claude Code 和 Codex 都需要訪問外部 API而在某些網(wǎng)絡(luò)環(huán)境下直接連接可能不穩(wěn)定或者根本連不上。這時候就需要一個本地代理來轉(zhuǎn)發(fā)請求。代理層的設(shè)計有幾個要點第一代理只對 AI 工具的流量生效不影響系統(tǒng)全局。你肯定不希望開個代理把整個系統(tǒng)的網(wǎng)絡(luò)都繞一遍。openrig 的做法是通過環(huán)境變量HTTP_PROXY和HTTPS_PROXY只注入到子進程父進程和其他程序不受影響。第二代理要支持按 provider 區(qū)分。有些 provider 需要走代理有些不需要。比如你接 DeepSeek 的國內(nèi)節(jié)點可能直連就很快走代理反而慢。配置里每個 provider 可以單獨設(shè)置代理開關(guān)。第三代理失敗要有降級策略。我遇到過代理進程掛了但 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 模型供應(yīng)商的 API Key。如果你還沒有 API Key先去對應(yīng)平臺注冊申請這里不展開。第一步安裝 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 # 應(yīng)該輸出 v22.x.x npm -v # 應(yīng)該輸出 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 # 代理設(shè)置可以被 profile 覆蓋 proxy: enabled: false host: 127.0.0.1 port: 7890 # 不走代理的地址列表 no_proxy: - localhost - 127.0.0.1 - *.local # 模型供應(yīng)商定義 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幾個關(guān)鍵參數(shù)說明api_key_env指定的是環(huán)境變量名不是 API Key 本身。這樣做的好處是配置文件可以安全地提交到 Git不會泄露密鑰。你只需要在 shell 里 export 對應(yīng)的環(huán)境變量就行。models里的alias是給模型起短名方便在命令行里快速指定。比如openrig dev --model opus比openrig dev --model claude-opus-4-20250514好記多了。no_proxy列表里的地址不會走代理。這個在本地開發(fā)時特別有用比如你本地跑了一個模型服務(wù)肯定不希望請求繞一圈代理再回來。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} 未設(shè)置); } 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í)行權(quán)限并創(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)境變量注入。每臺機器上單獨設(shè)置環(huán)境變量# 加到 ~/.bashrc 或 ~/.zshrc export ANTHROPIC_API_KEYsk-ant-xxxx export DEEPSEEK_API_KEYsk-xxxx export GLM_API_KEYxxxx這樣 Git 倉庫里只有配置結(jié)構(gòu)沒有敏感信息。換機器的時候 clone 下來設(shè)置好環(huán)境變量就能用。如果你不想把配置提交到遠程倉庫也可以用 rsync 或者 Syncthing 在本地網(wǎng)絡(luò)同步。我試過用 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模型名稱錯誤或未授權(quán)確認模型 ID 拼寫檢查 API Key 權(quán)限error installing 24.21.0: node.js v24.21.0 is not yet releasedNode.js 版本號不存在去官網(wǎng)確認當前 LTS 版本號codex無法加載組織設(shè)置配置文件路徑或權(quán)限問題檢查~/.codex/config.yaml是否存在且可讀請求一直超時無響應(yīng)代理不可達或網(wǎng)絡(luò)問題用curl測試代理端口檢查NO_PROXY設(shè)置關(guān)于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 各自期望的請求格式不同而第三方模型供應(yīng)商的 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包做適配不要自己從頭寫。另一個坑是流式響應(yīng)的處理。Claude 和 OpenAI 的流式格式不同Claude 用event: content_block_deltaOpenAI 用data: {choices:[{delta:...}]}。代理層需要把兩種格式互相轉(zhuǎn)換否則 Claude Code 會解析不了響應(yīng)。4.3 性能調(diào)優(yōu)與穩(wěn)定性建議跑了一段時間之后我總結(jié)了幾條調(diào)優(yōu)經(jīng)驗第一給代理層加緩存。對于重復(fù)的請求比如相同的代碼補全請求可以在代理層做短期緩存。我用了一個簡單的內(nèi)存緩存TTL 設(shè) 60 秒命中率大概有 15% 左右響應(yīng)速度明顯提升。第二設(shè)置合理的超時時間。Claude Code 默認的超時可能比較長遇到網(wǎng)絡(luò)問題時體驗很差。在 openrig 配置里把timeout設(shè)成 120 秒比較合適太短了長任務(wù)會中斷太長了卡住等得難受。第三日志分級。開發(fā)階段把log_level設(shè)成debug能看到完整的請求和響應(yīng)。生產(chǎn)使用時改成warn避免日志文件膨脹。我見過有人忘了改日志級別跑了一周日志文件幾十個 G。第四定期檢查 API Key 余額。第三方模型供應(yīng)商的余額不足時報錯信息往往不直觀可能表現(xiàn)為請求超時或者返回空響應(yīng)。在 openrig 里加一個余額檢查的定時任務(wù)余額低于閾值時發(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 的架構(gòu)差異。有些 npm 包在 M 系列芯片上需要重新編譯如果遇到invalid ELF header之類的報錯刪掉node_modules重新npm install通常能解決。Ubuntu 上的坑主要在權(quán)限和 systemd 集成。如果你想把 openrig 做成開機自啟的服務(wù)需要寫一個 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 的配置結(jié)構(gòu)天然支持多模型路由。你可以在 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 服務(wù)不可用就值得重試。我實測下來這套降級機制在主力模型偶爾抽風的時候特別管用。有一次 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 的設(shè)置里單獨配置或者通過terminal.integrated.env注入。另一個集成點是用 VS Code 的任務(wù)系統(tǒng)跑 openrig 命令。在.vscode/tasks.json里定義一個任務(wù){(diào) version: 2.0.0, tasks: [ { label: openrig: dev, type: shell, command: openrig dev, problemMatcher: [] } ] }按CtrlShiftP然后選Tasks: Run Task就能快速啟動。5.3 配置模板化與團隊共享如果你在團隊里推廣 openrig可以做一個配置模板倉庫。把通用的 provider 定義、代理設(shè)置、profile 結(jié)構(gòu)放在模板里團隊成員 clone 之后只需要填自己的 API Key 和個性化配置。模板倉庫的結(jié)構(gòu)大概是這樣openrig-template/ ├── openrig.yaml # 主配置模板 ├── profiles/ │ ├── dev.yaml # 開發(fā)環(huán)境 │ ├── staging.yaml # 預(yù)發(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)一的密鑰管理服務(wù)。我見過有人不小心把 Key 提交到公開倉庫幾分鐘內(nèi)就被掃到并盜用了損失不小。5.4 監(jiān)控與日志分析跑了一段時間后你可能會想知道哪個模型用得最多平均響應(yīng)時間是多少哪些請求經(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 # 計算平均響應(yīng)時間 cat openrig.log | jq -s map(.duration) | add / length這些數(shù)據(jù)幫我發(fā)現(xiàn)了一個問題我原以為 DeepSeek Coder 在代碼任務(wù)上更快但實際數(shù)據(jù)顯示 Claude Sonnet 的平均響應(yīng)時間反而更短。后來調(diào)整了默認模型開發(fā)效率提升了不少。6. 我踩過的那些坑說幾個印象深刻的翻車經(jīng)歷希望能幫你省點時間。第一個坑是 YAML 的縮進。YAML 對縮進極其敏感用 Tab 還是空格、縮進幾個空格都有講究。我有次從網(wǎng)頁上復(fù)制了一段配置粘貼進去之后一直報解析錯誤查了半天才發(fā)現(xiàn)是混合用了 Tab 和空格。后來在編輯器里設(shè)置了tab_size: 2并且開啟render_whitespace這類問題就少多了。第二個坑是環(huán)境變量的繼承。openrig 啟動子進程時如果直接傳env對象子進程的環(huán)境變量就是完全替換而不是追加。我一開始沒注意導致 Claude Code 找不到PATH連基本命令都執(zhí)行不了。正確的做法是{ ...process.env, ...customEnv }先繼承再覆蓋。第三個坑是代理的NO_PROXY設(shè)置。我本地跑了一個模型服務(wù)在localhost:8080但請求一直走代理繞了一圈。后來發(fā)現(xiàn)NO_PROXY里寫的是localhost但實際請求用的是127.0.0.1兩者在代理規(guī)則里不等價。把兩個都加上就好了。第四個坑是 Node.js 版本升級導致的兼容性問題。有次我把 Node.js 從 20 升到 22結(jié)果js-yaml包報了個奇怪的錯誤。查了才知道是包版本太老不支持新的 Node.js API。升級js-yaml到最新版就解決了。所以升級 Node.js 大版本時記得把依賴包也更新一遍。第五個坑是 API Key 的權(quán)限范圍。有些平臺的 API Key 可以設(shè)置權(quán)限范圍比如只讀、只寫、或者限定模型。我申請了一個 Key 用來測試結(jié)果一直報 403后來發(fā)現(xiàn)是申請時沒勾選對應(yīng)的模型權(quán)限。這個坑不常見但遇到了很難排查因為報錯信息不會告訴你具體缺哪個權(quán)限。這些經(jīng)驗歸結(jié)起來就是一句話配置管理這件事細節(jié)決定成敗。openrig 的思路是把所有細節(jié)顯式化、結(jié)構(gòu)化讓你能一眼看到全貌而不是散落在各個 shell 配置文件和環(huán)境變量里。剛開始搭建的時候多花點時間后面用起來就省心了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
加勒比AV网| 91真人天天在线| 午夜天堂精品久久| 欧美天天综合网版| 婷婷婷婷婷婷久久久久| 色区久久| 深喉吞精| 一级A啪啪啪啪| 久久精品视频28| 精品无码一区二区三区| 日韩操逼HD| 激情六月天| 激情人妻另类| 激情五月综合开心五月| 少妇一线天久久久久久| 精品久操| 上床不卡网站| 国产日本一区二区三区蜜臀在线观看| 久操不卡视频| 男女香蕉一区二区| 精品亚洲成人免费在线| 大香蕉伊人一区在线观看| 友优传媒精品在线一区二区| 欧美亚综合色图| 91天天综合日韩欧美| 国产毛片片精品天天看视频| 欧美一区91大爱| 97久久综合网| 超碰AV在线| 五月天欧美色图| 亚洲超碰97| 免费一级视频特黄色大片| 999 久久久| 国产一区二区三区免费视频在性观看 | 97资源久久| 国产大学生高潮在线播放| 天天综合网~91综合网| 乱伦3P视频| 东京热大香焦| 久草五月| 97日亚洲欧美| 人妻少妇精品一区二区三区| 91国模| 一色网男人的天堂| 玖玖爱影院| 欧美嫩性色| 性色A∨91| 青青草视频这里只有精品| 易易A毛视频| 啊啊啊好爽快点啊啊啊嗯嗯| 日韩三级av片| 久久一二三四不卡| 破苞ⅩXXX性无码动漫无码| 情色五月天就去干| 五月丁香啪啪啪| 少妇高潮九九九九| 蜜桃臀 后入 一区 二区 三区 在线| 久热一区二区| 韩国女主播青草在线| 丰满人妻无码一区二区三区| 精品二区三四区五电影| 久久久一热在线播放| 亚洲无码偷拍| 久久噜噜噜精品国产亚洲综合| 青青草色插素人| 亚洲 自拍偷拍 欧美| 欧美日韩中国x| 91干熟女| 色操逼网| 久一区久久蜜桃| 久久亚洲天天做| 白嫩少妇| 久久久久久久9最新免费视频观看| 日本韩欧美在线播放a| 日本欧美不卡| 激情小说亚洲视频| 久草精品国产蜜臀| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 91成人亚洲色图| 青草视频在线看看看看看看看看看| 黑人综合网| 亚洲天堂人人妻| a v网站在线播放| 日韩大香蕉AV影片| 国产青青美女玩逼视频| 色婷婷影视| 十八禁av无码免费网站APP| 极品出轨视频网站| 好舒服视频| 色噜噜狠狠色综合日日| 精品人体无圣光凹凸| 99中文字幕| 丝袜综合色图| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 青青草视频这里只有精品| 激情无码日韩| 操逼A∨| 久热精品在线| 涩亚洲欧洲| 欧美三级一级| 激情色播| 色色色欧美| 凹凸视频在线一区二区| 欧美天天影院| 夜夜免费视频| 在线情色电影 91大| 视频二区美腿丝袜制服人妻欧美 | 久久国产精品视频| 96免费视频在线| 婷婷丁香熟妇综合网| 欧美成熟性爱精品| 中文字幕丰满人妻日本| 东京热毛片177b2viP| 超碰9 7女人| 你草精品在线视频| 成人影 天天操 亚洲| a级理论午夜日本| 999久久久国产精品| 男女性扦B| 人妻人人澡人人爽人人| 午夜欧美神马久久久久| 性性欧美| 怡红院成人av| 97精品97| 欧美一区二区成人一卡| 亚洲综人| 天天爽入口| 久久久91福利姬| 色色99| 人妻一区久久二区三区色播| 欧美日韩黄色片一区二区三区四区人与兽做爱| 91 丝袜在线| 亚洲在高跟鞋自慰久久在色线| 超碰97玖玖爱| 色香伊人| 婷婷久草| 天天色综合影视网| 亚洲图片小说欧洲| 男人的天堂久久久| 一个国产在线综合网站| 免费黄色片。| 日韩人妻播放| 婷婷五月天AV| 91在线美女| 九一综合精品视品av| 一牛影视久久久一区二区三区| 免费看污网站| 色眯眯av| 国产精品熟女一区二区三区| 91伊人久| 国产一级αv免费看片| 婷婷五月天成人| 日韩成人性爱电影在线播放| 狠狠久久亚洲欧美专区| 中文字幕日产av人| 操死我了嗯嗯嗯| 超碰这里有精品| 78操B| 国产精品爆乳懂色蜜乳| 国产尤物AV尤物在线观看不卡| 亚洲欧美在线观看2021| 999狠狠综合| 九九热精彩视频| 国产情色第一第二页在线观看| 夜夜天天噜狠狠爱2021| 男男H黄动漫啪啪无遮挡网站| 亚洲欧洲偷拍一区| 青青国产精品在线| 影音综合网| 亚洲欧美日韩电影网站一区 | 免费精品中文字幕| 骚货人妻偷情自拍在线视频| 欧洲精品区| 99热一区二区三区四区| 日本十八禁免费看污网站| 曰韩av中文字幕专区| 97欧美精品综合| 日本最新1区2区3区| 国产女大学生AV| 欧美亚洲另类在线蜜桃| 久久久久久久久久久久久9999| 黑人精品久久97| 中文字幕黄色一起草| 不卡av在线中文字幕| 激情综合久久| 亚洲综合性网址| 丝袜美腿亚洲| 久久久久久大| 懂色av中文字幕| 人妻二区| 久久大香蕉手机高清视频| 亚洲免费97免费| 屁股久久久久久久久| 69国产对白刺激| 中文字幕av乱伦| 欧美久久婷婷| 亚洲婷婷丁香在线| 95人妻爽爽人人做人人澡| 综合激情一一91| 亚洲男人久久综合天堂| 伊人五月天| 91天堂丝袜美腿| 亚洲天堂 视频你懂的| 色欲久久综合| 欧美亚洲成人在线一区二区三区| 国产亚洲色停停久久99精品91| 岛国成人av在线播放网址| 老汉网| 国产无码成人无码| 99久久这里只有精品| 狠狠色五月亚洲91| 亚洲精品久久久久久久蜜桃臀| 麻豆成人av| 1769成人国产精品视频| 加勒比综合a∨| 无码直播久久久| 一区久久久二区| 九九九国产| 免费综合亚洲中文| 97色综合中文网| 丁香五月电影| 天天欧美| 91亚洲欧美色图| 91搡老女人老妇女老熟女歌词翻译| 国产精品亚洲免费| 伊香蕉综合久久久久久久噜噜噜| 亚洲免费在线探花| 国产天天噜一噜久久久| 韩国三级理论在线| 亚洲天天自拍| 色播五月丁香| 不卡六六在线91| 日韩乱插| 欧美双插| 久久久一热在线播放| 葡萄牙性视频一二区| 91N欧美| 九九九精品美女| 婷婷久月| 精品国产三级av韩国在线| 97国产超湿| 亚洲爽图| 白丝在线一区| 中文字幕成人| 久久久久久综合久久伊人蜜月| 青青草日韩无码| 91亚洲高清| 人妻AV 中文字幕的| 亚洲在线91| 国产精品91一样| 亚洲另类春色| 大香网伊人久久综合网eew| 午夜福利av电影在线| 人人摸人人舔一区二区| 91美女中出| 爱妃国产亚洲视频中文字幕| 国产精品在线网站| 99免费在线视频| 亚洲资源吧| 日韩免费人妻色情网站| 国产精品操| 天天看人人操屄犊摸阴| 操美女高潮抽搐白浆| 日本免费二区三区| 真实高潮91| 精品亚洲国产成人精品| 69天堂| 欧美熟妇亚洲版| 久久风骚城市| 91丝袜美腿网站| 91成人精品在线播放| 欧美在线91| 超碰97亚洲区| 免费网站观看www在线观| 一区二区影院| 大香蕉视频一二三区| 精品女同一区| 安徽熟妇视频| 亚洲 日韩 欧美 国产综合体| 国产辣妈在线视频福利| 最近二区三区视频大全| 男人的天堂无码| 亚洲精品久| 26uuu国产免费观看| 超碰九九| 日本高清一本二本免费不卡| 日本999精品视频| 最新啪啪视频| 美女午夜福利免费视频| 国产在线视频午夜精华在 | 九久久精品| 人妻出轨一区二区三区| 色情乱伦AV| 日产操逼| 九九九九免费| 亚欧美综合网。| 校园春色欧美色图| 男人夜色天堂ss| 欧美日韩国产色图在线| 欧美日产国产在线成人第一区| 综合网91| 亚洲色宗合| 久久久久久九九九九九九| 中 文字幕一区二区三四 五 区日 日 骚| 婷婷精品| 丁香五月综合| 日韩无码专区| 91九色在线| 久久婷婷五月综合| 男人的天堂2010| 国产乱伦一二三区| 亚洲一区二区三区欧美日韩| 婷婷午夜成人色中色| 涩涩这里只有精品视频| 神马久久久久久伦理片| 国产专区第一页| 国产精品麻豆免费视频| 久久午夜鲁丝片| 摸奶性爱视频网站在线免费播放| 国产一区二区在线播放量| 麻豆天美91| 大白逼三四级| 欧美综合狠| AV色五月天| 欧美成人亚洲精品| 麻豆福利视频导航| 日韩女优在线| 在线综合 亚洲 欧美中文字幕 | 无码不卡八戒| 中国国产精品一区视频| 天天插天天操| 午夜电影在线观看无码专区| 欧美极度丰满熟妇hd| 深夜激情无码| 99热这里是精品| 亚洲色啪| 97超碰69| 97精品久久久久中文字幕| 亚洲 日本 不卡| 人人搞人人插人人操| 十八岁啪啪视频免费看| 日韩一区二区精品视频| 日日夜夜草草草| 成人区人妻精品一| 操B视频日韩无码| 成人黑料社久久| 超碰爽人妻熟女Av| 婷婷激情五月综合| 亚洲另类欧美精品| 色婷婷导航| 97超碰热线| 亚洲九九视频| 伊人久久在线视频观看| 欧美精品人妻视频| 清纯唯美第一页| 国产成人拍国产亚洲精品| 九九综合久久| 操学生天天| 久热伊人| 国产家庭乱伦网址| 97公开久久| 久久久久久九九九| 丁香五月大香蕉| 国产亚洲色婷婷99精品91| 天天爱天天操| 激情看片网站| 加勒比综合a∨| 亚洲精品国产精品成人| 五月天激情网站| 夜色97| 你懂的在线观看区国产| 东京热男人的天堂网| 夜夜操一区二区| 在线综合网| 久久女婷| 青娱乐黄色录像| 人人摸人人摸人人干| 人妻精品4K4K4K4K4| 有码专区最新中文字幕有码| av日韩在线观看电影| 亚洲中文字幕日产无码久久| 国产无码精品久久久久久| 97人人模人人爽人人| 亚洲日韩东京热一区| 亚洲本色精品一区二区久久| 蜜臀av一区二区三区免费观看| 欧美综合色| 色哟哟511老熟女| 精品人妻中文字幕高清| 麻豆2区1区天美| 干B网| 伊人五月天| 一本大道青青| 精品视频久久久久九九九九9999| 99999亚洲| 亚洲宅男天堂| 91黑人狂躁丰满熟妇| 综合色图亚洲欧美| 免费精品无码一级毛片牛牛影视 | 极品尤物女神在线观看| 大屁股国产在线视频| 国产精品久久99日日| 青青青艹在线视频| 日本激情免费大片| 亚洲在线A| 91精品国产麻豆国产自产在| 色吊丝 日日骚 清纯唯美| 久久婷婷视频| 久久久999| 内射白嫩美女| 国产一进一出视频网站| 久污| 亚洲黑丝在线| 天天懆天天日| 丰满欧美放荡少妇在线| 婷婷五月天伊人| 精品天堂| 天天看高清麻豆| 亚洲 日韩 丝袜 熟女 变态| 夜夜夜爽www精品视频| 九九热免费视频| 久久专区| 免费97视频| 亚洲综合另类| 五码视频在线观看| 亚洲素人综合| 久悠悠av| 久久av成人无码免费| 91N综合网| av婷婷色网| 四虎影视永久在线免费| 易易A毛视频| 第45页一区二区| 1769一区二区| 96精品久久久久久久久久| av麻豆啪啪| 免费在线观看AV无码网站| 啊啊嗯嗯好爽| 中文字幕视频免费| 久久精品欧美一区蜜桃| 国产女人与拘做受视频免费| 国产97色在线| 国产情色在线| 操九九九九九九| 久久综合资源一区二区| 天天做天天爱| 美女91色黄18| 午夜性| 激情色色| 神马久久久久久久久久久久| 激情久久久| 思思热免费在线视频| 69一区二区三区 | 67914亚洲精品| a v网站在线播放| 日少妇视频| 偷拍片久久| 国产精品情侣啪啪| 欧美日韩第一页| 最新av网站在线观看| 日韩精品一二三| 中文字幕人乱码中文字的预防方法| 天堂蜜桃无码视频一区二区| 国产成人无码高清| 秋霞成人一级在线观看| 国内偷拍精品一区二区| 不卡视频一区蜜桃视频 | 久热伊人99re| 激情五月丁香五月| 日本一区二区不卡精品| 超碰成人公开| 国产精品免费1区2区视频| 加勒比海人人操超碰在线| 曰本道人妻久久久在线不卡色视频| 日韩钢筋无码高清啾啾啾| 精品四五区| 五月激情在线| 99精品无码| 曰韩av中文字幕专区| 韩国成人精品久久久免费看| 在线播放免费av福利片| 香港澳门日本三级网站| 加勒比海色香蕉婷婷| 97久久久久| 少妇高潮一区二区三区在线| 999久久久久久久久| 日本天天干天天日一区| 青操影院| 精品一区二区2| 97超级色碰碰| 亚洲欧美综合图片| 久艹日日日| 999999精品| 青草精品视频日本久久久久网站在线| 欧成人精品一区二区三区| 九久久精| 日韩精品 欧美激情| 精品国产a∨一区天美传媒| av天堂加勒比| 人妻精品一区二区| 无码人妻精品酒店| 国产精品黑人一区二区三区| 性爱视频免费网址| 国产亚洲中文不卡二区| 天天色综亚洲91污| A久久| 香蕉在线一区二区三区| 熟妇人妻一区二区三区| www.高清无码诱惑一区.com| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 色97干| 97视频在线免费观看| 日韩无码一级黄色av片| 国产日韩欧美亚洲精品95| 女人喷水视频在线观看| 五月天综合| 亚洲精品丝袜| 久久原创中文| 91天天综合日韩欧美| 人人干人人操人人爱| 综合久久久久久久综合网| 99热这里只有精品地址| 婷婷色一区| 天天α片| 婷婷人妻激情| 日本孕妇一区二区视频操逼免费看 | 天天爱综合网| 99re在线| 特级丰满少妇一级AAAA爱毛片 | 日韩中文字幕国产| 亚洲欧洲综合视频在线| 后入内射蜜桃臀| 91亚洲欧美综合高清在线| 三级色影综合网| 5252色欧美在线男人的天堂| 国产真乱mangent| 亚洲 国产 精品一区| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 蜜桃av综合网发布| 丝袜制服字幕在线| 伊人网一本| 人妻久久一区二区三区 | 国产无码三级视频在线观看| 综合久久六月久久婷婷| 91久精品| 69丨亚洲丨精品丨入口免费播放| 91处女在线观看| 无码人妻丰满热妇又大又粗| n1038 一二三区| 日韩成人人妻网站| 国产精品网址| 亚洲情色电影网| 97亚洲国产| 国产精品黑人一区二区三区| 激情婷婷五月天| 91欧美美女日韩国产婷婷| 国产一区在线看| 93人人操人人| 国产AV人人 夜夜人人澡| 啊啊啊啊操死我| 亚洲乱码国产乱码精网站| 欧洲Au麻豆| 91天天综合日韩欧美| 午夜理论片在线观看免费| 天天综合网在线| 日本综合色图| 国产成人网址| 熟妇无码视频三区| 精品性爱一二三区| 加勒比海成人视频网| 国产品精品自在在线午夜免费| 色婷婷丁香| 亚洲天堂资源| 人人摸人人添人人操| 欧美曰韩国产精品| 搡老熟女免费视频| 99999无码| 天天噜| 九九九九九九九精品视频| 亚州色图欧美色图| 久久精品国产72国产精品福利| 欧美人人天天网| 熟女五十路一区二区三| 国产熟女| 强奸国产在线| 一二三四视频在线社区中文字幕| 岛国毛片手机在线观看| 一区二区视频你懂的| 中文高清一区二区的| 十八禁黄色| 色情五月丁香| 精品无码久久| 骚逼高潮久久精品| 欧美性高潮在线| 91麻豆va国产精品| 欧美日韩亚洲天堂| 蜜桃中文字日产乱幕4区| 国产在线综合福利网站| 国产一级久久久| 久久国产逼| 色哟哟国产精品免费网址| 草草草草视频| 999久久久久久久精| 秋霞 色色| 91欧美偷拍| 日韩操逼性鲍| 老女人老91妇女老热女| 久久精品国产亚洲AV片多多| 亚洲中文字幕久久无码精品| 狠狠狠狠狠| 九九九精品成人免费视频小说| 亚洲天天影视综合网| 青青操狠狠撩| 欧美天天射| 撸撸成人在线视频| 色综合网1| 九九亚洲| 超碰久久精品| 超碰av人人人| 欧美成人四级在线播放| 日本不卡中文| 亚洲射综合网| 日韩精品一区二区三区色欲 | 久久精品国产精品| 操久久久久久| 国产自产自拍| 啊啊啊啊啊啊在线| 青青草色插素人| 99热思思| 亚洲色图欧美色图日韩色图| 欧美日韩亚洲天堂| 亚洲国内精品成人不卡| 日日干日日| 国产欧美精选激情视频| 精品传媒在线一区| 强奸熟女一区二区三区| 最新加勒比丝袜在线| 日韩人妻免费精品| 青娱乐淫乱1314| 91亚洲丝袜熟女| 78久久久| 亚洲男人天堂2019| 亚洲图片欧洲图片aⅴ| 97在线视频观看| chaopen97久久| 国产精品91ai| 殴美牲| 日本午夜久久电影| 婷婷激情五月天小说网| 乱伦熟妇一区二区| 嗯嗯啊好爽| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲好色人妻| 嗯嗯嗯啊啊啊干死我吧| 嗯嗯啊啊操死我| 大香蕉啪啪啪| 国产一区二区啪啪视频| 中国一级特黄大片护士| 99婷婷一区二区| 伊人骚琪琪亚洲天堂网站| 亚洲男人天堂视频| 欧美日韩国产人人| 日本超碰97日韩精品人妻| 九九精品美女高溯喷水| 成人情色一区二区| 人妻AV在线| 超碰成人国产| 肉嘟嘟www视频在线观看高清| 亚洲欧洲综合av在线| 欧美日韩国产成人高清| 最新日本中文字幕| 国产精品久久久| 国产精品久久久久久久久久久久久久吹| 人妻喷水| 国产尤物AV尤物在线观看不卡| 欧美亚洲一级在线观看| 91搞逼视频| 91精品亚洲内射孕妇| 国产精品不卡一区二区三区av | 精品人妻伦一区二区三区久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 成人资源中文字幕在线观看| 婷婷精品国产一区二区三区日韩| 96AV精品| 操操AV电影| 久久曰曰| 日韩啪啪啪啪啪| 日韩啪啪网| 色婷婷六月| 99热精品在线观看| www.国产高潮精品| 国产91精品福利在线| 亚洲精品乱码线路中文字幕| 精品国产无码中文| 天天懆天天日| 综合在线导航一区| 丁香六月东京热| 大香蕉综合| 丁香久久| 91亚洲不卡一区| 欧中日成人免费影视| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 91爰爱欧美| 99福利社| 国产馆| 青娱乐淫乱1314| 日本成人A片网站| 精品欧美А∨无码黑人大荫蒂| 久操网线| 九九九九九九九精品视频| 午夜久久一区二区无码中出| 亚州综合图片| 91无码人妻精品一区二区三区蜜桃 | www.99在线| 国产亚洲 中文欧美久久| 91九色丨国产丨爆乳| 91天射| 亚洲加勒比色图| 九久精品| 乱伦一区二区三区‘| 国产精品无码在线| 夜夜爽77777| 91在线丝袜视频| 91熟女视频网| 日本久久女同性恋视频| 国产精品无码av| 激情小说五月天| 久久九七| 国语精品av| 日韩精品中文字幕人妻| 久久久久国产一区二| 色综合中文字幕不卡| 97视频新免费| 亚洲人妻在线精品| 人人操人人操草草| 欧美 亚洲 制服 精品| 97在线资源| 欧美色狠| 抽插无码高清一区| 天天综合有色网| 9 1果冻精品视频| 中文字幕,人妻,日韩| 五月激情啪啪| 91精品人妻啪啪间| 中日韩免费看男女操逼大全| av凤凰久久久| 久久久久久中文版| 亚洲牲交| 九九Av| 成人在线午夜视频一区| 欧美性xxxxx狂欢| 亚洲天堂热| 国产第11页| 欧美黄色手机在线观看| 五月丁香色色网| 色www精品视频在线观看| 激情综合网激情综合| 亚洲激情网| 久久视频,这里只有精品 | 91人人| 色综合久久888| 鸥美极品| 国产一级特黄大片处女| 视频在线观看一二三区| 日本欧美不卡| 亚洲激情在线| 激情文学小说一区二区 | 97视频在线播放| www.久久久久| 后入式999| 国产精品欧美日韩久久| 国产精品久久久777| 日韩成人无码| 91美女视屏| 久久69| 男人的天堂啪啪| 99热这里都是精品| 婷婷91| 日韩欧美~中文字| 日本操BAV| 96精品一区| 亚洲砖码砖专无区2023| 久久机热| 欧美人妻一区| 美国三级日本三级久久99| 国产自产一区视频在线| 日韩综合97P| 口爆吞精在线观看| 香蕉大久久久| 首页中文字幕中文字幕免费| 99福利社| 五月天综合在线| 亚洲97精品| 夜夜爽77777| 久久婷婷电影网| 女同性恋一区二区三区精品视频| 影音先锋日本乱伦| 亚洲综合九| 被体育老师抱着c到高潮| 欧美丰满少妇交换91欧美精品| 免费毛片在线播放| 色九久| 操死我干死我| 午夜视频久久久久一区| 九九九精品一区二区无码| 97综合国产精品高潮久久| 国内毛片国产欧美拍| 亚洲涩涩| 欧美一区二区三区日韩| 熟女91网站| 蜜臀亚洲中文| 乱伦图av| 久久精品超碰| 久久国产精品,久久国产| 91在线视频免费播放| 日韩本不卡视频在线观看| 久热69九色熟妇97| 探花一区二区三| 精品人妻一区二区三区蜜桃视频| 婷婷五月成人| 人人人摸人人| 五月天欧美色图| 91校园春色长篇| 国产无码久久高清| 亭亭在线资源| 久久香蕉国产传媒一区剧情天美| 国产乱伦亚洲色图高清无码| 中文字幕欧洲有码| 91视频观看网站| 久久一级无码精品毛片6| 日本色日夜干| 超碰久久综合| 夜夜操天天肏| 日韩性爱播放| 正在播放国产精品一区| 午夜一区| 亚洲黄色网址| 亚洲国产精品久久久久婷婷青年| 免费啪啪一级视频| 久久国产在线一区二区| 精品无av| 美日韩在线不卡人妻| 99热超碰在线| 国产曰批免费观看久久久| 久久久久九九九| 不卡六六在线91| 国产偷仑| 920日本午夜免费| 一级特级aaaa毛片免费观看 | 国外91| 精品久久久久,69国产成人精| 国产熟女乱论| 国产日韩无码一区二区三区久久区| 91在线观看,天天综合| 成人十八禁日韩欧美一二三| 久久久亚洲精品电影免费看| 日本理论在线| 一区二区三区黄色片a| 亚洲无码 国产无码| 97亚洲色图| 亚洲熟女少妇免费视频| 试看福利| 夜夜高潮夜夜爽| 色色五月婷婷| 日韩黄色一区二区三区| 欧美一区二区三区另类精品| 色吧5亚洲| 亚洲色交| 久久香蕉国产线看观看亚洲女人 | 91爰爱欧美| 一区中文字幕二区日韩| 五月天丁香欧洲日韩| 日日夜夜狠狠| 97色婷| 亚洲高清无码免费观看视频| 日欧亚洲二三区大片不卡| 中文字幕五月婷婷免费| 国产精品第一区第一页| 91麻豆天美| 久 久无码人妻AV| 国产欧美另类久久久精品课程| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲欧美中文一区二区三| 影音先锋乱伦资源| 日韩欧美操逼xxx| 日本爽爽爽爽爽爽免费视频| 新亚洲无码| 中文乱码字字幕在线第5页| 啊啊啊啊网站| 久操精品| 超碰在线人妻中文字幕| 女人与公拘交酡2020视频| 日韩一级性爱无码| 日韩精品在线放| 日熟女| 乱伦一区二区三区‘| 人人潮人人摸| 亚洲国产一级精品毛一级精品看免费视频 | 日本黄色XXX| 超碰在线1234区| 后入日本1234| 性欧美999| 人妻久久一区二区三区| 一区在线精品中文字幕| 黄色操人| 色婷婷九月天天综合| 亚洲偷拍自拍在线视频| 五月色综合| 夜夜爽妓女| 午夜精品久久久久| 肉丝中文无码高清| 国产成人五月天丁香花| 男女一进一出视频久久| 欧美日韩另类在线| 日本高清一区二区在线| 丁香六月婷婷久久综合| 区一在线观看| 天天拍天| 蜜臀网 一区| 91人妻人人澡人人爽人人精品| 国产精品视频自拍在线| 97欧美性爱| 日本精品一区三区| 国产精品欧美激在线| WWW美腿丝袜香蕉中文| 日韩久射综合| 乱伦一二三| 欧美日韩一区二区三区四区蜜桃| 色综合九九| 成人网欧美风情| 丰满人妻一区二区中文| 亚洲高清色综合| 强被迫伦姧在线观看无码网站| 岛国黄色短视频| 99爱视频| 九九九九精品一区| 久久久久久久精| 岛国免费黄色网址| 天天插天天插| 日本久久综合| 青青草久草| 在线综合色| 91是天天| 久久r精品| 国产成人亚洲精品无码最新在线| 人妻乱仑一区二区三区| 用力操死我| 久久成人东京热人妻| 日韩极品无码B| 久久婷婷视频| 九区国产| 国产精品美女视频诱惑| 精品国产片亚洲一区| 99亚洲人人| 九九成人视频| 五月开心久久AV官网| 九七超碰| 色五月激情网| 亚州欧美一区| 精品免费视频国产一区| 色婷婷网| 人妻少妇久久中文| 免费观看性欧美一级| av天天在线观看| 91在线一起| 26uuu性| 亚洲欧美日韩有码| 欧美精品97| 女人高潮抽搐喷水视频网站| 亚州色阁| 国产精品一区av在线| 日韩美脚一区二区网站| 97se亚洲综合自| 人妻精品一区二区在线| 国产av热热色| 在线中文字幕| 欧美少妇大量自拍视频在线观看| JuliaAnnXXX888| 欧美性爱一级操| 亚洲和欧美裸体美女双飞视频| 亚洲婷婷丁香在线| 国产熟女少妇一区| 999精品女人| 综合激情婷婷| 人人妻人人色一区二区三区| 性色av蜜臀av色欲aV| 天天综合网1| 婷婷在线视频在线观看| 蜜奶av| 日韩免费中文字幕视频| 九九九综合精品| 亚洲色图综合| 欧美大码在线视频| 天天看天天日| 97二区四区| 国产福利合集| 久久免费中文字幕在线观看| 色五月AV| 国产suv精品一区二区四| 精品免费视频国产一区| 99re这里只有精品3| 26uuu成人影片| 啊啊啊好舒服好爽啊啊啊视频| 成人AV超碰免费在线| 玖玖资源中文字幕制服丝袜| 人人 操人人 操人人| 97爱b| 久久久亚洲欧美综合| 久湿久久| 97精品综合久久| 91亚洲图片| 热久久91婷婷| 午夜视频黄| 国产一区二区久久| 少妇干B| 综合五月天| 97国产色综合| 8x福利精品第一福利视频导航| 日韩欧美偷拍美女视频| 激情视屏国产乱伦强奸| 性欧美999| 久久久com| 欧美1区二区三区公司 | 亚洲 图片 综合91| 欧美性爱综合,免费| 蜜屁Av| 无遮挡h肉动漫在线观看| 欧洲精品二区| 啊啊啊啊啊啊啊国| 人妻一二三区| 91狠狠狠| 精品国产污一区二区三区| 蜜乳成人AV| 啊啊啊啊啊啊啊在线| 婷婷操逼| 国产精品久久久吖| 91AV天美在线视频| 五月色丁香| 精品久久无码午夜福利| 欧美日韩亚洲国产中文永久天天看| 岛国精品视频在线观看| 亚洲国产另类在线中文| 亚洲色图 图片| 美女黄色一级A视频| 岛国在线免费视频| 国产9熟妇视频网站| 嗯嗯嗯啊啊啊操的我好爽| 日本性爱少妇| 91夜色| 99在线啪| 毛片视频白嫩| 播播亚洲小说亚洲| 大香蕉中文| 搡老女人老91妇女熟女| 伊人影院中文字幕| 特级毛片特黄久久免费看 | 亚洲综合性网址| 六月天婷婷| 在线a v| 国产乱子伦久久精品综合一区二区三| 中文字幕AV片| 久久久久久亚洲精品不卡人乳| 亚洲天堂中文字| 亚洲欧美高清| 久久精品日韩专区免费观看| 青青草亚洲一区| 五月天激情四射| 丰满岳乱妇一区二区三区| 久久老女人| 人妻喷水| 新视频sss国产| 国模限制级电影| 日韩无码专区| 18禁网站在线播放| 日韩免费在线观看不卡| 日韩本不卡视频在线观看 | 国产不卡精品91| 一区二区三区机械有限公司| 高潮的A片激情扒开一区| 97爱亚洲| 久久老熟女| 本道在线| a片亚洲一本通视频| 五月天伊人| 九色 人妻 大香蕉| 五月婷婷激情综合| 亚洲精品中文字幕一区在线视频| 日本三级A片网站com| 电家庭影院午夜69久久夜色精品国产69乱| 亚洲激情欧美色图 | 青青草原狼av| 丁香五月婷婷基地| 精品国产一级久久| 十八禁成人网站在线观看| 草草影院最新网址| 久久国产AⅤ| 天天澡天天爽日日AV| 日韩色| 美女啊啊啊啊啊啊| 大鸡巴久久| 91高清欧美| 亚洲一区二区中文字幕| 久久99久久99精品天美传媒棢·纸:. | 久久本道| 国产亚洲 中文欧美久久| 五月天激情视频| 激情五月天网| 人妻熟女午夜精品在线| 色婷婷激情| 爽爽淫人网| 96精品在线| 婷婷色一区| 欧美三级一级| 精品免费1| 欧美性色综合网| 久久熟妇五十路一区| 久久AV无码1区2区3区| 国产极品久久久| 亚洲欧美精品久| 亚洲黄a三级三级三级看三级| 日日日大屁股骚女人精品| 美女91av| 偷拍99| 麻豆熟妇乱妇熟色A片在线看| 天天欧美| 97欧美视频| 亚洲。日韩。欧美| 伊人色综合超碰| 天天色怡春院| 影音资源男人日韩| 蜜屁av| 一区二区三区国产在线播放 | 久久αⅴ| 大香蕉一级黄色片久久| 超碰久草| 亚洲一级特黄大片在线播放91| 家庭乱伦性爱av| 伊人女女资源在线观看| 中文字幕成人| 亚洲一区二区三区久久 亚洲一区二区| 97精品国产97久久久| 懂色AV中文| 999熟女精品| 久久伊人影院| 成年人黄色视频免费| 国产成人午夜视频网址| 强奸xx国产| 久久9亚洲| 精品少妇人妻| 夜夜爽夜夜高潮夜夜爽| 黄色免费一级在线毛片| 性爱边摸边日免费AV| 成人AV在线电影| 欧美亚洲第1页| 日本精品九九九| 好属操| 在线欧美69V免费观看视频| www.久久| 欧美 日韩 另类 亚洲| 亚洲日韩97|