Asosiy kontentga o‘tish
AI qo‘llanmalari

Local-first AI kodlash agentlari uchun Shim’ni sozlash

Shim’ni o‘rnatish, lokal yoki xostingdagi AI modellarini ulash, kodlash agenti vazifalarini bajarish, sessiyalarni boshqarish, Agent Skills’ni yuklash, MCP serverlarini sozlash va xavfsiz ruxsatlar parametrlarini qo‘llashni o‘rganing. Ushbu qo‘llanmada suhbat orqali boshqarish va to‘liq buyruq qatori interfeysi yoritilib, Shim’ning lokal-first dizayni hamda xavfsizlik chegaralari tushuntiriladi.

Local-first AI kodlash agentlari uchun Shim’ni sozlash

Shim nima?

Shim terminal foydalanuvchilari uchun mo‘ljallangan, lokal ishlashni ustuvor qo‘yuvchi kichik AI agent platformasidir. U desktop ilovasi, fon xizmati, ma’lumotlar bazasi, Docker, Node.js yoki Python talab qilmasdan, qo‘llab-quvvatlanadigan model API’lari, Agent Skills va Model Context Protocol serverlarini ulash uchun yagona interfeysni taqdim etadi.

Shim statik ikkilik fayl sifatida tarqatiladi va konfiguratsiya uchun oddiy JSON’dan, sessiyalar uchun esa faqat qo‘shib boriladigan JSONL fayllaridan foydalanadi. API kalitlari Shim konfiguratsiyasiga yozilmaydi, balki muhit o‘zgaruvchilaridan o‘qiladi.

Shim inference mexanizmi emas, balki agent platformasidir. Lokal model og‘irliklari Ollama, LM Studio, llama.cpp yoki boshqa mos xizmat kabi inference server orqali ishga tushirilishi kerak. Xost qilinadigan modellar qo‘llab-quvvatlanadigan HTTP API orqali taqdim etilishi kerak.

Asosiy imkoniyatlar

  • Suhbat va aniq boshqaruv: Oddiy tildagi boshqaruv so‘rovlarini kiriting yoki to‘liq skriptlanadigan CLI’dan foydalaning.
  • Lokal buyruqlarni yo‘naltirish: Ixtiyoriy lokal mini-model boshqaruv so‘rovlarini ruxsat berilgan Shim buyruqlariga aylantirishi mumkin.
  • Bir nechta model provayderlari: Shim OpenAI bilan mos API’lar, Anthropic Messages, lokal provayder sozlamalari va maxsus endpointlarni qo‘llab-quvvatlaydi.
  • Agent Skills: U SKILL.md fayllarini topadi va ularning to‘liq ko‘rsatmalarini faqat kerak bo‘lganda yuklaydi.
  • MCP integratsiyasi: stdio yoki Streamable HTTP MCP serverlarini ulang va ularning vositalarini agentga taqdim eting.
  • Ruxsatlarni boshqarish: Faqat o‘qish, tasdiqlash talab qilinadigan yoki avtomatik bajarish rejimini tanlang.
  • Ko‘chma holat: Konfiguratsiya va sessiyalar oddiy JSON va JSONL fayllaridan foydalanadi.
  • Telemetriya yo‘q: Tarmoq faolligi faqat aniq model chaqiruvlari, skill yuklamalari, lokal qidiruv va sozlangan MCP serverlari bilan cheklanadi.

Shim’ni o‘rnatish

1-variant: Relizni yuklab olish

Windows, macOS yoki Linux uchun statik ikkilik faylni Shim relizlar sahifasidan yuklab oling. Bajariladigan faylni tizimingizning PATH o‘zgaruvchisiga qo‘shing, so‘ng Shim’ni ishga tushiring:

shim setup
shim

PowerShell’da yuklab olingan bajariladigan faylni joriy katalogdan to‘g‘ridan-to‘g‘ri ishga tushirganda, .\shim.exe dan foydalaning.

2-variant: Go orqali o‘rnatish

Agar Go 1.25 yoki undan yangiroq versiyasi mavjud bo‘lsa, Shim’ni quyidagicha o‘rnating:

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

3-variant: Manba kodidan yig‘ish

Repozitoriyani klonlang, testlarini ishga tushiring va ikkilik faylni yarating:

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

Repozitoriyada Windows uchun scripts/build.ps1 va Unix tizimlari uchun scripts/build.sh skriptlari ham mavjud.

Modelni ulash

Lokal model serverlarini aniqlash

Agar Ollama, LM Studio, llama.cpp yoki boshqa mos lokal server allaqachon ishlayotgan bo‘lsa, Shim’dan mavjud modellarni aniqlash va sozlashni so‘rang:

shim model discover --add

Shim tarkibida model og‘irliklari mavjud emas va ular yashirincha yuklab olinmaydi. Lokal modelni ishga tushirish uchun model serverning o‘zi javobgar bo‘lib qoladi.

Xost qilinadigan provayderni qo‘shish

