Skip to main content

CLAIA Agent - Bob

Project description

CLAIA Bob Extension

A fun CLAIA extension that adds "Bob", a gruff, straightforward, no-nonsense assistant with a unique personality.

About Bob

Bob is a fun, quirky, and gruff agent. Have fun!

NOTE: Bob will override the conversation's system prompt

Installation

From Source

# Clone the repository
git clone https://gitlab.com/exofox/claia/claia-bob.git
cd claia-bob

# Select or create the environment where bob will be used
python -m venv .venv
. .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -U pip
pip install -e .

From PyPI

pip install claia-bob

Usage

After installation, Bob will be automatically registered as an agent in CLAIA through the plugin system.

Using Bob in the CLI

# Start CLAIA with Bob as the default agent
claia --default-agent bob

# Or switch to Bob in interactive mode
:agent bob


# Optionally, save Bob to settings as the defafult agent
claia --set default-agent bob

# Or in interactive mode
:set default-agent bob

Using Bob in your own project

from claia.registry import Registry
from claia.lib.data import Conversation
from claia.lib.enums.conversation import MessageRole
from claia.lib import Process
from claia.lib.enums.process import ProcessStatus
import time

# Initialize registry (Bob will be auto-discovered)
registry = Registry(anthropic_api_key="ANTHROPIC_API_KEY")
registry.start_workers(1)

# Create a conversation
conversation = Conversation()
user_message_id = conversation.add_message(MessageRole.USER, "Tell me about yourself")

# Create a process for Bob
process = Process(
    agent_type="bob",
    conversation=conversation,
    parameters={"model_id": "claude-sonnet-4"}
)

# Execute the process
registry.add_process(process)

# Wait for the process to complete
while process.status != ProcessStatus.COMPLETED and not process.status != ProcessStatus.FAILED:
    print("Waiting for Bob to respond...")
    time.sleep(1)

# Print the result
if process.status == ProcessStatus.COMPLETED:
    print(conversation.get_latest_message().content)
elif process.status == ProcessStatus.FAILED:
    print(f"Bob failed to respond: {process.error}")
else:
    print("Unknown process status")

# Clean up
registry.stop_workers()

Related Projects

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

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

claia_bob-0.0.1.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

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

claia_bob-0.0.1-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file claia_bob-0.0.1.tar.gz.

File metadata

  • Download URL: claia_bob-0.0.1.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for claia_bob-0.0.1.tar.gz
Algorithm Hash digest
SHA256 eea9fc1f50d24329c8764eac31a1c3856a18f52ef00e3de0a289378fcce95154
MD5 6da67ec4a0d4064f1c21c8aeeb255a3b
BLAKE2b-256 59edccc7aa9251ea2e21a50b9c7a4f4b61ac442275bf760880fc23c4ee307f96

See more details on using hashes here.

File details

Details for the file claia_bob-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: claia_bob-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for claia_bob-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 954edaa3662b2dc81ce1af3d0c91201034047079e66662c40d09b629ab9de005
MD5 d13e78ee2855aa55f8beeaf6b3a940c4
BLAKE2b-256 8b54cdb28c5e9b8365605f3c8cb97e9c0c8b8ae171f88d10ab45ff53dc7c4ae3

See more details on using hashes here.

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