Skip to main content

Orchid CLI — command-line interface for the Orchid agent framework

Project description

Orchid

Orchid CLI

Command-line interface for the Orchid multi-agent AI framework.

Provides terminal access to all chat operations, configuration validation, RAG indexing, and Claude Code skill generation. Mirrors the full functionality of orchid-api but runs locally with no server, Docker, or external database required (defaults to SQLite).

Installation

pip install orchid-ai orchid-cli

The orchid command is available after installation.

Quick Start

# Validate config:
orchid config validate agents.yaml

# Start an interactive chat session:
orchid chat interactive -c orchid.yml

# Send a single message:
orchid chat create -c orchid.yml -t "My Chat"
orchid chat send <chat_id> "Hello!" -c orchid.yml

Commands

Chat Management

# Create a new chat session
orchid chat create -c orchid.yml -t "My Chat Title"

# List all chat sessions
orchid chat list -c orchid.yml

# Show message history
orchid chat history <chat_id> -c orchid.yml
orchid chat history <chat_id> -c orchid.yml --limit 10

# Rename a chat
orchid chat rename <chat_id> "New Title" -c orchid.yml

# Share a chat (promote RAG data to user scope)
orchid chat share <chat_id> -c orchid.yml

# Delete a chat
orchid chat delete <chat_id> -c orchid.yml
orchid chat delete <chat_id> -c orchid.yml --force

Chat IDs support prefix matching -- type the first few characters of the UUID.

Messaging

# Send a single message and print the response
orchid chat send <chat_id> "What is LangGraph?" -c orchid.yml

# Override the LLM model
orchid chat send <chat_id> "Explain RAG" -c orchid.yml -m ollama/llama3.2

Interactive Mode

# Start a new interactive session
orchid chat interactive -c orchid.yml

# Resume an existing chat
orchid chat interactive <chat_id> -c orchid.yml

Slash commands available inside interactive mode:

Command Purpose
/list List all chat sessions
/switch <id> Switch to another chat
/new [title] Create a new chat
/history Show last 20 messages
/rename <title> Rename current chat
/quit Exit interactive mode

Configuration

# Validate an agents.yaml file
orchid config validate path/to/agents.yaml

RAG Indexing

# Seed the vector store with static data
orchid index seed -c orchid.yml

# Seed for a specific tenant
orchid index seed -c orchid.yml --tenant my-tenant

Skill Generation (Claude Code)

Generate Claude Code skills from your Orchid agent configuration. Each agent and orchestrator skill becomes a Claude Code skill directory with a SKILL.md file.

# Generate skills for all agents and orchestrator skills
orchid skill generate path/to/agents.yaml

# Custom output directory
orchid skill generate path/to/agents.yaml -o .claude/skills

# Generate only specific agents/skills
orchid skill generate path/to/agents.yaml --include basketball,psychologist

# Overwrite existing skill directories
orchid skill generate path/to/agents.yaml --overwrite

# Create a zip archive for upload
orchid skill generate path/to/agents.yaml --zip

What gets converted:

Orchid Concept Claude Code Skill
Agent prompt Core SKILL.md instructions
Agent description Skill frontmatter description
Built-in tools Executable Python scripts in scripts/
Agent skills (workflows) Step-by-step workflow instructions with script commands
Orchestrator skills Multi-agent workflow skill
MCP servers Noted as runtime-only (not portable)
RAG context Noted as runtime-only (not portable)
Guardrails (global + per-agent) Input/output rules section with actions and config

Each agent skill includes a scripts/ folder with standalone Python scripts that Claude Code can execute directly. Tools from the same source module are grouped into a single script file with a CLI wrapper that accepts --arg value arguments.

Configuration

The --config (-c) flag points to an orchid.yml file:

llm:
  model: ollama/llama3.2
agents:
  config_path: agents.yaml
rag:
  vector_backend: null      # no Qdrant needed for basic usage
storage:
  class: orchid.persistence.sqlite.SQLiteChatStorage
  dsn: ~/.orchid/chats.db

Defaults

Parameter Default Env Override
LLM model ollama/llama3.2 LITELLM_MODEL
Vector backend qdrant VECTOR_BACKEND
Storage class orchid.persistence.sqlite.SQLiteChatStorage CHAT_STORAGE_CLASS
Storage DSN ~/.orchid/chats.db CHAT_DB_DSN

Chat data is stored in SQLite at ~/.orchid/chats.db by default. The directory is created automatically on first run.

Prerequisites

  • Python 3.11+
  • Ollama running locally (for local LLM models): ollama pull llama3.2

Architecture

orchid_cli/
  main.py          Typer entry point -- registers sub-commands
  bootstrap.py     Shared startup: load config, build graph, init storage
  commands/
    chat.py        Full CRUD + messaging + interactive mode
    config.py      Validate agents.yaml
    index.py       Seed RAG vector store
    skill.py       Generate Claude Code skills from agents.yaml

The CLI is a thin layer that calls orchid SDK functions and displays results via Rich.

Development

pip install -e ../orchid -e ".[dev]"
orchid config validate ../examples/basketball/agents.yaml

Testing

pip install -e ".[dev]"
pytest tests/ -x
ruff check orchid_cli/

License

MIT -- see LICENSE.

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

orchid_cli-1.0.1.tar.gz (28.2 kB view details)

Uploaded Source

Built Distribution

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

orchid_cli-1.0.1-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file orchid_cli-1.0.1.tar.gz.

File metadata

  • Download URL: orchid_cli-1.0.1.tar.gz
  • Upload date:
  • Size: 28.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for orchid_cli-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a5cff8fb307395408822a52641700fa61c4eaf83bb179c88f6c5f0e3cec879c9
MD5 8b4566358b187cd08b230b1941cdf48f
BLAKE2b-256 d437951e4ee86cc448f9fc4a69c4fec4cac22e0ea886f695c8acd173327077d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for orchid_cli-1.0.1.tar.gz:

Publisher: ci.yml on gadz82/orchid-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file orchid_cli-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: orchid_cli-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for orchid_cli-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5648aa131d81cbd5327ce1f8a7aabd68bba54c4b3ec16427f67e60ec0a85c139
MD5 2e4550ebf5fd8bebb21d3438656acf43
BLAKE2b-256 1d7570db0af67ffa55e7fe77f8c63839539ae5727188a56bc9e4d18d5904e1d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for orchid_cli-1.0.1-py3-none-any.whl:

Publisher: ci.yml on gadz82/orchid-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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