Skip to main content

Open-source agentic framework for revenue intelligence. 6 AI agents that extract, resolve, compute, detect, and explain your business data.

Project description

Vesh Agents — Agentic Revenue Intelligence

Vesh Agents

Open-source agentic framework for revenue intelligence

6 AI agents that extract, resolve, compute, detect, and explain your business data.

CI License Python Stars


What is Vesh Agents?

Vesh Agents is an agentic AI framework for business data analysis, starting with SaaS revenue intelligence. Built on the OpenAI Agents SDK, it provides:

  • 6 specialized agents that work together as a pipeline
  • BYOM (Bring Your Own Model) — use Claude, DeepSeek, GPT, Llama, or any LiteLLM-compatible model
  • Entity resolution — automatically match records across Stripe, Postgres, CSV, and more
  • SaaS metric computation — MRR, churn, ARPU, NRR, Quick Ratio out of the box
  • Anomaly detection — statistical methods find unusual patterns in your metrics
  • CLI + MCP server — use from terminal or integrate with Cursor, OpenCode, Claude Desktop

Quickstart

pip install vesh-agents

Analyze a CSV in 30 seconds

vesh analyze csv examples/sample_data.csv
  VESH AI   Agentic Revenue Intelligence

  ▸ DataConnector  Loading CSV...
  ✓ DataConnector  40 records extracted
  ▸ EntityResolver  Resolving entities...
  ✓ EntityResolver  40 entities resolved
  ▸ MetricComputer  Computing SaaS metrics...
  ✓ MetricComputer  10 metrics computed

  ┌─────────────────────────────┬──────────┬─────────┐
  │ Metric                      │    Value │  Change │
  ├─────────────────────────────┼──────────┼─────────┤
  │ Monthly Recurring Revenue   │ $152,413 │    —    │
  │ Active Customers            │       36 │    —    │
  │ Average Revenue Per User    │   $4,234 │    —    │
  └─────────────────────────────┴──────────┴─────────┘

Use with any LLM (BYOM)

from agents import Runner
from vesh_agents.verticals.revenue import create_revenue_orchestrator

# Use Claude, DeepSeek, GPT, or any LiteLLM model
orchestrator = create_revenue_orchestrator(model="litellm/anthropic/claude-sonnet-4-20250514")

result = await Runner.run(
    orchestrator,
    "Analyze revenue from examples/sample_data.csv. Why is churn increasing?"
)
print(result.final_output)

Connect to live Stripe

export STRIPE_API_KEY=sk_live_...
vesh analyze stripe

Architecture

┌──────────────────────────────────────────────────────────────┐
│                    Vesh Orchestrator Agent                     │
│  Coordinates the pipeline based on natural language queries   │
└──────────┬───────────┬──────────┬──────────┬────────────────┘
           │           │          │          │
    ┌──────▼──┐  ┌─────▼───┐ ┌───▼────┐ ┌──▼──────┐ ┌────────┐
    │  Data   │  │ Entity  │ │ Metric │ │Anomaly │ │Insight │
    │Connector│→ │Resolver │→│Computer│→│Detector│→│Reasoner│
    └─────────┘  └─────────┘ └────────┘ └────────┘ └────────┘
         │            │           │           │          │
    CSV/Stripe/   Blocking    MRR/Churn   Z-score    BYOM LLM
    Postgres      Scoring     ARPU/NRR    Rate-of-   Explanation
                  Clustering  Quick Ratio change

Each agent has its own tools and instructions. The orchestrator delegates to specialists via handoffs. All agents use your chosen LLM model.

Available Agents

Agent Role MCP Tools
DataConnector Extract data from sources import_csv, extract_stripe, extract_postgres
EntityResolver Match records across sources resolve_entities
MetricComputer Compute SaaS metrics compute_metrics, list_metrics
AnomalyDetector Find statistical anomalies detect_anomalies
InsightReasoner Explain root causes explain_anomaly
Vesh Orchestrator Coordinate the pipeline analyze_csv (full pipeline)

SaaS Metrics Computed

Metric Description
MRR Monthly Recurring Revenue
New MRR Revenue from new subscriptions
Expansion MRR Revenue increase from upgrades
Contraction MRR Revenue decrease from downgrades
Churned MRR Revenue lost from cancellations
NRR Net Revenue Retention
Active Customers Count of active subscriptions
ARPU Average Revenue Per User
Quick Ratio Growth efficiency ratio
Logo Churn Rate Customer loss percentage

CLI Reference

