SkillAgentSearch skills...

Agentsorg

AI Transformation Intelligence — open-source governance platform for enterprise ChatGPT. Discover, assess, and optimize every Custom GPT.

Install / Use

/learn @ori129/Agentsorg

README

<p align="center"> <img src="docs/logo.svg" alt="AgentsOrg.ai" width="320" /> </p> <p align="center"> <strong>Open-source AI governance platform for ChatGPT Enterprise</strong><br/> Discover every GPT in your workspace. Score them. Flag risks. Develop your people. </p> <p align="center"> <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License" /></a> <a href="docker-compose.yml"><img src="https://img.shields.io/badge/deploy-Docker_Compose-2496ED?logo=docker&logoColor=white" alt="Docker" /></a> <a href="https://github.com/ori129/agentsorg/commits/main"><img src="https://img.shields.io/github/last-commit/ori129/agentsorg" alt="Last Commit" /></a> <a href="https://github.com/ori129/agentsorg/stargazers"><img src="https://img.shields.io/github/stars/ori129/agentsorg?style=social" alt="Stars" /></a> <img src="https://img.shields.io/badge/python-3.12-3776AB?logo=python&logoColor=white" alt="Python" /> <img src="https://img.shields.io/badge/typescript-5.6-3178C6?logo=typescript&logoColor=white" alt="TypeScript" /> </p>

What is AgentsOrg.ai?

AgentsOrg.ai connects to the OpenAI Compliance API and gives your organization a complete picture of every Custom GPT it has built — scored, risk-flagged, and mapped to business processes.

OpenAI's built-in analytics tells you how much people use ChatGPT. AgentsOrg.ai tells you how good your GPTs are — and what to do about it.

Self-hosted. Your data never leaves your infrastructure.


Features

🔍 GPT Registry

Automatically discovers all Custom GPTs across your ChatGPT Enterprise workspace via the OpenAI Compliance API. Full-text search, filters, and a slide-out detail panel for every GPT.

🧠 Semantic Enrichment (9 KPIs per GPT)

An LLM reads each GPT's system prompt and extracts:

| Signal | What it captures | |--------|-----------------| | risk_level + risk_flags | Data exposure, compliance concerns | | sophistication_score | Depth of prompt and tooling (1–5) | | prompting_quality_score | Prompt engineering quality (1–5) | | business_process | Which workflow this GPT automates | | roi_potential_score | Estimated business value (1–5) | | intended_audience | Who the GPT is built for | | integration_flags | External systems connected | | output_type | Document, Analysis, Code, Conversation, etc. | | adoption_friction_score | How easy it is for others to adopt (1–5) |

📊 Leader Dashboard

  • Overview — portfolio KPIs, creation velocity, department breakdown, maturity tiers. Five drill-down pages (Builders, Processes, Departments, Maturity, Output Types).
  • Risk Panel — GPTs flagged high or critical, with per-flag breakdown.
  • Duplicates — pgvector semantic clustering to detect redundant builds before they proliferate.
  • Quality Scores — Prompting quality distribution across the portfolio.

🎓 Learning & Development

  • Recognition — Composite builder scores: quality 35% · adoption 25% · hygiene 25% · volume 15%.
  • Learning — LLM-driven course recommendations per builder, grounded in actual KPI gaps. Built-in OpenAI Academy catalog; custom courses via URL.
  • Workshops — CRUD for sessions with participant lists, GPT tagging, and time-based quality impact correlation.

👤 Employee Portal

Read-only GPT discovery for non-admin users — search and browse what's available without accessing governance data.

🎯 Demo Mode

Run the full pipeline with realistic mock data — no API keys needed. 500 GPTs across 10 departments, fully enriched with scores and rationale. One click from the onboarding screen.


Screenshots

<table> <tr> <td><img src="docs/screenshots/ss_onboarding.png" alt="Onboarding" /></td> <td><img src="docs/screenshots/ss_overview.png" alt="AI Portfolio Overview" /></td> </tr> <tr> <td align="center"><em>Onboarding — Try Demo or connect your real workspace</em></td> <td align="center"><em>AI Portfolio Overview — 500 GPTs, KPIs, department breakdown</em></td> </tr> <tr> <td><img src="docs/screenshots/ss_risk.png" alt="Risk Panel" /></td> <td><img src="docs/screenshots/ss_quality.png" alt="Quality Scores" /></td> </tr> <tr> <td align="center"><em>Risk Panel — high/critical GPTs flagged by issue type</em></td> <td align="center"><em>Quality Scores — sophistication, prompting quality, ROI per GPT</em></td> </tr> <tr> <td><img src="docs/screenshots/ss_recognition.png" alt="Builder Recognition" /></td> <td><img src="docs/screenshots/ss_employee.png" alt="Employee Portal" /></td> </tr> <tr> <td align="center"><em>Builder Recognition — composite scores across your team</em></td> <td align="center"><em>Employee Portal — read-only GPT discovery for the whole org</em></td> </tr> </table>

Quick Start

Prerequisites: Docker Desktop

