WowBits AI Platform CLI - Manage connectors and integrations for AI workflows
Project description
WowBits CLI
A command-line interface for building and running WowBits AI agents. Manage connectors, functions, and agents with ease.
Table of Contents
Installation
Install the WowBits CLI using pip:
pip install wowbits-cli
Or install from source:
git clone https://github.com/wowbits/wowbits-cli.git
cd wowbits-cli/src
pip install -e .
Quick Start
- Run initial setup to configure your environment:
wowbits setup
This will:
- Create a root directory (default:
~/wowbits) - Set up required subdirectories (
functions,agent_studio,agent_runner,data) - Configure database connection
- Initialize the database schema
- Verify installation:
wowbits --version
Commands
Setup
Initialize the WowBits environment and database.
wowbits setup [--root-dir PATH]
Options:
--root-dir PATH: Specify a custom root directory (default:~/wowbits)
What it does:
- Creates the root directory structure
- Sets up PostgreSQL database connection
- Initializes database schema
- Configures environment variables
List
List available resources.
List Functions
wowbits list functions
Displays all Python functions registered in the database.
List Connectors
wowbits list connectors
Shows all configured connectors (API keys, credentials, etc.).
List Agents
wowbits list agents
Lists all agents available in the system.
Create
Create new resources.
Create Function
Register Python functions from your functions directory:
wowbits create function [--dir PATH]
Options:
--dir PATH: Custom functions directory (default:WOWBITS_ROOT_DIR/functions)
What it does:
- Scans the functions directory for
.pyfiles - Installs dependencies from
functions/requirements.txtif present - Registers functions in the database
- Updates existing functions if they already exist
Function Structure:
Place your Python functions in WOWBITS_ROOT_DIR/functions/. Each .py file should contain a function with the same name as the file (without .py extension).
Example: functions/my_function.py should contain a function named my_function.
Create Connector
Create a new connector (API credentials, etc.):
wowbits create connector [--provider PROVIDER] [--config JSON]
Options:
--provider PROVIDER: Provider name (e.g.,openai,anthropic)--config JSON: JSON configuration string (if omitted, interactive mode is used)
Interactive Mode:
If --config is not provided, the CLI will prompt you for configuration values:
wowbits create connector --provider openai
JSON Config Mode: Provide configuration as a JSON string:
wowbits create connector --provider openai --config '{"api_key": "sk-..."}'
Available Providers:
Run wowbits list providers (if available) or check the providers configuration for supported providers.
Create Agent
Create an agent from a YAML configuration file:
wowbits create agent NAME [-c PATH]
Arguments:
NAME: Agent name (looks forWOWBITS_ROOT_DIR/agent_studio/NAME.yaml)-c, --config PATH: Custom path to YAML configuration file (optional)
Example:
wowbits create agent my_agent
This will look for ~/wowbits/agent_studio/my_agent.yaml and create the agent based on that configuration.
Update
Update existing resources.
Update Connector
Update an existing connector's configuration:
wowbits update connectors NAME --config JSON
Arguments:
NAME: Connector name or ID--config JSON: JSON configuration string
Example:
wowbits update connectors openai --config '{"api_key": "sk-new-key"}'
Delete
Delete resources.
Delete Connector
Remove a connector:
wowbits delete connectors NAME
Arguments:
NAME: Connector name or ID
Example:
wowbits delete connectors old_connector
Run
Run agents with the ADK server.
Run Agent
Start an agent server:
wowbits run agent NAME [--mode MODE] [--host HOST] [--port PORT]
Arguments:
NAME: Agent name
Options:
--mode, -m MODE: Execution mode -web(ADK web UI) orapi(ADK API server only). Default:web--host HOST: Host to bind the server to. Default:0.0.0.0--port, -p PORT: Port to run the server on. Default:5151
Examples:
# Run agent with web UI (default)
wowbits run agent my_agent
# Run agent in API-only mode
wowbits run agent my_agent --mode api
# Run on custom host and port
wowbits run agent my_agent --host 127.0.0.1 --port 8080
Pull
Pull resources from remote repositories.
Pull Functions
Fetch Python functions from a GitHub repository:
wowbits pull functions [FUNCTION_NAMES...] --repo-url URL
Arguments:
FUNCTION_NAMES: Specific function names to pull, or*or omit to pull all functions
Options:
--repo-url URL: GitHub repository URL (required)
Examples:
# Pull all functions from a repo
wowbits pull functions --repo-url https://github.com/org/repo
# Pull specific functions
wowbits pull functions function1 function2 --repo-url https://github.com/org/repo
# Pull all functions (explicit)
wowbits pull functions * --repo-url https://github.com/org/repo
What it does:
- Fetches
.pyfiles from the repository'sfunctions/directory (or repo root) - Saves them to
WOWBITS_ROOT_DIR/functions/ - Fetches
requirements.txtif available - Registers/updates functions in the database
Examples
Complete Workflow Example
# 1. Initial setup
wowbits setup
# 2. Create a connector for OpenAI
wowbits create connector --provider openai
# Follow interactive prompts to enter API key
# 3. Pull functions from a repository
wowbits pull functions --repo-url https://github.com/org/my-functions
# 4. Or create functions locally
# Edit ~/wowbits/functions/my_function.py
wowbits create function
# 5. Create an agent from YAML config
# Edit ~/wowbits/agent_studio/my_agent.yaml
wowbits create agent my_agent
# 6. Run the agent
wowbits run agent my_agent
Function Example
Create a function file ~/wowbits/functions/calculate_sum.py:
def calculate_sum(a: int, b: int) -> int:
"""Add two numbers together."""
return a + b
Then register it:
wowbits create function
Agent YAML Example
Create ~/wowbits/agent_studio/my_agent.yaml:
name: my_agent
description: A simple agent example
model: gpt-4
connector: openai
skills:
- name: basic_skill
tools:
- calculate_sum
Then create the agent:
wowbits create agent my_agent
Multi-document YAML format: When using multiple YAML documents (e.g. tools, skills, and agents in one file), use the kind field with WowBits-prefixed values so you can easily filter WowBits configs on GitHub:
kind: wowbits_tool— tool definitionkind: wowbits_skill— skill definitionkind: wowbits_agent— agent definition
Legacy values tool, skill, and agent are still accepted.
Configuration
Environment Variables
The CLI uses the following environment variables:
WOWBITS_ROOT_DIR: Root directory for WowBits (set automatically duringsetup)- Database connection variables (configured in
.envfile during setup)
Directory Structure
After running wowbits setup, your root directory will have this structure:
~/wowbits/
├── functions/ # Python function files
│ ├── __init__.py
│ ├── requirements.txt
│ └── *.py # Your function files
├── agent_studio/ # Agent YAML configurations
│ └── *.yaml
├── agent_runner/ # Generated agent code
│ └── __init__.py
├── data/ # Data files
└── .env # Environment configuration
Database Configuration
Database connection is configured in the .env file in your root directory. The setup command will prompt you for database credentials.
Troubleshooting
"WOWBITS_ROOT_DIR environment variable is not set"
Solution: Run wowbits setup or manually set the environment variable:
export WOWBITS_ROOT_DIR=~/wowbits
Add this to your ~/.zshrc or ~/.bashrc to make it persistent.
Database Connection Errors
Solution: Check your .env file in WOWBITS_ROOT_DIR and verify database credentials are correct.
Function Not Found
Solution:
- Ensure the function file exists in
WOWBITS_ROOT_DIR/functions/ - Run
wowbits create functionto register it - Verify with
wowbits list functions
Agent Creation Fails
Solution:
- Verify the YAML file exists at
WOWBITS_ROOT_DIR/agent_studio/NAME.yaml - Check YAML syntax for errors
- Ensure referenced connectors and functions exist
Port Already in Use
Solution: Use a different port:
wowbits run agent my_agent --port 8080
Getting Help
- View help for any command:
wowbits COMMAND --help - View general help:
wowbits --help - Check version:
wowbits --version
License
MIT License - see LICENSE file for details.
Support
- GitHub Issues: https://github.com/wowbits/wowbits-cli/issues
- Documentation: https://github.com/wowbits/wowbits-cli#readme
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wowbits_cli-0.1.0a7.tar.gz.
File metadata
- Download URL: wowbits_cli-0.1.0a7.tar.gz
- Upload date:
- Size: 38.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9db523f488efdff78c392697806cdba7908e146acc53de5a31f20d41fd49ccaf
|
|
| MD5 |
1b5bf41715470e886afca3c754f834f5
|
|
| BLAKE2b-256 |
18b7d0fc6ab6e3f0b858db3144e1260c953f6ed5e7a2c5b4b94bf538c1dcdba3
|
File details
Details for the file wowbits_cli-0.1.0a7-py3-none-any.whl.
File metadata
- Download URL: wowbits_cli-0.1.0a7-py3-none-any.whl
- Upload date:
- Size: 44.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29be01ce6a72ef2fd46a967185e9bcdc2c3454c35367c4dc76b89cf9e2207719
|
|
| MD5 |
21abba9425f0825194be3c2aa06c5672
|
|
| BLAKE2b-256 |
683decd57e7b626d16a637f5c4523c53b2c2a2c38d334fb4acf99bd4746d8ac5
|