open-agents-ai 0.69.1 → 0.69.2
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.
- package/README.md +8 -22
- package/dist/index.js +60 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -31,48 +31,33 @@ An autonomous multi-turn tool-calling agent that reads your code, makes changes,
|
|
|
31
31
|
|
|
32
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
33
|
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
<
|
|
37
|
-
<td>
|
|
34
|
+
<div align="center">
|
|
35
|
+
|
|
36
|
+
<img src="https://cryptologos.cc/logos/ethereum-eth-logo.svg" width="20" height="20" alt="ETH" /> **ETH**
|
|
38
37
|
|
|
39
38
|
```
|
|
40
39
|
0x81Ce81F0B6B5928E15d3a2850F913C88D07051ec
|
|
41
40
|
```
|
|
42
41
|
|
|
43
|
-
|
|
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>
|
|
42
|
+
<img src="https://cryptologos.cc/logos/bitcoin-btc-logo.svg" width="20" height="20" alt="BTC" /> **BTC**
|
|
48
43
|
|
|
49
44
|
```
|
|
50
45
|
bc1qlptj5wz8xj6dp5w4pw62s5kt7ct6w8k57w39ak
|
|
51
46
|
```
|
|
52
47
|
|
|
53
|
-
|
|
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>
|
|
48
|
+
<img src="https://cryptologos.cc/logos/solana-sol-logo.svg" width="20" height="20" alt="SOL" /> **SOL**
|
|
58
49
|
|
|
59
50
|
```
|
|
60
51
|
D8AgCTrxpDKD5meJ2bpAfVwcST3NF3EPuy9xczYycnXn
|
|
61
52
|
```
|
|
62
53
|
|
|
63
|
-
|
|
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>
|
|
54
|
+
<img src="https://cryptologos.cc/logos/polygon-matic-logo.svg" width="20" height="20" alt="POL" /> **POL**
|
|
68
55
|
|
|
69
56
|
```
|
|
70
57
|
0x81Ce81F0B6B5928E15d3a2850F913C88D07051ec
|
|
71
58
|
```
|
|
72
59
|
|
|
73
|
-
</
|
|
74
|
-
</tr>
|
|
75
|
-
</table>
|
|
60
|
+
</div>
|
|
76
61
|
|
|
77
62
|
## Features
|
|
78
63
|
|
|
@@ -901,6 +886,7 @@ The TUI features an animated multilingual phrase carousel, live metrics bar with
|
|
|
901
886
|
| `/expose` | Expose local inference via cloudflared tunnel |
|
|
902
887
|
| **Metrics & Updates** | |
|
|
903
888
|
| `/cost` | Show token cost breakdown for the current session |
|
|
889
|
+
| `/score` | Show inference capability scorecard (memory, compute, speed, model compatibility) |
|
|
904
890
|
| `/evaluate` | Score the last completed task with LLM-as-judge |
|
|
905
891
|
| `/stats` | Show session dashboard (turns, tools, tokens, files, task history) |
|
|
906
892
|
| `/task-type <type>` | Set task type for specialized prompts (code, document, analysis, plan) |
|
package/dist/index.js
CHANGED
|
@@ -21043,6 +21043,7 @@ function renderSlashHelp() {
|
|
|
21043
21043
|
["/hangup", "End active call session"],
|
|
21044
21044
|
["/cost", "Show session token cost breakdown"],
|
|
21045
21045
|
["/evaluate", "Evaluate last completed task (LLM quality scoring)"],
|
|
21046
|
+
["/score", "Show inference capability scorecard (memory, compute, speed, models)"],
|
|
21046
21047
|
["/task-type", "Set task type (code, document, analysis, plan, general, auto)"],
|
|
21047
21048
|
["/stats", "Show session dashboard (metrics, tool usage, task history)"],
|
|
21048
21049
|
["/pause", "Pause after current turn finishes (gentle halt, /resume to continue)"],
|
|
@@ -26138,6 +26139,65 @@ async function handleSlashCommand(input, ctx) {
|
|
|
26138
26139
|
renderWarning("Evaluation backend not configured.");
|
|
26139
26140
|
}
|
|
26140
26141
|
return "handled";
|
|
26142
|
+
case "score":
|
|
26143
|
+
case "inference": {
|
|
26144
|
+
const specs = detectSystemSpecs();
|
|
26145
|
+
const score = computeInferenceScore(specs);
|
|
26146
|
+
const w = 24;
|
|
26147
|
+
const bw = 30;
|
|
26148
|
+
process.stdout.write(`
|
|
26149
|
+
${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")}
|
|
26150
|
+
`);
|
|
26151
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${c2.bold(" Inference Capability")} ${c2.dim("\u2502")}
|
|
26152
|
+
`);
|
|
26153
|
+
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")}
|
|
26154
|
+
`);
|
|
26155
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${c2.bold("Overall")} ${c2.dim("\u2502")}
|
|
26156
|
+
`);
|
|
26157
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${renderScoreBar(score.overall, bw)} ${c2.bold(String(score.overall).padStart(3))}${c2.dim("/100")} ${c2.dim("\u2502")}
|
|
26158
|
+
`);
|
|
26159
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${c2.dim(score.summary.padEnd(46))} ${c2.dim("\u2502")}
|
|
26160
|
+
`);
|
|
26161
|
+
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")}
|
|
26162
|
+
`);
|
|
26163
|
+
const memDetail = `${specs.totalRamGB.toFixed(0)} GB RAM` + (specs.gpuVramGB > 0 ? ` + ${specs.gpuVramGB.toFixed(0)} GB VRAM` : "");
|
|
26164
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${c2.bold("Memory")} ${c2.dim(memDetail)}${" ".repeat(Math.max(0, 27 - memDetail.length))} ${c2.dim("\u2502")}
|
|
26165
|
+
`);
|
|
26166
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${renderScoreBar(score.memory, w)} ${String(score.memory).padStart(3)} ${c2.dim("\u2502")}
|
|
26167
|
+
`);
|
|
26168
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${c2.dim("\u2502")}
|
|
26169
|
+
`);
|
|
26170
|
+
const compDetail = specs.gpuVramGB > 0 ? specs.gpuName || "NVIDIA GPU" : "CPU only";
|
|
26171
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${c2.bold("Compute")} ${c2.dim(compDetail)}${" ".repeat(Math.max(0, 28 - compDetail.length))} ${c2.dim("\u2502")}
|
|
26172
|
+
`);
|
|
26173
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${renderScoreBar(score.compute, w)} ${String(score.compute).padStart(3)} ${c2.dim("\u2502")}
|
|
26174
|
+
`);
|
|
26175
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${c2.dim("\u2502")}
|
|
26176
|
+
`);
|
|
26177
|
+
const speedDetail = specs.gpuVramGB > 0 ? "GPU accelerated" : "CPU inference";
|
|
26178
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${c2.bold("Speed")} ${c2.dim(speedDetail)}${" ".repeat(Math.max(0, 28 - speedDetail.length))} ${c2.dim("\u2502")}
|
|
26179
|
+
`);
|
|
26180
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${renderScoreBar(score.speed, w)} ${String(score.speed).padStart(3)} ${c2.dim("\u2502")}
|
|
26181
|
+
`);
|
|
26182
|
+
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")}
|
|
26183
|
+
`);
|
|
26184
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${c2.bold(" Model Compatibility")} ${c2.dim("\u2502")}
|
|
26185
|
+
`);
|
|
26186
|
+
for (const compat of score.modelCompat) {
|
|
26187
|
+
const icon = compat.fits ? c2.green("\u2714") : c2.red("\u2716");
|
|
26188
|
+
const tag = compat.fits ? compat.tag : c2.dim(compat.tag);
|
|
26189
|
+
const note = c2.dim(compat.note);
|
|
26190
|
+
const visTag = compat.tag;
|
|
26191
|
+
const visNote = compat.note;
|
|
26192
|
+
const pad = Math.max(0, 44 - 2 - visTag.length - 1 - visNote.length);
|
|
26193
|
+
process.stdout.write(` ${c2.dim("\u2502")} ${icon} ${tag} ${" ".repeat(pad)}${note} ${c2.dim("\u2502")}
|
|
26194
|
+
`);
|
|
26195
|
+
}
|
|
26196
|
+
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")}
|
|
26197
|
+
|
|
26198
|
+
`);
|
|
26199
|
+
return "handled";
|
|
26200
|
+
}
|
|
26141
26201
|
case "task-type":
|
|
26142
26202
|
case "tasktype":
|
|
26143
26203
|
case "tt": {
|
package/package.json
CHANGED