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.2.tar.gz (7.8 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.2-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for claia_bob-0.0.2.tar.gz
Algorithm Hash digest
SHA256 844487208d67e82f7bc52ddc618f60f949e6babb58535cb83a68f4b3e14b1a05
MD5 bef25eb59162409f7748ca49658f929c
BLAKE2b-256 d76166e7bd7bdc4a89742cebd71d3896e44459cf69df5d3282a4ce75650975ce

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for claia_bob-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b785cb2d8a685e489f487efacd537c1a88ba0174731a2fab10fb0a34cb35e19a
MD5 488ffa4c7a5a339a80bdc1ec5d00ba8c
BLAKE2b-256 f92274e24e05654522ae6a0d84a797f409572370681b23a9b59c54375cad595f

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