مرکزی مواد پر جائیں
اے آئی ٹیوٹوریلز

لوکل فرسٹ AI کوڈنگ ایجنٹس کے لیے Shim کیسے ترتیب دیں

Shim انسٹال کرنے، مقامی یا ہوسٹ کیے گئے AI ماڈلز سے منسلک ہونے، کوڈنگ ایجنٹ کے کام چلانے، سیشنز منظم کرنے، Agent Skills لوڈ کرنے، MCP سرورز ترتیب دینے اور محفوظ اجازت کی ترتیبات نافذ کرنے کا طریقہ سیکھیں۔ یہ ٹیوٹوریل گفتگو کے ذریعے کنٹرول اور مکمل کمانڈ لائن انٹرفیس دونوں کا احاطہ کرتا ہے، جبکہ Shim کے لوکل فرسٹ ڈیزائن اور سیکیورٹی حدود کی وضاحت بھی کرتا ہے۔

لوکل فرسٹ AI کوڈنگ ایجنٹس کے لیے Shim کیسے ترتیب دیں

Shim کیا ہے؟

Shim ایک چھوٹا، لوکل-فرسٹ AI ایجنٹ ہارنس ہے جو ٹرمینل صارفین کے لیے بنایا گیا ہے۔ یہ ڈیسک ٹاپ ایپلیکیشن، بیک گراؤنڈ ڈیمَن، ڈیٹابیس، Docker، Node.js یا Python کی ضرورت کے بغیر معاون ماڈل APIs، Agent Skills اور Model Context Protocol سرورز کو جوڑنے کے لیے ایک مشترکہ انٹرفیس فراہم کرتا ہے۔

Shim ایک static binary کے طور پر تقسیم کیا جاتا ہے اور کنفیگریشن کے لیے سادہ JSON، جبکہ سیشنز کے لیے صرف اضافہ کیے جانے والی JSONL فائلیں استعمال کرتا ہے۔ API keys ماحول کے متغیرات سے پڑھی جاتی ہیں، Shim کی کنفیگریشن میں لکھی نہیں جاتیں۔

Shim ایک ہارنس ہے، inference engine نہیں۔ مقامی model weights کو Ollama، LM Studio، llama.cpp یا کسی دوسرے ہم آہنگ سروس جیسے inference server کے ذریعے چلانا ضروری ہے۔ Hosted models کو کسی معاون HTTP API کے ذریعے دستیاب ہونا چاہیے۔

اہم خصوصیات

  • گفتگو اور واضح کنٹرول: عام زبان میں انتظامی درخواستیں ٹائپ کریں یا مکمل scriptable CLI استعمال کریں۔
  • مقامی کمانڈ روٹنگ: ایک اختیاری مقامی mini-model انتظامی درخواستوں کو allowlisted Shim commands میں تبدیل کر سکتا ہے۔
  • متعدد ماڈل فراہم کنندگان: Shim، OpenAI-compatible APIs، Anthropic Messages، مقامی provider presets اور custom endpoints کو سپورٹ کرتا ہے۔
  • Agent Skills: یہ SKILL.md فائلیں تلاش کرتا ہے اور ان کی مکمل ہدایات صرف ضرورت کے وقت لوڈ کرتا ہے۔
  • MCP انضمام: stdio یا Streamable HTTP MCP سرورز سے جڑیں اور ان کے tools ایجنٹ کو فراہم کریں۔
  • اجازت کا کنٹرول: صرف پڑھنے، تصدیق پر مبنی یا خودکار execution میں سے انتخاب کریں۔
  • قابلِ منتقلی حالت: کنفیگریشن اور سیشن عام JSON اور JSONL فائلوں میں محفوظ ہوتے ہیں۔
  • کوئی telemetry نہیں: نیٹ ورک سرگرمی صرف واضح model calls، skill downloads، local discovery اور configured MCP servers تک محدود ہے۔

Shim انسٹال کریں

آپشن 1: ریلیز ڈاؤن لوڈ کریں

Windows، macOS یا Linux کے لیے static binary Shim releases page سے ڈاؤن لوڈ کریں۔ executable کو اپنے سسٹم کے PATH میں رکھیں، پھر Shim کو initialize کریں:

shim setup
shim

PowerShell میں موجودہ directory سے ڈاؤن لوڈ کیا گیا executable براہِ راست چلاتے وقت .\shim.exe استعمال کریں۔

آپشن 2: Go کے ذریعے انسٹال کریں

