@geravant/sinain 1.23.6 → 1.24.0

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.
Files changed (2) hide show
  1. package/onboard.js +31 -0
  2. package/package.json +2 -2
package/onboard.js CHANGED
@@ -267,6 +267,37 @@ export async function runOnboard(args = {}) {
267
267
  }
268
268
  }
269
269
 
270
+ // If Ollama is installed, offer to pull a local LLM for paranoid-mode
271
+ // analysis. Mirrors the whisper download pattern — auto-acquire optional,
272
+ // user can `ollama pull <model>` manually later if they skip here.
273
+ let ollamaInstalled = false;
274
+ try {
275
+ execFileSync("ollama", ["--version"], { stdio: "ignore" });
276
+ ollamaInstalled = true;
277
+ } catch { /* ollama not on PATH */ }
278
+
279
+ if (ollamaInstalled) {
280
+ const pullOllama = guard(await p.confirm({
281
+ message: "Pull an Ollama model for paranoid-mode analysis (~4.7 GB for llava)?",
282
+ initialValue: true,
283
+ }));
284
+ if (pullOllama) {
285
+ const modelName = guard(await p.text({
286
+ message: "Ollama model to pull",
287
+ placeholder: "llava",
288
+ defaultValue: "llava",
289
+ }));
290
+ const s = p.spinner();
291
+ s.start(`Pulling ${modelName} via Ollama (this can take several minutes)...`);
292
+ try {
293
+ execFileSync("ollama", ["pull", modelName], { stdio: "inherit" });
294
+ s.stop(c.green(`Pulled ${modelName}.`));
295
+ } catch {
296
+ s.stop(c.yellow(`Pull failed. Run \`ollama pull ${modelName}\` manually later.`));
297
+ }
298
+ }
299
+ }
300
+
270
301
  // OpenClaw gateway is opt-in: most users run sinain in standalone mode
271
302
  // and never need a gateway. Default the prompt to "No" on fresh installs
272
303
  // (when no openclaw profile already exists) so accepting all wizard
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@geravant/sinain",
3
- "version": "1.23.6",
4
- "description": "Context OS — captures what you see and hear, distills it into a private knowledge graph for AI-powered work",
3
+ "version": "1.24.0",
4
+ "description": "Context OS — ambient intelligence for builders. Captures screen + audio, distills into a private knowledge graph, accessible from MCP, web UI, and HUD overlay.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "sinain": "./cli.js",