LucasMod

hammer-ai

Nov 9th, 2025
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 3.23 KB | Source Code | 0 0
  1. const axios = require("axios");
  2.  
  3. /**
  4.  * HammerAI Chat Client
  5.  * Interagir com a API de chat da HammerAI e manter sessões de chat por usuário.
  6.  *
  7.  * List Model:
  8.  * - Sleepy : 312b3ce9-62dc-4e94-9a40-fb8f60c93ea1
  9.  * - Sarah: 4f2edc8d-2992-427f-93c2-849fc2d956de
  10.  * - Myra : deb86452-e27f-47d0-959d-98bdf53fac16
  11.  * - Aiko : c8bfad14-8529-4bf2-a359-b5dd067f2b3b
  12.  *
  13.  * @author synshin9
  14.  *
  15.  * @By: 𖧄 𝐋𝐔𝐂𝐀𝐒 𝐌𝐎𝐃 𝐃𝐎𝐌𝐈𝐍𝐀 𖧄
  16.  * Canal: https://whatsapp.com/channel/0029Vb69bDnAe5VmzSMwBH11
  17.  *
  18.  */
  19.  
  20. const sessions = new Map();
  21. const SESSION_TIMEOUT = 2 * 60 * 1000;
  22.  
  23. /**
  24.  * Envie uma mensagem para a HammerAI e receba uma resposta no chat.
  25.  *
  26.  * @param {string} userId - Identificador único para o usuário (e.g., WhatsApp ID, Telegram ID).
  27.  * @param {string} message - Texto de entrada do usuário para enviar à IA.
  28.  * @param {string} model - ID do personagem do modelo de IA no HammerAI.
  29.  * @returns {Promise<string>} - Mensagem de resposta da IA.
  30.  */
  31. async function hammerAI(userId, message, model) {
  32. const url = "https://www.hammerai.com/api/cloud/chat";
  33. if (!sessions.has(userId)) {
  34. sessions.set(userId, {
  35. messages: [
  36. {
  37. role: "system",
  38. content:
  39. "Você é um assistente de bate-papo com IA. Responda ao usuário de forma educada e prestativa.",
  40. },
  41. ],
  42. timeout: null,
  43. });
  44. }
  45. const session = sessions.get(userId);
  46. session.messages.push({ role: "user", content: message });
  47. if (session.timeout) clearTimeout(session.timeout);
  48. session.timeout = setTimeout(() => {
  49. sessions.delete(userId);
  50. console.log(`Sessão ${userId} expirou após 2 minutos de inatividade..`);
  51. }, SESSION_TIMEOUT);
  52. const payload = {
  53. authorId: "b081fd42-5c88-460a-8ccd-d801e882faf7",
  54. userId: "",
  55. licenseKey: "",
  56. generateChat: {
  57. quantizationKey: "vllm-mistralai/Mistral-Nemo-Instruct-2407",
  58. messages: session.messages,
  59. temperature: 0.8,
  60. topP: 0.9,
  61. topK: 30,
  62. nPredict: 256,
  63. repetitionPenalty: 1.1,
  64. contextSize: 4096,
  65. mlock: true,
  66. characterId: model,
  67. },
  68. };
  69. try {
  70. const { data } = await axios.post(url, payload, {
  71. headers: {
  72. "Content-Type": "text/plain;charset=UTF-8",
  73. "User-Agent":
  74. "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36",
  75. Origin: "https://www.hammerai.com",
  76. Referer: `https://www.hammerai.com/chat/${model}`,
  77. },
  78. });
  79. session.messages.push({ role: "assistant", content: data });
  80. return data;
  81. } catch (err) {
  82. return `Error: ${err.response?.status || err.message}`;
  83. }
  84. }
  85.  
  86. module.exports = { hammerAI }
  87.  
  88. /*
  89. EXEMPLO DE USO:
  90.  
  91. const { hammerAI } = require('./hammerai');
  92.  
  93. async function exemploUso() {
  94. try {
  95. const userId = "user-12345"; // ID único do usuário
  96. const message = "Olá, como você está?"; // Mensagem do usuário
  97. const model = "4f2edc8d-2992-427f-93c2-849fc2d956de"; // Modelo Sarah
  98. const resposta = await hammerAI(userId, message, model);
  99. console.log("Resposta do HammerAI:");
  100. console.log(resposta);
  101. } catch (error) {
  102. console.error("Erro na comunicação com HammerAI:", error);
  103. }
  104. }
  105. // exemploUso();
  106.  
  107. MODELOS DISPONÍVEIS:
  108. - Sleepy: 312b3ce9-62dc-4e94-9a40-fb8f60c93ea1
  109. - Sarah: 4f2edc8d-2992-427f-93c2-849fc2d956de
  110. - Myra: deb86452-e27f-47d0-959d-98bdf53fac16
  111. - Aiko: c8bfad14-8529-4bf2-a359-b5dd067f2b3b
  112. */
Advertisement
Add Comment
Please, Sign In to add comment