Loading...
Loading...
Use Orchata CLI commands to manage knowledge bases from the terminal. For shell/terminal operations only.
npx skill4agent add orchata-ai/skills orchata-cliorchataorchata-mcporchata-mcp# Install globally via npm
npm install -g @orchata/cli
# Or via bun
bun add -g @orchata/cli
# Or via pnpm
pnpm add -g @orchata/cli
# Or via yarn
yarn global add @orchata/cli
# Verify installation
orchata --version# 1. Configure CLI (run once after install)
orchata init
# 2. Authenticate with your API key
orchata login
# 3. Verify connection
orchata spaces list# Optional: Override settings via environment variables
export ORCHATA_API_KEY="oai_..."
export ORCHATA_API_BASE="https://api.orchata.ai"
export ORCHATA_PROFILE="production"orchata spaces listorchata spaces create --name "Product Docs" --description "Technical documentation" --icon book--name <name>--description <text>--icon <icon>folderbookfile-textdatabasepackagearchivebriefcaseinboxlayersboxorchata spaces get space_abc123orchata spaces update space_abc123 --name "Updated Name" --description "New description"orchata spaces delete space_abc123orchata documents list --space space_abc123orchata documents upload ./path/to/file.pdf --space space_abc123
orchata documents upload ./guide.md --space space_abc123orchata documents upload --space space_abc123 --content "# Title\n\nContent here..."orchata documents batch ./docs/ --space space_abc123orchata documents get doc_xyz789 --space space_abc123orchata documents content doc_xyz789 --space space_abc123orchata documents append doc_xyz789 --space space_abc123 --content "Additional content..."orchata query "How do I authenticate?" --space space_abc123orchata query "installation guide" --space space_abc123 --top-k 15--space <id>--top-k <n>orchata query smart "what is orchata"orchata spaces list --profile production
orchata query "test" --space space_123 --api-key oai_custom_key --json--profile <name>--api-base <url>--app-base <url>--api-key <key>--json# 1. Create a space
orchata spaces create --name "Docs" --description "Product documentation"
# Returns: space_abc123
# 2. Upload documents
orchata documents upload ./handbook.pdf --space space_abc123
orchata documents upload ./api-guide.md --space space_abc123
# 3. Wait ~1-3 seconds for processing, then query
orchata query "authentication flow" --space space_abc123# Upload all files in a directory
orchata documents batch ./documentation/ --space space_abc123# 1. Find relevant spaces
orchata query smart "billing questions"
# Returns: space_billing (most relevant)
# 2. Query that space
orchata query "payment methods" --space space_billing# Get JSON output for parsing
orchata spaces list --json | jq '.spaces[] | .id'
orchata query "test" --space space_123 --json | jq '.results[0].content'# Login to different environments
orchata login --profile development
orchata login --profile production
# Use specific profile
orchata query "test" --space space_123 --profile productionstatus="PROCESSING""COMPLETED"# List all documents with their status
orchata documents list --space space_abc123
# Check specific document
orchata documents get doc_xyz789 --space space_abc123orchata documents batch--jsonorchata login--profilenpm install -g @orchata/cli
orchata --versionorchata login
# Or set environment variable:
export ORCHATA_API_KEY="oai_..."orchata spaces list
# Use the exact space ID from the listorchata documents list --space <space_id>
# Check status field~/.orchata/config.json{
"profiles": {
"default": {
"apiKey": "oai_...",
"apiBase": "https://api.orchata.ai",
"appBase": "https://app.orchata.ai"
},
"production": {
"apiKey": "oai_...",
"apiBase": "https://api.orchata.ai"
}
},
"defaultProfile": "default"
}orchata configure --api-base https://api.orchata.ai
orchata configure --profile production --set-default| Task | Command |
|---|---|
| List spaces | |
| Create space | |
| Get space | |
| List documents | |
| Upload file | |
| Batch upload | |
| Get document | |
| Search content | |
| Discover spaces | |
| JSON output | |
#!/bin/bash
SPACE_ID="space_abc123"
FILE="./document.pdf"
# Upload
echo "Uploading ${FILE}..."
RESULT=$(orchata documents upload "${FILE}" --space "${SPACE_ID}" --json)
DOC_ID=$(echo $RESULT | jq -r '.document.id')
echo "Document ID: ${DOC_ID}"
echo "Waiting for processing..."
# Wait for completion
while true; do
STATUS=$(orchata documents get "${DOC_ID}" --space "${SPACE_ID}" --json | jq -r '.document.status')
if [ "$STATUS" = "COMPLETED" ]; then
echo "Processing complete!"
break
elif [ "$STATUS" = "FAILED" ]; then
echo "Processing failed!"
exit 1
fi
echo "Status: ${STATUS}..."
sleep 2
done
# Query
orchata query "summary of document" --space "${SPACE_ID}"import subprocess
import json
import time
def run_orchata(command):
"""Run orchata CLI command and return JSON result"""
cmd = f"orchata {command} --json"
result = subprocess.run(cmd, shell=True, capture_output=True, text=True)
return json.loads(result.stdout)
# Create space
space = run_orchata('spaces create --name "My Docs"')
space_id = space['space']['id']
# Batch upload
print(f"Uploading to space: {space_id}")
run_orchata(f'documents batch ./docs/ --space {space_id}')
# Wait for all documents to process
print("Waiting for processing...")
while True:
docs = run_orchata(f'documents list --space {space_id}')
pending = [d for d in docs['documents'] if d['status'] != 'COMPLETED']
if not pending:
print("All documents processed!")
break
print(f"{len(pending)} documents still processing...")
time.sleep(3)
# Query
results = run_orchata(f'query "main topics" --space {space_id}')
print(json.dumps(results, indent=2))get_document_treeget_tree_nodeorchata documents batchorchata-mcp