# 📖 Setup Guide — OmniRoute (தமிழ்) 🌐 **Languages:** 🇺🇸 [English](../../../../guides/SETUP_GUIDE.md) · 🇪🇹 [am](../../../am/docs/guides/SETUP_GUIDE.md) · 🇸🇦 [ar](../../../ar/docs/guides/SETUP_GUIDE.md) · 🇦🇿 [az](../../../az/docs/guides/SETUP_GUIDE.md) · 🇧🇬 [bg](../../../bg/docs/guides/SETUP_GUIDE.md) · 🇧🇩 [bn](../../../bn/docs/guides/SETUP_GUIDE.md) · 🇧🇦 [bs](../../../bs/docs/guides/SETUP_GUIDE.md) · 🇨🇿 [cs](../../../cs/docs/guides/SETUP_GUIDE.md) · 🇩🇰 [da](../../../da/docs/guides/SETUP_GUIDE.md) · 🇩🇪 [de](../../../de/docs/guides/SETUP_GUIDE.md) · 🇬🇷 [el](../../../el/docs/guides/SETUP_GUIDE.md) · 🇪🇸 [es](../../../es/docs/guides/SETUP_GUIDE.md) · 🇪🇪 [et](../../../et/docs/guides/SETUP_GUIDE.md) · 🇮🇷 [fa](../../../fa/docs/guides/SETUP_GUIDE.md) · 🇫🇮 [fi](../../../fi/docs/guides/SETUP_GUIDE.md) · 🇫🇷 [fr](../../../fr/docs/guides/SETUP_GUIDE.md) · 🇮🇪 [ga](../../../ga/docs/guides/SETUP_GUIDE.md) · 🇮🇳 [gu](../../../gu/docs/guides/SETUP_GUIDE.md) · 🇳🇬 [ha](../../../ha/docs/guides/SETUP_GUIDE.md) · 🇮🇱 [he](../../../he/docs/guides/SETUP_GUIDE.md) · 🇮🇳 [hi](../../../hi/docs/guides/SETUP_GUIDE.md) · 🇭🇷 [hr](../../../hr/docs/guides/SETUP_GUIDE.md) · 🇭🇺 [hu](../../../hu/docs/guides/SETUP_GUIDE.md) · 🇦🇲 [hy](../../../hy/docs/guides/SETUP_GUIDE.md) · 🇮🇩 [id](../../../id/docs/guides/SETUP_GUIDE.md) · 🇳🇬 [ig](../../../ig/docs/guides/SETUP_GUIDE.md) · 🇮🇹 [it](../../../it/docs/guides/SETUP_GUIDE.md) · 🇯🇵 [ja](../../../ja/docs/guides/SETUP_GUIDE.md) · 🇬🇪 [ka](../../../ka/docs/guides/SETUP_GUIDE.md) · 🇰🇭 [km](../../../km/docs/guides/SETUP_GUIDE.md) · 🇮🇳 [kn](../../../kn/docs/guides/SETUP_GUIDE.md) · 🇰🇷 [ko](../../../ko/docs/guides/SETUP_GUIDE.md) · 🇱🇹 [lt](../../../lt/docs/guides/SETUP_GUIDE.md) · 🇱🇻 [lv](../../../lv/docs/guides/SETUP_GUIDE.md) · 🇮🇳 [ml](../../../ml/docs/guides/SETUP_GUIDE.md) · 🇮🇳 [mr](../../../mr/docs/guides/SETUP_GUIDE.md) · 🇲🇾 [ms](../../../ms/docs/guides/SETUP_GUIDE.md) · 🇲🇹 [mt](../../../mt/docs/guides/SETUP_GUIDE.md) · 🇲🇲 [my](../../../my/docs/guides/SETUP_GUIDE.md) · 🇳🇵 [ne](../../../ne/docs/guides/SETUP_GUIDE.md) · 🇳🇱 [nl](../../../nl/docs/guides/SETUP_GUIDE.md) · 🇳🇴 [no](../../../no/docs/guides/SETUP_GUIDE.md) · 🇮🇳 [or](../../../or/docs/guides/SETUP_GUIDE.md) · 🇮🇳 [pa](../../../pa/docs/guides/SETUP_GUIDE.md) · 🇵🇭 [phi](../../../phi/docs/guides/SETUP_GUIDE.md) · 🇵🇱 [pl](../../../pl/docs/guides/SETUP_GUIDE.md) · 🇵🇹 [pt](../../../pt/docs/guides/SETUP_GUIDE.md) · 🇧🇷 [pt-BR](../../../pt-BR/docs/guides/SETUP_GUIDE.md) · 🇷🇴 [ro](../../../ro/docs/guides/SETUP_GUIDE.md) · 🇷🇺 [ru](../../../ru/docs/guides/SETUP_GUIDE.md) · 🇱🇰 [si](../../../si/docs/guides/SETUP_GUIDE.md) · 🇸🇰 [sk](../../../sk/docs/guides/SETUP_GUIDE.md) · 🇸🇮 [sl](../../../sl/docs/guides/SETUP_GUIDE.md) · 🇷🇸 [sr](../../../sr/docs/guides/SETUP_GUIDE.md) · 🇸🇪 [sv](../../../sv/docs/guides/SETUP_GUIDE.md) · 🇰🇪 [sw](../../../sw/docs/guides/SETUP_GUIDE.md) · 🇮🇳 [te](../../../te/docs/guides/SETUP_GUIDE.md) · 🇹🇭 [th](../../../th/docs/guides/SETUP_GUIDE.md) · 🇹🇷 [tr](../../../tr/docs/guides/SETUP_GUIDE.md) · 🇺🇦 [uk-UA](../../../uk-UA/docs/guides/SETUP_GUIDE.md) · 🇵🇰 [ur](../../../ur/docs/guides/SETUP_GUIDE.md) · 🇺🇿 [uz](../../../uz/docs/guides/SETUP_GUIDE.md) · 🇻🇳 [vi](../../../vi/docs/guides/SETUP_GUIDE.md) · 🇳🇬 [yo](../../../yo/docs/guides/SETUP_GUIDE.md) · 🇨🇳 [zh-CN](../../../zh-CN/docs/guides/SETUP_GUIDE.md) · 🇹🇼 [zh-TW](../../../zh-TW/docs/guides/SETUP_GUIDE.md) --- > OmniRoute-க்கான முழுமையான அமைப்புக் குறிப்பு. விரைவான பதிப்புக்கு, [README-இல் உள்ள விரைவுத் தொடக்கம்](../README.md#-quick-start) என்பதைப் பார்க்கவும். ## உள்ளடக்க அட்டவணை - [நிறுவல் முறைகள்](#install-methods) - [CLI கருவி உள்ளமைவு](#cli-tool-configuration) - [நெறிமுறை அமைப்பு (MCP + A2A)](#protocol-setup-mcp--a2a) - [காலக்கெடு உள்ளமைவு](#timeout-configuration) - [தனி-போர்ட் முறை](#split-port-mode) - [Void Linux (xbps-src)](#void-linux-xbps-src-template) - [நிறுவல் நீக்கம்](#uninstalling) --- ## நிறுவல் முறைகள் ### npm (பரிந்துரைக்கப்படுகிறது) ```bash npm install -g omniroute omniroute ``` டாஷ்போர்டு `http://localhost:20128` இல் திறக்கும்; API அடிப்படை URL `http://localhost:20128/v1` ஆகும். ### pnpm ```bash pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core omniroute ``` > **pnpm பயனர்கள்:** `better-sqlite3` மற்றும் `@swc/core` ஆகியவற்றுக்கான நேட்டிவ் கட்டமைப்பு ஸ்கிரிப்ட்களை இயக்குவதற்கு `--allow-build` கொடி அவசியம். pnpm v11-இல் உலகளாவிய நிறுவல்களுக்கு `pnpm approve-builds -g` கட்டளை ஆதரிக்கப்படவில்லை. ### Arch Linux (AUR) ```bash yay -S omniroute-bin systemctl --user enable --now omniroute.service ``` [AUR தொகுப்பு](https://aur.archlinux.org/packages/omniroute-bin) OmniRoute-ஐ நிறுவி, systemd பயனர் சேவையையும் வழங்குகிறது. ### மூலத்திலிருந்து ```bash npm install PORT=20128 DASHBOARD_PORT=20129 NEXT_PUBLIC_BASE_URL=http://localhost:20129 npm run dev ``` > **Windows குறிப்பு:** இயல்பாக, பழைய `%USERPROFILE%\.omniroute` கோப்பகம் இல்லாதபோது OmniRoute `%APPDATA%\omniroute`-ஐப் பயன்படுத்துகிறது. வேறொரு தரவுக் கோப்பக இருப்பிடத்தைத் தேர்ந்தெடுக்க `DATA_DIR`-ஐ அமைக்கவும். > **குறிப்பு:** முதல் இயக்கத்தின்போது `npm install`, `.env.example` இலிருந்து `.env`-ஐத் தானாக உருவாக்குகிறது. அடுத்தடுத்த நிறுவல்கள் ஏற்கெனவே உள்ள `.env`-ஐ மேலெழுதாது; எனவே தனிப்பயனாக்கங்கள் பாதுகாக்கப்படும். மீண்டும் தொடக்க மதிப்புகளை நிரப்ப, மறுபடியும் இயக்குவதற்கு முன் `.env`-ஐ நீக்கவும். ### Docker Compose சுயவிவரங்கள் மற்றும் Caddy HTTPS உட்பட முழுமையான Docker அமைப்புக்கு [Docker வழிகாட்டி](./DOCKER_GUIDE.md) என்பதைப் பார்க்கவும். ### டெஸ்க்டாப் செயலி (Electron) Electron 41 + electron-builder 26.10 அடிப்படையில் உருவாக்கப்பட்ட டெஸ்க்டாப் உறையுடன் OmniRoute வழங்கப்படுகிறது. கிடைக்கக்கூடிய ஸ்கிரிப்ட்கள் (பணியிட மூலக் கோப்பகம்): ```bash npm run electron:dev # உடனடி மறுஏற்றத்துடன் டெஸ்க்டாப்பை இயக்கவும் npm run electron:build # தற்போதைய OS-க்காகக் கட்டமைக்கவும் (தானாகக் கண்டறியப்படும்) npm run electron:build:win # Windows நிறுவி (NSIS + கையடக்கப் பதிப்பு) npm run electron:build:mac # macOS (dmg + zip, arm64+x64) npm run electron:build:linux # Linux (AppImage + deb + rpm) npm run electron:smoke:packaged # தொகுக்கப்பட்ட கட்டமைப்பை அடிப்படைச் சோதனை செய்யவும் ``` டெஸ்க்டாப் நிறுவிகளின் வெளியீடுகள் GitHub Releases-இல் இணைக்கப்பட்டுள்ளன. Electron குறித்த முழுமையான ஆழமான விளக்கத்திற்கு (கையொப்பமிடுதல், IPC பாலம், விநியோகங்கள்), [`ELECTRON_GUIDE.md`](./ELECTRON_GUIDE.md) என்பதைப் பார்க்கவும் _(பின்னர் ஒரு கட்டத்தில் உருவாக்கப்பட்டது)_. ### திரையற்ற சேவையகம் (CI/தானியக்கம்) கவனிப்பில்லாத அமைப்புகளுக்கு (Docker, Kubernetes, CI), இதைப் பயன்படுத்தவும்: ```bash omniroute setup --non-interactive omniroute providers test-batch ``` சூழல் மாறிகளுடன் (`INITIAL_PASSWORD`, `OMNIROUTE_WS_BRIDGE_SECRET` போன்றவை) இணைத்துப் பயன்படுத்தும்போது, முழுமையாக ஸ்கிரிப்ட் செய்யக்கூடிய OmniRoute நிகழ்வைத் தொடங்க இது உங்களை அனுமதிக்கிறது. ### CLI விருப்பங்கள் | கட்டளை | விளக்கம் | | ----------------------- | ----------------------------------------------------------------------------------------------------------- | | `omniroute` | சேவையகத்தைத் தொடங்கும் (`PORT=20128`, API மற்றும் டாஷ்போர்டு ஒரே போர்ட்டில்) | | `omniroute setup` | கடவுச்சொல் மற்றும் முதல் வழங்குநருக்கான வழிகாட்டப்பட்ட CLI தொடக்க அமைப்பு | | `omniroute doctor` | சேவையகத்தைத் தொடங்காமல் உள்ளூர் செயல்நிலைச் சோதனைகளை இயக்கும் | | `omniroute providers` | CLI-இலிருந்து வழங்குநர்களைக் கண்டறிந்து, பட்டியலிட்டு, சரிபார்த்து, சோதிக்கும் | | `omniroute config` | CLI கருவி உள்ளமைவு — உள்ளமைவுகளைப் பட்டியலிடுதல், பெறுதல், அமைத்தல், சரிபார்த்தல் | | `omniroute status` | இணைப்பில்லா நிலை டாஷ்போர்டு — பதிப்பு, DB, கருவிகள், உள்ளமைவு | | `omniroute logs` | API-இலிருந்து பயன்பாட்டுப் பதிவுகளைத் தொடர்ச்சியாகக் காட்டும் (`--follow` ஆதரிக்கப்படுகிறது) | | `omniroute update` | OmniRoute புதுப்பிப்புகளைச் சரிபார்க்கும் அல்லது செயல்படுத்தும் | | `omniroute provider` | வழங்குநர் இணைப்புகளை நிர்வகிக்கும் — சேர்த்தல், பட்டியலிடுதல், நீக்குதல், சோதித்தல், இயல்புநிலையாக அமைத்தல் | | `omniroute --port 3000` | முதன்மை/API போர்ட்டை 3000 ஆக அமைக்கும் | | `omniroute --mcp` | MCP சேவையகத்தைத் தொடங்கும் (stdio போக்குவரத்து) | | `omniroute --no-open` | உலாவியைத் தானாகத் திறக்காது | | `omniroute --help` | உதவியைக் காட்டும் | திரையற்ற அமைப்பை கொடிகள் அல்லது சூழல் மாறிகளைக் கொண்டு ஸ்கிரிப்ட் செய்யலாம்: ```bash omniroute setup --non-interactive --password "$OMNIROUTE_PASSWORD" omniroute setup --non-interactive --add-provider --provider openai --api-key "$OPENAI_API_KEY" omniroute setup --non-interactive --add-provider --provider openai --api-key "$OPENAI_API_KEY" --test-provider ``` டாஷ்போர்டைத் திறக்காமல் உள்ளூர் கண்டறிதல்களை இயக்கவும்: ```bash omniroute doctor omniroute doctor --json omniroute doctor --no-liveness ``` டாஷ்போர்டைத் திறக்காமல் SSH அல்லது ஸ்கிரிப்ட்களிலிருந்து வழங்குநர்களை நிர்வகிக்கவும்: ```bash omniroute providers available omniroute providers available --search openai omniroute providers available --category api-key omniroute providers list omniroute providers test omniroute providers test-all omniroute providers validate ``` --- ## CLI கருவி உள்ளமைவு ### 1) வழங்குநர்களை இணைத்து API விசையை உருவாக்குதல் 1. Dashboard → `Providers` என்பதைத் திறந்து, குறைந்தது ஒரு வழங்குநரையாவது (OAuth அல்லது API விசை) இணைக்கவும். 2. Dashboard → `Endpoints` என்பதைத் திறந்து, ஒரு API விசையை உருவாக்கவும். 3. (விருப்பத்திற்குரியது) Dashboard → `Combos` என்பதைத் திறந்து, உங்கள் மாற்றுக் காப்புச் சங்கிலியை அமைக்கவும். ### 2) உங்கள் நிரலாக்கக் கருவியைச் சுட்டிக்காட்டுதல் ```txt அடிப்படை URL: http://localhost:20128/v1 API விசை: [Endpoint பக்கத்திலிருந்து நகலெடுக்கவும்] மாதிரி: if/qwen3.8-max-preview (அல்லது ஏதேனும் provider/model முன்னொட்டு) ``` உங்கள் எடிட்டரால் `Authorization: Bearer ...` என்பதை அனுப்ப முடியாவிட்டால், அதற்குப் பதிலாக டோக்கன் சேர்க்கப்பட்ட இணக்கத்தன்மை அடிப்படையைப் பயன்படுத்தவும்: ```txt அடிப்படை URL: http://localhost:20128/api/v1/vscode/YOUR_KEY/ மாதிரிகள் URL: http://localhost:20128/api/v1/vscode/YOUR_KEY/models அரட்டை URL: http://localhost:20128/api/v1/vscode/YOUR_KEY/chat/completions Ollama குறிச்சொற்கள் URL: http://localhost:20128/api/v1/vscode/YOUR_KEY/api/tags ``` Claude Code, Codex CLI, Cursor, Cline, OpenClaw, OpenCode மற்றும் OpenAI-இணக்கமான SDK-களுடன் செயல்படும். #### `setup-*` மூலம் தானாக உள்ளமைத்தல் அடிப்படை URL மற்றும் விசையை கைமுறையாக ஒட்டுவதற்குப் பதிலாக, நேரடி மாதிரிப் பட்டியலிலிருந்து ஒவ்வொரு கருவிக்கும் உரிய உள்ளமைவை OmniRoute எழுத அனுமதிக்கவும். ஒவ்வொரு கருவிக்கும் ஒரு கட்டளை: ```bash omniroute setup-codex # ~/.codex/.config.toml சுயவிவரங்கள் omniroute setup-claude # ~/.claude/profiles//settings.json omniroute setup-opencode # ~/.config/opencode/opencode.json (OpenAI-இணக்கமானது) omniroute setup-cline # Cline CLI + VS Code நீட்டிப்பு அமைப்புகள் omniroute setup-kilo # Kilo Code omniroute setup-continue # ~/.continue/config.yaml (Continue / cn) omniroute setup-cursor # Cursor பயன்பாட்டிற்குள் செய்ய வேண்டிய படிகளை அச்சிடும் omniroute setup-roo # Roo Code இறக்குமதி + autoImport சுட்டி omniroute setup-crush # ~/.config/crush/crush.json omniroute setup-zed # ~/.config/zed/settings.json (openai_compatible) omniroute setup-goose # ~/.config/goose/config.yaml omniroute setup-aider # ~/.aider.conf.yml omniroute setup-qwen # ~/.qwen/settings.json + ~/.qwen/.env ``` ஒரு உள்ளூர் கருவியை **தொலைநிலை** OmniRoute-க்கு எதிராக உள்ளமைக்க, ஒவ்வொன்றும் `--remote --api-key ` என்பதை ஏற்கின்றன; முன்னோட்டமிட `--dry-run` என்பதையும் ஏற்கின்றன. சரியான env செலுத்தப்பட்ட நிலையில், எந்த உள்ளமைவையும் எழுதாமல் ஒரு CLI-ஐத் தொடங்க, பொதுவான தொடக்கியைப் பயன்படுத்தவும்: `omniroute run ` (claude, codex, aider, goose, opencode, qwen, gemini); முந்தைய ஒவ்வொரு கருவிக்குமான தொடக்கிகளான `omniroute launch` (Claude Code) மற்றும் `omniroute launch-codex` (Codex) ஆகியவையும் தொடர்ந்து கிடைக்கின்றன. முழுமையான அட்டவணைக்கு (ஒவ்வொரு கட்டளையும் எதை எழுதுகிறது, அனைத்து கொடிகள், உள்ளூர் மற்றும் தொலைநிலை, அடிப்படை-URL `/v1` மரபுகள்), **[CLI ஒருங்கிணைப்புகள்](./CLI-INTEGRATIONS.md)** என்பதைப் பார்க்கவும். ஒவ்வொரு கருவிக்குமான விரிவான உள்ளமைவுக்கு (Claude Code, Codex CLI, Cursor, Cline, OpenClaw, Kilo Code, Copilot மற்றும் பல), பிரத்யேகமான **[CLI கருவிகள் வழிகாட்டி](../reference/CLI-TOOLS.md)** என்பதைப் பார்க்கவும். --- ## நெறிமுறை அமைப்பு (MCP + A2A) ### MCP அமைப்பு (Model Context Protocol) stdio பயன்முறையில் MCP போக்குவரத்தைத் தொடங்கவும்: ```bash omniroute --mcp ``` பரிந்துரைக்கப்படும் சரிபார்ப்பு ஓட்டம்: ```bash # 1. MCP சேவையகத்தைத் தொடங்கவும் omniroute --mcp # 2. உங்கள் MCP கிளையண்டிலிருந்து, அழைக்கவும்: omniroute_get_health # கணினி நலநிலையைத் திருப்பித் தர வேண்டும் omniroute_list_combos # செயலில் உள்ள combos-ஐத் திருப்பித் தர வேண்டும் # 3. அல்லது முழுமையான E2E தொகுப்பை இயக்கவும்: npm run test:protocols:e2e ``` #### MCP கிளையண்ட் உள்ளமைவு **Claude Code:** ```bash claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream ``` **Cursor / Cline:** உங்கள் MCP அமைப்புகளில் சேர்க்கவும்: ```json { "mcpServers": { "omniroute": { "command": "omniroute", "args": ["--mcp"], "env": {} } } } ``` **முழுமையான MCP ஆவணம்:** [MCP Server README](../../open-sse/mcp-server/README.md) — 110 கருவிகள், IDE உள்ளமைவுகள், Python/TS/Go கிளையண்டுகள். ### A2A அமைப்பு (Agent-to-Agent Protocol) Agent Card-ஐச் சரிபார்க்கவும்: ```bash curl http://localhost:20128/.well-known/agent.json ``` ஒரு பணியை அனுப்பவும்: ```bash curl -X POST http://localhost:20128/a2a \ -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":"quickstart","method":"message/send","params":{"skill":"quota-management","messages":[{"role":"user","content":"Give me a short quota summary."}]}}' ``` **முழுமையான A2A ஆவணம்:** [A2A Server README](../../src/lib/a2a/README.md) — JSON-RPC 2.0, திறன்கள், ஸ்ட்ரீமிங், பணி வாழ்க்கைச் சுழற்சி. --- ## காலக்கெடு உள்ளமைவு ### அடிப்படை காலக்கெடுக்கள் பெரும்பாலான பயன்பாட்டு நிறுவல்களுக்கு, இந்த இரண்டு மாறிகள் மட்டுமே தேவை: | மாறி | இயல்புநிலை | நோக்கம் | | ------------------------ | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `REQUEST_TIMEOUT_MS` | `600000` | அப்ஸ்ட்ரீம் பதில் தொடக்கக் காலக்கெடு, மறைக்கப்பட்ட Undici காலக்கெடுக்கள், TLS கைரேகைக் கோரிக்கைகள் மற்றும் API பிரிட்ஜ் கோரிக்கை/ப்ராக்ஸி காலக்கெடுக்களுக்கான பகிரப்பட்ட அடிப்படை | | `STREAM_IDLE_TIMEOUT_MS` | `REQUEST_TIMEOUT_MS`-ஐப் பெறுகிறது | OmniRoute, SSE ஸ்ட்ரீமை நிறுத்துவதற்கு முன் ஸ்ட்ரீமிங் துண்டுகளுக்கு இடையிலான அதிகபட்ச இடைவெளி | பின்னோக்கிய இணக்கத்தன்மை பாதுகாக்கப்படுகிறது: ஏற்கெனவே உள்ள `FETCH_TIMEOUT_MS`, `API_BRIDGE_PROXY_TIMEOUT_MS` மற்றும் பிற அடுக்கு-வாரியான காலக்கெடு மாறிகள் தொடர்ந்து செயல்பட்டு, பகிரப்பட்ட அடிப்படையை மீறி முன்னுரிமை பெறும். ### வழங்குநர் சார்ந்த குறிப்புகள் Claude Code-இணக்கமான அப்ஸ்ட்ரீம்களுக்கு (`anthropic-compatible-cc-*`), வழங்குநர்-தரப்பு வாசிப்புக் காலக்கெடுக்கள் உங்கள் சூழல் உள்ளமைவுடன் ஒத்திசைவாக இருக்கும்படி, தீர்மானிக்கப்பட்ட fetch காலக்கெடுவிலிருந்து வெளிச்செல்லும் `X-Stainless-Timeout` தலைப்பை OmniRoute பெறுகிறது. மூன்றாம் தரப்பு Claude Code-இணக்கமான ரிவர்ஸ் ப்ராக்ஸிகளுக்கு, OmniRoute இயல்புநிலை `anthropic-beta` தொகுப்பை கட்டுப்பாடுடையதாக வைத்திருக்கும். மேலும், `Client Cache Control` என்பது `Auto` நிலையில் விடப்பட்டிருக்கும்போது, கிளையன்ட் வழங்கிய `cache_control` குறியீடுகளை மட்டுமே முன்னனுப்பும். அப்ஸ்ட்ரீமுக்கு மறைக்கப்பட்ட Claude சிந்தனை ஸ்ட்ரீம்கள் குறிப்பாகத் தேவைப்படும்போது மட்டும், ஒவ்வொரு இணைப்புக்குமான "Enable redact-thinking beta" நிலைமாற்றியை இயக்கவும். ### மேம்பட்ட காலக்கெடு மேலெழுதல்கள் | மாறி | இயல்புநிலை | நோக்கம் | | ---------------------------------------- | -------------------------------------------------- | --------------------------------------------------------------------------------------- | | `FETCH_TIMEOUT_MS` | `REQUEST_TIMEOUT_MS`-ஐப் பெறுகிறது | பதில் தலைப்புகள் வரும் வரை பயன்படுத்தப்படும் அப்ஸ்ட்ரீம் பதில் தொடக்கக் காலக்கெடு | | `FETCH_HEADERS_TIMEOUT_MS` | `FETCH_TIMEOUT_MS`-ஐப் பெறுகிறது | அப்ஸ்ட்ரீம் பதில் தலைப்புகளைப் பெறுவதற்கான Undici கால வரம்பு | | `FETCH_BODY_TIMEOUT_MS` | `FETCH_TIMEOUT_MS`-ஐப் பெறுகிறது | அப்ஸ்ட்ரீம் உடல் துண்டுகளுக்கு இடையிலான Undici கால வரம்பு (`0` இதை முடக்கும்) | | `FETCH_CONNECT_TIMEOUT_MS` | `30000` | Undici TCP இணைப்புக் காலக்கெடு | | `FETCH_KEEPALIVE_TIMEOUT_MS` | `4000` | Undici செயலற்ற keep-alive சாக்கெட் காலக்கெடு | | `TLS_CLIENT_TIMEOUT_MS` | `FETCH_TIMEOUT_MS`-ஐப் பெறுகிறது | `wreq-js` மூலம் செய்யப்படும் TLS கைரேகைக் கோரிக்கைகளுக்கான காலக்கெடு | | `API_BRIDGE_PROXY_TIMEOUT_MS` | `REQUEST_TIMEOUT_MS` அல்லது `600000`-ஐப் பெறுகிறது | API போர்ட்டிலிருந்து டாஷ்போர்டு போர்ட்டுக்கு `/v1` ப்ராக்ஸி முன்னனுப்பலுக்கான காலக்கெடு | | `API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS` | `max(API_BRIDGE_PROXY_TIMEOUT_MS, 300000)` | API பிரிட்ஜ் சேவையகத்தில் உள்வரும் கோரிக்கைக்கான காலக்கெடு | | `API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS` | `60000` | API பிரிட்ஜ் சேவையகத்தில் உள்வரும் தலைப்புகளுக்கான காலக்கெடு | | `API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS` | `5000` | API பிரிட்ஜ் சேவையகத்தின் keep-alive காலக்கெடு | | `API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS` | `0` | API பிரிட்ஜ் சேவையகத்தின் சாக்கெட் செயலற்றநிலைக் காலக்கெடு (`0` இதை முடக்கும்) | > **குறிப்பு:** ஸ்ட்ரீமிங் கோரிக்கைகளுக்கு, `FETCH_TIMEOUT_MS` என்பது இணைப்பு அமைத்தல் / முதல் அப்ஸ்ட்ரீம் பதிலுக்காகக் காத்திருத்தல் ஆகியவற்றை மட்டுமே உள்ளடக்கும். ஸ்ட்ரீம் செயல்பாட்டுக்கு வந்த பிறகு, உண்மையான தடை (`STREAM_IDLE_TIMEOUT_MS`) அல்லது Undici உடல் செயலற்றநிலை (`FETCH_BODY_TIMEOUT_MS`) ஏற்பட்டால் மட்டுமே OmniRoute அதை நிறுத்தும். ### ரிவர்ஸ் ப்ராக்ஸி இணக்கத்தன்மை Nginx, Caddy, Cloudflare அல்லது வேறொரு ரிவர்ஸ் ப்ராக்ஸிக்குப் பின்னால் OmniRoute-ஐ இயக்கினால், ப்ராக்ஸி காலக்கெடுக்களும் உங்கள் OmniRoute ஸ்ட்ரீம்/fetch காலக்கெடுக்களை விட அதிகமாக இருப்பதை உறுதிசெய்யவும். --- ## தனித்தனி போர்ட் பயன்முறை மேம்பட்ட சூழல்களுக்காக (ரிவர்ஸ் ப்ராக்ஸி, கண்டெய்னர் நெட்வொர்க்கிங்) API மற்றும் Dashboard-ஐத் தனித்தனி போர்ட்களில் இயக்கவும்: ```bash PORT=20128 DASHBOARD_PORT=20129 omniroute # API: http://localhost:20128/v1 # Dashboard: http://localhost:20129 ``` --- ## Void Linux (xbps-src) வார்ப்புரு Void Linux பயனர்கள், `xbps-src`-ஐப் பயன்படுத்தி இயல்பான தொகுப்பை உருவாக்கலாம். இந்தத் துண்டை `srcpkgs/omniroute/template` எனச் சேமிக்கவும்: ```bash # 'omniroute'-க்கான வார்ப்புருக் கோப்பு pkgname=omniroute version=3.8.0 revision=1 hostmakedepends="nodejs python3 make" depends="openssl" short_desc="Universal AI gateway with smart routing for multiple LLM providers" maintainer="zenobit " license="MIT" homepage="https://github.com/diegosouzapw/OmniRoute" distfiles="https://github.com/diegosouzapw/OmniRoute/archive/refs/tags/v${version}.tar.gz" # ஒவ்வொரு வெளியீட்டிற்கும் checksum-ஐப் பின்வருமாறு மீண்டும் உருவாக்கவும்: # curl -L -o /tmp/omniroute.tar.gz "https://github.com/diegosouzapw/OmniRoute/archive/refs/tags/v${version}.tar.gz" && sha256sum /tmp/omniroute.tar.gz checksum=PLACEHOLDER_REGENERATE_PER_RELEASE system_accounts="_omniroute" omniroute_homedir="/var/lib/omniroute" export NODE_ENV=production export npm_config_engine_strict=false export npm_config_loglevel=error export npm_config_fund=false export npm_config_audit=false do_build() { local _gyp_arch case "$XBPS_TARGET_MACHINE" in aarch64*) _gyp_arch=arm64 ;; armv7*|armv6*) _gyp_arch=arm ;; i686*) _gyp_arch=ia32 ;; *) _gyp_arch=x64 ;; esac NODE_ENV=development npm ci --ignore-scripts npm run build cp -r .next/static .next/standalone/.next/static [ -d public ] && cp -r public .next/standalone/public || true local _node_gyp=/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js (cd node_modules/better-sqlite3 && node "$_node_gyp" rebuild --arch="$_gyp_arch") local _bs3_release=.next/standalone/node_modules/better-sqlite3/build/Release mkdir -p "$_bs3_release" cp node_modules/better-sqlite3/build/Release/better_sqlite3.node "$_bs3_release/" rm -rf .next/standalone/node_modules/@img for _mod in pino-abstract-transport split2 process-warning; do cp -r "node_modules/$_mod" .next/standalone/node_modules/ done } do_check() { npm run test:unit } do_install() { vmkdir usr/lib/omniroute/.next vcopy .next/standalone/. usr/lib/omniroute/.next/standalone for _d in \ .next/standalone/.next/server/app/dashboard \ .next/standalone/.next/server/app/dashboard/settings \ .next/standalone/.next/server/app/dashboard/providers; do touch "${DESTDIR}/usr/lib/omniroute/${_d}/.keep" done cat > "${WRKDIR}/omniroute" <<'EOF' #!/bin/sh export PORT="${PORT:-20128}" export DATA_DIR="${DATA_DIR:-${XDG_DATA_HOME:-${HOME}/.local/share}/omniroute}" export APP_LOG_TO_FILE="${APP_LOG_TO_FILE:-false}" mkdir -p "${DATA_DIR}" exec node /usr/lib/omniroute/.next/standalone/server.js "$@" EOF vbin "${WRKDIR}/omniroute" } post_install() { vlicense LICENSE } ``` --- ## நிறுவல் நீக்கம் | கட்டளை | செயல் | | ------------------------ | ----------------------------------------------------------------------------------------------------------------- | | `npm run uninstall` | கணினியிலிருந்து செயலியை அகற்றும், ஆனால் `~/.omniroute`-இல் உள்ள **உங்கள் DB மற்றும் உள்ளமைவுகளைத் தக்கவைக்கும்**. | | `npm run uninstall:full` | செயலியை அகற்றுவதுடன், **அனைத்து உள்ளமைவுகள், விசைகள் மற்றும் தரவுத்தளங்களையும் நிரந்தரமாக அழிக்கும்**. | > அனைத்து முறைகளுக்குமான விரிவான நிறுவல் நீக்க வழிமுறைகளுக்கு [UNINSTALL.md](./UNINSTALL.md)-ஐப் பார்க்கவும்.