open-agents-ai 0.69.0 → 0.69.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.
Files changed (3) hide show
  1. package/README.md +47 -0
  2. package/dist/index.js +39 -10
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -27,6 +27,53 @@ npm i -g open-agents-ai && oa
27
27
 
28
28
  An autonomous multi-turn tool-calling agent that reads your code, makes changes, runs tests, and fixes failures in an iterative loop until the task is complete. First launch auto-detects your hardware and configures the optimal model with expanded context window automatically.
29
29
 
30
+ ### Support Development
31
+
32
+ If you like this repository — whether you're an agent or a human — if this expands your consciousness and capabilities, please consider donating to support further development and of course token costs.
33
+
34
+ <table>
35
+ <tr>
36
+ <td align="center"><img src="https://cryptologos.cc/logos/ethereum-eth-logo.svg" width="20" height="20" alt="ETH" /> <strong>ETH</strong></td>
37
+ <td>
38
+
39
+ ```
40
+ 0x81Ce81F0B6B5928E15d3a2850F913C88D07051ec
41
+ ```
42
+
43
+ </td>
44
+ </tr>
45
+ <tr>
46
+ <td align="center"><img src="https://cryptologos.cc/logos/bitcoin-btc-logo.svg" width="20" height="20" alt="BTC" /> <strong>BTC</strong></td>
47
+ <td>
48
+
49
+ ```
50
+ bc1qlptj5wz8xj6dp5w4pw62s5kt7ct6w8k57w39ak
51
+ ```
52
+
53
+ </td>
54
+ </tr>
55
+ <tr>
56
+ <td align="center"><img src="https://cryptologos.cc/logos/solana-sol-logo.svg" width="20" height="20" alt="SOL" /> <strong>SOL</strong></td>
57
+ <td>
58
+
59
+ ```
60
+ D8AgCTrxpDKD5meJ2bpAfVwcST3NF3EPuy9xczYycnXn
61
+ ```
62
+
63
+ </td>
64
+ </tr>
65
+ <tr>
66
+ <td align="center"><img src="https://cryptologos.cc/logos/polygon-matic-logo.svg" width="20" height="20" alt="POL" /> <strong>POL</strong></td>
67
+ <td>
68
+
69
+ ```
70
+ 0x81Ce81F0B6B5928E15d3a2850F913C88D07051ec
71
+ ```
72
+
73
+ </td>
74
+ </tr>
75
+ </table>
76
+
30
77
  ## Features
31
78
 
32
79
  - **51 autonomous tools** — file I/O, shell, grep, web search/fetch/crawl, memory (read/write/search), sub-agents, background tasks, image/OCR/PDF, git, diagnostics, vision, desktop automation, browser automation, temporal agency (scheduler/reminders/agenda), structured files, code sandbox, transcription, skills
