open-agents-ai 0.46.0 → 0.48.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.
package/README.md CHANGED
@@ -39,6 +39,8 @@ An autonomous multi-turn tool-calling agent that reads your code, makes changes,
39
39
  - **Dream Mode** — creative idle exploration modeled after real sleep architecture (NREM→REM cycles)
40
40
  - **Autoresearch Swarm** — 5-agent GPU experiment loop during REM sleep: Researcher, Monitor, Evaluator, Critic, Flow Maintainer autonomously run ML training experiments, keep improvements, discard regressions
41
41
  - **Live Listen** — bidirectional voice communication with real-time Whisper transcription
42
+ - **Live Voice Session** — `/listen` with `/voice` enabled spawns a cloudflared tunnel with a real-time WebSocket audio endpoint. A floating presence UI shows live transcription, connected users, and audio visualization. Echo cancellation prevents TTS feedback loops
43
+ - **Telegram Voice** — `/voice` enabled via Telegram forwards TTS audio as voice messages alongside text responses. Incoming voice messages are auto-transcribed and handled as text
42
44
  - **Neural TTS** — hear what the agent is doing via GLaDOS or Overwatch ONNX voices, with personality-driven expressiveness
43
45
  - **Personality Core** — SAC framework-based style control (concise/balanced/verbose/pedagogical) that shapes agent response depth, voice expressiveness, and system prompt behavior
44
46
  - **Human expert speed ratio** — real-time `Exp: Nx` gauge comparing agent speed to a leading human expert, calibrated across 47 tool baselines
@@ -333,6 +335,12 @@ Memory flows bidirectionally: the swarm reads all 5 keys at startup (Phase 0) an
333
335
 
334
336
  The Monitor agent can be "detached" between experiment rounds by the Flow Maintainer. When detached, the monitor receives a sub-task (e.g., "analyze GPU memory patterns from last 3 runs") instead of its standard watch prompt. This lets the swarm use idle monitoring capacity for useful analysis work.
335
337
 
338
+ #### Dependency Management
339
+
340
+ The autoresearch tool uses [`uv`](https://docs.astral.sh/uv/) for zero-setup Python environment management. Running `autoresearch(action="setup")` creates a `pyproject.toml` with all dependencies (torch, kernels, pyarrow, rustbpe, tiktoken, etc.) and runs `uv sync` to create a `.venv` automatically.
341
+
342
+ If the Python scripts are invoked directly (without `uv run`), they self-bootstrap: detect missing packages, create a local `.venv`, install dependencies (including CUDA 12.8 torch), and re-exec with the venv's Python. This handles cases where the agent calls `python3 prepare.py` instead of `uv run prepare.py`.
343
+
336
344
  If no GPU is detected, the REM stage falls back to the standard multi-agent creative exploration (Visionary + Pragmatist + Cross-Pollinator + Synthesizer).
337
345
 
338
346
  ## Blessed Mode — Infinite Warm Loop
@@ -386,6 +394,23 @@ Connect the agent to a Telegram bot. Each incoming message spawns a dedicated su
386
394
 
387
395
  The bot token and admin ID are persisted to project settings, so you only need to set them once. After that, bare `/telegram` toggles the bridge on and off like a service watchdog.
388
396
 
397
+ ### Admin Slash Command Passthrough
398
+
399
+ When the admin sends a `/command` in a private DM, it's routed directly through the terminal's command handler — the same code path as typing the command in the TUI. This means you can control the agent from your phone:
400
+
401
+ ```
402
+ /model qwen3.5:122b → switch model
403
+ /voice → toggle TTS
404
+ /dream → enter dream mode
405
+ /listen → toggle voice input
406
+ /stats → show session metrics
407
+ /config → show current config
408
+ /bless → toggle blessed mode
409
+ /telegram status → check bridge status
410
+ ```
411
+
412
+ The command output is captured, ANSI-stripped, and sent back as a Telegram message. Skill invocations (e.g., `/ralph`, `/eval-agent`) are queued as tasks.
413
+
389
414
  ### Sub-Agent Architecture
390
415
 
391
416
  Each Telegram message spawns an independent `AgenticRunner` sub-agent. Sub-agent tool calls, status updates, and streaming tokens appear in the terminal waterfall view with `✈ @username` prefixes — so you can watch all Telegram conversations happening alongside your main work.
@@ -982,6 +1007,50 @@ Voice output adapts to the active personality style — the same tool call sound
982
1007
 
983
1008
  Task completion, tool failures, and all TTS announcements follow the same personality tier. Set the style with `/style verbose` and the voice output becomes conversational rather than robotic.
984
1009
 
1010
+ ### Live Voice Session
1011
+
1012
+ When both `/voice` and `/listen` are enabled, the system spawns a **live voice session** — a real-time bidirectional audio endpoint exposed through a cloudflared tunnel:
1013
+
1014
+ ```bash
1015
+ /voice # Enable TTS
1016
+ /listen # Starts mic + spawns voice session
1017
+ ```
1018
+
1019
+ What happens:
1020
+ 1. A local HTTP + WebSocket server starts on a random port
1021
+ 2. `cloudflared tunnel --url` exposes it publicly with a `*.trycloudflare.com` URL
1022
+ 3. The terminal shows a `☁` cloud icon with live session runtime
1023
+ 4. Visiting the URL shows a **floating presence** UI that:
1024
+ - Undulates with the model's TTS audio output
1025
+ - Captures your microphone (with echo cancellation)
1026
+ - Shows live transcription for both sides
1027
+ - Displays connected users
1028
+
1029
+ **Echo cancellation**: The server mutes ASR input while TTS is playing, preventing the model from hearing its own voice.
1030
+
1031
+ **Terminal waterfall**: The cloud session sits in the normal TUI waterfall alongside other activity, showing connected users and session runtime.
1032
+
1033
+ ```
1034
+ ☁ Live Voice Session
1035
+ ⎿ URL: https://abc-xyz.trycloudflare.com
1036
+ ⎿ Bidirectional PCM audio + live transcription
1037
+ ⎿ → web-user connected
1038
+ ⎿ ☁ [user] hello, what are you working on?
1039
+ ⎿ ☁ [agent] I'm analyzing the codebase structure...
1040
+ ```
1041
+
1042
+ Stop with `/listen stop` or `/listen off`.
1043
+
1044
+ ### Telegram Voice Messages
1045
+
1046
+ When `/voice` is enabled and the Telegram bridge is active:
1047
+ - **Outgoing**: Agent responses are synthesized to audio via TTS and sent as Telegram voice messages (OGG/Opus) alongside the text response
1048
+ - **Incoming**: Voice messages sent to the bot are auto-transcribed via Whisper and handled as text — no need for the agent to explicitly call `transcribe_file`
1049
+
1050
+ ### Auto-Install Dependencies
1051
+
1052
+ Cloudflared is automatically installed at startup alongside other dependencies (moondream, tesseract, transcribe-cli). The install is non-blocking and runs in the background.
1053
+
985
1054
  ## Personality Core — SAC Framework Style Control
986
1055
 
987
1056
  The personality system controls how the agent communicates — from silent operator to teacher mode. It's based on the **SAC framework** (arXiv:2506.20993) which models personality along five behavioral intensity dimensions rather than binary trait toggles.