Skip to main content

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()

License

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

Metadata

Release files for claia-bob 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for claia-bob 0.0.2
File Size Uploaded Provenance Actions
claia_bob-0.0.2.tar.gz 7.8 kB Without provenance Details for claia_bob-0.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for claia-bob 0.0.2
File Interpreter ABI Platform Actions
claia_bob-0.0.2-py3-none-any.whl Python 3 none any Details for claia_bob-0.0.2-py3-none-any.whl

Total release size: 16.8 kB

Release files / claia_bob-0.0.2.tar.gz

Download URL claia_bob-0.0.2.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
844487208d67e82f7bc52ddc618f60f949e6babb58535cb83a68f4b3e14b1a05
BLAKE2b-256 checksum
How to use checksums
d76166e7bd7bdc4a89742cebd71d3896e44459cf69df5d3282a4ce75650975ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / claia_bob-0.0.2-py3-none-any.whl

Download URL claia_bob-0.0.2-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b785cb2d8a685e489f487efacd537c1a88ba0174731a2fab10fb0a34cb35e19a
BLAKE2b-256 checksum
How to use checksums
f92274e24e05654522ae6a0d84a797f409572370681b23a9b59c54375cad595f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Security for claia-bob 0.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page