इस प्रोजेक्ट के बारे में
`encx-cli` Encounter (`en.cx`) शहरी खोज इंजन API के लिए एक Go क्लाइंट और CLI है। इस परियोजना में अपने कोड में एम्बेड करने के लिए एक लाइब्रेरी (`encx`), कंसोल उपयोगिता `encli`, स्थानीय विकास के लिए मॉक सर्वर, PicoClaw पर आधारित LLM एजेंट, वेब UI, साथ ही iOS (gomobile) और PHP (FFI) के लिए बिल्ड शामिल हैं।
## मुख्य विशेषताएं
- **`encx` लाइब्रेरी**: लॉगिन, गेम सूची, गेम स्थिति, कोड भेजना, आँकड़े, प्रोफ़ाइल, संकेत, गेम में प्रवेश। पुराने (ASP.NET) और नए (REST) Encounter इंजन का स्वचालित पहचान के साथ समर्थन।
- **CLI `encli`**: प्राधिकरण, गेम, स्तर, बोनस, सेक्टर, संकेत, हिट लॉग, संदेश, कोड भेजने के लिए कमांड, साथ ही पूर्ण admin-कमांड सेट (स्तर, बोनस, सेक्टर, संकेत, कार्य बनाना/हटाना, गेम, टीम, समय समायोजन प्रबंधन)।
- **मॉक सर्वर `encx-mock`**: स्थानीय रूप से Encounter डोमेन का अनुकरण करता है, HTML से स्क्रिप्ट लोड करने, नेटवर्क हानि अनुकरण (PZDC कोड), Docker छवि का समर्थन करता है।
- **LLM एजेंट**: tool-calling के साथ अंतर्निहित PicoClaw — गेम स्थिति पढ़ता है, admin-कमांड कॉल करता है, विकिपीडिया में खोजता है, स्थानीय फ़ाइलें पढ़ता है। OpenRouter या स्थानीय llama.cpp मॉडल (yzma के माध्यम से, cgo के बिना) के साथ काम करता है।
- **वेब UI**: एजेंट के साथ चैट, डार्क थीम, LLM सेटिंग के साथ स्थानीय इंटरफ़ेस।
- **iOS**: gomobile रैपर `mobile/encxmobile`, Xcode के लिए `Encx.xcframework` बिल्ड।
- **PHP**: FFI के माध्यम से साझा लाइब्रेरी, क्लाइंट Go पक्ष पर रहता है।
## स्थापना
macOS, Linux, Windows के लिए तैयार बाइनरी Releases पृष्ठ पर उपलब्ध हैं। `go install` के माध्यम से भी स्थापित किया जा सकता है:
```sh
go install github.com/skrashevich/encx-cli/cmd/encli@latest
go install github.com/skrashevich/encx-cli/cmd/encx-mock@latest
```
या Docker के माध्यम से:
```sh
docker run --rm ghcr.io/skrashevich/encx-cli -v
docker run --rm ghcr.io/skrashevich/encx-cli games -domain tech.en.cx
```
## लाइब्रेरी उपयोग उदाहरण
```go
client := encx.New("tech.en.cx", encx.WithInsecureTLS())
resp, err := client.Login(ctx, "user", "password")
list, _ := client.GetGameList(ctx)
model, _ := client.GetGameModel(ctx, 12345)
result, _ := client.SendCode(ctx, 12345, model.Level.LevelId, model.Level.Number, "КОД123")
```
## CLI: विशिष्ट प्रवाह
```sh
encli login -domain tech.en.cx -insecure
encli games
encli status -game-id 12345
encli level -game-id 12345
encli send-code -game-id 12345 "КОД123"
```
## LLM एजेंट
```sh
export LLM_API_KEY=sk-or-v1-...
export LLM_MODEL=anthropic/claude-sonnet-4
encli -game-id 12345 --llm "बोनस और संकेतों के साथ 3 स्तर बनाएं"
encli -readonly -game-id 12345 --llm "सभी स्तरों की सामग्री दिखाएं"
```
यदि क्लाउड प्रदाता कॉन्फ़िगर नहीं है, तो एजेंट llama.cpp (मॉडल Qwen3-VL-2B-Instruct, ~1 GB) के माध्यम से स्थानीय रूप से चलता है।
## MCP
`agentmcp` पैकेज इंजन टूल कैटलॉग को MCP के माध्यम से बाहर प्रदान करता है:
```sh
encli mcp -domain tech.en.cx # केवल पढ़ना
encli mcp -domain tech.en.cx -security approve # म्यूटेशन क्लाइंट द्वारा अनुमोदित
```
## iOS और PHP
iOS के लिए gomobile रैपर और `Encx.xcframework` बिल्ड (स्क्रिप्ट `./mobile/bind-ios.sh`) है। PHP के लिए — Go स्रोत से उत्पन्न FFI रैपर के साथ साझा लाइब्रेरी।
## अतिरिक्त
- क्लाइंट विकल्प: TLS, HTTP, टाइमआउट, User-Agent, भाषा, इंजन, API बेस URL।
- API अनुरोध के माध्यम से इंजन (legacy/new) का स्वचालित पहचान।
- इंजन सेटिंग्स `~/.config/encli/engine/settings.json` में सहेजना।
- मॉक सर्वर `encounter.exe.xyz` पर सार्वजनिक डेमो का समर्थन करता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.