Skip to main content

CLI tool for deploying Moss voice agents

Project description

Moss Agent CLI

Command-line tool for deploying voice agents to the Moss platform.

Installation

pip install moss-agent-cli

Or install from source:

cd moss-agent-cli
pip install -e .

Usage

Deploy Command

Deploy your agent to the Moss platform:

moss-agent deploy

Push Env Vars

Upload your agent's runtime env vars from a local file. Secrets aren't packaged with the code — push them separately:

moss-agent env push                       # uses ./.env
moss-agent env push --env-file .env.prod  # custom file

Pushing restarts the deployed agent. Requires a prior successful moss-agent deploy.

Required Environment Variables

Set these environment variables or pass as CLI options:

export MOSS_PROJECT_ID="your-project-id"
export MOSS_PROJECT_KEY="your-project-key"
export MOSS_VOICE_AGENT_ID="your-voice-agent-id"

Or pass as options:

moss-agent deploy \
  --project-id "your-project-id" \
  --project-key "your-project-key" \
  --voice-agent-id "your-voice-agent-id"

Agent Structure

Your agent directory must contain an entry point file that imports from moss_voice_agent_manager:

Simple structure:

my-agent/
├── agent.py              # Entry point (uses MossAgentSession)
├── requirements.txt      # Optional: Additional dependencies
└── tools/               # Optional: Custom tools
    └── my_tools.py

Or with main.py:

my-agent/
├── main.py              # Entry point
├── requirements.txt
└── ...

Or with src structure:

my-agent/
├── src/
│   └── my_agent/
│       └── main.py      # Entry point
├── requirements.txt
└── ...

Example agent.py

from moss_voice_agent_manager import MossAgentSession

def get_weather(city: str) -> str:
    """Get weather for a city."""
    return f"Weather in {city} is sunny"

session = MossAgentSession(
    function_tools=[get_weather],
    max_tool_steps=10,
)

if __name__ == "__main__":
    session.run()

CLI Options

moss-agent deploy [OPTIONS] [DIRECTORY]

Arguments:
  DIRECTORY                Agent directory to deploy (defaults to current directory)

Options:
  --project-id, -p TEXT    Moss project ID (or set MOSS_PROJECT_ID env var)
  --project-key, -k TEXT   Moss project key (or set MOSS_PROJECT_KEY env var)
  --voice-agent-id, -v TEXT Voice agent ID (or set MOSS_VOICE_AGENT_ID env var)
  --api-url TEXT          Moss platform API URL (defaults to production)
  --help                  Show this message and exit
moss-agent env push [OPTIONS] [DIRECTORY]

Arguments:
  DIRECTORY                Agent directory (defaults to current directory)

Options:
  --env-file, -f PATH      Path to env file with KEY=VALUE pairs (default: .env)
  --project-id, -p TEXT    Moss project ID (or set MOSS_PROJECT_ID env var)
  --project-key, -k TEXT   Moss project key (or set MOSS_PROJECT_KEY env var)
  --voice-agent-id, -v TEXT Voice agent ID (or set MOSS_VOICE_AGENT_ID env var)
  --api-url TEXT          Moss platform API URL (defaults to production)
  --overwrite / --no-overwrite  Overwrite existing secrets (default: enabled)
  --ignore-empty          Skip env vars with empty values instead of failing
  --help                  Show this message and exit

What Gets Deployed

When you run moss-agent deploy, the CLI:

  1. Validates your agent structure
  2. Packages your agent directory (excluding .env, pycache, .git, etc.)
  3. Uploads the package to Moss platform
  4. Deploys to LiveKit Cloud

Your agent code is deployed as-is - no modification or generation.

Excluded Files

The following files/directories are automatically excluded from deployment:

  • .env - Environment variables (secrets) — push these separately with moss-agent env push
  • __pycache__/ - Python cache
  • .git/ - Git repository
  • *.pyc - Compiled Python files
  • .venv/, venv/ - Virtual environments
  • .DS_Store - macOS metadata

Development

Install in development mode:

cd moss-agent-cli
pip install -e .

Run the CLI:

moss-agent deploy

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

moss_agent_cli-0.4.0.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

moss_agent_cli-0.4.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file moss_agent_cli-0.4.0.tar.gz.

File metadata

  • Download URL: moss_agent_cli-0.4.0.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for moss_agent_cli-0.4.0.tar.gz
Algorithm Hash digest
SHA256 38fa5b4b21f25dd23db2b05ca9bfe0bb9e0ff636834ea46334c0d506bd317b70
MD5 9abf4ead5453c90c4f35c04fed13e27d
BLAKE2b-256 74debadead1a17b5ef60a04d78b3e7318328a4502ca66b68949983a7b42a5829

See more details on using hashes here.

File details

Details for the file moss_agent_cli-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: moss_agent_cli-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for moss_agent_cli-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d119fe0030993174ff564745b6a14772955c3674cc36e562832dcb4838c01687
MD5 0dbff834f56eb4f97aed525ab1ce5143
BLAKE2b-256 930a01e45d2bab4d9bce598543980224f260102d7859086985b1aa1d10204c67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page