Yeqa uye kokuyinhloko
Izifundo ze-AI

Indlela Yokumisa i-Shim Yabenzeli Bokubhala Ikhodi be-AI Ababeka Okokuqala Okusendaweni

Funda ukufaka i-Shim, ukuxhuma amamodeli e-AI asendaweni noma aphethwe kwenye indawo, ukusebenzisa imisebenzi yomenzeli wokubhala ikhodi, ukuphatha izikhathi, ukulayisha i-Agent Skills, ukumisa amaseva e-MCP, nokusebenzisa izilungiselelo eziphephile zezimvume. Lesi sifundo sihlanganisa kokubili ukulawula ngengxoxo kanye nesixhumi esiphelele somugqa womyalo, sichaza nokwakheka kwe-Shim okubeka okwasendaweni kuqala kanye nemingcele yezokuphepha.

Indlela Yokumisa i-Shim Yabenzeli Bokubhala Ikhodi be-AI Ababeka Okokuqala Okusendaweni

Yini i-Shim?

I-Shim iyi-AI agent harness encane, eqala ngokusebenza endaweni, eyenzelwe abasebenzisi betheminali. Inikeza isixhumi esibonakalayo esivamile sokuxhuma ama-API amamodeli asekelwayo, ama-Agent Skills, namaseva e-Model Context Protocol ngaphandle kokudinga uhlelo lokusebenza lwedeskithophu, i-background daemon, isizindalwazi, i-Docker, i-Node.js, noma i-Python.

I-Shim isatshalaliswa njenge-static binary futhi isebenzisa i-JSON ejwayelekile ekucushweni kanye namafayela e-JSONL anezelwa ekugcineni ukuze kugcinwe amasession. Okhiye be-API bafundwa kuma-environment variables, kunokuba babhalwe ekucushweni kwe-Shim.

I-Shim iyi-harness, hhayi injini yokwenza inference. Ama-model weights asendaweni kufanele asebenze nge-inference server efana ne-Ollama, LM Studio, llama.cpp, noma enye insizakalo ehambisanayo. Amamodeli aphethwe ngaphandle kufanele anikezwe nge-HTTP API esekelwayo.

Izici Ezisemqoka

  • Ukulawula ngengxoxo nangemiyalo ecacile: Thayipha izicelo zokuphatha ngolimi olujwayelekile noma usebenzise i-CLI ephelele esebenza ngemibhalo.
  • Ukuqondisa imiyalo endaweni: I-mini-model yasendaweni ongayikhetha ingahumusha izicelo zokuphatha zibe yimiyalo ye-Shim evunyelwe kuphela.
  • Abahlinzeki bamamodeli abaningi: I-Shim isekela ama-API ahambisana ne-OpenAI, i-Anthropic Messages, ama-preset abahlinzeki basendaweni, nama-endpoint angokwezifiso.
  • Agent Skills: Ithola amafayela e-SKILL.md futhi ilayisha imiyalelo yawo ephelele kuphela lapho kudingeka.
  • Ukuhlanganiswa ne-MCP: Xhuma amaseva e-MCP e-stdio noma e-Streamable HTTP futhi unikeze i-agent amathuluzi awo.
  • Izilawuli zezimvume: Khetha ukusebenza kokufunda kuphela, okudinga ukuqinisekiswa, noma okuzenzakalelayo.
  • Isimo esiphathekayo: Ukucushwa namasesion kusebenzisa amafayela ajwayelekile e-JSON ne-JSONL.
  • Ayikho i-telemetry: Umsebenzi wenethiwekhi ukhawulelwe kumakholi amamodeli acaciswe ngumsebenzisi, ukulandwa kwama-skill, ukutholwa kwendawo, namaseva e-MCP acushiwe.

Faka i-Shim

Inketho 1: Landa i-Release

Landa i-static binary ye-Windows, macOS, noma Linux ekhasini le-Shim releases. Faka i-executable ku-system PATH, bese uqala i-Shim:

shim setup
shim

Uma usebenzisa i-executable elandiwe ngokuqondile isuka kufolda yamanje ku-PowerShell, sebenzisa .\shim.exe.

Inketho 2: Faka nge-Go

Uma i-Go 1.25 noma entsha ikhona, faka i-Shim ngale ndlela:

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

Inketho 3: Yakha Usuka ku-Source

Clone-a i-repository, sebenzisa ama-test ayo, bese wakha i-binary:

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

I-repository iphinde ibe ne-scripts/build.ps1 ye-Windows kanye ne-scripts/build.sh yezinhlelo ze-Unix.

Xhuma Imodeli

Thola Amaseva Amamodeli Asendaweni

Uma i-Ollama, LM Studio, llama.cpp, noma enye iseva yendawo ehambisanayo isivele isebenza, cela i-Shim ukuthi ithole futhi icushise amamodeli atholakalayo:

shim model discover --add

Ama-model weights awafakiwe ku-Shim futhi awalandwa ngokuthula. Iseva yemodeli isalokhu inomthwalo wokusebenzisa imodeli yasendaweni.

Engeza Umhlinzeki Ophethwe Ngaphandle

