Skip to main content

Sahasraksh - The All-Seeing Observer for AI Agents

Project description

👁️ Saksh (Sahasraksh) v1.0.0

"The All-Seeing Observer for your AI Agents."

Saksh (derived from Sahasraksh — "The One with a Thousand Eyes") is a lightweight, non-intrusive observability layer designed specifically for modern AI Agent ecosystems.

Think of it as a Sidecar for your agents. whether you're running a swarm of CrewAI workers, a complex LangGraph state machine, or raw LLM chains, Saksh sits quietly in the background, monitoring health, latency, and vitality without ever blocking your main event loop.

Saksh Dashboard

⚡ Why Saksh?

Building agents is hard. Debugging why they "hung" or "timed out" is harder. Saksh gives you a Mission Control dashboard out of the box, so you can stop guessing if your agents are actually working or just hallucinating silence.

  • Universal & Agnostic: We don't care if you use CrewAI, LangGraph, or raw OpenAI calls. If it has an API key and a URL, we can watch it.
  • Zero-Touch Dashboard: Just instantiate the class, and a full React/FastAPI dashboard spins up on port 2604. No React code required.
  • Vitality Scoring: We don't just check "Is it up?". We calculate a Vitality Score (0-100) based on latency spikes and auth failures.
  • Non-Blocking Sidecar: Runs in a daemon thread. Your agents keep working even if Saksh takes a coffee break.

📦 Installation

Get it via pip:

pip install saksh

🛠️ Quick Start

You can attach Saksh to your existing stack in about 3 lines of code.

1. The Setup

from saksh import Saksh, CrewAINetra, LangGraphNetra
from crewai import Agent

# 1. Summon the Observer 👁️
# This auto-magically starts the dashboard at http://localhost:2604
observer = Saksh(start_dashboard=True)

2. Connect CrewAI

Saksh automatically detects the LLM configuration (URL, API Key) inside your CrewAI agents.

# Your standard CrewAI setup
researcher = Agent(
    role="Researcher", 
    goal="Analyze market trends", 
    backstory="You are a data wizard."
)

# Open an Eye on it
observer.open_eye(CrewAINetra(researcher, "Market-Researcher-01"))

3. Connect LangGraph

Since LangGraph is stateful and abstract, we monitor the underlying LLM provider it relies on.

# graph_app = workflow.compile()

# Register the graph (defaults to checking OpenAI availability)
observer.open_eye(LangGraphNetra(graph_app, "Math-Graph-State-Machine"))

That's it. Your terminal will now log: 👁️ Saksh is watching...

🧩 Architecture

Saksh uses a Netra (Eye) Adapter Pattern.

  • Saksh (Core): The singleton observer that manages the background thread and dashboard.
  • Netra (Adapter): A standardized interface that knows how to "Gaze" at a specific type of agent and normalize its health data into a HealthPulse.

🤝 Contributing

This is v1.0.0 — the "It Works on My Machine" release. We are actively looking for contributors to build Netras (Adapters) for:

  • Autogen
  • Semantic Kernel
  • Local Ollama/Llama.cpp instances

PRs are welcome! Let's build the standard for Agent Observability together.

📜 License

MIT © 2026 Ram Bikkina

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

saksh-1.0.0.tar.gz (115.7 kB view details)

Uploaded Source

Built Distribution

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

saksh-1.0.0-py3-none-any.whl (114.0 kB view details)

Uploaded Python 3

File details

Details for the file saksh-1.0.0.tar.gz.

File metadata

  • Download URL: saksh-1.0.0.tar.gz
  • Upload date:
  • Size: 115.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for saksh-1.0.0.tar.gz
Algorithm Hash digest
SHA256 468cbeba1050615c92acf3574c32cf6fd44f8650bbd294b2e5296c04d17f8fdb
MD5 2722066857a1d70f2df1cd8637e1a172
BLAKE2b-256 2db8339f196d5365fd04f30247b16325fa7a4dceddad8851a2c3bcacc0fa9b95

See more details on using hashes here.

File details

Details for the file saksh-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: saksh-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 114.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for saksh-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0757b955b0564fb9cbbe565dfc08e519b1492d87263a5c80d8f625dac6817e7e
MD5 cd02c3f8689e6688df33613a0df2112c
BLAKE2b-256 a871be92d83403995265d33a3b9eba6e475ae6e93d1f671bff4cae50c8778741

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