Agent harness क्या है और यह कैसे काम करता है?
Agent harness वह प्रोग्राम है जो AI model को एक सक्रिय agent में बदलता है। जानें कि यह लूप, tools, permissions और session state के साथ model से कैसे अलग काम करता है।
Agent harness क्या है
Agent harness वह प्रोग्राम है जो language model के चारों ओर चलता है और उसे एक agent में बदल देता है। इसमें वह लूप होता है जो model को बार-बार कॉल करता रहता है, वे tool definitions जिन्हें model कॉल कर सकता है, वे permission rules जो यह तय करते हैं कि उन कॉल्स में से कौन सी वास्तव में चलेंगी, session state जो turns के बीच बना रहता है, और वह working directory जहाँ काम होता है। इसके भीतर model को बदला जा सकता है।
अंतिम वाक्य सबसे महत्वपूर्ण है। एक model अपने आप में केवल एक प्रश्न का उत्तर देता है और आपको भूल जाता है। एक harness model से पूछता है कि आगे क्या करना है, model द्वारा मांगे गए command को चलाता है, परिणाम को वापस फीड करता है, और फिर से पूछता है। इसी पुनरावृत्ति (repetition) को लोग "agent" कहते हैं। यदि आसपास की शब्दावली अभी भी स्पष्ट नहीं है, तो AI agent, LLM और assistant के बीच का अंतर किसी टूल को चुनने से पहले शब्दों को स्पष्ट कर देता है।
Harness और model एक नहीं हैं
विक्रेता इन्हें एक ही ब्रांड नाम के तहत बेचते हैं, इसलिए लोग अक्सर भ्रमित हो जाते हैं।
dsh और DeepSeek अलग-अलग उत्पाद हैं। DeepSeek Harness, जिसे 13 August 2026 को MIT licence के तहत github.com/deepseek-ai/deepseek-harness पर प्रकाशित किया गया था, एक Node प्रोग्राम है जिसे आप अपनी मशीन पर install करते हैं। DeepSeek models वे weights हैं जो एक API (application programming interface) के पीछे serve किए जाते हैं। यदि आप dsh को किसी अन्य विक्रेता के model पर point करते हैं, तो भी यह काम करता रहता है, क्योंकि harness को केवल ऐसी चीज़ चाहिए जो messages स्वीकार करे और tool calls वापस करे।
Claude Code और Claude का जोड़ा भी ऐसा ही है। Claude Code एक harness है: यह एक terminal प्रोग्राम है जिसमें एक loop, एक permission system, और file तथा shell tools होते हैं। Claude वह model family है जिसे यह डिफ़ॉल्ट रूप से call करता है। Codex और Gemini CLI भी इसी तरह विभाजित हैं।
यहाँ वह परीक्षण है जो हर बार इस अंतर को स्पष्ट कर देता है। आप एक harness install करते हैं। आप एक model को call करते हैं। यदि उस चीज़ का कोई version आपकी disk पर है और आपकी home directory में एक config file है, तो वह एक harness है। यदि वह उस config file के अंदर एक string है, जैसे कि deepseek-chat, तो वह model है।
लूप वास्तव में क्या करता है
हैरनेस लूप का एक चक्कर कुछ इस तरह दिखता है। इसे ध्यान से पढ़ें, क्योंकि हैरनेस के बीच लगभग हर अंतर इन पाँच चरणों के भीतर ही होता है।
- हैरनेस अब तक की बातचीत और टूल डेफिनिशन की एक सूची मॉडल को भेजता है।
- मॉडल टेक्स्ट के साथ या उन टूल्स में से किसी एक को कॉल करने के अनुरोध के साथ जवाब देता है।
- हैरनेस उस अनुरोध की अपनी अनुमति नियमों (permission rules) से जाँच करता है और या तो उसे चलाता है या आपसे पूछने के लिए रुक जाता है।
- हैरनेस टूल चलाता है, आउटपुट और एग्जिट कोड को कैप्चर करता है, और यदि आउटपुट बहुत लंबा हो तो उसे छोटा (truncate) कर देता है।
- हैरनेस उस परिणाम को बातचीत में जोड़ देता है और वापस चरण 1 पर चला जाता है।
चरण 3 वह जगह है जहाँ दैनिक उपयोग में हैरनेस सबसे अधिक भिन्न होते हैं। जो हैरनेस हर कमांड से पहले पूछता है, वह सुरक्षित है लेकिन थकाऊ है। जो हैरनेस कभी नहीं पूछता, वह अंततः किसी गलत पाथ पर विनाशकारी कमांड चला सकता है। हर गंभीर हैरनेस में अब एक बीच का विकल्प होता है: उन कमांड्स की एक allowlist जो बिना पूछे चलती हैं, और बाकी सब के लिए एक प्रॉम्प्ट।
चरण 1 वह जगह है जहाँ बाकी अंतर निहित हैं। हैरनेस वह सिस्टम प्रॉम्प्ट भी लिखता है जो उन सभी अनुरोधों के साथ जाता है, और Claude Code आपको वह नियंत्रण सीधे देता है, क्योंकि एक आउटपुट स्टाइल उस सिस्टम प्रॉम्प्ट को एडिट करता है जिसे वह भेजता है और इस तरह वापस आने वाले हर जवाब को बदल देता है। बातचीत हर टर्न के साथ बढ़ती है और मॉडल की एक निश्चित कॉन्टेक्स्ट विंडो होती है, इसलिए हैरनेस को यह तय करना होता है कि क्या छोड़ना है, क्या सारांशित (summarize) करना है, और क्या फाइल में लिखकर बाद में पढ़ना है। यही निर्णय मुख्य कारण है कि एक ही मॉडल को चलाने वाले दो हैरनेस अलग गुणवत्ता का काम करते हैं। यदि ये पाँच चरण अभी भी अमूर्त लगते हैं, तो इसका उपाय यह है कि आप एक बार अपना खुद का कच्चा लूप लिखें, जो कि ठीक वही है जो AI एजेंट्स सीखने के लिए एक चरणबद्ध पाथ आपको शुरुआत में बनाने के लिए कहता है।
अधिकांश हैरनेस अब बाहरी टूल्स को MCP (model context protocol) के माध्यम से जोड़ते हैं, जो किसी भी हैरनेस को टूल उपलब्ध कराने का एक मानक तरीका है, ताकि एक इंटीग्रेशन कई हैरनेस तक पहुँच सके। VPS पर MCP सर्वर्स चलाना उस पहलू को कवर करता है। वेब सर्च आमतौर पर पहला टूल है जिसे लोग जोड़ते हैं, और एजेंट को अपने स्वयं के SearXNG इंस्टेंस पर पॉइंट करना क्वेरीज़ को थर्ड पार्टी से दूर रखता है, साथ ही यह स्पष्ट करता है कि एजेंट द्वारा पढ़ी जाने वाली हर पेज एक अविश्वसनीय इनपुट है जो लूप के अंदर आ रही है।
Agent harness बनाम agent framework
यह प्रश्न हर बार तब उठता है जब कोई नया harness आता है, और इसके उत्तरों में असहमति होती है, जिसका आंशिक कारण वेंडर्स की अलग-अलग राय है। यहाँ वह संस्करण है जो सटीक बैठता है।
Framework एक ऐसी library है जिसे आप import करते हैं। loop आप लिखते हैं, आप तय करते हैं कि model को कब call करना है, और tool के परिणामों को आप स्वयं संभालते हैं। LangChain इसका एक प्रसिद्ध उदाहरण है: आपको building blocks मिलते हैं और आप code में agent को assemble करते हैं।
Harness एक ऐसा program है जिसे आप run करते हैं। loop पहले से लिखा होता है, tools पहले से मौजूद होते हैं, और permission model में पहले से एक default होता है। आपको पहली command पर ही एक working agent मिल जाता है और आप वहीं से उसे configure करते हैं।
Install test आमतौर पर इसका निर्णय करता है। यदि आप इसे install करने के बाद code लिखते हैं, तो यह framework है। यदि आप इसे install करने के बाद इससे बात करते हैं, तो यह harness है।
यह सीमा वास्तव में विवादित है, और इसका सबसे स्पष्ट प्रमाण LangChain का अपना documentation है। अगस्त 2026 तक, यह Deep Agents को LangGraph पर निर्मित एक "opinionated, batteries-included" framework के रूप में वर्णित करता है, जबकि langchain-ai/deepagents repository खुद को "the batteries-included agent harness" कहती है। दोनों विवरण उचित हैं। Deep Agents एक Python SDK (software development kit) है जिसे आप import करते हैं, इसलिए install test इसे library कहता है, और यह इतना default व्यवहार प्रदान करता है कि लोग इसे harness की तरह उपयोग करते हैं। Microsoft ने अगस्त 2026 में एक harness और hosted agents को general availability में release किया, जो यह दर्शाता है कि यह शब्द अब jargon के बजाय एक product category बन गया है।
इसलिए, वह प्रश्न पूछें जो आपके workload का पूर्वानुमान लगा सके। यदि आप loop लिखते हैं, तो loop के स्वामी आप हैं: retries, context trimming, permission prompts और जो हुआ उसका record, सब आपकी जिम्मेदारी है। यदि loop पहले से बना-बनाया मिलता है, तो आप उन सभी के लिए किसी और के समाधान को अपनाते हैं, जिसे शुरू करना बहुत तेज़ है लेकिन बाद में बदलना कठिन है।
Harness और chat window में अंतर
Chat window और harness, दोनों ही आपको model का output दिखाते हैं। मुख्य अंतर यह है कि काम किस computer पर हो रहा है। Chat window में, model जो भी code चलाता है, वह vendor के sandbox के भीतर, आपके द्वारा upload की गई files पर निष्पादित होता है, और session समाप्त होते ही वह गायब हो जाता है। एक harness उन tools को उस machine पर चलाता है जहाँ से आपने उसे शुरू किया है, उसी user के रूप में जिसने उसे शुरू किया है, आपकी वास्तविक files के विरुद्ध, और उसके environment में आपके वास्तविक credentials के साथ।
यही दो वाक्यों में इसका पूरा लाभ और पूरा जोखिम है। Agent अंततः काम पूरा कर सकता है। Agent उस काम को मिटा भी सकता है।
वे हार्नेस जिन्हें लोग वास्तव में चला रहे हैं
यह सूची जानबूझकर 19 August 2026 की तारीख वाली है। यह श्रेणी हर हफ्ते बदल रही है और कोई भी राउंडअप जल्दी पुराना हो जाता है।
- Claude Code और Codex वेंडर हार्नेस हैं। ये टर्मिनल-फर्स्ट हैं, डिफ़ॉल्ट रूप से अपने वेंडर के मॉडल से जुड़े हैं, और इनमें सबसे बेहतर परमिशन हैंडलिंग है। Claude Code, Cursor, Codex और Copilot की तुलना में इनका विस्तार से विवरण दिया गया है।
- DeepSeek Harness (
dsh) MIT लाइसेंस प्राप्त है और एक ही विचार पर बना है: सब कुछ एक प्लगइन है, इसलिए मॉडल, टूल, सेशन, सैंडबॉक्स और यूजर इंटरफेस सभी आपस में बदले जा सकने वाले हिस्से हैं। आपके द्वारा इंस्टॉल किया गया प्रत्येक प्लगइन एजेंट की अपनी अनुमतियों के साथ चलता है, इसलिए dsh प्लगइन जोड़ने से पहले यह जांचना कि वह क्या एक्सेस कर सकता है किसी फिक्स्ड टूल सेट वाले हार्नेस की तुलना में यहाँ अधिक महत्वपूर्ण है। 19 August 2026 को, पब्लिश होने के छह दिन बाद, इसके लगभग 166,800 GitHub स्टार्स थे। - Hermes, Nous Research द्वारा बनाया गया, एक कोडिंग टूल के बजाय एक सामान्य ऑटोनॉमस एजेंट है। इसे February 2026 में MIT लाइसेंस के तहत जारी किया गया था और यह अपनी यादों और कौशलों को आपकी अपनी मशीन पर एक लोकल SQLite डेटाबेस में रखता है। VPS पर Hermes को सेल्फ-होस्ट करना में इसकी प्रक्रिया समझाई गई है।
- Omnigent एक मेटा-हार्नेस है: यह Claude Code और Codex सहित अन्य हार्नेस को एक ही API के पीछे चलाता है, जिसमें साझा सेशन, खर्च की सीमाएं और ऑपरेटिंग सिस्टम स्तर का सैंडबॉक्स होता है। मल्टी-एजेंट हार्नेस के रूप में Omnigent में बताया गया है कि इससे आपको क्या लाभ मिलता है।
- OneCLI टीमों के लिए बनाया गया एक सैंडबॉक्स हार्नेस है, जो एक गेटवे के इर्द-गिर्द बना है। यह आउटबाउंड रिक्वेस्ट में वास्तविक क्रेडेंशियल्स इंजेक्ट करता है ताकि एजेंट को केवल प्लेसहोल्डर कीज़ ही दिखाई दें।
इनमें से तीन अक्सर एक ही शॉर्टलिस्ट में आ जाते हैं, इसलिए मॉडल कपलिंग, लाइसेंस, मैच्योरिटी और सर्वर पर चलाने के लिए आवश्यक संसाधनों के बारे में DeepSeek Harness, Claude Code और Omnigent की तुलना पढ़ना उपयोगी है।
dsh क्विक स्टार्ट एक सिंगल कमांड है, और इसे एक बार चलाना यह देखने का सबसे तेज़ तरीका है कि हार्नेस क्या है। इसके लिए मशीन पर Node.js की आवश्यकता होती है।
npx @deepseek-ai/dsh webयह http://127.0.0.1:3080 पर वेब UI (यूजर इंटरफेस) शुरू करता है। इस पर निर्भर होने से पहले README पढ़ें, क्योंकि dsh खुद को डेवलपर प्रीव्यू बताता है और स्पष्ट रूप से कहता है कि इसमें ऐसे बदलाव होंगे जो कम्पैटिबिलिटी तोड़ सकते हैं। यदि वह पहली कमांड पूरी तरह विफल हो जाती है या कोई ऐसा बिल्ड खींच लेती है जिसकी आपको उम्मीद नहीं थी, तो dsh का सटीक वर्जन पिन करना और npx कैश क्लियर करना आमतौर पर आपको फिर से शुरू करने में मदद करता है। VPS पर DeepSeek Harness चलाना सर्वर इंस्टॉलेशन को कवर करता है, और वह एड्रेस 127.0.0.1 से क्यों शुरू होता है लूपबैक डिफ़ॉल्ट के बारे में बताता है।
Routers harness के ऊपर स्थित होते हैं
एक model router, harness और provider API के बीच एक local proxy के रूप में कार्य करता है। Claude Code Router इसका एक सामान्य उदाहरण है: यह डिफ़ॉल्ट रूप से 127.0.0.1:3456 पर bind होता है, उन requests को स्वीकार करता है जिन्हें Claude Code अपने vendor को भेजता, और उन्हें उस provider को forward कर देता है जिसे आपने configure किया है। Harness को यह पता नहीं चलता कि कुछ बदला है।
Routers इसलिए मौजूद हैं क्योंकि model को बदला जा सकता है, इसलिए वे इस पोस्ट के मुख्य बिंदु का एक अच्छा प्रमाण हैं। वे जोखिम को भी केंद्रित करते हैं, क्योंकि proxy हर prompt को देखता है और हर provider key को अपने पास रखता है। इसे एक सुविधा के बजाय infrastructure के रूप में देखें। Harness अपनी API keys और model settings को कहाँ रखता है यह समस्या एक स्तर नीचे भी वैसी ही है।
जब harness एक VPS पर चलता है तो क्या बदलता है
जब harness आपके लैपटॉप से हटकर किसी किराए के सर्वर पर जाता है, तो चार चीजें बदल जाती हैं।
यह आपके लैपटॉप का ढक्कन बंद करने पर भी चलता रहता है। एक लंबा कार्य आपके सफर और बैटरी खत्म होने के बाद भी जारी रहता है। इसे tmux के अंदर शुरू करें और इससे detach हो जाएं:
tmux new -s agent
# start the harness, then press Ctrl-b and then d to detach
tmux attach -t agentऐसी किसी भी चीज़ के लिए जिसे रीबूट के बाद वापस आना चाहिए, terminal session की तुलना में user service बेहतर होती है:
loginctl enable-linger $USER
systemctl --user status my-agent.serviceloginctl enable-linger वह हिस्सा है जिसे लोग अक्सर भूल जाते हैं। इसके बिना, जैसे ही आपका आखिरी SSH (secure shell) session बंद होता है, systemd आपके user की services को रोक देता है। इसलिए जब आप लॉग आउट करते हैं तो agent बंद हो जाता है और कोई error भी नहीं दिखता। systemd के अंतर्गत dsh को headless चलाना में unit file दी गई है। एक बार जब उस सर्वर पर एक session चल रहा होता है, तो दूसरा session शुरू करने में कोई अतिरिक्त खर्च नहीं आता, और एक ही मशीन पर दो Claude Code sessions एक-दूसरे को संदेश भेज सकते हैं। इस तरह, जिसे आपने आज सुबह शुरू किया था, वह दूसरे को काम सौंप सकता है और आपको मैन्युअल रूप से relay करने की आवश्यकता नहीं होती।
यह आपकी keys को सुरक्षित रखता है। provider key अब उस सर्वर पर एक config file में रहती है। जांचें कि इसे कौन पढ़ सकता है:
ls -l ~/.configआपके user के रूप में चलने वाली कोई भी process उस file को पढ़ सकती है, जिसमें agent और agent द्वारा चलाई जाने वाली कोई भी चीज़ शामिल है।
यह आपकी अन्य मशीनों तक पहुँच सकता है। आपकी अन्य मशीनों के समान private network पर स्थित एक VPS, agent को उन तक पहुँचने का मार्ग देता है। यही इसका मुख्य उद्देश्य है, और यही इसका blast radius भी है।
यह आप जहाँ कहीं भी हों, वहाँ से पहुँच योग्य है। अधिकांश harnesses एक web UI expose करते हैं, और ज्यादातर इसे loopback पर bind करते हैं, जिसका एक कारण है। अपना चेक करें:
ss -tlnp | grep 3080127.0.0.1:3080 का अर्थ है कि केवल सर्वर ही इससे connect हो सकता है। 0.0.0.0:3080 का अर्थ है कि कोई भी व्यक्ति जिसे पता मिल जाए, वह connect हो सकता है। bind address बदलने के बजाय SSH tunnel के माध्यम से loopback UI तक पहुँचें:
ssh -N -L 3080:127.0.0.1:3080 you@your-serverफिर अपने लैपटॉप के ब्राउज़र में http://127.0.0.1:3080 खोलें। traffic SSH session के अंदर चलता है, इसलिए इंटरनेट पर कुछ भी नया expose नहीं होता है।
इनमें से प्रत्येक सुरक्षा का तर्क भी है
इन चार गुणों को फिर से उस नजरिए से पढ़ें जैसे एक हमलावर इन्हें देखता है।
यह बिना निगरानी के चलता है, इसलिए कोई भी उस मोड़ पर ध्यान नहीं दे रहा होता जहाँ मॉडल किसी path को गलत पढ़ लेता है। यह आपकी keys को सुरक्षित रखता है, इसलिए एक पढ़ने योग्य config file का मतलब है आपके पूरे provider account का हाथ से निकल जाना। यह आपकी अन्य मशीनों तक पहुँच सकता है, इसलिए एक prompt injection, जिसका अर्थ है किसी वेब पेज या फाइल में छिपे निर्देश जिन्हें agent पढ़ता है, अब आपके database host तक पहुँचने का एक रास्ता बन गया है। यह कहीं से भी पहुँच योग्य है, इसलिए बिना password के 0.0.0.0 पर bind किया गया वेब UI सार्वजनिक इंटरनेट पर एक shell के समान है।
हर मामले में इसका समाधान उबाऊ है, और हर बार एक ही समाधान काम आता है। Agent को अपने user account के बजाय उसका अपना unprivileged user account दें:
sudo adduser --disabled-password --gecos "" agentवेब UI को loopback पर रखें और इसे SSH के माध्यम से एक्सेस करें। Agent को केवल वे न्यूनतम credentials दें जो उसका काम पूरा करने के लिए आवश्यक हों, जिसके बारे में AI agents से secrets को दूर रखना में विस्तार से बताया गया है। ऐसी किसी भी चीज़ के लिए जो आपकी अनुपस्थिति में चलती है, एक सावधानीपूर्वक तैयार की गई मशीन की तुलना में एक disposable machine बेहतर होती है: disposable VM में coding agents चलाना और Claude Code को सुरक्षित रूप से VPS पर चलाना दोनों इसी तरीके का पालन करते हैं।
Do you need an agent harness?
If your work is one question at a time, a chat window is enough, and a harness only adds a loop you have to supervise. A harness starts paying for itself when a task takes many steps against real files, or when it has to keep working while you are asleep.
Most of this category is young. dsh says developer preview in its own README as of August 2026, and the rest are moving fast enough that a config file you write today may need editing next month. That is a reason to keep your setup small and reproducible, and a reason to write down what you changed. The same restraint helps inside the loop, where a skill that pushes the agent toward the smallest change that works leaves you a diff you can actually read at the end of an unattended run. Start with one harness on one server, give it one job and one narrow key, and widen its access only after that first job has been boring for a week. The self-hosted agents worth running today is a reasonable place to choose the first one.
FAQ
Agent harness क्या है, सरल शब्दों में बताएं?
यह मॉडल के चारों ओर का प्रोग्राम है। मॉडल टेक्स्ट बनाता है और टूल्स का उपयोग करने का अनुरोध करता है। Harness उस लूप को चलाता है जो अनुरोध करता रहता है, मॉडल द्वारा मांगे गए टूल्स को निष्पादित करता है, उन नियमों को लागू करता है कि कौन से टूल्स बिना अनुमति के चल सकते हैं, और टर्न के बीच सेशन स्टेट और फाइलों को सुरक्षित रखता है। आप मॉडल को बदल सकते हैं और harness फिर भी काम करता है, जो इस बात का स्पष्ट संकेत है कि दोनों अलग-अलग चीजें हैं।
क्या Claude Code एक मॉडल है या harness?
Claude Code एक harness है। यह एक टर्मिनल प्रोग्राम है जिसमें लूप, परमिशन सिस्टम और इन-बिल्ट फाइल और शेल टूल्स होते हैं। Claude वह मॉडल फैमिली है जिसे यह डिफ़ॉल्ट रूप से कॉल करता है। यही विभाजन DeepSeek Harness (dsh) पर भी लागू होता है, जो एक Node प्रोग्राम है जिसे आप इंस्टॉल करते हैं, और DeepSeek मॉडल्स, जिन्हें API के माध्यम से सर्व किया जाता है। आप मशीन पर harness इंस्टॉल करते हैं। आप नेटवर्क पर मॉडल को कॉल करते हैं।
Agent harness और agent framework में क्या अंतर है?
Framework एक लाइब्रेरी है जिसे आप इम्पोर्ट करते हैं और जिसके लिए आप कोड लिखते हैं, इसलिए लूप, रिट्राय और कॉन्टेक्स्ट हैंडलिंग का नियंत्रण आपके पास होता है। Harness एक ऐसा प्रोग्राम है जिसे आप रन करते हैं, इसलिए वह सब कुछ डिफ़ॉल्ट सेटिंग्स के साथ आता है जिसे आप लिखने के बजाय कॉन्फ़िगर करते हैं। व्यवहार में यह अंतर धुंधला है: अगस्त 2026 तक, LangChain का Deep Agents एक इम्पोर्ट करने योग्य SDK है जिसे इसकी अपनी रिपॉजिटरी एक 'बैटरियों-सहित' (batteries-included) agent harness कहती है। खुद से पूछें कि क्या आप लूप खुद लिख रहे होंगे। वह उत्तर तय करेगा कि कौन सा शब्द आपकी स्थिति के लिए उपयुक्त है।
क्या मुझे agent harness चलाने के लिए VPS की आवश्यकता है?
नहीं। यहाँ बताए गए सभी harness लैपटॉप पर चलते हैं। सर्वर चार चीजें बदल देता है: लैपटॉप बंद करने पर भी एजेंट चलता रहता है, यह आपकी कीज़ (keys) को हमेशा चालू रहने वाली मशीन पर रखता है, यह आपके अन्य सर्वर्स तक पहुँच सकता है, और आप किसी भी डिवाइस से उसी सेशन पर वापस आ सकते हैं। इनमें से प्रत्येक सुरक्षा का विषय भी है, इसलिए एजेंट को अपना अलग यूजर अकाउंट दें और किसी भी वेब UI को 127.0.0.1 पर बाइंड रखें।
क्या मैं एक ही harness के अंदर किसी अलग मॉडल का उपयोग कर सकता हूँ?
आमतौर पर हाँ, और यही एक harness की परिभाषित विशेषता है। उनमें से अधिकांश अपने कॉन्फ़िगरेशन में एक मॉडल नाम और बेस URL लेते हैं, इसलिए किसी अन्य प्रदाता (provider) की ओर पॉइंट करना एक संपादन (edit) है, न कि रीराइट। जहाँ कोई harness इसका विरोध करता है, वहाँ Claude Code Router जैसा लोकल राउटर harness और प्रदाता के बीच बैठकर अनुरोधों का अनुवाद करता है, जो डिफ़ॉल्ट रूप से 127.0.0.1:3456 पर बाइंड होता है। उस प्रॉक्सी के साथ सावधानी बरतें, क्योंकि वह हर प्रॉम्प्ट को देखता है और हर की (key) को अपने पास रखता है।