Shim OpenAI, OpenRouter, Anthropic, Gemini, GitHub Models, Hugging Face va bir nechta lokal provayderlar uchun tayyor sozlamalarni o‘z ichiga oladi. Model qo‘shishdan oldin provayder hisob ma’lumotlarini muhitga o‘rnating.

Masalan, PowerShell foydalanuvchilari OpenRouter’ni quyidagicha sozlashlari mumkin:

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

Boshqa hisob ma’lumotlari o‘zgaruvchilariga OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, GITHUB_TOKEN va HF_TOKEN kiradi. Doimiy hisob ma’lumotlari uchun operatsion tizimingiz yoki shell’ingizning standart maxfiy ma’lumotlarni boshqarish mexanizmidan foydalaning. API kalitlarini Shim loyihasi konfiguratsiyasiga joylashtirmang.

Xost qilinadigan modellarni qo‘shish misollari:

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

Maxsus endpointni qo‘shish

Qo‘llab-quvvatlanadigan har qanday OpenAI bilan mos endpoint uchun uning asosiy URL manzili va model identifikatorini kiriting:

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

Maxsus provayder OpenAI bilan mos yoki Anthropic adapteridan foydalanishi mumkin. Hisob ma’lumotlari ixtiyoriy bo‘lib, maxsus xizmatlar uchun sozlanadi.

Birinchi agent vazifangizni ishga tushirish

Bir martalik ishga tushirishdan foydalanish

Repozitoriyani tekshirishning eng xavfsiz usuli faqat o‘qish rejimidagi ishga tushirishdir:

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

Fayllarni tahrirlash va tekshiruv buyruqlarini bajarish kerak bo‘lgan vazifa uchun shu ishga tushirishdagi amallarni tasdiqlash uchun --yes hamda qo‘shimcha chiqish uchun --verbose parametrlaridan foydalaning:

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

--yes parametridan faqat ish maydoni, model va so‘ralgan vazifaga ishonganingizda foydalaning.

Interaktiv terminalni ishga tushirish

Interaktiv sessiyani boshlash uchun Shim’ni quyi buyruqsiz ishga tushiring:

shim

Shundan so‘ng agentga quyidagi kabi so‘rov yuborishingiz mumkin:

fix the failing tests in this repository

To‘liq buyruqlar ro‘yxatini ko‘rish uchun shim help buyrug‘ini ishga tushiring.

Shim’ni oddiy til bilan boshqarish

Shim keng tarqalgan inglizcha va ruscha boshqaruv amallari uchun deterministik oflayn iboralarni taniydi. Boshqa tillar yoki yanada moslashuvchan talqin uchun modelni buyruqlar yo‘naltiruvchisi sifatida sozlang:

shim router use ollama/qwen3:4b

Router buyruq bo‘lmagan chat matnini qabul qiladi va u konfiguratsiya so‘rovi yoki oddiy agent vazifasi ekanini aniqlaydi. U o‘zgartirish kirituvchi buyruqni taklif qilganda, Shim uni ishga tushirishdan oldin tasdiq so‘raydi.

Agar marshrutlash kompyuteringizda qolishi kerak bo‘lsa, loopback model endpointidan foydalaning. Router faqat buyruqlarni talqin qiladi; tanlangan asosiy model oddiy suhbatni o‘zi qo‘llab-quvvatlaydigan tillarda boshqaradi.

Agent ko‘nikmalarini qo‘shish

Shim konfiguratsiyasi yonidagi global skills/ katalogida hamda ishchi kataloglardagi .shim/skills/, .agents/skills/ va .claude/skills/ ichidagi SKILL.md fayllarini aniqlaydi.

Dastlab tizim promptiga faqat ko‘nikma nomlari va tavsiflari qo‘shiladi. To‘liq ko‘rsatmalar load_skill orqali talabga ko‘ra yuklanadi, bu esa promptdagi keraksiz tarkibni kamaytiradi.

Repository havolasi, GitHub URL manzili yoki mahalliy yo‘l orqali ko‘nikmalar qo‘shing:

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

O‘rnatilgan ko‘nikmalarni quyidagi buyruqlar orqali ko‘rib chiqing va boshqaring:

shim skill list
shim skill show name
shim skill remove name

Ko‘nikmalar ishonchsiz ko‘rsatmalardir. Ularni ishlatishdan oldin, ayniqsa qobiq buyruqlarini bajarish yoki tarmoqqa kirishni so‘raganida, tekshirib chiqing.

MCP serverlariga ulanish

Stdio serverini qo‘shish

Quyidagi misol joriy katalog uchun MCP fayl tizimi serverini ro‘yxatdan o‘tkazadi, uning vositalarini ko‘rsatadi va bitta vositani bevosita chaqiradi:

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

Streamable HTTP serverini qo‘shish

Masofaviy Streamable HTTP endpointini unga nom va URL berish orqali ro‘yxatdan o‘tkazing:

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

Sozlangan serverlarni quyidagi buyruqlar orqali ko‘rsating yoki olib tashlang:

shim mcp list
shim mcp remove filesystem

