Skip to main content

Abi cli allowing you to build your AI system.

Project description

naas-abi-cli

Command Line Interface (CLI) tool for building and managing ABI (Agentic Brain Infrastructure) projects.

Overview

naas-abi-cli provides a comprehensive set of commands to create, configure, deploy, and interact with ABI projects. It serves as the primary entry point for developers working with the ABI framework, enabling quick project setup, agent interaction, and cloud deployment.

Installation

Install the CLI tool using pip:

pip install naas-abi-cli

Available Commands

Project Management

abi new project <project-name> [project-path]

Creates a new ABI project with all necessary starter files and dependencies.

What it does:

  • Creates a new project directory (must be empty or non-existent)
  • Generates project structure with configuration files, Docker setup, and Python package structure
  • Automatically installs required dependencies (naas-abi-core, naas-abi-marketplace, naas-abi, and naas-abi-cli)
  • Customizes project files with your project name

Example:

abi new project my-abi-project

abi init <path>

Initializes a new ABI project in the specified directory.

Example:

abi init .

Agent Interaction

abi chat [module-name] [agent-name]

Starts an interactive chat session with an AI agent.

Parameters:

  • module-name: The module containing the agent (default: naas_abi)
  • agent-name: The specific agent class to use (default: AbiAgent)

What it does:

  • Loads the ABI engine and specified module
  • Launches an interactive terminal chat interface
  • Saves conversations to storage/datastore/interfaces/terminal_agent/

Example:

abi chat naas_abi AbiAgent

abi agent list

Lists all available agents across all loaded modules.

What it does:

  • Loads the ABI engine with all configured modules
  • Displays a formatted table showing module names and agent class names

Example:

abi agent list

Configuration Management

abi config validate [--configuration-file <path>]

Validates the ABI configuration file for correctness.

Options:

  • --configuration-file: Path to configuration file (default: uses config.yaml from current directory)

Example:

abi config validate
abi config validate --configuration-file config.prod.yaml

abi config render [--configuration-file <path>]

Renders the loaded configuration as YAML output, useful for debugging and verification.

Options:

  • --configuration-file: Path to configuration file (default: uses config.yaml from current directory)

Example:

abi config render

abi module list

Lists all available modules and their enabled/disabled status.

What it does:

  • Loads the engine configuration
  • Displays a formatted table showing module names and their enabled status

Example:

abi module list

Deployment

abi deploy naas [-e/--env <environment>]

Deploys your ABI project to Naas cloud infrastructure.

Options:

  • -e, --env: Environment to use (default: prod). Determines which configuration file to load (e.g., config.prod.yaml, config.yaml)

What it does:

  • Builds a Docker image of your ABI project
  • Pushes the image to your Naas container registry
  • Creates or updates a space on Naas infrastructure
  • Exposes your ABI REST API at https://{space-name}.default.space.naas.ai

Requirements:

  • Naas API key configured in your configuration file
  • Docker installed and running
  • Deploy section in your config.yaml file

Example:

abi deploy naas
abi deploy naas --env prod

Secret Management

abi secrets naas list

Lists all secrets stored in your Naas workspace.

Options:

  • --naas-api-key: Naas API key (default: NAAS_API_KEY environment variable)
  • --naas-api-url: Naas API URL (default: https://api.naas.ai)

Example:

abi secrets naas list

abi secrets naas push-env-as-base64

Pushes a local .env file to Naas as a base64-encoded secret.

Options:

  • --naas-api-key: Naas API key (default: NAAS_API_KEY environment variable)
  • --naas-api-url: Naas API URL (default: https://api.naas.ai)
  • --naas-secret-name: Name for the secret in Naas (default: abi_secrets)
  • --env-file: Path to the environment file (default: .env.prod)

Example:

abi secrets naas push-env-as-base64 --env-file .env.prod

abi secrets naas get-base64-env

Retrieves a base64-encoded secret from Naas and displays it as environment variables.

Options:

  • --naas-api-key: Naas API key (default: NAAS_API_KEY environment variable)
  • --naas-api-url: Naas API URL (default: https://api.naas.ai)
  • --naas-secret-name: Name of the secret to retrieve (default: abi_secrets)

Example:

abi secrets naas get-base64-env

Script Execution

abi run script <path>

Runs a Python script in the context of a loaded ABI engine.

What it does:

  • Loads the ABI engine with all configured modules
  • Executes the specified Python script with access to the engine and all loaded modules

Example:

abi run script scripts/my_script.py

Architecture

The CLI is built using:

  • Click: For command-line interface framework
  • naas-abi-core: Core ABI engine and configuration management
  • naas-abi-marketplace: Marketplace modules and agents
  • naas-abi: Main ABI package

The CLI automatically detects if it's being run from within an ABI project (by checking for pyproject.toml with naas-abi-cli dependency) and uses uv run to ensure proper environment isolation.

Project Structure

When you create a new project with abi new project, the CLI:

  1. Uses template files from cli/new/templates/project/
  2. Customizes templates with your project name
  3. Sets up proper Python package structure
  4. Installs all required dependencies via uv

Integration with ABI Framework

The CLI integrates seamlessly with the ABI ecosystem:

  • Engine Loading: Automatically loads modules and agents from your configuration
  • Configuration Management: Validates and renders YAML configuration files
  • Cloud Deployment: Handles Docker builds and Naas API interactions
  • Secret Management: Integrates with Naas secret storage for secure credential management

Dependencies

  • Python 3.10+
  • naas-abi>=1.0.6
  • naas-abi-core[qdrant]>=1.1.2
  • naas-abi-marketplace[ai-chatgpt]>=1.1.0
  • uv package manager (for dependency management)

See Also

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

naas_abi_cli-1.11.0.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

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

naas_abi_cli-1.11.0-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

File details

Details for the file naas_abi_cli-1.11.0.tar.gz.

File metadata

  • Download URL: naas_abi_cli-1.11.0.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for naas_abi_cli-1.11.0.tar.gz
Algorithm Hash digest
SHA256 279b7ae9fdbf5b1c28d53b2a24b38611bbd6d9af72ac36600d8e889ab5700cb0
MD5 a9d99169ce5c30c4453e24a6de3b3a8a
BLAKE2b-256 09045ac0e59c36b73da8f4a452c37722fa2348adf7641947391caba6d773d04c

See more details on using hashes here.

Provenance

The following attestation bundles were made for naas_abi_cli-1.11.0.tar.gz:

Publisher: release.yml on jupyter-naas/abi

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

File details

Details for the file naas_abi_cli-1.11.0-py3-none-any.whl.

File metadata

  • Download URL: naas_abi_cli-1.11.0-py3-none-any.whl
  • Upload date:
  • Size: 38.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for naas_abi_cli-1.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6e174b42b091bea0f42f778b971befb9f415f696f117f8d6ed1ba2885602696
MD5 1a4e7a3bb76e64ca207c78804285143d
BLAKE2b-256 2f9fc785c80302e598f729a3f25305140aca396de6abda8c62ab5da9512932fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for naas_abi_cli-1.11.0-py3-none-any.whl:

Publisher: release.yml on jupyter-naas/abi

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