I-Shim inama-preset e-OpenAI, OpenRouter, Anthropic, Gemini, GitHub Models, Hugging Face, nabahlinzeki abaningi basendaweni. Setha imininingwane yokungena yomhlinzeki ku-environment yakho ngaphambi kokwengeza imodeli.

Ngokwesibonelo, abasebenzisi be-PowerShell bangacushisa i-OpenRouter kanje:

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

Ezinye izinguquko zemininingwane yokungena zifaka OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, GITHUB_TOKEN, kanye ne-HF_TOKEN. Sebenzisa indlela ejwayelekile yokuphatha izimfihlo yesistimu yakho yokusebenza noma ye-shell ukuze ugcine imininingwane yokungena. Ungafaki okhiye be-API ekucushweni kwephrojekthi ye-Shim.

Izibonelo zokwengeza amamodeli aphethwe ngaphandle zifaka:

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

Engeza i-Custom Endpoint

Kunoma iyiphi i-endpoint esekelwayo ehambisana ne-OpenAI, nikeza nge-base URL yayo kanye nesikhombi semodeli:

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

Umhlinzeki wangokwezifiso angasebenzisa i-adapter ehambisana ne-OpenAI noma i-Anthropic. Imininingwane yokungena iyakhethwa futhi ingacushwa ezinsizakalweni zangokwezifiso.

Qalisa Umsebenzi Wakho Wokuqala We-Agent

Sebenzisa i-One-Shot Run

Indlela ephephe kakhulu yokuhlola i-repository ukusebenzisa i-read-only run:

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

Emsebenzini odinga ukuhlela amafayela nokusebenzisa imiyalo yokuqinisekisa, sebenzisa --yes ukuze uvumele izenzo zalokho ku-run kanye ne---verbose ukuze uthole okukhiphayo okwengeziwe:

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

Sebenzisa --yes kuphela lapho uthembela ku-workspace, kumodeli, nasemsebenzini oceliwe.

Qala i-Interactive Terminal

Qalisa i-Shim ngaphandle kwe-subcommand ukuze uqale isession esebenzisanayo:

shim

Ungabe usufaka isicelo se-agent esifana nalesi:

fix the failing tests in this repository

Qalisa shim help ukuze uhlole uhlu oluphelele lwemiyalo.

Lawula i-Shim Ngolimi Olujwayelekile

I-Shim ibona imishwana enqunywe kusengaphambili esebenza ngaphandle kwe-inthanethi yemisebenzi evamile yokuphatha ngesiNgisi nangesiRashiya. Kwezinye izilimi noma uma kudingeka ukuhumusha okuguquguqukayo, lungiselela imodeli njenge-command router:

shim router use ollama/qwen3:4b

I-router yamukela umbhalo wengxoxo ongewona umyalo bese inquma ukuthi umele yini isicelo sokumisa noma umsebenzi ojwayelekile we-ejenti. Uma iphakamisa umyalo oshintsha okuthile, i-Shim icela ukuqinisekiswa ngaphambi kokuwusebenzisa.

Sebenzisa i-endpoint yemodeli ye-loopback uma ukuhambisa umzila kufanele kuhlale emshinini wakho. I-router iphatha kuphela ukuhumusha imiyalo; imodeli eyinhloko ekhethiwe iphatha ingxoxo evamile ngezilimi ezisekelwayo.

Engeza Amakhono E-ejenti

I-Shim ithola amafayela e-SKILL.md ku-directory yomhlaba wonke ethi skills/ eseduze nokumiswa kwayo, nakuma-directory e-workspace athi .shim/skills/, .agents/skills/, kanye ne-.claude/skills/.

Amagama namachazelo amakhono kuphela afakwa ekuqaleni ku-system prompt. Imiyalelo ephelele ilayishwa lapho idingeka nge-load_skill, ngaleyo ndlela kuncishiswe okuqukethwe okungadingekile ku-prompt.

Engeza amakhono usebenzisa i-reference ye-repository, i-URL ye-GitHub, noma indlela yendawo:

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

Hlola futhi uphathe amakhono afakiwe ngale miyalo:

shim skill list
shim skill show name
shim skill remove name

Amakhono ayimiyalelo engathenjwa. Wabuyekeze ngaphambi kokuwasebenzisa, ikakhulukazi uma ecela ukusebenzisa i-shell noma ukufinyelela kunethiwekhi.

Xhuma Amaseva e-MCP

Engeza Iseva ye-Stdio

Isibonelo esilandelayo sibhalisa iseva yefayela ye-MCP ye-directory yamanje, sibala amathuluzi ayo, bese sibiza ithuluzi elilodwa ngokuqondile:

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

Engeza Iseva ye-Streamable HTTP

Bhalisa i-endpoint ye-Streamable HTTP ekude ngokuyinika igama ne-URL:

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

Faka ohlwini noma susa amaseva amisiwe ngale miyalo:

shim mcp list
shim mcp remove filesystem

Amathuluzi e-MCP avezwa ngaphansi kwamagama afana ne-mcp_filesystem_list_allowed_directories. Kumodi yemvume ezenzakalelayo, izingcingo ze-MCP zidinga ukuqinisekiswa.

