
Kanuni Yangu ya Msimbo Bila Malipo Inachofanya
My Free Code v0.8 ni lango huru la watoa huduma wengi kwa Claude Code na mawakala wengine wa uandishi wa msimbo. Huendesha lango la karibu la FastAPI linalopokea maombi ya wakala, kuchagua modeli iliyosanidiwa, kutafsiri ombi kwa mtoa huduma husika, na kutiririsha jibu kurudi kwa mteja. Mradi huu hauhusiani na Anthropic.
Lango hili linaunga mkono itifaki ya Anthropic Messages kwenye /v1/messages, kuhesabu tokeni za Anthropic kwenye /v1/messages/count_tokens, na kituo kinachoendana na OpenAI Responses kwenye /v1/responses. Pia hutoa ugunduzi wa modeli kupitia /v1/models, kituo cha afya kwenye /health, kiolesura cha karibu cha usimamizi kwenye /admin, na API za usimamizi zilizothibitishwa chini ya /api/admin/*.
Vipengele Muhimu
- Itifaki nyingi za mawakala: Pokea maombi yanayoendana na Anthropic Messages na OpenAI Responses kupitia lango moja.
- Uwezo wa mawakala: Shughulikia Server-Sent Events za utiririshaji, ufafanuzi wa zana, miito ya zana, matokeo ya zana, picha, na upitishaji wa metadata ya hoja.
- Uelekezaji wa viwango vya Claude: Weka modeli tofauti za juu kwa maombi ya Fable, Opus, Sonnet, na Haiku.
- Uelekezaji thabiti: Tumia mbadala za modeli zilizopangwa kwa utaratibu, kusitisha maombi kwa muda kulingana na afya ya mtoa huduma, vidhibiti vya wakati mmoja kwa kila mtoa huduma, na udhibiti wa madirisha ya viwango.
- Utambulisho thabiti wa modeli: Hifadhi utambulisho wa modeli ya umma ya lango hata pale router inapotuma ombi kwa mtoa huduma mwingine.
- Kusawazisha hoja: Weka nia ya kufikiri kwa mtindo wa Claude tofauti na sehemu za ombi maalum za mtoa huduma.
- Usaidizi wa modeli za karibu: Unganisha Ollama, LM Studio, au llama.cpp kupitia vituo vyao vinavyoendana na OpenAI.
- Vianzisha mawakala: Andaa mazingira ya proksi kwa Claude Code, Codex, Pi, OpenCode, Cline, Hermes, DeepSeek Harness, Grok Build, na Muse Code.
Katalogi ya watoa huduma inajumuisha mkusanyiko mpana wa huduma za wingu na mazingira ya karibu ya uendeshaji. Watoa huduma wa kawaida wanaoendana na OpenAI hutumia usafirishaji wa pamoja, huku watoa huduma wenye uthibitishaji au itifaki zisizo za kawaida wakihitaji adapta maalum. Kwa hivyo, ingizo la katalogi halipaswi kutafsiriwa kama dai la usaidizi wa jumla bila usanidi maalum wa mtoa huduma.
Jinsi Usanifu Unavyofanya Kazi
Coding Agents / IDEs
|
+-----------+-----------+
| |
Anthropic Messages OpenAI Responses
| |
+-----------+-----------+
|
FastAPI Gateway
|
Model Router
|
+-----------+-----------+
| |
Primary Fallbacks
| |
+-----------+-----------+
|
Provider Runtime
|
+--------------+--------------+
| | |
OpenAI-compatible Specialized Local
adapter adapter runtime
| | |
APIs provider API Ollama/LM StudioMuundo huu unatenganisha itifaki za waya zinazoingia na uelekezaji pamoja na miunganisho ya watoa huduma. Adapta za HTTP hupokea maombi, safu ya programu huchagua na kutekeleza njia, na mazingira ya mtoa huduma huwasiliana na usafirishaji wa pamoja unaoendana na OpenAI, adapta maalum, au mazingira ya karibu ya uendeshaji. Vianzisha CLI hubaki kuwa safu tofauti inayosanidi mazingira ya mteja na kukabidhi utekelezaji kwa wakala wa uandishi wa msimbo aliyesakinishwa.
Sakinisha Lango
Mahitaji ya Awali
- Python 3.10 au mpya zaidi.
- Nakala ya karibu ya hazina.
- Vitambulisho vya watoa huduma wowote wa mbali unaopanga kutumia.
- Mteja wa wakala wa uandishi wa msimbo unayetaka kuanzisha, akiwa amesakinishwa na kupatikana kwenye
PATH.
1. Unda mazingira pepe
python -m venv .venv2. Yaamilishe na usakinishe vitegemezi
Kwenye Windows PowerShell, endesha:
.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
copy .env.example .envKwenye macOS au Linux, endesha:
source .venv/bin/activate
python -m pip install -r requirements.txt
cp .env.example .env3. Anzisha My Free Code
python -m my_free_codeKwa chaguo-msingi, lango linapatikana kwenye http://127.0.0.1:8082. Unaweza kuangalia huduma kupitia http://127.0.0.1:8082/health na kufungua kiolesura cha karibu cha usimamizi kwenye http://127.0.0.1:8082/admin.
Sanidi Modeli na Watoa Huduma
Hariri faili ya .env iliyozalishwa ili kuchagua modeli chaguo-msingi, kuhusisha modeli na viwango vya Claude, na kufafanua mbadala zilizopangwa kwa utaratibu. Mfano ufuatao unatumia modeli kutoka kwa watoa huduma kadhaa:
MODEL=open_router/openrouter/free
MODEL_SONNET=deepseek/deepseek-chat
MODEL_HAIKU=groq/llama-3.3-70b-versatile
MODEL_OPUS=nvidia_nim/meta/llama-3.3-70b-instruct
FALLBACK_MODELS=deepseek/deepseek-chat,ollama/llama3.1Ongeza funguo za API za watoa huduma wanaolingana kwenye .env. Tumia .env.example kama marejeo ya sehemu za usanidi zinazoungwa mkono. Anzisha upya lango baada ya kubadilisha mazingira yake.
MODEL huchagua modeli ya jumla ya lango. Vigezo maalum vya viwango kama MODEL_SONNET, MODEL_HAIKU, na MODEL_OPUS huruhusu router kuelekeza viwango vya modeli za Claude kwa huduma tofauti za juu. FALLBACK_MODELS ni orodha ya njia mbadala zilizotenganishwa kwa koma na kupangwa kwa utaratibu.
Unganisha Claude Code
Chaguo la 1: Weka mazingira mwenyewe
Kwenye Windows PowerShell, elekeza Claude Code kwenye lango la karibu linaloendana na Anthropic:
$env:ANTHROPIC_BASE_URL="http://127.0.0.1:8082"
$env:ANTHROPIC_AUTH_TOKEN="local"
$env:CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY="1"
claudeURL ya msingi huelekeza upya maombi ya Claude Code kwenda My Free Code, huku ugunduzi wa modeli ukiwezesha mteja kuuliza katalogi ya modeli za gateway.
Chaguo la 2: Tumia adapta ya kizindua
python -m my_free_code.cli.mfc claudeKizindua huandaa mazingira ya proksi ya ndani kisha hukabidhi hoja kwa mteja wa Claude Code aliyesakinishwa. Hakisakinishi mteja wenyewe.
Anzisha Mawakala Wengine wa Usimbaji
Uondoaji huo huo wa kizindua unaunga mkono wateja kadhaa wa ziada:
python -m my_free_code.cli.mfc codex
python -m my_free_code.cli.mfc pi
python -m my_free_code.cli.mfc opencode
python -m my_free_code.cli.mfc cline
python -m my_free_code.cli.mfc hermes
python -m my_free_code.cli.mfc deepseek-harness
python -m my_free_code.cli.mfc grok
python -m my_free_code.cli.mfc museKabla ya kutekeleza mojawapo ya amri hizi, thibitisha kuwa mteja husika amesakinishwa na anapatikana kwenye PATH. Kizindua huandaa tu mazingira ya gateway na kuita programu iliyopo.
Elewa Marejesho ya Akiba kwa Mpangilio
Tuseme mazingira yana usanidi huu wa uelekezaji:
MODEL_SONNET=deepseek/deepseek-chat
FALLBACK_MODELS=groq/llama-3.3-70b-versatile,ollama/llama3.1Ombi la Sonnet hupelekwa kwanza kwa deepseek/deepseek-chat. Jaribio hilo likishindwa kabla ya kutoa matokeo, kipanga njia hujaribu groq/llama-3.3-70b-versatile. Jaribio la pili pia likishindwa kabla ya kutoa matokeo, hujaribu ollama/llama3.1.
Claude Code
|
v
deepseek/deepseek-chat
|
| failure before output
v
groq/llama-3.3-70b-versatile
|
| failure before output
v
ollama/llama3.1Baada ya jibu la utiririshaji kuanza kutoa matokeo, gateway haibadilishi watoa huduma kimyakimya. Hii huepusha kurudia zamu au kuchanganya majibu ya sehemu kutoka kwa modeli tofauti.
Tumia Modeli za Ndani
Ollama
Anzisha huduma ya Ollama kando, kisha sanidi URL ya msingi inayooana na OpenAI pamoja na modeli:
OLLAMA_BASE_URL=http://127.0.0.1:11434/v1
MODEL=ollama/llama3.1LM Studio
Anzisha seva ya ndani ya LM Studio na utumie:
LM_STUDIO_BASE_URL=http://127.0.0.1:1234/v1
MODEL=lmstudio/qwen3.5-coderllama.cpp
Endesha seva ya llama.cpp na usanidi:
LLAMACPP_BASE_URL=http://127.0.0.1:8080/v1
MODEL=llamacpp/my-modelMazingira ya uendeshaji ya ndani yanaweza pia kuonekana kwenye FALLBACK_MODELS, na kuruhusu modeli ya ndani kutumika kama mbadala wakati ombi la mbali linaposhindwa kabla ya kutoa matokeo.
Sanidi Tabia ya Ufikiri
Gateway hupokea dhamira ya kufikiri ya mtindo wa Claude na kuisanifisha kabla adapta ya mtoa huduma kutafsiri ombi. Modi zinazotumika ni:
auto
on
offKiwango cha hiari cha juhudi kinaweza kuwa:
low
medium
highUtenganishaji huu huweka sera ya ufikiri inayokabili wakala ikiwa huru dhidi ya sehemu mahususi za mtoa huduma. Kila adapta ya mtoa huduma inaweza kupanga modi na juhudi zilizosawazishwa kwenye sehemu zilizoandikwa na mtoa huduma huyo wa juu.
Fuatilia Gateway
Fungua Kiolesura cha Usimamizi ndani ya mashine kwenye:
http://127.0.0.1:8082/adminAPI ya JSON ya Usimamizi iliyothibitishwa inajumuisha:
GET /api/admin/status
GET /api/admin/models
GET /api/admin/providersTumia vituo hivi kukagua hali ya gateway, katalogi ya modeli na watoa huduma waliowekwa. Vituo vya usimamizi vinahitaji uthibitishaji na vinapaswa kubaki vya faragha.
Vidokezo vya Juu
Dumisha utambulisho thabiti wa modeli ya umma
Ombi linaweza kuelekezwa kwenye modeli ya kiwango maalum au mtoa huduma wa akiba, lakini gateway hudumisha utambulisho thabiti wa modeli yake ya umma. Kwa hivyo, programu za mteja zinaweza kuwasiliana na modeli ya gateway bila kufuatilia kila uamuzi wa uelekezaji wa mtoa huduma wa juu.
Panga mpangilio wa akiba kwa makusudi
Weka modeli kwenye FALLBACK_MODELS kwa mpangilio kamili ambao zinapaswa kujaribiwa. Zingatia upatikanaji wa watoa huduma na ikiwa mazingira ya ndani yanapaswa kuwa chaguo la mwisho. Kumbuka kuwa akiba hutokea tu kabla ya matokeo ya utiririshaji kuanza kutumwa.
Heshimu tofauti za watoa huduma
Watoa huduma wengi hutumia usafirishaji wa kawaida unaooana na OpenAI, lakini mifumo isiyo ya kawaida ya uthibitishaji au itifaki huhitaji adapta maalum. Thibitisha kuwa adapta ya mtoa huduma husika na kitambulisho vinapatikana badala ya kudhani kuwa kila ingizo la katalogi linafanya kazi kwa njia ile ile.
Tumia vituo vya itifaki moja kwa moja inapohitajika
- Tuma maombi ya Anthropic Messages kwenye
/v1/messages. - Hesabu tokeni za muundo wa Anthropic kupitia
/v1/messages/count_tokens. - Tumia kiolesura kinachoendana na OpenAI Responses kwenye
/v1/responses. - Tambua modeli kupitia
/v1/models. - Kagua afya ya huduma kupitia
/health.
Endesha seti ya majaribio
pytest -qHazina inajumuisha majaribio yanayoweza kurudiwa ya uelekezaji, ubadilishaji wa itifaki, uthibitishaji, ufikiri, katalogi ya modeli na misingi ya utiririshaji. Yaendeshe baada ya kubadilisha msimbo wa gateway, uelekezaji au mtoa huduma.
Miongozo ya Usalama
My Free Code imekusudiwa matumizi ya ndani. Tumia tahadhari zifuatazo:
- Weka
HOST=127.0.0.1ili huduma ifungwe kwenye mashine ya ndani. - Weka
PROXY_AUTH_TOKENyenye thamani salama na isiyotabirika. - Usiwahi kuhifadhi faili ya
.envkwenye mfumo wa kudhibiti msimbo. - Usifichue vituo vya Usimamizi moja kwa moja kwenye Intaneti.
- Weka vitambulisho vya watoa huduma kwenye mazingira au usanidi. Gateway haitumi vitambulisho vya mtoa huduma mmoja kwa mtoa huduma mwingine.
Hitimisho
My Free Code hutoa safu ya ndani ya uoanifu na uelekezaji kati ya mawakala wa kuandika msimbo na watoa huduma wengi wa miundo ya wingu au ya ndani. Baada ya kusakinisha utegemezi wa Python, kusanidi miundo na vitambulisho, na kuanzisha lango, unaweza kuunganisha Claude Code au mteja mwingine anayetumika, kugawa miundo kulingana na viwango vya Claude, na kuunda mnyororo unaodhibitiwa wa njia mbadala. Safu zake zilizotenganishwa za itifaki, uelekezaji, mtoa huduma na kizindua pia hufanya mradi uwe rahisi kukagua na kuujaribu.