اگر Go 1.25 یا اس کے بعد کا ورژن دستیاب ہے تو Shim کو اس طرح انسٹال کریں:

go install github.com/Balanov/shim/cmd/shim@v0.1.0
shim setup

آپشن 3: سورس سے build کریں

repository کو clone کریں، اس کے tests چلائیں اور binary build کریں:

git clone https://github.com/Balanov/shim.git
cd shim
go test ./...
go build -trimpath -ldflags="-s -w" -o shim ./cmd/shim
./shim setup

repository میں Windows کے لیے scripts/build.ps1 اور Unix systems کے لیے scripts/build.sh بھی شامل ہیں۔

ماڈل سے جڑیں

مقامی ماڈل سرورز دریافت کریں

اگر Ollama، LM Studio، llama.cpp یا کوئی دوسرا ہم آہنگ مقامی سرور پہلے سے چل رہا ہے تو Shim سے دستیاب models دریافت اور configure کرنے کے لیے کہیں:

shim model discover --add

Shim کے ساتھ کوئی model weights شامل نہیں کیے جاتے اور نہ ہی خاموشی سے ڈاؤن لوڈ کیے جاتے ہیں۔ مقامی model چلانے کی ذمہ داری model server کی رہتی ہے۔

Hosted provider شامل کریں

Shim میں OpenAI، OpenRouter، Anthropic، Gemini، GitHub Models، Hugging Face اور کئی مقامی providers کے لیے presets شامل ہیں۔ کوئی model شامل کرنے سے پہلے provider کی credential اپنے environment میں set کریں۔

مثال کے طور پر، PowerShell صارفین OpenRouter کو اس طرح configure کر سکتے ہیں:

$env:OPENROUTER_API_KEY = "..."
shim model add openrouter your/model --name main --use
shim model test main

دیگر credential variables میں OPENAI_API_KEY، ANTHROPIC_API_KEY، GEMINI_API_KEY، GITHUB_TOKEN اور HF_TOKEN شامل ہیں۔ مستقل credentials کے لیے اپنے operating system یا shell کا معیاری secret-management mechanism استعمال کریں۔ API keys کو Shim کی project configuration میں نہ رکھیں۔

Hosted models شامل کرنے کی مثالیں:

shim model add openrouter anthropic/claude-sonnet-4.5 --name claude --use
shim model add openai gpt-5 --name gpt --use
shim model add huggingface org/model --name hf --use

Custom endpoint شامل کریں

کسی بھی معاون OpenAI-compatible endpoint کے لیے اس کا base URL اور model identifier فراہم کریں:

shim model add custom my-model --name mine \
  --base-url http://127.0.0.1:8000/v1 --use

Custom provider، OpenAI-compatible یا Anthropic adapter استعمال کر سکتا ہے۔ Custom services کے لیے credentials اختیاری اور قابلِ تشکیل ہیں۔

اپنا پہلا ایجنٹ task چلائیں

One-shot run استعمال کریں

کسی repository کا جائزہ لینے کا محفوظ ترین طریقہ read-only run ہے:

shim run --read-only "explain this repository"

ایسے task کے لیے جس میں فائلوں میں ترمیم اور verification commands چلانا ضروری ہو، اس run کی کارروائیوں کی منظوری کے لیے --yes اور اضافی output کے لیے --verbose استعمال کریں:

shim run --yes --verbose "fix the tests and verify the result"

--yes صرف اسی وقت استعمال کریں جب آپ workspace، model اور مطلوبہ task پر بھروسا کرتے ہوں۔

Interactive terminal شروع کریں

Interactive session شروع کرنے کے لیے Shim کو کسی subcommand کے بغیر چلائیں:

shim

اس کے بعد آپ ایجنٹ کو ایسی request دے سکتے ہیں:

fix the failing tests in this repository

مکمل command surface دیکھنے کے لیے shim help چلائیں۔

عام زبان سے Shim کو کنٹرول کریں

Shim عام English اور Russian انتظامی کارروائیوں کے لیے deterministic offline phrases کو پہچانتا ہے۔ دیگر زبانوں یا زیادہ لچک دار تشریح کے لیے کسی model کو command router کے طور پر configure کریں:

shim router use ollama/qwen3:4b

روٹر غیر کمانڈ چیٹ متن وصول کرتا ہے اور طے کرتا ہے کہ آیا یہ کنفیگریشن کی درخواست ہے یا ایجنٹ کا عام کام۔ جب یہ کوئی تبدیلی کرنے والی کمانڈ تجویز کرتا ہے تو Shim اسے چلانے سے پہلے تصدیق طلب کرتا ہے۔