Ama-header e-HTTP kanye nezinguquko zemvelo ze-stdio zingangezwa ngokumiswa kwe-JSON kwe-Shim. Amanani asekela ukunwetshwa kwe-${ENV_VAR}, okuvumela izimfihlo ukuthi zihlale endaweni yemvelo esikhundleni samafayela okumisa.

Khetha Imodi Yemvume

I-Shim isebenzisa imodi ye-ask ngokuzenzakalelayo. Ukufunda, ukubala, nokusesha amafayela e-workspace kuvunyelwe, kanti ukubhala amafayela, ukuwahlela, imiyalo ye-shell, nezingcingo ze-MCP kudinga ukuqinisekiswa.

Khetha inqubomgomo yemvume yomhlaba wonke ngale miyalo:

shim permissions read-only
shim permissions ask
shim permissions auto
  • read-only: Ikhubaza ukubhala, imiyalo ye-shell, nezingcingo ze-MCP.
  • ask: Ic 요청a ukuqinisekiswa kwemisebenzi ebalulekile.
  • auto: Ivumela i-ejenti ukuthi yenze ngaphandle kwemiyalezo yokuqinisekisa.

Ezinguqukweni zesikhashana, khetha i-shim run --read-only noma i-shim run --yes esikhundleni sokushintsha okuzenzakalelayo komhlaba wonke.

I-Shim ayiyona i-sandbox yesistimu yokusebenza. Imiyalo ye-shell namaseva e-MCP asebenza ngezimvume ze-akhawunti yakho yomsebenzisi. Sebenzisa i-container, i-virtual machine, noma i-sandbox yesistimu yokusebenza emisebenzini engathenjwa.

Amathuluzi amafayela e-Shim ayenqaba ukudlula emizileni ngokwe-lexical kanye nokuphunyuka ngama-symlink ngaphandle kwe-workspace, kodwa lokhu kuhlola akukwazi ukuvimba inqubo enobungozi. Phatha okukhiphayo kwemodeli, okuqukethwe kwe-repository, amakhono, nezimpendulo ze-MCP njengedatha engathenjwa.

Phatha Ama-session Nokumiswa

Hlola ama-session, qala i-session ehlanzekile, noma uqhubeke neyangaphambilini:

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

Sebenzisa imiyalo yokuxilonga nokumisa lapho ulungisa izinkinga:

shim status
shim doctor
shim config path
shim config show

Ifayela eliyinhloko lokumisa lingu-shim/config.json ngaphansi kwendawo yokumisa yomsebenzisi yesistimu yokusebenza. Shintsha indlela yalo ngokusebenzisa i-SHIM_CONFIG environment variable noma inketho ye---config. Amarekhodi ama-session agcinwa njengamafayela e-JSONL anezela kuphela eduze kokumiswa.

Amathiphu Athuthukile

  1. Qala ngemodi yokufunda kuphela. Sebenzisa i---read-only ekuhlaziyeni i-repository ngaphambi kokuvumela ukuhlela noma ukusebenzisa imiyalo.
  2. Hlola ukumiswa kwamamodeli. Ngemva kokwengeza umhlinzeki, sebenzisa i-shim model test NAME ukuze uqinisekise ukuxhumana nemininingwane yokuqinisekisa.
  3. Gcina ukuhambisa umzila kwasendaweni. Nikeza imodeli ye-loopback njenge-router lapho ukuhlukaniswa kwemiyalo ngolimi lwemvelo kufanele kuhlale kukhompyutha yakho.
  4. Sebenzisa ukunwetshwa kwemvelo ezimfihlelweni ze-MCP. Sebenzisa i-${ENV_VAR} ekumisweni esikhundleni sokugcina amanani ezimfihlo ngokuqondile.
  5. Khetha izimvume zomsebenzi ngamunye. Sebenzisa i---read-only kanye ne---yes emisebenzini ngayinye esikhundleni sokushiya inqubomgomo yomhlaba wonke iku-auto.
  6. Buyekeza imiyalelo evela kwabanye. Hlola amakhono alandiwe futhi ucabangele ukuziphatha kweseva ye-MCP ngaphambi kokunikeza ukufinyelela ku-shell, kufayela, noma kunethiwekhi.
  7. Qala ngokuxilonga. Imiyalo efana ne-shim status ne-shim doctor ingasiza ekutholeni izinkinga zokumisa ngaphambi kokuqalisa i-ejenti.

Isiphetho

I-Shim inikeza ungqimba oluncane lwe-terminal lokuxhuma ama-API amamodeli asekelwayo, Amakhono E-ejenti, namaseva e-MCP. I-binary yayo emile, ukumiswa kwamafayela alula, imininingwane yokuqinisekisa esekelwe endaweni yemvelo, kanye nezindlela zemvume ezicacile kuyenza ifanele abasebenzisi abafuna ukuhamba komsebenzi we-ejenti ye-AI okulula futhi okuhlolisisekayo. Qala ngomsebenzi wokufunda kuphela, qinisekisa umhlinzeki noma ithuluzi ngalinye, bese unikeza izimvume ezibanzi kuphela lapho kudingeka.