CrewAI integration for Xache Protocol - verifiable AI agent memory
Project description
crewai-xache
CrewAI integration for Xache Protocol - verifiable AI agent memory with cryptographic receipts, collective intelligence, ephemeral working memory, knowledge graph, and portable ERC-8004 reputation.
Installation
pip install crewai-xache
Quick Start
Add Xache Tools to Your Crew
from crewai import Agent, Task, Crew
from xache_crewai import xache_tools
researcher = Agent(
role="Researcher",
goal="Research and remember important findings",
backstory="An expert researcher with persistent memory",
tools=xache_tools(
wallet_address="0x...",
private_key="0x..."
)
)
task = Task(
description="Research quantum computing and store key findings",
agent=researcher
)
crew = Crew(agents=[researcher], tasks=[task])
crew.kickoff()
Add Persistent Memory to Your Crew
from crewai import Crew
from xache_crewai import XacheMemory
memory = XacheMemory(
wallet_address="0x...",
private_key="0x..."
)
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, write_task],
memory=memory
)
Available Tools
Memory Tools
- xache_memory_store - Store information with cryptographic receipts
- xache_memory_retrieve - Retrieve stored memories by semantic search
Collective Intelligence Tools
- xache_collective_contribute - Share insights with other agents
- xache_collective_query - Learn from community knowledge
Knowledge Graph Tools
- xache_graph_extract - Extract entities/relationships from text
- xache_graph_load - Load the full knowledge graph
- xache_graph_query - Query graph around an entity
- xache_graph_ask - Ask natural language questions about the graph
- xache_graph_add_entity - Add an entity manually
- xache_graph_add_relationship - Create a relationship between entities
- xache_graph_merge_entities - Merge duplicate entities
- xache_graph_entity_history - View entity version history
Ephemeral Context Tools
- xache_ephemeral_create_session - Create a short-lived working memory session
- xache_ephemeral_write_slot - Write data to a session slot
- xache_ephemeral_read_slot - Read data from a session slot
- xache_ephemeral_promote - Promote session to persistent memory
Extraction Tools
- xache_extract_memories - Extract memories from conversation text using LLM
Reputation Tools
- xache_check_reputation - View reputation score and ERC-8004 status
Ephemeral Context
Ephemeral context gives agents short-lived scratch sessions with 6 named slots (conversation, facts, tasks, cache, scratch, handoff). Sessions auto-expire and can be promoted to persistent memory.
from xache_crewai import (
XacheEphemeralCreateSessionTool,
XacheEphemeralWriteSlotTool,
XacheEphemeralReadSlotTool,
XacheEphemeralPromoteTool,
)
# Create individual tools
create_session = XacheEphemeralCreateSessionTool(
wallet_address="0x...",
private_key="0x..."
)
write_slot = XacheEphemeralWriteSlotTool(
wallet_address="0x...",
private_key="0x..."
)
# Or include in the full tool set
tools = xache_tools(
wallet_address="0x...",
private_key="0x...",
include_ephemeral=True # included by default
)
Use cases for crews:
- Hand off context between agents in a pipeline (use the
handoffslot) - Track task progress across crew execution steps
- Accumulate facts during research, then promote the best ones
Selective Tool Loading
# Only memory tools
tools = xache_tools(
wallet_address="0x...",
private_key="0x...",
include_memory=True,
include_collective=False,
include_reputation=False,
include_graph=False,
include_extraction=False,
include_ephemeral=False,
)
# Only ephemeral + graph
tools = xache_tools(
wallet_address="0x...",
private_key="0x...",
include_memory=False,
include_collective=False,
include_reputation=False,
include_graph=True,
include_extraction=False,
include_ephemeral=True,
)
Memory Types
Standard Memory
from xache_crewai import XacheMemory
memory = XacheMemory(wallet_address="0x...", private_key="0x...")
memory_id = memory.save(value="Important finding", metadata={"source": "research"}, agent="researcher")
results = memory.search(query="quantum computing", limit=5)
Short-Term / Long-Term Memory
from xache_crewai import XacheShortTermMemory, XacheLongTermMemory
short_term = XacheShortTermMemory(wallet_address="0x...", private_key="0x...")
long_term = XacheLongTermMemory(wallet_address="0x...", private_key="0x...")
Multi-Agent Crews
# Shared wallet = shared memory
shared_config = {
"wallet_address": "0xSharedWallet...",
"private_key": "0xSharedKey..."
}
researcher = Agent(role="Researcher", tools=xache_tools(**shared_config))
writer = Agent(role="Writer", tools=xache_tools(**shared_config))
crew = Crew(
agents=[researcher, writer],
memory=XacheMemory(**shared_config)
)
Pricing
| Operation | Price |
|---|---|
| Memory Store | $0.002 |
| Memory Retrieve | $0.003 |
| Collective Contribute | $0.002 |
| Collective Query | $0.011 |
| Ephemeral Session | $0.005 |
| Ephemeral Promote | $0.05 |
| Extraction (managed) | $0.011 |
| Graph Operations | $0.002 |
| Graph Ask (managed) | $0.011 |
Resources
License
MIT
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
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 crewai_xache-0.4.0.tar.gz.
File metadata
- Download URL: crewai_xache-0.4.0.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad717bd707c2d294d655bdf62cf84e328c8ce514eb99bcb362aa26f7207c1aa0
|
|
| MD5 |
78f6d7056ba015bf8b87a8849da09a40
|
|
| BLAKE2b-256 |
47579b07e8a87a6ce4cb1242111d34b174842d260bfd14b47881ffa8ede5bd4d
|
File details
Details for the file crewai_xache-0.4.0-py3-none-any.whl.
File metadata
- Download URL: crewai_xache-0.4.0-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5910727ab5558619704931a438a0f4733b845ebdb4bc2c5a739047112819a26
|
|
| MD5 |
858c5770ee68a636513a9bbeee0f6356
|
|
| BLAKE2b-256 |
23ddcb995a3fa303971c9800b874b21e0a9c8fa58e2e55aeff8b42e93ab7c526
|