اگر روٹنگ آپ کی مشین تک محدود رکھنی ہو تو لوپ بیک ماڈل اینڈ پوائنٹ استعمال کریں۔ روٹر صرف کمانڈ کی تشریح سنبھالتا ہے؛ منتخب کردہ بنیادی ماڈل عام گفتگو ان زبانوں میں سنبھالتا ہے جنہیں وہ سپورٹ کرتا ہے۔

ایجنٹ کی مہارتیں شامل کریں

Shim عالمی skills/ ڈائریکٹری میں SKILL.md فائلیں تلاش کرتا ہے، جو اس کی کنفیگریشن کے ساتھ موجود ہوتی ہے، اور ورک اسپیس کی ڈائریکٹریز .shim/skills/، .agents/skills/، اور .claude/skills/ میں بھی۔

ابتدائی طور پر سسٹم پرامپٹ میں صرف مہارتوں کے نام اور وضاحتیں شامل کی جاتی ہیں۔ مکمل ہدایات حسبِ ضرورت load_skill کے ذریعے لوڈ کی جاتی ہیں، جس سے غیر ضروری پرامپٹ مواد کم رہتا ہے۔

ریپوزٹری ریفرنس، GitHub URL، یا مقامی پاتھ سے مہارتیں شامل کریں:

shim skill add owner/repository
shim skill add https://github.com/owner/repository
shim skill add ./local/skill-or-collection

انسٹال شدہ مہارتوں کا معائنہ اور انتظام ان کمانڈز سے کریں:

shim skill list
shim skill show name
shim skill remove name

مہارتیں غیر معتبر ہدایات ہوتی ہیں۔ استعمال سے پہلے ان کا جائزہ لیں، خاص طور پر جب وہ شیل کمانڈ چلانے یا نیٹ ورک تک رسائی کی درخواست کریں۔

MCP سرورز سے جڑیں

Stdio سرور شامل کریں

درج ذیل مثال موجودہ ڈائریکٹری کے لیے MCP فائل سسٹم سرور رجسٹر کرتی ہے، اس کے ٹولز کی فہرست دکھاتی ہے، اور ایک ٹول کو براہِ راست چلاتی ہے:

shim mcp add filesystem npx -y @modelcontextprotocol/server-filesystem .
shim mcp tools filesystem
shim mcp call filesystem list_allowed_directories '{}'

Streamable HTTP سرور شامل کریں

ریموٹ Streamable HTTP اینڈ پوائنٹ کو نام اور URL دے کر رجسٹر کریں:

shim mcp add internal https://mcp.example.com/mcp

کنفیگر کیے گئے سرورز کی فہرست بنانے یا انہیں ہٹانے کے لیے:

shim mcp list
shim mcp remove filesystem

MCP ٹولز ایسے ناموں کے تحت دستیاب ہوتے ہیں جیسے mcp_filesystem_list_allowed_directories۔ ڈیفالٹ اجازت موڈ میں MCP کالز کے لیے تصدیق درکار ہوتی ہے۔

HTTP ہیڈرز اور stdio ماحولیاتی متغیرات Shim کی JSON کنفیگریشن کے ذریعے شامل کیے جا سکتے ہیں۔ اقدار ${ENV_VAR} کی توسیع کو سپورٹ کرتی ہیں، جس سے رازوں کو کنفیگریشن فائلوں کے بجائے ماحول میں رکھا جا سکتا ہے۔

اجازت کا موڈ منتخب کریں

Shim کا ڈیفالٹ موڈ ask ہے۔ ورک اسپیس فائلوں کو پڑھنے، ان کی فہرست بنانے، اور تلاش کرنے کی اجازت ہوتی ہے، جبکہ فائل لکھنے، ترمیم، شیل کمانڈز، اور MCP کالز کے لیے تصدیق درکار ہوتی ہے۔

عالمی اجازت پالیسی منتخب کریں:

shim permissions read-only
shim permissions ask
shim permissions auto
  • read-only: لکھنے، شیل کمانڈز، اور MCP کالز کو غیر فعال کرتا ہے۔
  • ask: اہم کارروائیوں کے لیے تصدیق طلب کرتا ہے۔
  • auto: ایجنٹ کو تصدیقی اشاروں کے بغیر کارروائی کرنے دیتا ہے۔

عارضی تبدیلیوں کے لیے عالمی ڈیفالٹ میں ترمیم کرنے کے بجائے shim run --read-only یا shim run --yes استعمال کریں۔

