Skip to Content

Companion Agent

Companion Hub ships with a first-party AI agent ecosystem. The onboarding wizard lets you choose an Agent Framework β€” OpenClaw (recommended for coding and computer-use tasks) or Hermes (advanced reasoning) β€” and configures models, remote access, and tool integration automatically.

OpenClaw

OpenClawΒ  is a self-hosted personal AI assistant with:

  • Web-based chat interface
  • Headless browser automation
  • Tool and MCP integration with Hub

Install it from the App Store as OpenClaw WebCLI (ci-openclaw). After install, enter your LLM provider API key in the setup UI. OpenClaw supports OpenAI, Anthropic, Google Gemini, and other providers.

On a Hub install, ci-openclaw automatically receives Hub MCP credentials and loads the bundled ci-hub plugin on startup β€” no manual MCP configuration required. The agent can call Hub tools such as hub_list_installed_apps as soon as the container starts.

Hermes

Hermes is a messaging AI assistant available as a first-party marketplace app (ci-hermes). It ships a web terminal and dashboard, plus a messaging gateway for platform integrations (Slack, Discord, and more). Select it during the Onboarding Wizard if you prefer its interaction model, or install it later from the App Store.

On a Hub install, ci-hermes automatically registers mcp_servers.hub in its config against the Streamable HTTP endpoint (…/api/mcp) with Bearer auth, exposing all Hub hub_* tools alongside any optional Companion Memory MCP. The block carries no transport: key β€” the agent’s default Streamable HTTP client is correct, and a stale transport: sse line from an older install is removed on the next configuration pass.

Local vs cloud models

Agents can use:

  • Local models via Ollama (configured in Settings β†’ AI)
  • Cloud providers (OpenAI, Anthropic, Google, GitHub Copilot)

Hub detects hardware and recommends models during setup. See AI & Inference for Ollama installation, GPU setup, and standardized inference variables.

Remote access for agents

During onboarding, choose how to reach your agent remotely:

  • Private VPN β€” Tailscale mesh (recommended for personal use)
  • Web β€” Cloudflare Gateway public URL (requires CI Account pairing)

MCP server

Hub exposes an MCP (Model Context Protocol) server that agents can connect to. MCP is enabled by default β€” the server loads automatically unless you explicitly set MCP_ENABLED=false.

No API key is created for you. Credentials are minted explicitly from Settings β†’ Security, and the key is shown once at creation β€” enabling MCP and holding a working credential are separate steps.

Connecting an agent you already run β€” your own OpenClaw, Hermes, or Claude Code β€” is covered in Connect an Existing Agent, including choosing a key’s capability.

Manage the endpoint from the CLI:

cihub mcp setup # enable the MCP endpoint cihub mcp config # show current MCP settings cihub mcp shutdown # disable MCP

If cihub mcp config reports mcp api key <set>, that reflects the MCP_API_KEY environment value, which the server does not accept as a credential β€” only keys held in the Hub’s key store authenticate. Read <set> as β€œthis variable has a value”, not as β€œyou have a working key”.

Agent apps with hub_integration.mcp_client: true in their manifest automatically receive these in their environment:

VariableValue
HUB_URLInternal Hub base URL β€” http://ci-os-hub:5002 on an appliance; append /api/… to reach the API
HUB_MCP_URLStreamable HTTP MCP endpoint, path included β€” http://ci-os-hub:5002/api/mcp
HUB_MCP_API_KEYBearer token for authenticating to the MCP server
HUB_WAKE_SECRETSecret used for app wake / heartbeat signaling

Never run one before? Run your first agent goes from install to a working task in about 20 minutes.

Building agent apps

To publish an agent to the marketplace:

  1. Build a container (see Static Container Builder)
  2. Set hub_integration.mcp_client: true and optional hub_integration.inference in config.json
  3. Submit via ci.computer/store-submitΒ 

Agent Framework setup β€” choose OpenClaw or Hermes and set remote access via Private VPN or Web

Last updated on