# 1. Clone the repo
git clone https://github.com/ori129/agentsorg.git
cd agentsorg

# 2. Create your .env file
cp .env.example .env

# 3. Generate a Fernet encryption key and paste it into FERNET_KEY= in .env
make fernet-key

# 4. Start all services (migrations run automatically on first boot)
make up

# 5. Open the app  (macOS)
open http://localhost:3000
# or just visit http://localhost:3000 in your browser

Register with any email → choose Try Demo on the onboarding screen to explore with 500 realistic GPTs instantly, or Connect to Production to enter your OpenAI credentials and scan your real workspace.

Run make help to see all available commands.


How It Works

┌─────────────────┐     ┌─────────────────┐     ┌──────────────┐
│   Frontend      │────▶│   Backend       │────▶│  PostgreSQL  │
│   React + Vite  │     │   FastAPI       │     │  + pgvector  │
│   Port 3000     │     │   Port 8000     │     │  Port 5433   │
└─────────────────┘     └─────────────────┘     └──────────────┘
                              │
                  ┌───────────┼─────────────┐
                  ▼           ▼             ▼
           OpenAI         OpenAI        OpenAI
          Compliance     Chat API     Embeddings
            API         (classify +    (vectors +
                         enrich)       clustering)

Pipeline Stages

Fetch (5–30%) → Filter (35%) → Classify (40–65%) → Enrich (65–72%) → Embed (75–85%) → Store (90%) → Done (100%)

Incremental processing — GPTs are content-hashed (SHA-256) on each run. Unchanged GPTs skip classification, enrichment, and embedding, carrying forward their cached results. This avoids redundant OpenAI API costs on subsequent syncs.

| Stage | Production | Demo | |----------|-------------------------------|------------------------------| | Fetch | OpenAI Compliance API | Template-based generator | | Classify | OpenAI Chat model | Keyword matching | | Enrich | 9× LLM calls per GPT | Deterministic mock enricher | | Embed | OpenAI Embeddings API | Deterministic vectors |

Maturity Tiers

| Tier | Sophistication | Description | |------|---------------|-------------| | Production | ≥ 4 | Full system prompts, integrations, tested | | Functional | 3 | Useful, room to grow | | Experimental | ≤ 2 | Early-stage or abandoned |


Tech Stack

| Layer | Technology | |-------|-----------| | Frontend | React 18, TypeScript, Tailwind CSS, TanStack Query, Vite | | Backend | FastAPI, SQLAlchemy 2.0 (async), Alembic, Pydantic v2 | | Database | PostgreSQL 16 + pgvector | | Auth | Session-based, role-aware (system-admin, ai-leader, employee) | | Deployment | Docker Compose (3 services, zero external dependencies) |


Environment Variables

| Variable | Description | Default | |----------|-------------|---------| | FERNET_KEY | Encryption key for API credentials stored in DB | required — run make fernet-key | | POSTGRES_USER | Database user | agentsorg | | POSTGRES_PASSWORD | Database password | changeme | | POSTGRES_DB | Database name | agentsorg | | DATABASE_URL | Full async connection string | composed from above | | BACKEND_CORS_ORIGINS | Allowed CORS origins | http://localhost:3000 |


API Reference

<details> <summary><strong>Configuration</strong></summary>

| Method | Endpoint | Description | |--------|----------|-------------| | GET | /api/v1/config | Get configuration | | PUT | /api/v1/config | Update configuration | | POST | /api/v1/config/test-connection | Test Compliance API connection | | POST | /api/v1/config/test-openai-connection | Test OpenAI API connection |

</details> <details> <summary><strong>Pipeline</strong></summary>

| Method | Endpoint | Description | |--------|----------|-------------| | POST | /api/v1/pipeline/run | Start pipeline | | GET | /api/v1/pipeline/status | Live progress + stage | | GET | /api/v1/pipeline/summary | Results summary | | GET | /api/v1/pipeline/gpts | List all GPTs | | GET | /api/v1/pipeline/history | Sync history | | GET | /api/v1/pipeline/logs/{id} | Logs for a sync run |

</details> <details> <summary><strong>Categories</strong></summary>

| Method | Endpoint | Description | |--------|----------|-------------| | GET | /api/v1/categories | List categories | | POST | /api/v1/categories | Create category | | PUT | /api/v1/categories/{id} | Update category | | DELETE | /api/v1/categories/{id} | Delete category | | POST | /api/v1/categories/seed | Seed default categories |

</details> <details> <summary><strong>Clustering</strong></summary>

| Method | Endpoint | Description | |--------|----------|-------------| | POST | /api/v1/clustering/run | Run duplicate detection | | GET | /api/v1/clustering/status | Clustering job status | | GET | /api/v1/clustering/results | Cluster groups |

</details> <details> <summary><strong>Learning & Development</stron

Related Skills

View on GitHub
GitHub Stars13
CategoryDevelopment
Updated3d ago
Forks0

Languages

Python

Security Score

80/100

Audited on Mar 17, 2026

No findings