Shim آپریٹنگ سسٹم کا سینڈ باکس نہیں ہے۔ شیل کمانڈز اور MCP سرورز آپ کے صارف اکاؤنٹ کی اجازتوں کے ساتھ چلتے ہیں۔ غیر معتبر کام کے لیے کنٹینر، ورچوئل مشین، یا OS سینڈ باکس استعمال کریں۔

Shim کے فائل ٹولز ورک اسپیس سے لغوی پاتھ ٹریورسل اور سملنک کے ذریعے باہر نکلنے کی کوششوں کو مسترد کرتے ہیں، لیکن یہ جانچ کسی بدنیتی پر مبنی عمل کو محدود نہیں کر سکتی۔ ماڈل آؤٹ پٹ، ریپوزٹری کا مواد، مہارتیں، اور MCP جوابات غیر معتبر ڈیٹا سمجھیں۔

سیشنز اور کنفیگریشن کا انتظام کریں

سیشنز کا معائنہ کریں، نیا صاف سیشن شروع کریں، یا پہلے والا سیشن جاری رکھیں:

shim session list
shim session new
shim run --resume SESSION_ID "continue"

مسائل کی تشخیص کے دوران تشخیصی اور کنفیگریشن کمانڈز استعمال کریں:

shim status
shim doctor
shim config path
shim config show

مرکزی کنفیگریشن فائل آپریٹنگ سسٹم کے صارف-کنفیگریشن مقام کے تحت shim/config.json میں ہوتی ہے۔ پاتھ کو SHIM_CONFIG ماحولیاتی متغیر یا --config آپشن سے تبدیل کریں۔ سیشن ریکارڈز کنفیگریشن کے ساتھ موجود صرف اضافہ پذیر JSONL فائلوں میں محفوظ کیے جاتے ہیں۔

اعلیٰ درجے کی تجاویز

  1. صرف پڑھنے کے موڈ سے شروع کریں۔ ترمیم یا کمانڈ پر عمل درآمد کی اجازت دینے سے پہلے ریپوزٹری کے تجزیے کے لیے --read-only استعمال کریں۔
  2. ماڈل کنفیگریشنز کی جانچ کریں۔ فراہم کنندہ شامل کرنے کے بعد رابطہ اور اسناد کی تصدیق کے لیے shim model test NAME چلائیں۔
  3. روٹنگ مقامی رکھیں۔ جب قدرتی زبان میں کمانڈ کی درجہ بندی آپ کے کمپیوٹر تک محدود رکھنی ہو تو روٹر کے طور پر لوپ بیک ماڈل مقرر کریں۔
  4. MCP رازوں کے لیے ماحولیاتی توسیع استعمال کریں۔ خفیہ اقدار براہِ راست محفوظ کرنے کے بجائے کنفیگریشن میں ${ENV_VAR} کا حوالہ دیں۔
  5. ہر رن کے لیے اجازتیں ترجیح دیں۔ عالمی پالیسی کو auto پر چھوڑنے کے بجائے انفرادی کاموں کے لیے --read-only اور --yes استعمال کریں۔
  6. فریقِ ثالث کی ہدایات کا جائزہ لیں۔ ڈاؤن لوڈ کی گئی مہارتوں کا معائنہ کریں اور شیل، فائل سسٹم، یا نیٹ ورک تک رسائی دینے سے پہلے MCP سرور کے رویے پر غور کریں۔
  7. پہلے تشخیص چلائیں۔ shim status اور shim doctor جیسی کمانڈز ایجنٹ رن سے پہلے کنفیگریشن کے مسائل کی نشاندہی میں مدد دے سکتی ہیں۔

نتیجہ

Shim معاون ماڈل APIs، Agent Skills، اور MCP سرورز کو جوڑنے کے لیے ایک مختصر ٹرمینل پرت فراہم کرتا ہے۔ اس کی جامد بائنری، سادہ فائل پر مبنی کنفیگریشن، ماحول پر مبنی اسناد، اور واضح اجازت موڈز اسے ان صارفین کے لیے موزوں بناتے ہیں جو ہلکا پھلکا اور قابلِ معائنہ AI ایجنٹ ورک فلو چاہتے ہیں۔ صرف پڑھنے والے کام سے آغاز کریں، ہر فراہم کنندہ یا ٹول کی تصدیق کریں، اور صرف ضرورت کے وقت وسیع تر اجازتیں دیں۔

لوکل فرسٹ AI کوڈنگ ایجنٹس کے لیے Shim کیسے ترتیب دیں