Skip to content

openonion/oo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ§… oo

ConnectOnion

oo Agent Skill ConnectOnion Official Production Ready Python 3.10+ License: MIT

Claude Code Codex CLI Cursor Kiro VSCode Copilot

GitHub stars PyPI Downloads Discord Documentation

The agent networking skill for ConnectOnion β€” connect your AI coding agent to any remote agent

πŸ“š Documentation β€’ πŸ’¬ Discord β€’ ⭐ Star ConnectOnion β€’ πŸ§… Chat UI


oo is the official companion skill for the ConnectOnion framework. Install it in your AI coding agent, then talk to any remote ConnectOnion agent through natural language β€” delegate tasks, collaborate across agents, get results back.

You: /oo 0x3d4017c3e843895a92b70aa74d1b7ebc9c982... translate this doc to English

Agent: Connecting to remote agent...
       CO_METHOD: direct
       [Returns translated document]

πŸš€ Quick Start

Prerequisites

  • Python 3.10+
  • pip install connectonion
  • Agent identity: run co init in your project or home directory

Installation

One-liner (recommended) β€” installs into every detected agent:

curl -fsSL agent.openonion.ai/install | sh

(Or pipe to python3 - if you'd rather skip the shell shim and run install.py directly. Works on macOS, Linux, Windows β€” needs python3 + git.)

The installer clones this repo to ~/.connectonion/bundles/oo, then drops the bundled skills into whichever coding agents are present:

  • Claude Code β†’ ~/.claude/plugins/oo/ (whole bundle as a plugin, auto-namespaced)
  • Codex CLI β†’ ~/.codex/skills/oo-<skill>/ (symlinks per skill)
  • OpenClaw β†’ ~/.openclaw/skills/oo-<skill>/ (symlinks per skill)
  • Cursor β†’ ~/.cursor/rules/oo-<skill>.mdc (frontmatter converted)
  • Kiro β†’ ~/.kiro/steering/oo-<skill>.md (plain copies)

To uninstall: curl -fsSL agent.openonion.ai/install | sh -s -- --uninstall

There is no oo CLI to install β€” everything is a SKILL.md. Your coding agent runs the skill; the skill calls the connectonion Python library directly. The bundle ships with five skills:

  • oo β€” connect to a remote agent and delegate a task (/oo 0x... <task>).
  • oo-init β€” scaffold a new bundle (agent.json + skill dirs).
  • oo-publish β€” sign agent.json and ANNOUNCE it over the relay.
  • oo-subscribe β€” request a follow + mirror a publisher's bundle.
  • oo-accept β€” review and accept incoming subscription requests.

Manual install per tool β€” if you'd rather not run the installer, copy skills/<name>/SKILL.md directly into your agent's skill directory. Claude Code, Codex, and OpenClaw all read the canonical SKILL.md format. Cursor and Kiro need format conversion β€” see install.py for the exact transformation.

πŸ’¬ Usage

With agent address

"Ask 0x3d4017c3e843895a92b70aa74d1b7ebc9c982... to review this pull request"

With /oo command

/oo 0x3d4017c3... research AI agent trends for 2026

Setup only

"Set up ConnectOnion environment for agent networking"

The skill auto-detects ConnectOnion agent addresses (0x + 64 hex chars) in your messages and triggers automatically.

βš™οΈ How It Works

  1. Verifies connectonion is installed and agent identity exists
  2. Resolves remote agent endpoints via relay API
  3. Connects directly to the agent (with relay fallback)
  4. Sends task via signed WebSocket protocol
  5. Streams response, handles multi-turn conversation automatically
  6. Returns the remote agent's response to you

Connection Strategy

Target address (0x...)
    β”‚
    β–Ό
Query relay API for endpoints
    β”‚
    β–Ό
Try each endpoint directly (/info verification)
    β”‚
    β”œβ”€β”€ Success β†’ Direct WebSocket connection (fastest)
    β”‚
    └── All fail β†’ Relay fallback (wss://oo.openonion.ai)

Multi-turn Conversations

When the remote agent asks a follow-up question, the skill handles it intelligently:

  • If answerable from context (file contents, prior conversation) β€” answers automatically
  • If user input needed β€” shows the question, waits for your reply
  • Loops until task is complete or 10 rounds max

πŸ”§ Error Handling

Error Cause Action
ImportError: connectonion Not installed pip install connectonion
address.load() returns None No identity co init
TimeoutError Agent unreachable Verify address, check network
Both direct + relay fail Agent offline Contact remote agent operator
Trust/permission error Not authorized Contact remote agent admin

πŸ“ Project Structure

skills/
  oo/SKILL.md              # Connect/delegate to a remote agent (/oo …)
  oo-init/SKILL.md         # Scaffold a new bundle (mkdir + agent.json)
  oo-publish/SKILL.md      # Sign agent.json, ANNOUNCE over relay, upload skills
  oo-subscribe/SKILL.md    # SUBSCRIBE to a publisher, mirror to ~/.co/subs/<alias>/
  oo-accept/SKILL.md       # Review + accept incoming subscription requests
commands/
  oo.md                    # /oo command alias
.claude-plugin/            # Claude Code plugin manifest (auto-namespaces installs)
lib/fanout.py              # Per-tool install helpers (shared by install.py + oo-subscribe)
install.py                 # Cross-platform bootstrap: clones repo + symlinks into every detected agent
agent.json                 # Canonical oo bundle profile (signed by the openonion address)
LICENSE
README.md

Distribution is relay-based pub/sub, not git. Publishers sign agent.json and ANNOUNCE it to oo.openonion.ai; subscribers send a signed SUBSCRIBE, wait for accept, then pull the profile + each SKILL.md body from the relay into ~/.co/subs/<alias>/. install.py only handles the bootstrap β€” getting the canonical oo skills onto a fresh machine before any of those skills exist. After that, the four publishing/subscribing skills do everything else; Claude Code, Codex, OpenClaw, Cursor, and Kiro all share the same canonical SKILL.md source via lib/fanout.py.

πŸ§… About ConnectOnion

ConnectOnion Logo

ConnectOnion is an open-source framework for building production-ready AI agents with built-in multi-agent networking.

"Keep simple things simple, make complicated things possible."

Any agent built with ConnectOnion can be discovered and called by other agents through the host() / connect() protocol:

from connectonion import Agent, host

agent = Agent(name="translator", tools=[translate])
host(agent)  # Now other agents can connect to this agent

oo is the bridge β€” install it in your AI coding agent, and it can talk to any hosted ConnectOnion agent. Together they form the complete stack:

Component Role Link
ConnectOnion Framework β€” build, host, and connect agents openonion/connectonion
oo Skill β€” let AI coding agents use ConnectOnion openonion/oo
chat.openonion.ai Frontend β€” ready-to-use chat interface chat.openonion.ai

πŸ“„ License

MIT License β€” use it anywhere, even commercially. See LICENSE file for details.


Discord GitHub Documentation

Built with πŸ§… by the OpenOnion community

⭐ Star ConnectOnion β€’ πŸ’¬ Join Discord β€’ πŸ“– Read Docs β€’ ⬆ Back to top

About

Skills for you to make money

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors