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.mdfuthi 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
shimUma 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 setupInketho 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 setupI-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 --addAma-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 mainEzinye 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 --useEngeza 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 --useUmhlinzeki 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:
shimUngabe usufaka isicelo se-agent esifana nalesi:
fix the failing tests in this repositoryQalisa 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:4bI-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-collectionHlola futhi uphathe amakhono afakiwe ngale miyalo:
shim skill list
shim skill show name
shim skill remove nameAmakhono 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/mcpFaka ohlwini noma susa amaseva amisiwe ngale miyalo:
shim mcp list
shim mcp remove filesystemAmathuluzi 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 showIfayela 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
- Qala ngemodi yokufunda kuphela. Sebenzisa i-
--read-onlyekuhlaziyeni i-repository ngaphambi kokuvumela ukuhlela noma ukusebenzisa imiyalo. - Hlola ukumiswa kwamamodeli. Ngemva kokwengeza umhlinzeki, sebenzisa i-
shim model test NAMEukuze uqinisekise ukuxhumana nemininingwane yokuqinisekisa. - Gcina ukuhambisa umzila kwasendaweni. Nikeza imodeli ye-loopback njenge-router lapho ukuhlukaniswa kwemiyalo ngolimi lwemvelo kufanele kuhlale kukhompyutha yakho.
- Sebenzisa ukunwetshwa kwemvelo ezimfihlelweni ze-MCP. Sebenzisa i-
${ENV_VAR}ekumisweni esikhundleni sokugcina amanani ezimfihlo ngokuqondile. - Khetha izimvume zomsebenzi ngamunye. Sebenzisa i-
--read-onlykanye ne---yesemisebenzini ngayinye esikhundleni sokushiya inqubomgomo yomhlaba wonke iku-auto. - Buyekeza imiyalelo evela kwabanye. Hlola amakhono alandiwe futhi ucabangele ukuziphatha kweseva ye-MCP ngaphambi kokunikeza ukufinyelela ku-shell, kufayela, noma kunethiwekhi.
- Qala ngokuxilonga. Imiyalo efana ne-
shim statusne-shim doctoringasiza 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.
