SmythOS CLI
    Preparing search index...

    SmythOS CLI

    Command line interface for SmythOS SRE (Smyth Runtime Environment) - an advanced agentic AI platform that provides a comprehensive runtime environment for building and managing AI agents.

    pnpm install -g @smythos/cli
    

    The SRE CLI provides three main commands:

    • sre agent - Run SmythOS agent files with various execution modes
    • sre create - Create new SmythOS projects
    • sre update - Update the CLI and check for updates

    Run SmythOS agent files (.smyth) with different execution modes.

    sre agent <path-to-agent.smyth> [options]
    

    Start an interactive chat interface with the agent:

    sre agent ./myagent.smyth --chat
    sre agent ./myagent.smyth --chat claude-3.7-sonnet
    sre agent ./myagent.smyth --chat gpt-4o

    Options:

    • --chat - Start chat with default model (gpt-4o)
    • --chat <model> - Start chat with specified model

    Query the agent with a single prompt:

    sre agent ./myagent.smyth --prompt "What is the weather in Tokyo?"
    sre agent ./myagent.smyth --prompt "Analyze this data" claude-3.7-sonnet

    Options:

    • --prompt <text> - Send a prompt to the agent
    • --prompt <text> <model> - Send a prompt using specific model

    Execute a specific skill from the agent:

    sre agent ./myagent.smyth --skill getUserInfo
    sre agent ./myagent.smyth --skill processData input="sample data" format="json"
    sre agent ./myagent.smyth --skill ask question="who are you"

    Options:

    • --skill <skillname> - Execute a skill without parameters
    • --skill <skillname> key1="value1" key2="value2" - Execute skill with parameters

    Start the agent as an MCP (Model Context Protocol) server:

    sre agent ./myagent.smyth --mcp
    sre agent ./myagent.smyth --mcp stdio
    sre agent ./myagent.smyth --mcp sse 3388

    Options:

    • --mcp - Start MCP server with default settings (stdio)
    • --mcp stdio - Start MCP server using stdio transport
    • --mcp sse - Start MCP server using SSE transport (default port 3388)
    • --mcp sse <port> - Start MCP server using SSE transport on specified port

    These options work with all execution modes:

    Provide a vault file for secure credential storage:

    sre agent ./myagent.smyth --chat --vault ./secrets.vault
    sre agent ./myagent.smyth --skill getUserInfo --vault ./myvault.json

    Specify custom models configuration:

    sre agent ./myagent.smyth --chat --models ./custom-models.json
    sre agent ./myagent.smyth --prompt "Hello" --models ./prod-models.json
    # Interactive chat with custom vault
    sre agent ./agent.smyth --chat --vault ./secrets.vault

    # Execute skill with parameters and vault
    sre agent ./agent.smyth --skill processData input="test" format="json" --vault ./vault.json

    # One-time prompt with specific model and custom models config
    sre agent ./agent.smyth --prompt "Summarize this data" claude-3.7-sonnet --models ./models.json

    # Start MCP server with vault authentication
    sre agent ./agent.smyth --mcp sse 8080 --vault ./secrets.vault

    # Chat with multiple configurations
    sre agent ./agent.smyth --chat gpt-4o --vault ./vault.json --models ./models.json

    Create a new SmythOS project with interactive setup:

    sre create
    sre create "My AI Project"

    Features:

    • Interactive project setup wizard
    • Multiple project templates:
      • Empty Project
      • Minimal: Just the basics to get started
      • Interactive: Chat with one agent
      • Interactive chat with agent selection
    • Automatic vault setup with API key detection
    • Smart resource folder configuration

    Examples:

    # Interactive project creation
    sre create

    # Create project with specific name
    sre create "Customer Support Bot"

    Check for and install CLI updates:

    sre update
    sre update --check
    sre update --force
    sre update --package pnpm

    Options:

    • --check, -c - Only check for updates without installing
    • --force, -f - Force update check and installation
    • --package, -p <manager> - Specify package manager (npm, pnpm, yarn)

    Examples:

    # Check and install updates
    sre update

    # Only check for updates
    sre update --check

    # Force update with specific package manager
    sre update --force --package npm

    # Check updates using yarn
    sre update --check --package yarn

    • --help, -h - Show help for any command
    • --version - Show CLI version
    • Agent Files: .smyth files containing agent configuration and workflows
    • Vault Files: .json or .vault files for secure credential storage
    • Models Files: .json files defining available LLM models

    The --models flag allows you to specify custom model configurations for your agents. You can provide either:

    • Single JSON file: A single .json file containing model definitions
    • Directory: A directory containing multiple .json files (all will be merged)
    # Single models file
    sre agent ./myagent.smyth --chat --models ./models.json

    # Directory with multiple model files
    sre agent ./myagent.smyth --chat --models ./models-config/

    # Multiple model files in a directory
    sre agent ./myagent.smyth --skill processData --models ./custom-models/

    Each model configuration file should be a JSON object where keys are model names and values are model configurations:

    {
    "gemma-3-4b": {
    "provider": "OpenAI",
    "label": "gemma-3-4b-it",
    "modelId": "gemma-3-4b-it",
    "features": ["text", "tools"],
    "tokens": 8000,
    "completionTokens": 512,
    "enabled": true,
    "baseURL": "http://localhost:1234/v1",
    "credentials": ["vault"]
    },
    "gemma-3-1b": {
    "provider": "OpenAI",
    "label": "gemma-3-1b-it",
    "modelId": "gemma-3-1b-it",
    "features": ["text", "tools"],
    "tokens": 4096,
    "completionTokens": 512,
    "enabled": true,
    "baseURL": "http://localhost:1234/v1",
    "credentials": ["vault"]
    }
    }
    • provider: The LLM provider (e.g., "OpenAI", "Anthropic", "Google")
    • label: Display name for the model
    • modelId: The actual model identifier used by the provider
    • features: Array of supported features (["text", "tools"])
    • tokens: Maximum input tokens supported
    • completionTokens: Maximum completion tokens
    • enabled: Whether the model is available for use
    • baseURL: Custom API endpoint (optional)
    • credentials: Array specifying how to retrieve credentials (["vault"])

    When using a directory, you can organize models by provider or type:

    models-config/
    ├── openai-models.json
    ├── anthropic-models.json
    ├── local-models.json
    └── custom-models.json

    All JSON files in the directory will be automatically merged, allowing you to organize your model configurations however you prefer.

    The CLI supports various configuration options through:

    • Command-line flags
    • Environment variables
    • Configuration files
    • Interactive prompts during project creation

    For detailed configuration options and advanced usage, see the SmythOS documentation.

    If you face any issues with the CLI or the code, set environment variable LOG_LEVEL="debug" and run your code again. Then share the logs with us, it will help diagnose the problem. You can request help on our Discord or by creating an issue on GitHub