package/dist/index.js CHANGED
@@ -25204,27 +25204,56 @@ async function doSetup(config, rl) {
25204
25204
  `);
25205
25205
  }
25206
25206
  const score = computeInferenceScore(specs);
25207
+ const w = 24;
25208
+ const bw = 30;
25207
25209
  process.stdout.write(`
25208
- ${c2.bold("Inference Capability Score")}
25210
+ ${c2.dim("\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510")}
25209
25211
  `);
25210
- process.stdout.write(` ${renderScoreBar(score.overall)} ${c2.bold(String(score.overall))}${c2.dim("/100")}
25212
+ process.stdout.write(` ${c2.dim("\u2502")} ${c2.bold(" Inference Capability")} ${c2.dim("\u2502")}
25211
25213
  `);
25212
- process.stdout.write(` ${c2.dim("Memory:")} ${renderScoreBar(score.memory, 15)} ${score.memory} `);
25213
- process.stdout.write(`${c2.dim("Compute:")} ${renderScoreBar(score.compute, 15)} ${score.compute} `);
25214
- process.stdout.write(`${c2.dim("Speed:")} ${renderScoreBar(score.speed, 15)} ${score.speed}
25214
+ process.stdout.write(` ${c2.dim("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")}
25215
25215
  `);
25216
- process.stdout.write(` ${c2.dim(score.summary)}
25216
+ process.stdout.write(` ${c2.dim("\u2502")} ${c2.bold("Overall")} ${c2.dim("\u2502")}
25217
25217
  `);
25218
- process.stdout.write(`
25219
- ${c2.dim("Model compatibility:")}
25218
+ process.stdout.write(` ${c2.dim("\u2502")} ${renderScoreBar(score.overall, bw)} ${c2.bold(String(score.overall).padStart(3))}${c2.dim("/100")} ${c2.dim("\u2502")}
25219
+ `);
25220
+ process.stdout.write(` ${c2.dim("\u2502")} ${c2.dim(score.summary.padEnd(46))} ${c2.dim("\u2502")}
25221
+ `);
25222
+ process.stdout.write(` ${c2.dim("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")}
25223
+ `);
25224
+ process.stdout.write(` ${c2.dim("\u2502")} ${c2.bold("Memory")} ${c2.dim(`${specs.totalRamGB.toFixed(0)} GB RAM` + (specs.gpuVramGB > 0 ? ` + ${specs.gpuVramGB.toFixed(0)} GB VRAM` : ""))}${" ".repeat(Math.max(0, 27 - (`${specs.totalRamGB.toFixed(0)} GB RAM` + (specs.gpuVramGB > 0 ? ` + ${specs.gpuVramGB.toFixed(0)} GB VRAM` : "")).length))} ${c2.dim("\u2502")}
25225
+ `);
25226
+ process.stdout.write(` ${c2.dim("\u2502")} ${renderScoreBar(score.memory, w)} ${String(score.memory).padStart(3)} ${c2.dim("\u2502")}
25227
+ `);
25228
+ process.stdout.write(` ${c2.dim("\u2502")} ${c2.dim("\u2502")}
25229
+ `);
25230
+ process.stdout.write(` ${c2.dim("\u2502")} ${c2.bold("Compute")} ${c2.dim(specs.gpuVramGB > 0 ? specs.gpuName || "NVIDIA GPU" : "CPU only")}${" ".repeat(Math.max(0, 28 - (specs.gpuVramGB > 0 ? specs.gpuName || "NVIDIA GPU" : "CPU only").length))} ${c2.dim("\u2502")}
25231
+ `);
25232
+ process.stdout.write(` ${c2.dim("\u2502")} ${renderScoreBar(score.compute, w)} ${String(score.compute).padStart(3)} ${c2.dim("\u2502")}
25233
+ `);
25234
+ process.stdout.write(` ${c2.dim("\u2502")} ${c2.dim("\u2502")}
25235
+ `);
25236
+ process.stdout.write(` ${c2.dim("\u2502")} ${c2.bold("Speed")} ${c2.dim(specs.gpuVramGB > 0 ? "GPU accelerated" : "CPU inference")}${" ".repeat(Math.max(0, 28 - (specs.gpuVramGB > 0 ? "GPU accelerated" : "CPU inference").length))} ${c2.dim("\u2502")}
25237
+ `);
25238
+ process.stdout.write(` ${c2.dim("\u2502")} ${renderScoreBar(score.speed, w)} ${String(score.speed).padStart(3)} ${c2.dim("\u2502")}
25239
+ `);
25240
+ process.stdout.write(` ${c2.dim("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")}
25241
+ `);
25242
+ process.stdout.write(` ${c2.dim("\u2502")} ${c2.bold(" Model Compatibility")} ${c2.dim("\u2502")}
25220
25243
  `);
25221
25244
  for (const compat of score.modelCompat) {
25222
25245
  const icon = compat.fits ? c2.green("\u2714") : c2.red("\u2716");
25223
25246
  const tag = compat.fits ? compat.tag : c2.dim(compat.tag);
25224
- process.stdout.write(` ${icon} ${tag.padEnd(compat.fits ? 20 : 20)} ${c2.dim(compat.note)}
25247
+ const note = c2.dim(compat.note);
25248
+ const visTag = compat.tag;
25249
+ const visNote = compat.note;
25250
+ const pad = Math.max(0, 44 - 2 - visTag.length - 1 - visNote.length);
25251
+ process.stdout.write(` ${c2.dim("\u2502")} ${icon} ${tag} ${" ".repeat(pad)}${note} ${c2.dim("\u2502")}
25225
25252
  `);
25226
25253
  }
25227
- process.stdout.write("\n");
25254
+ process.stdout.write(` ${c2.dim("\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518")}
25255
+
25256
+ `);
25228
25257
  const hasPython = hasCmd("python3") || hasCmd("python");
25229
25258
  if (!hasPython) {
25230
25259
  process.stdout.write(` ${c2.yellow("\u26A0")} Python3 not found (needed for vision, OCR, browser automation).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-agents-ai",
3
- "version": "0.69.0",
3
+ "version": "0.69.1",
4
4
  "description": "AI coding agent powered by open-source models (Ollama/vLLM) — interactive TUI with agentic tool-calling loop",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",