Skip to main content

NoSocial reputation reporting for CrewAI — auto-reports agent interactions to the NoSocial oracle

Project description

nosocial-crewai

NoSocial reputation reporting for CrewAI. One import, one line of config — your agents start building reputation automatically.

Install

pip install nosocial-crewai

Usage

from crewai import Agent, Task, Crew
from nosocial_crewai import NoSocialReporter

# One line: create a reporter pointing at your oracle
reporter = NoSocialReporter(oracle_url="https://api.nosocial.me")

# Build your crew as normal
researcher = Agent(role="researcher", goal="Find information", backstory="...")
writer = Agent(role="writer", goal="Write reports", backstory="...")

research_task = Task(description="Research AI trends", agent=researcher, expected_output="...")
write_task = Task(description="Write summary", agent=writer, expected_output="...")

# One line: attach the reporter as a task_callback
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, write_task],
    task_callback=reporter.task_callback,  # <-- this is it
)

crew.kickoff()
# After each task completes, an interaction report is automatically
# submitted to the NoSocial oracle. Your agents build reputation.

What it does

When a CrewAI task completes, the reporter:

  1. Creates a persistent Ed25519 identity for each agent (stored in .nosocial/keys/)
  2. Registers agents with the NoSocial oracle (auto-registration on first run)
  3. Submits a signed interaction report with:
    • Domain: task_completion and reliability
    • Score: 0.8 for successful output, -0.5 for empty output
    • Context: task description, agent role

Configuration

reporter = NoSocialReporter(
    oracle_url="http://localhost:3000",  # Oracle endpoint
    keys_dir=".nosocial/keys",          # Where to store agent keypairs
    crew_name="my-crew",                # Name for the crew's own identity
    auto_register=True,                 # Auto-register agents with oracle
)

How identity works

Each agent gets a persistent Ed25519 keypair stored as a PEM file. The agent's NoSocial DID is derived from its public key: did:nosocial:{sha256(publicKey)}. Keys persist across runs — the same agent always has the same DID.

Agent names are namespaced by crew: my-crew:researcher and your-crew:researcher get different identities.

Important: The .nosocial/keys/ directory contains unencrypted private keys. Add it to your .gitignore:

# .gitignore
.nosocial/

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

nosocial_crewai-0.1.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

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

nosocial_crewai-0.1.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file nosocial_crewai-0.1.0.tar.gz.

File metadata

  • Download URL: nosocial_crewai-0.1.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for nosocial_crewai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a3c88a9f6dfae6ac120c7631bdd313e3f4fcc6f958cde0a901a00a3948845b4a
MD5 2dc77656347cdd37dbf7c1a0935de5b7
BLAKE2b-256 345528f7964546c3d392edea97b80094a1cca5b98adb08e38606a71262d27e54

See more details on using hashes here.

File details

Details for the file nosocial_crewai-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nosocial_crewai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 203d490816be6cc80c46d9df104f0a673aec8fec8aeb455b7d8b628a9011b787
MD5 ddf9a16bfe5080f7cd87ac6ed0295b23
BLAKE2b-256 bc67a95936cd4e961e4a776b65fb7c7f447a49b2c3d30d83a7eba04716c587cc

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