Install Connectonion logo

Install Connectonion

OrganizationPopular
openonion
install-connectonion

Install and set up ConnectOnion on Windows, macOS, or Linux, initialize global credentials, and verify the requested CLI capabilities. Use for "install connectonion", "set up connectonion", "get me started with co", or missing installation/configuration. Project scaffolding requires an explicit project path.

Overview

Publisheropenonion
Repositoryconnectonion
Skill nameinstall-connectonion
Stars
1.5K
Forks
218
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by openonion on GitHub. Read the source before you install it.

Installation

Install the Install Connectonion AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/openonion/connectonion.git /tmp/connectonion
mkdir -p .claude/skills
cp -r /tmp/connectonion/connectonion/useful_skills/install-connectonion .claude/skills/install-connectonion
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Install Connectonion in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Install Connectonion on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Install Connectonion is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Install ConnectOnion Skill

Take a machine from nothing to a setup where every co command worksco status, co email, co browser, the co/* models, all of it — on whatever OS the person uses. Then tell them, in plain words, exactly what they have.

Assume the person running this may not be technical. They may not know what a "virtual environment", "PATH", or "API key" is — that's fine. Do the technical work for them and keep them informed in friendly, jargon-free language. Never dump a raw stack trace; turn every problem into "here's what happened and here's what I'm doing about it."

How to run this skill

  1. Work on the user's real OS. Windows, macOS, and Linux differ in command names and shells — do Step 0 first and use the right ones. Don't assume python3, grep, or the bash tool exist everywhere.
  2. Verify every step before moving on — each has a check; run it.
  3. Auto-correct instead of giving up. On failure, don't paste the error — diagnose, apply the Recovery fix, retry (up to 2 attempts) before escalating.
  4. Only ask the human for things only a human can do — installing Python, adding credit, an OAuth browser login. One plain sentence.
  5. Never print or store secrets — confirm a key is present, never show its value.

Step 0: Know the machine

Resolve the platform and the Python command. Everything below writes PY for "the Python that works here" — resolve it once, reuse it.

  • Detect the OS (e.g. uname prints Darwin/Linux; failing/absent → Windows).
  • Find Python (needs 3.10+). Try in order, keep the first that prints 3.10+ — that's PY:
    bash
    python3 --version      # macOS / Linux usually
    python --version       # Windows usually
    py -3 --version        # Windows Python launcher
  • Pick the shell. macOS/Linux: the bash tool is fine. Windows: the bash tool does not work (Unix-only) — use the shell tool and avoid grep/cat/ls. Prefer co … and PY -c "…", which behave the same everywhere.

Recovery — Python missing or < 3.10 (give the path for their OS, don't install it yourself):

  • Windows: python.org installer (tick "Add python.exe to PATH") or winget install Python.Python.3.12; then py -3 works.
  • macOS: python.org installer or brew install python@3.12.
  • Linux: sudo apt install python3 python3-venv python3-pip (or the distro equivalent).

Step 1: Isolate with a virtual environment (recommended)

Keeps the install tidy and avoids "externally-managed-environment" errors:

bash
# macOS / Linux
PY -m venv .venv && source .venv/bin/activate
# Windows PowerShell
py -3 -m venv .venv ; .venv\Scripts\Activate.ps1
# Windows cmd
py -3 -m venv .venv & .venv\Scripts\activate.bat

After activating, python/pip point inside .venvPY can just be python. If venv creation fails, it's optional: continue globally and note it to the user.

Step 2: Install the package

Use PY -m pip (works even when a bare pip isn't on PATH):

bash
PY -m pip install connectonion       # add -U to upgrade
co --version                          # confirm the CLI is on PATH

Recovery

  • co: command not found after a good install → scripts folder not on PATH. Confirm with PY -m connectonion.cli.main --version; then either use PY -m connectonion.cli.main … or reinstall via pipx install connectonion.
  • "externally-managed-environment" / permission error → go back to Step 1's venv, retry.

Step 3: Initialize global credentials; create a project only when requested

Plain co init initializes global ~/.co/keys.env and the machine identity, then attempts authentication. It does not create or modify .env, .co/, or agent.py in the current directory, even when run inside a project. Use --yes for unattended setup:

bash
co init --yes                     # global credentials only
# Only if the user wants a project:
co init ./ --yes                  # existing folder: config, .env, and docs
co init ./ --template co-ai --yes  # also add the hosted agent template
co create my-agent --yes          # new folder with the co-ai template

The co-ai and custom templates are supported. co create defaults to co-ai; co init ./ defaults to configuration only. An explicit directory is required with co init --template, --description, or --force.

After authentication succeeds, ~/.co/keys.env contains:

OPENONION_API_KEY=<token>              # unlocks co/* models, co status, co email
AGENT_EMAIL=0x…@mail.openonion.ai      # the agent's own mailbox
IS_EMAIL_ACTIVE=true                   # co email is live
AGENT_ADDRESS=0x…                      # the agent's identity (public)

(The signing private key lives in ~/.co/keys/agent.key, not in keys.env — never touch or print it.)

Recovery — this is where co auth comes in

  • co init printed an auth/network error, or the token didn't land (Step 4's co status says "No API key found") → local setup worked but authentication didn't. Complete it:
    bash
    co auth        # re-runs just the authentication, writes OPENONION_API_KEY + AGENT_EMAIL
    co auth is safe to re-run any time; it refreshes the token in place.
  • Project directory not empty → use co init ./ --yes to add configuration while preserving source files. Use --force only with approval to overwrite template files.
  • Command hangs → you forgot --yes; re-run with it.

Step 4: Confirm the account is wired up

Prove keys.env is good — co status needs OPENONION_API_KEY + the signing key + the backend, so a clean result means everything downstream (models, email) will work:

bash
co status        # shows agent email, balance, and free credit
co doctor        # cross-platform health check; "API Key" line should be ✓

Optional — own provider keys instead of managed: if the person would rather use their own OpenAI/Anthropic/Google account, save the key with co env set (never echo it back): co env set OPENAI_API_KEY … (gpt-*), co env set ANTHROPIC_API_KEY … (claude-*), co env set GEMINI_API_KEY … (gemini-*). That writes global ~/.co/keys.env; put co --env-file /abs/path/.env before env set for a project file. co env shows what the selected file holds, secrets masked. Plain init does not copy implicitly loaded project or process keys into global storage; --key is an explicit request to save a provider key. Managed co/* still needs OPENONION_API_KEY from Step 3.

Recovery

  • "No API key found" → auth didn't land in Step 3. Run co auth, then re-check.
  • co status 401 / token expired → co auth again.

Step 5: Browser — do this so co browser works (only if they need it)

Skip unless the person wants web automation (co browser, or the browser/hosted-browser template). Two things to know first:

  • From connectonion 1.2.1, the first page-driving co browser command auto-installs a browser when none exists (visible one-time download in the terminal) — normally there is NOTHING to do here. The manual step below is the fallback for older versions, airgapped machines, or a failed auto-install.
  • co browser works natively on Windows from connectonion 1.2.1 (named-pipe daemon — plain PowerShell/cmd is fine, no WSL). On an OLDER version (co --version < 1.2.1), native Windows isn't supported: upgrade first (PY -m pip install -U connectonion), or do the browser work inside WSL.

If a manual install IS needed (older version / auto-install failed): the agent uses desktop Google Chrome when present at the standard OS path; otherwise install Patchright's browser:

bash
PY -m patchright install chromium        # per-user dir, NEVER needs admin (what auto-install runs)
PY -m patchright install chrome          # branded Chrome: best stealth, but a system installer
# Linux/CI without desktop libraries may need system deps (asks for sudo):
PY -m patchright install --with-deps chromium

Verify it actually launches — co doctor is NOT enough here. co doctor only checks the patchright library/stealth driver; it shows ok even when no Chrome exists and the real launch would fail. Prove the real thing by driving a page:

bash
co browser go_to example.com     # navigates → Chrome launched OK. Then: co browser close

Recovery

  • "Chrome failed to start … ~/.co/browser.log" → no drivable browser. Run PY -m patchright install chromium (Linux: add --with-deps), or install desktop Google Chrome to the standard path. Note: a Chrome in a non-standard spot (Windows per-user %LOCALAPPDATA%, Linux snap/flatpak) isn't auto-detected — use patchright install chromium.
  • co doctor Browser line missing → patchright library gone: PY -m pip install patchright.
  • co doctor Browser line broken (stealth driver) → PY -m pip install --force-reinstall --no-cache-dir patchright.
  • co browser do "…" says "requires authentication" → the natural-language mode uses a managed model; run co auth (Step 3 covers this). Direct verbs like go_to don't need it.

Step 6: Optional integrations (Gmail / Outlook / Calendar)

Only if they want the agent to use their personal Gmail or Outlook. These are separate from the built-in co email mailbox and require OPENONION_API_KEY first (Step 3):

bash
co auth google       # Gmail Send + Google Calendar (browser OAuth)
co auth microsoft    # Outlook + Microsoft Calendar (browser OAuth)

Each opens a browser login — hand off: "finish the login in the window that opened." Tokens are saved to .env / ~/.co/keys.env. co email does not need these.

Step 7: Verify the commands actually run

Confirm the things the person will use — not just that files exist. Run what's relevant:

bash
co status                                          # account reachable
co email inbox --last 5                            # built-in mailbox responds (needs Step 3)
PY -c "from connectonion import Agent; print(Agent('smoke', max_iterations=2).input('Reply with exactly: OK'))"
co browser go_to example.com && co browser close   # only if Step 5 done — proves Chrome launches

Recovery — read the error and act

  • InsufficientCreditsError (smoke run) → managed account out of credit; a money thing only the person fixes. Show address/balance from co status, point to top up (https://o.openonion.ai/purchase) or Discord (https://discord.gg/4xfD9k8AUF).
  • co email "No API key" / "AGENT_EMAIL not found" → auth didn't complete; run co auth.
  • ModuleNotFoundError: connectonion → wrong Python/venv active; re-activate Step 1's venv.

Step 8: Hand the user a plain-language summary

The payoff. Run co status, then translate it — don't paste the raw panel:

co status fieldSay it like this
Credits🎁 Free credit from ConnectOnion — money they gave you to start
Balance💰 Money available right now to run your agent
Email📧 Your agent's own email address (send/receive with co email)
Agent Address/IDyour agent's unique identity
✅ You're all set up! Here's your ConnectOnion account:

  🎁  Free credit ConnectOnion gave you:  $X.XX
  💰  Money available to use now:          $X.XX
  📧  Your agent's email address:          you@mail.openonion.ai
  🤖  Model access:                        managed (co/* models) — nothing else needed
  🌐  Browser (co browser):                ready   (or "not set up — tell me if you want it")
  📦  Installed:                           connectonion vX.Y.Z  (Python 3.12 on Windows)
  📁  Your project:                        ./my-agent  (only if requested)

  What you can do now:
    • co status                      — check your balance any time
    • co email                       — read your agent's inbox
    • co email send <to> <sub> <msg> — send mail from your agent
    • co browser do "…"              — drive a web browser  (if set up)
    • python agent.py                — run your agent

  If the balance ever runs low, add more at https://o.openonion.ai/purchase —
  the free credit is enough to get going.

Adjust: balance $0/low → say it gently with the top-up link, no alarm. Path B (own keys) → swap the money lines for "your own key", skip balance. No browser → say it's not set up and offer. Keep it to the lines that matter to this person.

Notes

  • co init / co create already authenticate — you don't normally need a separate co auth; it's the repair step when init's auth didn't land (e.g. offline).
  • co email is the built-in managed mailbox (…@mail.openonion.ai), activated by authentication (Step 3). It needs only OPENONION_API_KEYnot co auth google.
  • Cross-platform gotchas: the bash tool is Unix-only (use shell on Windows); python3 may be python/py -3; the browser binary is never auto-installed; and co browser runs natively on Windows/macOS/Linux from 1.2.1 (Unix sockets on POSIX, named pipes on Windows); older versions need WSL on Windows.
  • co doctor does not confirm the browser can launch — it only checks the patchright library/stealth driver. The real proof is co browser go_to example.com.
  • --yes on co init/co create is mandatory for unattended runs.
  • Never print, log, or commit keys; templates gitignore .env — keep it that way.
  • State lives in ~/.co/ (global identity + keys.env) and the project's .co/ + .env. Deleting one project never breaks another.

Frequently asked questions

What does the Install Connectonion AI skill do?

Install and set up ConnectOnion on Windows, macOS, or Linux, initialize global credentials, and verify the requested CLI capabilities. Use for "install connectonion", "set up connectonion", "get me started with co", or missing installation/configuration. Project scaffolding requires an explicit project path.

Why use Install Connectonion on TypingMind?

Because you install it once and use it with any model. Install Connectonion is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Install Connectonion in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/openonion/connectonion/tree/main/connectonion/useful_skills/install-connectonion. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Install Connectonion?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Install Connectonion?

As many as you like. As long as a model supports skills, you can use Install Connectonion with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Install Connectonion AI skill free?

Yes. It is published on GitHub by openonion under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