CLI

The cos command creates profiles, chats in the terminal and runs the dashboard.

cos --help
CommonOS: Hermes-style agents, one database, plugins

Usage: cos [OPTIONS] <COMMAND>

Commands:
  profile  Create, list and show profiles
  chat     Chat with one profile in the terminal
  serve    Run every profile and the dashboard
  help     Print this message or the help of the given subcommand(s)

Options:
  -p, --profile <PROFILE>            Profile to use (`cos -p household chat`)
      --database-url <DATABASE_URL>  [env: COMMONOS_DATABASE_URL=] [default: postgres:///commonos]
      --mock                         Every profile uses the mock model: no API calls. Same as COMMONOS_PROVIDER=mock
  -h, --help                         Print help

Print the installed version with cos --version. To upgrade, run the install script again.

cos profile create

Terminal
cos profile create <NAME> [--from <EXISTING>] [--tag key:value]... [--tool name]... [--provider anthropic|mock] [--model <id>]
Option Does
--from <name> Copy config.toml, SOUL.md and skills/ from an existing profile. Not its .env or memory.
--tag key:value Add a tag. Repeat for more. Replaces copied tags.
--tool name Limit the profile to this tool. Repeat for more. Replaces copied tools.
--provider anthropic (default) or mock
--model Required for a new anthropic profile. Mock profiles default to mock-1.

Prints the new profile’s folder.

cos profile list

One line per profile: name, provider, model, tags.

Text
Acme	mock	mock-1	client:acme
Household	mock	mock-1	area:household

cos profile show

Terminal
cos profile show Household
Text
# /home/you/.commonos/profiles/Household
provider = "mock"
model = "mock-1"
tags = ["area:household"]

The skills index follows when the profile has skills.

cos chat

Terminal
cos -p Household chat

Chats with one profile in the terminal. The first message starts a new session.

Input Does
any text Sends it and prints the reply
/new Starts a new session
/quit, /exit Leaves

When a tool needs approval, cos prints <tool> <args> [y/N]. Only y, Y or yes approves.

cos serve

Terminal
cos serve [--port 9120] [--approval-timeout 300]

Runs every profile and the dashboard at http://127.0.0.1:<port>. It binds to loopback only. With no profiles it still starts, and warns. See Dashboard and API.

Logs

Logs go to stderr. Set RUST_LOG to change the level, for example RUST_LOG=debug cos serve or RUST_LOG=warn cos -p Household chat.

Edit this page on GitHub

Esc