package main import ( "bufio" "bytes" "crypto/hmac" "crypto/rand" "crypto/sha256" "encoding/base64" "encoding/hex" "encoding/json" "errors" "fmt" "io" "net/http" "os" "strconv" "strings" "time" ) var ENCRYPTION_KEY = []byte("@sk=Rigel5729%2-diordnA") var MODEL_REGISTRY = []Model{ {ID: "xiaomi/mimo-v2.5", Name: "MiMo V2.5", Provider: "Xiaomi", Premium: false}, {ID: "xiaomi/mimo-v2-flash", Name: "MiMo V2 Flash", Provider: "Xiaomi", Premium: false}, {ID: "xiaomi/mimo-v2.5-pro", Name: "MiMo V2.5 Pro", Provider: "Xiaomi", Premium: true}, {ID: "deepseek/deepseek-v4-flash", Name: "DeepSeek v4 Flash", Provider: "DeepSeek", Premium: false}, {ID: "deepseek/deepseek-v4-pro", Name: "DeepSeek v4 Pro", Provider: "DeepSeek", Premium: true}, {ID: "deepseek/deepseek-v3.2", Name: "DeepSeek v3.2", Provider: "DeepSeek", Premium: true}, {ID: "deepseek/deepseek-v3.2-speciale", Name: "DeepSeek v3.2 Speciale", Provider: "DeepSeek", Premium: true}, {ID: "deepseek/deepseek-v3.2-exp", Name: "DeepSeek v3.2 Exp", Provider: "DeepSeek", Premium: true}, {ID: "deepseek/deepseek-v3.1-terminus", Name: "DeepSeek v3.1 Terminus", Provider: "DeepSeek", Premium: true}, {ID: "deepseek/deepseek-chat-v3.1", Name: "DeepSeek v3.1 Chat", Provider: "DeepSeek", Premium: true}, {ID: "google/gemini-2.5-flash-lite", Name: "Gemini 2.5 Flash Lite", Provider: "Google", Premium: false}, {ID: "google/gemini-3.1-flash-lite-preview", Name: "Gemini 3.1 Flash Lite", Provider: "Google", Premium: true}, {ID: "google/gemma-4-26b-a4b-it", Name: "Gemma 4 26B", Provider: "Google", Premium: false}, {ID: "google/gemma-4-31b-it", Name: "Gemma 4 31B", Provider: "Google", Premium: false}, {ID: "google/gemma-3-27b-it", Name: "Gemma 3 27B", Provider: "Google", Premium: false}, {ID: "google/gemma-3-12b-it", Name: "Gemma 3 12B", Provider: "Google", Premium: false}, {ID: "openai/gpt-5.4-nano", Name: "GPT-5.4 Nano", Provider: "OpenAI", Premium: true}, {ID: "openai/gpt-5-nano", Name: "GPT-5 Nano", Provider: "OpenAI", Premium: true}, {ID: "openai/gpt-4.1-nano", Name: "GPT-4.1 Nano", Provider: "OpenAI", Premium: true}, {ID: "openai/gpt-oss-120b", Name: "GPT OSS 120B", Provider: "OpenAI", Premium: false}, {ID: "openai/gpt-oss-20b", Name: "GPT OSS 20B", Provider: "OpenAI", Premium: false}, {ID: "z-ai/glm-4.7-flash", Name: "GLM 4.7 Flash", Provider: "Z.AI", Premium: false}, {ID: "z-ai/glm-4.7", Name: "GLM 4.7", Provider: "Z.AI", Premium: true}, {ID: "z-ai/glm-4.6", Name: "GLM 4.6", Provider: "Z.AI", Premium: true}, {ID: "z-ai/glm-4.5", Name: "GLM 4.5", Provider: "Z.AI", Premium: true}, {ID: "minimax/minimax-m3", Name: "MiniMax M3", Provider: "MiniMax", Premium: true}, {ID: "minimax/minimax-m2.7", Name: "MiniMax M2.7", Provider: "MiniMax", Premium: true}, {ID: "minimax/minimax-m2.5", Name: "MiniMax M2.5", Provider: "MiniMax", Premium: true}, {ID: "minimax/minimax-m2.1", Name: "MiniMax M2.1", Provider: "MiniMax", Premium: true}, {ID: "minimax/minimax-m2-her", Name: "MiniMax M2-her", Provider: "MiniMax", Premium: true}, {ID: "minimax/minimax-m2", Name: "MiniMax M2", Provider: "MiniMax", Premium: true}, {ID: "ibm-granite/granite-4.1-8b", Name: "Granite 4.1 8B", Provider: "IBM", Premium: false}, {ID: "ibm-granite/granite-4.0-h-micro", Name: "Granite 4 Micro", Provider: "IBM", Premium: false}, {ID: "inclusionai/ling-2.6-flash", Name: "Ling 2.6 Flash", Provider: "InclusionAI", Premium: false}, {ID: "inclusionai/ring-2.6-1t", Name: "Ring 2.6 1T", Provider: "InclusionAI", Premium: true}, {ID: "tencent/hy3-preview", Name: "Hy3 Preview", Provider: "Tencent", Premium: true}, {ID: "tencent/hunyuan-a13b-instruct", Name: "Hunyuan A13B Instruct", Provider: "Tencent", Premium: true}, {ID: "qwen/qwen3.6-35b-a3b", Name: "Qwen3.6 35B", Provider: "Qwen", Premium: true}, {ID: "stepfun/step-3.7-flash", Name: "Step 3.7 Flash", Provider: "StepFun", Premium: true}, {ID: "baidu/ernie-4.5-21b-a3b", Name: "ERNIE-4.5 21B", Provider: "Baidu", Premium: true}, {ID: "alibaba/tongyi-deepresearch-30b-a3b", Name: "Tongyi Deep Research 30B", Provider: "Alibaba", Premium: true}, {ID: "meituan/longcat-flash-chat", Name: "Longcat Flash Chat", Provider: "Meituan", Premium: true}, {ID: "bytedance-seed/seed-2.0-mini", Name: "Seed 2.0 mini", Provider: "ByteDance", Premium: true}, {ID: "mistralai/mistral-small-2603", Name: "Mistral 4 Small", Provider: "MistralAI", Premium: true}, {ID: "rekaai/reka-edge", Name: "Reka Edge", Provider: "RekaAI", Premium: true}, {ID: "inception/mercury-2", Name: "Mercury 2", Provider: "Inception", Premium: true}, } type Model struct { ID string `json:"id"` Name string `json:"name"` Provider string `json:"provider"` Premium bool `json:"premium"` } type Message struct { Role string `json:"role"` Content string `json:"content"` } type Payload struct { Package string `json:"package"` UUID string `json:"uuid"` Edition string `json:"edition"` Subscription string `json:"subscription"` OrderID string `json:"order_id"` LastPurchaseDate string `json:"last_purchase_date"` AIModel string `json:"ai_model"` Messages []Message `json:"messages"` TokenUsage int `json:"token_usage"` ThreadCharCount int `json:"thread_char_count"` IsPremium bool `json:"is_premium"` CurrentLanguage string `json:"current_language"` AppVersion string `json:"app_version"` RequestDate string `json:"request_date"` RequestTime int64 `json:"request_time"` FirstInstall int64 `json:"first_install"` Version string `json:"version"` SessionRequests int `json:"session_requests"` CurrentSessionAds int `json:"current_session_ads"` AndroidID string `json:"android_id"` HwFp string `json:"hw_fp"` IsRooted bool `json:"is_rooted"` IsEmulator bool `json:"is_emulator"` TZ string `json:"tz"` Currency string `json:"currency"` Country string `json:"country"` GPAID string `json:"gpa_id"` Extra string `json:"extra"` } type ChatResponse struct { Response string `json:"response"` Model string `json:"model"` Messages []Message `json:"messages"` } type ErrorResponse struct { Success bool `json:"success"` Message string `json:"message"` } type MimoCrypto struct{} func (MimoCrypto) Obfuscate(text string) string { if text == "" { return "" } inputBytes := []byte(text) xorBytes := make([]byte, len(inputBytes)) for i := 0; i < len(inputBytes); i++ { xorBytes[i] = inputBytes[i] ^ ENCRYPTION_KEY[i%len(ENCRYPTION_KEY)] } return base64.StdEncoding.EncodeToString(xorBytes) + "\n" } func (MimoCrypto) SignRequest(rawJson string, timestamp string) string { h := hmac.New(sha256.New, ENCRYPTION_KEY) h.Write([]byte(rawJson + ":" + timestamp)) return base64.StdEncoding.EncodeToString(h.Sum(nil)) } func (MimoCrypto) MakeUUID(installTime int64, edition string) string { if edition == "" { edition = "full_edition" } bytes := make([]byte, 16) rand.Read(bytes) hexStr := hex.EncodeToString(bytes) parts := []string{ hexStr[0:8], hexStr[8:12], hexStr[12:16], hexStr[16:20], hexStr[20:32], } uuidFormat := strings.Join(parts, "-") return fmt.Sprintf("user_fi-%d_uu-%s_pa-mimo_ed-%s_apv-3_anv-android__14__API__34)", installTime, uuidFormat, edition) } func RandomHex(length int) string { bytes := make([]byte, length) rand.Read(bytes) return hex.EncodeToString(bytes) } type MimoAI struct { UserAgent string DefaultModel string Crypto MimoCrypto } func NewMimoAI(config map[string]string) *MimoAI { ua := "Neo/1.0" model := "xiaomi/mimo-v2.5-pro" if val, ok := config["userAgent"]; ok { ua = val } if val, ok := config["defaultModel"]; ok { model = val } return &MimoAI{ UserAgent: ua, DefaultModel: model, Crypto: MimoCrypto{}, } } func (c *MimoAI) FetchModels() ([]Model, error) { client := &http.Client{Timeout: 5 * time.Second} req, err := http.NewRequest("GET", "https://apps.clemy.top/ai/mimo/models.json", nil) if err != nil { return MODEL_REGISTRY, err } req.Header.Set("User-Agent", c.UserAgent) resp, err := client.Do(req) if err != nil { return MODEL_REGISTRY, nil } defer resp.Body.Close() var data struct { Models []Model `json:"models"` } if err := json.NewDecoder(resp.Body).Decode(&data); err != nil { return MODEL_REGISTRY, nil } if len(data.Models) > 0 { return data.Models, nil } return MODEL_REGISTRY, nil } func (c *MimoAI) SendMessage(params map[string]interface{}) (*ChatResponse, error) { prompt, _ := params["prompt"].(string) messages, _ := params["messages"].([]Message) model, _ := params["model"].(string) onStream, _ := params["onStream"].(func(string)) if model == "" { model = c.DefaultModel } currentTime := time.Now().UnixMilli() installedTime := currentTime - 86400000 conversationHistory := messages if prompt != "" { conversationHistory = append(conversationHistory, Message{Role: "user", Content: prompt}) } charCount := 0 for _, msg := range conversationHistory { charCount += len(msg.Content) } payload := Payload{ Package: c.Crypto.Obfuscate("info.camposha.mimo"), UUID: c.Crypto.Obfuscate(c.Crypto.MakeUUID(installedTime, "full_edition")), Edition: c.Crypto.Obfuscate("full_edition"), Subscription: c.Crypto.Obfuscate("monthly"), OrderID: "GPA.3312-4567-8901-23456", LastPurchaseDate: "2026-08-01", AIModel: c.Crypto.Obfuscate(model), Messages: conversationHistory, TokenUsage: 0, ThreadCharCount: charCount, IsPremium: true, CurrentLanguage: c.Crypto.Obfuscate("in"), AppVersion: c.Crypto.Obfuscate("3"), RequestDate: c.Crypto.Obfuscate(time.Now().Format("2006-01-02")), RequestTime: currentTime, FirstInstall: installedTime, Version: c.Crypto.Obfuscate("android__14__API__34)"), SessionRequests: 1, CurrentSessionAds: 0, AndroidID: c.Crypto.Obfuscate(RandomHex(8)), HwFp: c.Crypto.Obfuscate(RandomHex(16)), IsRooted: false, IsEmulator: false, TZ: c.Crypto.Obfuscate("Asia/Jakarta"), Currency: c.Crypto.Obfuscate("IDR"), Country: c.Crypto.Obfuscate("ID"), GPAID: "GPA.3312-4567-8901-23456", Extra: "", } payloadJson, err := json.Marshal(payload) if err != nil { return nil, err } payloadStr := string(payloadJson) timestampStr := strconv.FormatInt(currentTime, 10) signature := c.Crypto.SignRequest(payloadStr, timestampStr) client := &http.Client{} req, err := http.NewRequest("POST", "https://aiv1.clemy.top/chat-completion-stream", bytes.NewBuffer(payloadJson)) if err != nil { return nil, err } req.Header.Set("Accept", "text/event-stream") req.Header.Set("Content-Type", "application/json; charset=utf-8") req.Header.Set("X-Signature", signature) req.Header.Set("X-Timestamp", timestampStr) req.Header.Set("User-Agent", c.UserAgent) resp, err := client.Do(req) if err != nil { return nil, err } defer resp.Body.Close() fullText := "" reader := bufio.NewReader(resp.Body) for { line, err := reader.ReadString('\n') if err != nil { if err == io.EOF { break } return nil, err } line = strings.TrimSpace(line) if strings.HasPrefix(line, "data: ") { dataStr := strings.TrimPrefix(line, "data: ") if dataStr == "[DONE]" { continue } var parsedData struct { Choices []struct { Delta struct { Content string `json:"content"` } `json:"delta"` } `json:"choices"` } if err := json.Unmarshal([]byte(dataStr), &parsedData); err != nil { continue } if len(parsedData.Choices) > 0 { deltaContent := parsedData.Choices[0].Delta.Content if deltaContent != "" { fullText += deltaContent if onStream != nil { onStream(deltaContent) } } } } } finalReply := strings.TrimSpace(fullText) conversationHistory = append(conversationHistory, Message{Role: "assistant", Content: finalReply}) return &ChatResponse{ Response: finalReply, Model: model, Messages: conversationHistory, }, nil } func runDemo() { config := map[string]string{ "userAgent": "Neo/1.0", "defaultModel": "xiaomi/mimo-v2.5-pro", } client := NewMimoAI(config) fmt.Println("=== MEMULAI TEST MIMO AI ===") fmt.Println("\n-> Pesan 1 [MiMo V2.5 PRO] (Streaming):") fmt.Print("Bot: ") result1, err := client.SendMessage(map[string]interface{}{ "prompt": "halo! siapa namamu dan siapa pembuatmu? jawab singkat aja", "model": "xiaomi/mimo-v2.5-pro", "onStream": func(chunk string) { fmt.Print(chunk) }, }) if err != nil { fmt.Printf("\nError: %v\n", err) return } fmt.Println("\n") fmt.Println("-> Pesan 2 [DeepSeek v4 PRO] (Streaming And Konteks):") fmt.Print("Bot: ") result2, err := client.SendMessage(map[string]interface{}{ "prompt": "bagus, sekarang buatkan satu baris pantun jenaka berdasarkan jawabanmu tadi", "messages": result1.Messages, "model": "deepseek/deepseek-v4-pro", "onStream": func(chunk string) { fmt.Print(chunk) }, }) if err != nil { fmt.Printf("\nError: %v\n", err) return } fmt.Println("\n") fmt.Println("=== TEST COMPLETE ===") } func main() { args := os.Args[1:] if len(args) > 0 { prompt := strings.Join(args, " ") config := map[string]string{ "userAgent": "Neo/1.0", "defaultModel": "xiaomi/mimo-v2.5-pro", } client := NewMimoAI(config) fmt.Printf("Prompt: %s\n", prompt) fmt.Print("Response: ") result, err := client.SendMessage(map[string]interface{}{ "prompt": prompt, "onStream": func(chunk string) { fmt.Print(chunk) }, }) if err != nil { fmt.Printf("\nError: %v\n", err) errorResp := ErrorResponse{ Success: false, Message: err.Error(), } json.NewEncoder(os.Stdout).Encode(errorResp) os.Exit(1) } fmt.Println("\n") json.NewEncoder(os.Stdout).Encode(result) } else { runDemo() } }