mundogiru-agent 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -95,6 +95,14 @@ export function defaultModelFor(provider) {
95
95
  return "llama-3.3-70b-versatile";
96
96
  case "ollama":
97
97
  return "llama3.2";
98
+ case "opencode-go":
99
+ return "kimi-k2.6";
100
+ case "openrouter":
101
+ return "openai/gpt-4o-mini";
102
+ case "minimax":
103
+ return "MiniMax-M1";
104
+ case "deepseek":
105
+ return "deepseek-chat";
98
106
  }
99
107
  }
100
108
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
package/dist/core/llm.js CHANGED
@@ -77,65 +77,73 @@ class OpenAIStyleClient {
77
77
  this.baseUrl = baseUrl;
78
78
  }
79
79
  async chat(messages) {
80
- const res = await fetch(`${this.baseUrl}/chat/completions`, {
81
- method: "POST",
82
- headers: {
83
- "content-type": "application/json",
84
- authorization: `Bearer ${this.apiKey}`,
85
- },
86
- body: JSON.stringify({
87
- model: this.model,
88
- messages: messages.map((m) => ({ role: m.role, content: m.content })),
89
- max_tokens: 1024,
90
- }),
91
- });
80
+ const url = `${this.baseUrl}/chat/completions`;
81
+ let res;
82
+ try {
83
+ res = await fetch(url, {
84
+ method: "POST",
85
+ headers: {
86
+ "content-type": "application/json",
87
+ authorization: `Bearer ${this.apiKey}`,
88
+ },
89
+ body: JSON.stringify({
90
+ model: this.model,
91
+ messages: messages.map((m) => ({ role: m.role, content: m.content })),
92
+ max_tokens: 1024,
93
+ }),
94
+ });
95
+ }
96
+ catch (err) {
97
+ console.error(`[LLM ${this.provider}] network error → ${url}:`, err);
98
+ throw new HttpError(0, `${this.provider} network error: ${err.message}`);
99
+ }
100
+ const bodyText = await res.text();
92
101
  if (!res.ok) {
93
- throw new HttpError(res.status, `${this.provider} ${res.status}: ${await res.text()}`);
102
+ console.error(`[LLM ${this.provider}] HTTP ${res.status} ${url}\n${bodyText}`);
103
+ throw new HttpError(res.status, `${this.provider} ${res.status}: ${bodyText}`);
104
+ }
105
+ let json;
106
+ try {
107
+ json = JSON.parse(bodyText);
108
+ }
109
+ catch {
110
+ console.error(`[LLM ${this.provider}] non-JSON response from ${url}: ${bodyText.slice(0, 300)}`);
111
+ throw new HttpError(res.status, `${this.provider} respondió ${res.status} pero el body no es JSON. ` +
112
+ `Verifica que el endpoint sea correcto. Cuerpo: "${bodyText.slice(0, 120)}"`);
94
113
  }
95
- const json = (await res.json());
96
114
  return {
97
- content: json.choices[0]?.message.content ?? "",
115
+ content: json.choices?.[0]?.message?.content ?? "",
98
116
  totalTokens: json.usage?.total_tokens,
99
117
  };
100
118
  }
101
119
  }
102
- // ---------- Ollama (local, sin API key) ----------
103
- class OllamaClient {
104
- model;
105
- baseUrl;
106
- provider = "ollama";
107
- constructor(model, baseUrl) {
108
- this.model = model;
109
- this.baseUrl = baseUrl;
110
- }
111
- async chat(messages) {
112
- const res = await fetch(`${this.baseUrl.replace(/\/$/, "")}/api/chat`, {
113
- method: "POST",
114
- headers: { "content-type": "application/json" },
115
- body: JSON.stringify({
116
- model: this.model,
117
- stream: false,
118
- messages: messages.map((m) => ({ role: m.role, content: m.content })),
119
- }),
120
- });
121
- if (!res.ok) {
122
- throw new HttpError(res.status, `Ollama ${res.status}: ${await res.text()}`);
123
- }
124
- const json = (await res.json());
125
- return { content: json.message?.content ?? "" };
126
- }
127
- }
128
120
  // ---------- factoría ----------
