Skip to main content

ConnectOnion Studio

A local test cockpit for ConnectOnion agents.

Click toolkits to build an agent · scan its QR from the iOS app · watch live logs

PyPI Python Platform


Install

pipx install connectonion-studio      # or: pip install connectonion-studio
co-studio                             # opens http://127.0.0.1:9900

That's it. The first launch auto-creates your identity and activates your managed model key (needs internet — it's your own key, one per user). Offline on first run? Just run co auth once you're back online.

Desktop app (macOS)

A native macOS app (SwiftUI + WKWebView) lives in macos/ — the same cockpit in a real window with the traffic-light chrome and app icon. Build and run it from Xcode (macos/ConnectOnionStudio/); a signed .dmg for one-click install is on the way.

What it does

🧩 Create Form: name · model · toolkit checkboxes → identity + QR ready instantly
▶️ Run One process per agent, health-polled every 5 s, live state over WebSocket
📱 QR Encodes connectonion://add?address&name&endpoint — one scan fills all three iOS "Add agent" fields (direct LAN endpoint, bypasses the relay)
📜 Logs Master–detail cockpit: per-agent live console (this run only), stat tiles, follow / errors-only, reveal-in-Finder
🩺 Copy for Claude Paste-ready markdown diagnostics bundle, one click
🗑️ Delete Two-step confirm, then a permanent delete — identity, keys, and logs are removed for good

Toolkits: utility · web · files · shell (approval-gated) · image

Requirements

Python 3.11+ · macOS, Linux, or Windows (WSL recommended)

API reference
Method Path Returns
GET /api/agents {"agents": [AgentSummary]}
POST /api/agents AgentDetail — body {name, model, toolkits, trust}
GET /api/agents/{slug} AgentDetail
POST /api/agents/{slug}/start · /stop · /restart {"state": …}
POST /api/agents/{slug}/rename AgentSummary — body {name}
DELETE /api/agents/{slug} 204 (stops the agent, then permanently deletes it)
GET /api/agents/{slug}/qr.svg SVG QR of the connectonion://add deep link (address · name · endpoint)
POST /api/agents/{slug}/reveal-logs Opens the agent's runs/ folder in the OS file browser (local)
GET /api/agents/{slug}/diagnostics Markdown bundle
GET /api/setup/status Doctor checks
GET /api/setup/update PyPI update check — {current, latest, update_available}
WS /ws/status Status frames (each change + every 5 s)
WS /ws/agents/{slug}/logs {"source": "stdout", "line": …} — the current run, from its first line
Storage & internals
~/.co-studio/agents/<slug>/   meta.json · agent.py · .env · .co/ · runs/<timestamp>.log
  • One stdout log per run under runs/; the live console (and diagnostics) read only the current run.
  • Agent ports 8000–8099, allocated by socket probe (busy ports skipped, re-probed at start).
  • agent.py is standalone — eject it anywhere and python agent.py still works (the announce IP-trim patch is inlined).
Development (from source)
git clone https://github.com/EvanYifanYang/connectonion-studio && cd connectonion-studio
./install.sh
.venv/bin/co-studio
Env Effect
CONNECTONION_PATH=~/repo/connectonion ./install.sh Install the framework from a local checkout instead of PyPI
PYTHON=python3.12 ./install.sh Pick the interpreter

Security

  • The manager binds 127.0.0.1:9900 only.
  • Agent ports are unauthenticated and exposed on your LAN by host() — that is how the phone connects. Don't run on hostile networks.

Metadata

Release files for connectonion-studio 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for connectonion-studio 0.1.8
File Size Uploaded Provenance Actions
connectonion_studio-0.1.8.tar.gz 294.0 kB Without provenance Details for connectonion_studio-0.1.8.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for connectonion-studio 0.1.8
File Interpreter ABI Platform Actions
connectonion_studio-0.1.8-py3-none-any.whl Python 3 none any Details for connectonion_studio-0.1.8-py3-none-any.whl

Total release size: 597.0 kB

Release files / connectonion_studio-0.1.8.tar.gz

Download URL connectonion_studio-0.1.8.tar.gz
Size 294.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1348f686d545551134cac3ff15e8b5ccc2643aa1c60c3191a7de9e13cba77d77
BLAKE2b-256 checksum
How to use checksums
857a18281722fb2bc2893a3cbbdb9f2a461cebb3681db2edbc8b9004c2925589
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release files / connectonion_studio-0.1.8-py3-none-any.whl

Download URL connectonion_studio-0.1.8-py3-none-any.whl
Size 303.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08dcd348740a378ad9d34ef79dc85b5804611138d87ee239ef0a82e04d683626
BLAKE2b-256 checksum
How to use checksums
7b52496fe40c386ee921d01bcd6901e18870f9f7dc38aa4e5af97dcd53a7da0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Security for connectonion-studio 0.1.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page