Skip to main content

CrewAI memory integration via Hindsight - persistent memory for AI agent crews

Project description

hindsight-crewai

Persistent memory for AI agent crews via Hindsight. Give your CrewAI crews long-term memory with fact extraction, entity tracking, and temporal awareness.

Features

  • Drop-in Storage Backend - Implements CrewAI's Storage interface for ExternalMemory
  • Automatic Memory Flow - CrewAI automatically stores task outputs and retrieves relevant memories
  • Per-Agent Banks - Optionally give each agent its own isolated memory bank
  • Reflect Tool - Agents can explicitly reason over memories with disposition-aware synthesis
  • Simple Configuration - Configure once, use everywhere

Installation

pip install hindsight-crewai

Quick Start

from hindsight_crewai import configure, HindsightStorage
from crewai.memory.external.external_memory import ExternalMemory
from crewai import Agent, Crew, Task

# Step 1: Configure connection
configure(hindsight_api_url="http://localhost:8888")

# Step 2: Create crew with Hindsight-backed memory
crew = Crew(
    agents=[
        Agent(role="Researcher", goal="Find information", backstory="..."),
        Agent(role="Writer", goal="Write reports", backstory="..."),
    ],
    tasks=[
        Task(description="Research AI trends", expected_output="Report"),
    ],
    external_memory=ExternalMemory(
        storage=HindsightStorage(bank_id="my-crew")
    ),
)

crew.kickoff()

That's it. CrewAI will automatically:

  • Query memories at the start of each task
  • Store task outputs to Hindsight after each task completes

Memories persist across crew runs, so your crew learns over time.

Per-Agent Memory Banks

Give each agent its own isolated memory bank:

storage = HindsightStorage(
    bank_id="my-crew",
    per_agent_banks=True,  # Researcher -> "my-crew-researcher", Writer -> "my-crew-writer"
)

Or use a custom bank resolver for full control:

storage = HindsightStorage(
    bank_id="my-crew",
    bank_resolver=lambda base, agent: f"{base}-{agent.lower()}" if agent else base,
)

Reflect Tool

CrewAI's storage interface only supports save/search/reset. To give agents access to Hindsight's reflect (disposition-aware memory synthesis), add it as a tool:

from hindsight_crewai import HindsightReflectTool

reflect_tool = HindsightReflectTool(
    bank_id="my-crew",
    budget="mid",
    reflect_context="You are helping a software team track decisions.",
)

agent = Agent(
    role="Analyst",
    goal="Analyze project history",
    backstory="...",
    tools=[reflect_tool],
)

When the agent calls this tool, it gets a synthesized, contextual answer based on all relevant memories — not just raw facts.

Bank Missions

Set a mission to guide how Hindsight processes and organizes memories:

storage = HindsightStorage(
    bank_id="my-crew",
    mission="Track software architecture decisions, technical debt, and team preferences.",
)

Configuration

Global Configuration

from hindsight_crewai import configure

configure(
    hindsight_api_url="http://localhost:8888",  # Default: production API
    api_key="your-api-key",                     # Or set HINDSIGHT_API_KEY env var
    budget="mid",                               # Recall budget: low/mid/high
    max_tokens=4096,                            # Max tokens for recall results
    tags=["env:prod"],                          # Tags for stored memories
    recall_tags=["scope:global"],               # Tags to filter recall
    recall_tags_match="any",                    # Tag match mode: any/all/any_strict/all_strict
    verbose=True,                               # Enable logging
)

Per-Storage Overrides

Constructor arguments override global configuration:

storage = HindsightStorage(
    bank_id="my-crew",
    budget="high",       # Override global budget
    max_tokens=8192,     # Override global max_tokens
    tags=["team:alpha"], # Override global tags
)

Examples

See the CrewAI memory example in the Hindsight Cookbook for a complete working demo with a Researcher + Writer crew.

Configuration Reference

Parameter Default Description
hindsight_api_url Production API Hindsight API URL
api_key HINDSIGHT_API_KEY env API key for authentication
budget "mid" Recall budget level (low/mid/high)
max_tokens 4096 Maximum tokens for recall results
tags None Tags applied when storing memories
recall_tags None Tags to filter when searching
recall_tags_match "any" Tag matching mode
per_agent_banks False Give each agent its own bank
bank_resolver None Custom (bank_id, agent) -> bank_id function
mission None Bank mission for memory organization
verbose False Enable verbose logging

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

hindsight_crewai-0.4.19.tar.gz (249.9 kB view details)

Uploaded Source

Built Distribution

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

hindsight_crewai-0.4.19-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file hindsight_crewai-0.4.19.tar.gz.

File metadata

  • Download URL: hindsight_crewai-0.4.19.tar.gz
  • Upload date:
  • Size: 249.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hindsight_crewai-0.4.19.tar.gz
Algorithm Hash digest
SHA256 1afdd6a892d4f040c724cec826d33cbf774fdec3bcf055768222f0ac38a6f0d4
MD5 e6a136c14af3d87184ece16f85131b28
BLAKE2b-256 96331e18e35cf7407efa36a95136b03a3e6f437493e6f127a10ecc5d29563bb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for hindsight_crewai-0.4.19.tar.gz:

Publisher: release.yml on vectorize-io/hindsight

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hindsight_crewai-0.4.19-py3-none-any.whl.

File metadata

File hashes

Hashes for hindsight_crewai-0.4.19-py3-none-any.whl
Algorithm Hash digest
SHA256 5484d3dc113bd08cd0ff5d0008fd5834119f8088a6b4c7175c50ec23656e38b0
MD5 34eaa2216387bfe1df01942c23627825
BLAKE2b-256 6b7378b61313ccd6f6fe3511f2cc49c3f7a47597152c40bbe743cf52a575f286

See more details on using hashes here.

Provenance

The following attestation bundles were made for hindsight_crewai-0.4.19-py3-none-any.whl:

Publisher: release.yml on vectorize-io/hindsight

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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