121
+ const PROVIDER_ENDPOINTS = {
122
+ openai: "https://api.openai.com/v1",
123
+ groq: "https://api.groq.com/openai/v1",
124
+ "opencode-go": "https://opencode.ai/zen/go/v1",
125
+ openrouter: "https://openrouter.ai/api/v1",
126
+ minimax: "https://api.minimax.chat/v1",
127
+ deepseek: "https://api.deepseek.com/v1",
128
+ };
129
129
  export function buildLLMClient(config) {
130
130
  switch (config.llmProvider) {
131
131
  case "anthropic":
132
132
  return new AnthropicClient(config.llmModel, config.apiKey);
133
+ case "ollama": {
134
+ // Ollama expone API OpenAI-compatible en /v1. No requiere API key real
135
+ // (acepta cualquier string como bearer).
136
+ const base = (config.ollamaBaseUrl ?? "http://localhost:11434").replace(/\/$/, "");
137
+ const baseUrl = base.endsWith("/v1") ? base : `${base}/v1`;
138
+ return new OpenAIStyleClient("ollama", config.llmModel, config.apiKey || "ollama", baseUrl);
139
+ }
133
140
  case "openai":
134
- return new OpenAIStyleClient("openai", config.llmModel, config.apiKey, "https://api.openai.com/v1");
135
141
  case "groq":
136
- return new OpenAIStyleClient("groq", config.llmModel, config.apiKey, "https://api.groq.com/openai/v1");
137
- case "ollama":
138
- return new OllamaClient(config.llmModel, config.ollamaBaseUrl ?? "http://localhost:11434");
142
+ case "opencode-go":
143
+ case "openrouter":
144
+ case "minimax":
145
+ case "deepseek":
146
+ return new OpenAIStyleClient(config.llmProvider, config.llmModel, config.apiKey, PROVIDER_ENDPOINTS[config.llmProvider]);
139
147
  }
140
148
  }
141
149
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/core/llm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/core/llm.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -123,19 +123,30 @@ export async function buildServer() {
123
123
  role: row.role,
124
124
  content: row.content,
125
125
  }));
126
- const result = await state.registry.run({
127
- db,
128
- llm: state.llm,
129
- config: state.config,
130
- userMessage: message,
131
- history,
132
- });
133
- // memory-recall skill no persiste turnos; lo persistimos aquí para mantenerlos en historial.
134
- if (result.skill !== "chat") {
135
- appendChatMessage(db, "user", message);
136
- appendChatMessage(db, "assistant", result.reply);
126
+ try {
127
+ const result = await state.registry.run({
128
+ db,
129
+ llm: state.llm,
130
+ config: state.config,
131
+ userMessage: message,
132
+ history,
133
+ });
134
+ // memory-recall skill no persiste turnos; lo persistimos aquí para mantenerlos en historial.
135
+ if (result.skill !== "chat") {
136
+ appendChatMessage(db, "user", message);
137
+ appendChatMessage(db, "assistant", result.reply);
138
+ }
139
+ return { reply: result.reply, skill: result.skill };
140
+ }
141
+ catch (err) {
142
+ const e = err;
143
+ console.error("[/api/chat] LLM call failed:", e);
144
+ return reply.code(502).send({
145
+ error: `El motor de IA falló: ${e.message}`,
146
+ provider: state.config.llmProvider,
147
+ model: state.config.llmModel,
148
+ });
137
149
  }
138
- return { reply: result.reply, skill: result.skill };
139
150
  });
