open-agents-ai 0.184.28 → 0.184.30
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 +85 -0
- package/dist/index.js +22 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,6 +22,45 @@ npm i -g open-agents-ai && oa
|
|
|
22
22
|
|
|
23
23
|
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.
|
|
24
24
|
|
|
25
|
+
## Table of Contents
|
|
26
|
+
|
|
27
|
+
- [The Organism, Not the Cortex](#the-organism-not-the-cortex)
|
|
28
|
+
- [How It Works](#how-it-works)
|
|
29
|
+
- [Features](#features)
|
|
30
|
+
- [Enterprise & Headless Mode](#enterprise--headless-mode)
|
|
31
|
+
- [Architecture](#architecture)
|
|
32
|
+
- [Context Engineering](#context-engineering)
|
|
33
|
+
- [Model-Tier Awareness](#model-tier-awareness)
|
|
34
|
+
- [Auto-Expanding Context Window](#auto-expanding-context-window)
|
|
35
|
+
- [Tools (61)](#tools-61)
|
|
36
|
+
- [Ralph Loop — Iteration-First Design](#ralph-loop--iteration-first-design)
|
|
37
|
+
- [Task Control](#task-control)
|
|
38
|
+
- [COHERE Cognitive Framework](#cohere-cognitive-framework)
|
|
39
|
+
- [Context Compaction — Research-Backed Memory Management](#context-compaction--research-backed-memory-management)
|
|
40
|
+
- [Personality Core — SAC Framework Style Control](#personality-core--sac-framework-style-control)
|
|
41
|
+
- [Emotion Engine — Affective State Modulation](#emotion-engine--affective-state-modulation)
|
|
42
|
+
- [Voice Feedback (TTS)](#voice-feedback-tts)
|
|
43
|
+
- [Listen Mode — Live Bidirectional Audio](#listen-mode--live-bidirectional-audio)
|
|
44
|
+
- [Vision & Desktop Automation (Moondream)](#vision--desktop-automation-moondream)
|
|
45
|
+
- [Interactive TUI](#interactive-tui)
|
|
46
|
+
- [Telegram Bridge — Sub-Agent Per Chat](#telegram-bridge--sub-agent-per-chat)
|
|
47
|
+
- [x402 Payment Rails & Nexus P2P](#x402-payment-rails--nexus-p2p)
|
|
48
|
+
- [Sponsored Inference — Share Your GPU With the World](#sponsored-inference--share-your-gpu-with-the-world)
|
|
49
|
+
- [Dream Mode — Creative Idle Exploration](#dream-mode--creative-idle-exploration)
|
|
50
|
+
- [Blessed Mode — Infinite Warm Loop](#blessed-mode--infinite-warm-loop)
|
|
51
|
+
- [Code Sandbox](#code-sandbox)
|
|
52
|
+
- [Structured Data Tools](#structured-data-tools)
|
|
53
|
+
- [Multi-Provider Web Search](#multi-provider-web-search)
|
|
54
|
+
- [Task Templates](#task-templates)
|
|
55
|
+
- [Human Expert Speed Ratio](#human-expert-speed-ratio)
|
|
56
|
+
- [Cost Tracking & Session Metrics](#cost-tracking--session-metrics)
|
|
57
|
+
- [Configuration](#configuration)
|
|
58
|
+
- [Model Support](#model-support)
|
|
59
|
+
- [Supported Inference Providers](#supported-inference-providers)
|
|
60
|
+
- [Evaluation Suite](#evaluation-suite)
|
|
61
|
+
- [AIWG Integration](#aiwg-integration)
|
|
62
|
+
- [License](#license)
|
|
63
|
+
|
|
25
64
|
## The Organism, Not the Cortex
|
|
26
65
|
|
|
27
66
|
An LLM is a high-bandwidth associative generative core — closer to a cortex-like prior than to a complete agent. Its weights contain broad latent structure, but they do not by themselves give you situated continuity, durable task state, calibrated action policies, or grounded memory management. Open Agents treats the model as one organ inside a larger organism. The framework provides the rest: sensors, effectors, memory stores, routing, gating, evaluation, and persistence.
|
|
@@ -158,6 +197,52 @@ D8AgCTrxpDKD5meJ2bpAfVwcST3NF3EPuy9xczYycnXn
|
|
|
158
197
|
0x81Ce81F0B6B5928E15d3a2850F913C88D07051ec
|
|
159
198
|
```
|
|
160
199
|
|
|
200
|
+
## Enterprise & Headless Mode
|
|
201
|
+
|
|
202
|
+
Run Open Agents as a headless service for CI/CD pipelines, automation, and enterprise deployments.
|
|
203
|
+
|
|
204
|
+
### Non-Interactive Mode
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
oa "fix all lint errors" --non-interactive # Run task, exit when done
|
|
208
|
+
oa "generate API docs" --json # Structured JSON output (no ANSI)
|
|
209
|
+
oa "run security audit" --background # Detached background job
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Background Jobs
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
oa "migrate database" --background # Returns job ID immediately
|
|
216
|
+
oa status job-abc123 # Check job progress
|
|
217
|
+
oa jobs # List all running/completed jobs
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Jobs run as detached processes — survive terminal disconnection. Output saved to `.oa/jobs/{id}.json`.
|
|
221
|
+
|
|
222
|
+
### JSON Output Mode
|
|
223
|
+
|
|
224
|
+
With `--json`, all output is structured NDJSON:
|
|
225
|
+
```json
|
|
226
|
+
{"type":"tool_call","tool":"file_edit","args":{"path":"src/api.ts"},"timestamp":"..."}
|
|
227
|
+
{"type":"tool_result","tool":"file_edit","result":"OK","timestamp":"..."}
|
|
228
|
+
{"type":"task_complete","summary":"Fixed 3 lint errors","timestamp":"..."}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Pipe to `jq`, ingest into monitoring systems, or feed to other agents.
|
|
232
|
+
|
|
233
|
+
### Process Management
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
/destroy processes # Kill orphaned OA processes (local project)
|
|
237
|
+
/destroy processes --global # Kill ALL orphaned OA processes system-wide
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Shows per-process RAM and CPU usage before killing. Detects: cloudflared tunnels, nexus daemons, headless Chrome, TTS servers, Python REPLs, stale OA instances.
|
|
241
|
+
|
|
242
|
+
### Enterprise Licensing
|
|
243
|
+
|
|
244
|
+
Free for non-commercial use under CC-BY-NC-4.0. For enterprise/commercial licensing, contact [zoomerconsulting.com](https://zoomerconsulting.com).
|
|
245
|
+
|
|
161
246
|
## Architecture
|
|
162
247
|
|
|
163
248
|
The core is `AgenticRunner` — a multi-turn tool-calling loop with structured context assembly:
|
package/dist/index.js
CHANGED
|
@@ -48233,21 +48233,38 @@ async function handleSlashCommand(input, ctx) {
|
|
|
48233
48233
|
const tunnelGw = ctx.getExposeGateway?.();
|
|
48234
48234
|
const enabledEps = config.endpoints.filter((e) => e.enabled);
|
|
48235
48235
|
const allModels = enabledEps.flatMap((e) => e.models || []);
|
|
48236
|
+
const sponsorUrl = tunnelGw?.tunnelUrl || "";
|
|
48237
|
+
if (!sponsorUrl) {
|
|
48238
|
+
renderWarning("No tunnel URL available \u2014 sponsor not registered in directory. Start with cloudflared or libp2p first.");
|
|
48239
|
+
}
|
|
48240
|
+
let sponsorName = (config.header.message || "").replace(/^\/+/, "").trim();
|
|
48241
|
+
if (!sponsorName || sponsorName.length < 2) {
|
|
48242
|
+
try {
|
|
48243
|
+
const { homedir: homedir19 } = __require("os");
|
|
48244
|
+
const namePath = __require("path").join(homedir19(), ".open-agents", "agent-name");
|
|
48245
|
+
if (existsSync42(namePath))
|
|
48246
|
+
sponsorName = readFileSync31(namePath, "utf8").trim();
|
|
48247
|
+
} catch {
|
|
48248
|
+
}
|
|
48249
|
+
if (!sponsorName)
|
|
48250
|
+
sponsorName = "OA Sponsor";
|
|
48251
|
+
}
|
|
48236
48252
|
const sponsorPayload = {
|
|
48237
|
-
peerId: tunnelGw?.peerId ||
|
|
48238
|
-
name:
|
|
48253
|
+
peerId: tunnelGw?.peerId || sponsorUrl || `oa-${Date.now()}`,
|
|
48254
|
+
name: sponsorName,
|
|
48239
48255
|
models: allModels,
|
|
48240
|
-
tunnelUrl:
|
|
48256
|
+
tunnelUrl: sponsorUrl,
|
|
48241
48257
|
authKey: tunnelGw?.authKey || "",
|
|
48242
48258
|
limits: {
|
|
48243
48259
|
maxRequestsPerMinute: config.rateLimits.maxRequestsPerMinute,
|
|
48244
48260
|
maxTokensPerDay: config.rateLimits.maxTokensPerDay
|
|
48245
48261
|
},
|
|
48246
48262
|
banner: config.banner.preset,
|
|
48247
|
-
message: config.header.message,
|
|
48263
|
+
message: config.header.message || sponsorName,
|
|
48248
48264
|
linkUrl: config.header.linkUrl,
|
|
48249
48265
|
linkText: config.header.linkText,
|
|
48250
|
-
status: "active"
|
|
48266
|
+
status: sponsorUrl ? "active" : "inactive"
|
|
48267
|
+
// don't register without a URL
|
|
48251
48268
|
};
|
|
48252
48269
|
try {
|
|
48253
48270
|
const kvResp = await fetch("https://openagents.nexus/api/v1/sponsors", {
|
package/package.json
CHANGED