# Quick offline analysis (no LLM needed)
vesh analyze csv revenue.csv
vesh analyze stripe                  # reads STRIPE_API_KEY from env
vesh analyze postgres --host db.example.com --database myapp  # reads PGUSER/PGPASSWORD from env

# Interactive AI chat (powered by OpenCode)
vesh setup                          # one-time: install OpenCode + configure MCP
vesh chat                           # open the TUI analyst
vesh chat --model anthropic/claude-sonnet-4-20250514

# Natural language analysis (requires LLM)
vesh run "Why did churn spike last week?" --source csv:revenue.csv

# Output formats
vesh analyze csv data.csv --output json    # JSON to stdout
vesh analyze csv data.csv --output rich    # Rich terminal (default)

# MCP server (for Cursor, Claude Desktop, or other MCP clients)
vesh mcp serve

Using as a Python Library

# Direct pipeline (no LLM needed)
from vesh_agents.connectors.csv import CsvConnector
from vesh_agents.metrics.computation import MetricComputationEngine
from datetime import date

connector = CsvConnector(connection_id="demo", config={"file_path": "data.csv"})
records = await connector.extract_full()
entities = [r.data for r in records]

engine = MetricComputationEngine()
metrics = engine.compute_all("tenant", date.today(), entities)

for m in metrics:
    print(f"{m.metric_id}: {m.value}")

Verticals

Vesh Agents uses a vertical architecture. Each vertical packages domain-specific agents, prompts, and metrics for a particular business use case.

Revenue Intelligence (included) — SaaS metrics, churn analysis, revenue decomposition

More verticals coming soon. Or build your own:

from vesh_agents.core.vertical import Vertical, VerticalConfig

class CustomerSuccess(Vertical):
    config = VerticalConfig(
        name="customer_success",
        description="Customer health scoring and churn prediction",
        metric_ids=["health_score", "nps", "usage_frequency"],
    )

MCP Integration

Vesh Agents ships a real MCP server (FastMCP, stdio transport) exposing 6 tools: analyze_csv, import_csv, compute_metrics, resolve_entities, detect_anomalies, list_metrics.

OpenCode (recommended)

vesh setup   # writes opencode.json + .opencode/agents/
vesh chat    # launches OpenCode TUI with the Vesh analyst agent

Cursor / Claude Desktop

Add to your MCP config (.cursor/mcp.json or claude_desktop_config.json):

{
  "mcpServers": {
    "vesh": {
      "command": "vesh",
      "args": ["mcp", "serve"]
    }
  }
}

Manual

vesh mcp serve   # starts stdio MCP server — any MCP client can connect

Vesh AI Cloud (Optional)

The open-source framework runs entirely locally. For teams that want managed infrastructure:

  • Automated daily pipelines — connect once, get daily insights
  • Cross-company benchmarks — "Your NRR is 40th percentile for Series B SaaS"
  • Historical intelligence — 90-day trends and institutional memory
  • Slack/Teams delivery — daily revenue briefs, anomaly alerts
  • Agent Console — visual dashboard for agent execution traces

Visit vesh-ai.netlify.app to learn more.

Contributing

We welcome contributions! See CONTRIBUTING.md for setup instructions, coding standards, and areas where help is needed.

git clone https://github.com/shailesht003/Vesh-AI.git
cd Vesh-AI/vesh-agents
pip install -e ".[dev]"
pytest   # 83 tests

License

Apache 2.0 — see LICENSE for details.


Built with ❤️ by Vesh AI

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

vesh_agents-0.1.0.tar.gz (235.2 kB view details)

Uploaded Source

Built Distribution

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

vesh_agents-0.1.0-py3-none-any.whl (60.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for vesh_agents-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9af4d40d939d84ea5f21eff6879b6061f2815f622c8e9cd85e773eb52b874856
MD5 f6cf65069a09f55f3e41feafc4b050ed
BLAKE2b-256 7b9a0479dc0dc8c16d9088d9e7d4e7cb347ba801c7c54f17ba4e6bbe31096fb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for vesh_agents-0.1.0.tar.gz:

Publisher: publish.yml on shailesht003/vesh-agents

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

File details

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

File metadata

  • Download URL: vesh_agents-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 60.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vesh_agents-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b28051c5ccb36fea12106c27c9d3184293d8e2988457bdeb99325015ead464ae
MD5 02767688d43bd38e4f1d7f5e7996db17
BLAKE2b-256 7b26ac67a825a67f07c4f772ce2400aff29f6ee96224dd8996f8d23f6993e2d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for vesh_agents-0.1.0-py3-none-any.whl:

Publisher: publish.yml on shailesht003/vesh-agents

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