DashX-API / plugins /aimodel.js
HerzaJ's picture
Update plugins/aimodel.js
79b96bf verified
const axios = require('axios');
const { v4: uuidv4 } = require('uuid');
const models = {
'gpt-4o-mini': '25865',
'gpt-5-nano': '25871',
'gemini': '25874',
'deepseek': '25873',
'claude': '25875',
'grok': '25872',
'meta-ai': '25870',
'qwen': '25869'
};
async function aichat(question, model) {
let { data: html } = await axios.get(`https://px.nekolabs.my.id/${encodeURIComponent('https://chatgptfree.ai/')}`);
let nonce = html.data.content.match(/"nonce"\s*:\s*"([^&]+)"/);
if (!nonce) throw new Error('Nonce not found.');
let { data } = await axios.post(`https://px.nekolabs.my.id/${encodeURIComponent('https://chatgptfree.ai/wp-admin/admin-ajax.php')}`, new URLSearchParams({
action: 'aipkit_frontend_chat_message',
_ajax_nonce: nonce[1],
bot_id: models[model],
session_id: uuidv4(),
conversation_uuid: uuidv4(),
post_id: '6',
message: question
}).toString(), {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Origin': 'https://chatgptfree.ai',
'Referer': 'https://chatgptfree.ai/',
'User-Agent': 'Mozilla/5.0 (Linux; Android 15; SM-F958 Build/AP3A.240905.015) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.6723.86 Mobile Safari/537.36'
}
});
return data.data.content.data.reply;
}
const handler = async (req, res) => {
try {
const { text, model } = req.query;
if (!text) {
return res.status(400).json({
author: 'Herza',
success: false,
msg: 'Missing required parameter: text'
});
}
if (!model || !models[model]) {
return res.status(400).json({
author: 'Herza',
success: false,
msg: 'Invalid or missing model parameter',
available_models: Object.keys(models)
});
}
const result = await aichat(text, model);
res.json({
author: 'Herza',
success: true,
model: model,
msg: result.trim()
});
} catch (error) {
console.error('Error fetching from AI:', error);
res.status(500).json({
author: 'Herza',
success: false,
msg: error.message || 'Terjadi kesalahan saat menghubungi AI.'
});
}
};
module.exports = {
name: 'Model AI Chat',
description: 'Generate responses using multiple AI models, availabe models is Claude, gpt-4o-mini, gpt-5-nano, gemini, deepseek, grok, meta-ai, qwen',
type: 'GET',
routes: ['api/AI/chat'],
tags: ['ai', 'gpt', 'gemini', 'claude', 'deepseek'],
parameters: ['text', 'model', 'key'],
enabled: true,
main: ['AI'],
handler
};