140
151
  app.get("/api/memory/proposals", async () => {
141
152
  const db = getDb();
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mundogiru-agent",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Agente IA local Mundo G.I.R.U — para usuarios no técnicos. npx mundogiru-agent.",
5
5
  "license": "MIT",
6
6
  "author": "iaflashelite.com",
@@ -30,10 +30,12 @@ input:focus, select:focus { border-color:var(--accent); }
30
30
  .btn-ghost { background:transparent; color:var(--fg); }
31
31
  .btn-ghost:hover { background:#0b1220; }
32
32
  .row { display:flex; justify-content:space-between; align-items:center; margin-top:24px; }
33
- .providers { display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; margin-top:8px; }
33
+ .providers { display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; margin:6px 0 18px; }
34
34
  .provider-pill { padding:14px; background:#0b1220; border:1px solid var(--border);
35
- border-radius:10px; text-align:center; cursor:pointer; font-weight:600; }
35
+ border-radius:10px; text-align:center; cursor:pointer; font-weight:600; font-size:14px; }
36
36
  .provider-pill.active { border-color:var(--accent); color:var(--accent); }
37
+ .section-title { font-size:13px; font-weight:700; margin-top:16px; }
38
+ .section-desc { font-size:12px; color:var(--muted); margin-bottom:6px; }
37
39
  .error { color:#f87171; font-size:13px; margin-top:10px; min-height:18px; }
38
40
  .success { padding:14px; background:#064e3b; border:1px solid #10b981; border-radius:10px;
39
41
  color:#a7f3d0; margin-top:8px; }
@@ -6,20 +6,69 @@
6
6
  const state = {
7
7
  step: 0,
8
8
  userName: "",
9
- llmProvider: "anthropic",
10
- llmModel: "",
9
+ llmProvider: "opencode-go",
10
+ llmModel: "kimi-k2.6",
11
11
  apiKey: "",
12
12
  ollamaBaseUrl: "http://localhost:11434",
13
13
  agentName: "Mundo",
14
14
  };
15
15
 
16
+ // section: subscription | api | local
16
17
  const PROVIDERS = [
17
- { id: "anthropic", label: "Anthropic (Claude)", defaultModel: "claude-sonnet-4-6", needsKey: true },
18
- { id: "openai", label: "OpenAI (GPT)", defaultModel: "gpt-4o-mini", needsKey: true },
19
- { id: "groq", label: "Groq (Llama rápido)", defaultModel: "llama-3.3-70b-versatile", needsKey: true },
20
- { id: "ollama", label: "Ollama (local, gratis)", defaultModel: "llama3.2", needsKey: false },
18
+ {
19
+ id: "opencode-go", label: "OpenCode Go", section: "subscription",
20
+ models: ["kimi-k2.6", "kimi-k2"], needsKey: true,
21
+ help: "Suscripción mensual. Consigue tu key en opencode.ai/go.",
22
+ },
23
+ {
24
+ id: "openrouter", label: "OpenRouter", section: "subscription",
25
+ models: ["openai/gpt-4o-mini", "anthropic/claude-3.5-sonnet", "meta-llama/llama-3.3-70b-instruct"],
26
+ needsKey: true,
27
+ help: "Suscripción/pago por uso. Consigue tu key en openrouter.ai/keys.",
28
+ },
29
+ {
30
+ id: "minimax", label: "MiniMax", section: "api",
31
+ models: ["MiniMax-M1", "abab6.5-chat"], needsKey: true,
32
+ help: "Pago por uso. Consigue tu key en api.minimax.chat → consola.",
33
+ },
34
+ {
35
+ id: "deepseek", label: "DeepSeek", section: "api",
36
+ models: ["deepseek-chat", "deepseek-reasoner"], needsKey: true,
37
+ help: "Pago por uso. Consigue tu key en platform.deepseek.com/api_keys.",
38
+ },
39
+ {
40
+ id: "anthropic", label: "Anthropic (Claude)", section: "api",
41
+ models: ["claude-sonnet-4-6", "claude-opus-4-6", "claude-haiku-4-5"], needsKey: true,
42
+ help: "Pago por uso. Consigue tu key en console.anthropic.com → API Keys.",
43
+ },
44
+ {
45
+ id: "openai", label: "OpenAI (GPT)", section: "api",
46
+ models: ["gpt-4o-mini", "gpt-4o", "gpt-4-turbo"], needsKey: true,
47
+ help: "Pago por uso. Consigue tu key en platform.openai.com/api-keys.",
48
+ },
49
+ {
50
+ id: "groq", label: "Groq (Llama rápido)", section: "api",
51
+ models: ["llama-3.3-70b-versatile", "llama-3.1-8b-instant", "mixtral-8x7b-32768"],
52
+ needsKey: true,
53
+ help: "Pago por uso (free tier amplio). Consigue tu key en console.groq.com/keys.",
54
+ },
55
+ {
56
+ id: "ollama", label: "Ollama (local, gratis)", section: "local",
57
+ models: ["llama3.2", "llama3.1", "mistral", "phi3"], needsKey: false,
58
+ help: "100% gratis. Requiere tener Ollama instalado (ollama.com/download).",
59
+ },
21
60
  ];
22
61
 
62
+ const SECTION_META = {
63
+ subscription: { title: "💳 Suscripción mensual", desc: "Una cuota fija al mes." },
64
+ api: { title: "🔑 Pago por uso (API key)", desc: "Pagas solo lo que consumes." },
65
+ local: { title: "🖥️ Local gratis", desc: "Corre en tu Mac. Cero coste, sin internet." },
66
+ };
67
+
68
+ function currentProvider() {
69
+ return PROVIDERS.find(function (p) { return p.id === state.llmProvider; });
70
+ }
71
+
23
72
  const root = document.getElementById("container");
24
73
 
25
74
  function render() {
@@ -64,29 +113,47 @@
64
113
  }
65
114
 
66
115
  function renderStep1() {
67
- const pills = PROVIDERS.map(function (p) {
68
- const cls = p.id === state.llmProvider ? "provider-pill active" : "provider-pill";
69
- return `<div class="${cls}" data-id="${p.id}">${p.label}</div>`;
116
+ function pillsForSection(section) {
117
+ return PROVIDERS
118
+ .filter(function (p) { return p.section === section; })
119
+ .map(function (p) {
120
+ const cls = p.id === state.llmProvider ? "provider-pill active" : "provider-pill";
121
+ return `<div class="${cls}" data-id="${p.id}">${p.label}</div>`;
122
+ }).join("");
123
+ }
124
+ function sectionBlock(key) {
125
+ const meta = SECTION_META[key];
126
+ return `
127
+ <div class="section-title">${meta.title}</div>
128
+ <div class="section-desc">${meta.desc}</div>
129
+ <div class="providers">${pillsForSection(key)}</div>
130
+ `;
131
+ }
132
+ const current = currentProvider();
133
+ const modelOptions = current.models.map(function (m) {
134
+ const sel = m === state.llmModel ? " selected" : "";
135
+ return `<option value="${m}"${sel}>${m}</option>`;
70
136
  }).join("");
71
- const current = PROVIDERS.find(function (p) { return p.id === state.llmProvider; });
72
- const needsKey = current.needsKey;
73
- const ollamaInput = !needsKey ? `
137
+ const ollamaInput = !current.needsKey ? `
74
138
  <label>URL de Ollama</label>
75
139
  <input id="ollamaBaseUrl" value="${state.ollamaBaseUrl}" />
76
- <div class="hint">Por defecto Ollama escucha en http://localhost:11434.</div>
140
+ <div class="hint">Ollama suele escuchar en http://localhost:11434. Usamos la API compatible OpenAI (/v1).</div>
77
141
  ` : "";
78
- const keyInput = needsKey ? `
142
+ const keyInput = current.needsKey ? `
79
143
  <label>API key</label>
80
144
  <input id="apiKey" type="password" placeholder="sk-..." value="${state.apiKey}" />
81
- <div class="hint">La key se cifra antes de guardarse en disco.</div>
82
- ` : "";
145
+ <div class="hint">${current.help} La key se cifra antes de guardarse en disco.</div>
146
+ ` : `<div class="hint">${current.help}</div>`;
147
+
83
148
  root.innerHTML = `
84
149
  <div class="step-tag">Paso 2 de 4</div>
85
150
  <h1>Elige tu motor de IA</h1>
86
- <p class="muted">Puedes cambiarlo más tarde.</p>
87
- <div class="providers">${pills}</div>
151
+ <p class="muted">Puedes cambiarlo más tarde desde el chat.</p>
152
+ ${sectionBlock("subscription")}
153
+ ${sectionBlock("api")}
154
+ ${sectionBlock("local")}
88
155
  <label>Modelo</label>
89
- <input id="llmModel" value="${state.llmModel || current.defaultModel}" />
156
+ <select id="llmModel">${modelOptions}</select>
90
157
  ${keyInput}${ollamaInput}
91
158
  <div class="error" id="error"></div>
92
159
  <div class="row">
@@ -97,15 +164,14 @@
97
164
  document.querySelectorAll(".provider-pill").forEach(function (el) {
98
165
  el.onclick = function () {
99
166
  state.llmProvider = el.getAttribute("data-id");
100
- const p = PROVIDERS.find(function (x) { return x.id === state.llmProvider; });
101
- state.llmModel = p.defaultModel;
167
+ state.llmModel = currentProvider().models[0];
102
168
  render();
103
169
  };
104
170
  });
105
171
  document.getElementById("back").onclick = function () { state.step = 0; render(); };
106
172
  document.getElementById("next").onclick = function () {
107
- const provider = PROVIDERS.find(function (p) { return p.id === state.llmProvider; });
108
- state.llmModel = document.getElementById("llmModel").value.trim() || provider.defaultModel;
173
+ const provider = currentProvider();
174
+ state.llmModel = document.getElementById("llmModel").value || provider.models[0];
109
175
  if (provider.needsKey) {
110
176
  const key = document.getElementById("apiKey").value.trim();
111
177
  if (!key) return showError("Falta la API key.");