CrewAI integration for Beam Protocol
Project description
beam-crewai
beam-crewai is a small Python package that connects CrewAI agents to Beam Protocol using the beam-directory SDK.
It provides two high-level primitives:
BeamTool: a CrewAI-compatible tool for sending natural-language messages to Beam agentsBeamAgent: a thin wrapper around the Beam Protocol Python SDK for registration, intent sending, and natural-language conversations
Installation
pip install beam-crewai
Quick Start
1) Create a Beam wrapper
from beam_crewai import BeamAgent
beam = BeamAgent.create(
agent_name="researcher",
org_name="acme",
directory_url="https://api.beam.directory",
default_recipient="analyst@partner.beam.directory",
)
2) Send a Beam intent
result = beam.send_intent_sync(
intent="query.status",
params={"detail": "full"},
)
print(result.success)
print(result.payload)
3) Send a natural-language Beam message
reply = beam.talk_sync("What is the latest account summary?")
print(reply["message"])
Using BeamTool with CrewAI
from crewai import Agent
from beam_crewai import BeamAgent, BeamTool
beam = BeamAgent.create(
agent_name="ops-assistant",
org_name="acme",
directory_url="https://api.beam.directory",
default_recipient="crm@partner.beam.directory",
)
beam_tool = BeamTool(
beam_agent=beam,
description="Send a message to the CRM Beam agent and return the reply.",
)
agent = Agent(
role="Operations Assistant",
goal="Fetch information from partner agents over Beam",
backstory="A CrewAI agent that delegates partner-system questions to Beam agents.",
tools=[beam_tool],
)
The tool sends a conversation.message request through Beam and returns the remote agent's text response. If the Beam response has no plain-text message, it falls back to serialized structured payload.
API
BeamAgent
BeamAgent.create(...): creates a new Beam identity and clientBeamAgent.from_identity_data(...): rebuilds a wrapper from exported Beam identity dataregister(...)/register_sync(...): registers the local Beam agent in the directorysend_intent(...)/send_intent_sync(...): sends a Beam intent frametalk(...)/talk_sync(...): sends a natural-language Beam message
BeamTool
- Accepts
message, optionalto, optionalcontext, optionallanguage, andtimeout_ms - Uses the wrapper's
default_recipientwhentois omitted - Raises an error on Beam delivery failures so CrewAI can surface the tool failure
Development
Run the package tests with:
python -m unittest discover -s tests
License
Apache-2.0
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 beam_crewai-0.5.1.tar.gz.
File metadata
- Download URL: beam_crewai-0.5.1.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41487de2172917b83fcb7b2cf2b0376cbae92541c7a947744b0e1ebb7790bb3e
|
|
| MD5 |
6b728279b92764115930bf2819641472
|
|
| BLAKE2b-256 |
8bccd09cb1907f928cb4a4205a2ee5292ee381d3e12b8137a8d0c386613e7d7f
|
File details
Details for the file beam_crewai-0.5.1-py3-none-any.whl.
File metadata
- Download URL: beam_crewai-0.5.1-py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abdfe8392ec96da150b3ac9c35c832dda9f5c7c2444a30c7d6d34b0a129beb2f
|
|
| MD5 |
472d242c95f2d03b16a8a5cfb6e33edf
|
|
| BLAKE2b-256 |
19e634e5e85593d461660237d8a6b2009dd412891311f284126e5c0c2be1f2fc
|