MCP vositalari mcp_filesystem_list_allowed_directories kabi nomlar ostida taqdim etiladi. Standart ruxsat rejimida MCP chaqiruvlari tasdiqni talab qiladi.

HTTP sarlavhalari va stdio muhit o‘zgaruvchilarini Shim’ning JSON konfiguratsiyasi orqali qo‘shish mumkin. Qiymatlar ${ENV_VAR} kengaytirilishini qo‘llab-quvvatlaydi, bu esa maxfiy ma’lumotlarni konfiguratsiya fayllari o‘rniga muhitda saqlash imkonini beradi.

Ruxsat rejimini tanlash

Shim sukut bo‘yicha ask rejimidan foydalanadi. Ishchi katalog fayllarini o‘qish, ro‘yxatlash va qidirishga ruxsat beriladi, fayl yozish, tahrirlash, qobiq buyruqlari va MCP chaqiruvlari esa tasdiqni talab qiladi.

Global ruxsat siyosatini quyidagilardan biri orqali tanlang:

shim permissions read-only
shim permissions ask
shim permissions auto
  • read-only: Yozish, qobiq buyruqlari va MCP chaqiruvlarini o‘chiradi.
  • ask: Muhim amallar uchun tasdiq so‘raydi.
  • auto: Agentga tasdiq so‘rovlarisiz ishlash imkonini beradi.

Vaqtinchalik o‘zgarishlar uchun global standartni o‘zgartirish o‘rniga shim run --read-only yoki shim run --yes dan foydalaning.

Shim operatsion tizim sandboxi emas. Qobiq buyruqlari va MCP serverlari foydalanuvchi hisobingiz ruxsatlari bilan ishlaydi. Ishonchsiz vazifalar uchun konteyner, virtual mashina yoki OT sandboxidan foydalaning.

Shim fayl vositalari ishchi katalogdan leksik yo‘l bo‘ylab chiqish va simvolik havola orqali chiqishni rad etadi, biroq bu tekshiruvlar zararli jarayonni cheklay olmaydi. Model chiqishi, repository tarkibi, ko‘nikmalar va MCP javoblarini ishonchsiz ma’lumot sifatida ko‘ring.

Seanslar va konfiguratsiyani boshqarish

Seanslarni ko‘ring, yangi seans boshlang yoki avvalgisini davom ettiring:

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

Muammolarni bartaraf etishda diagnostika va konfiguratsiya buyruqlaridan foydalaning:

shim status
shim doctor
shim config path
shim config show

Asosiy konfiguratsiya fayli operatsion tizimning foydalanuvchi konfiguratsiyasi joylashuvidagi shim/config.json faylidir. Yo‘lni SHIM_CONFIG muhit o‘zgaruvchisi yoki --config parametri orqali o‘zgartiring. Seans yozuvlari konfiguratsiya yonida qo‘shib boriladigan JSONL fayllari sifatida saqlanadi.

Kengaytirilgan maslahatlar

  1. Faqat o‘qish rejimidan boshlang. Tahrirlash yoki buyruqlarni bajarishga ruxsat berishdan oldin repositoryni tahlil qilish uchun --read-only dan foydalaning.
  2. Model konfiguratsiyalarini sinang. Provayder qo‘shgandan so‘ng ulanish va hisob ma’lumotlarini tekshirish uchun shim model test NAME ni ishga tushiring.
  3. Marshrutlashni mahalliy saqlang. Tabiiy tildagi buyruqlar tasnifi kompyuteringizda qolishi kerak bo‘lsa, router sifatida loopback modelini belgilang.
  4. MCP maxfiy ma’lumotlari uchun muhit kengaytirilishidan foydalaning. Maxfiy qiymatlarni bevosita saqlash o‘rniga konfiguratsiyada ${ENV_VAR} ga murojaat qiling.
  5. Har bir ishga tushirish uchun ruxsatlarni afzal ko‘ring. Global siyosatni auto holatida qoldirish o‘rniga alohida vazifalar uchun --read-only va --yes dan foydalaning.
  6. Uchinchi tomon ko‘rsatmalarini tekshiring. Yuklab olingan ko‘nikmalarni ko‘rib chiqing va qobiq, fayl tizimi yoki tarmoqqa kirish berishdan oldin MCP serveri xatti-harakatini baholang.
  7. Avval diagnostikani ishga tushiring. shim status va shim doctor kabi buyruqlar agent ishga tushishidan oldin konfiguratsiya muammolarini aniqlashga yordam beradi.

Xulosa

Shim qo‘llab-quvvatlanadigan model API’lari, Agent Skills va MCP serverlarini ulash uchun ixcham terminal qatlamini taqdim etadi. Uning statik binar fayli, oddiy fayl konfiguratsiyasi, muhitga asoslangan hisob ma’lumotlari va aniq ruxsat rejimlari yengil hamda tekshirish oson bo‘lgan AI agent ish jarayonini xohlaydigan foydalanuvchilar uchun mos keladi. Faqat o‘qish vazifasidan boshlang, har bir provayder yoki vositani tekshiring va kengroq ruxsatlarni faqat zarur bo‘lganda bering.