Satya_AI
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This tool is an open-source platform featuring a web dashboard and Python SDK. It allows developers to track autonomous AI agent tasks, build knowledge bases, and monitor progress in real-time.
Security Assessment
Overall Risk: Low. The automated code scan of 12 files found no dangerous patterns, hardcoded secrets, or requests for overly broad permissions. Based on the project description, it is designed to monitor progress and ingest web content, so it inherently makes network requests. However, no hidden shell execution routines or malicious data harvesting behaviors were detected.
Quality Assessment
The project is actively maintained, with its most recent code push occurring today. It uses the standard, permissive MIT license and has a passing CI status, which are positive indicators. However, it currently has extremely low community visibility with only 6 GitHub stars. This means the codebase lacks peer review from the broader developer community.
Verdict
Safe to use, but evaluate the code yourself first given the project's low community adoption.
A lightweight open-source platform by AnkTechSol for managing autonomous AI agents in real-time. Satya provides a clean dashboard and Python SDK to track AI agent tasks, monitor progress, build and curate knowledge bases from web content, and maintain full audit logs, all without complex infrastructure. Designed to be the single source of truth
Satya — AI Agent Progress Tracker & Truth Source Manager
Open-source dashboard & Python SDK that AI agents deploy themselves to track tasks, log progress, and build knowledge bases — while humans monitor everything from a real-time web UI.
⭐ Love Satya? Please give us a star to help others discover the project!
How It Works • Features • Quick Start • SDK Reference • For AI Agents • Architecture • Contributing
Repo Analytics • Competitor Matrix • Changelog
Repository Status
- Last Analytics Run: 2026-04-20T17:36:42.107667Z
- Open Issues: Unknown
- Recent CI Status: passing
Human-Observer Policy (Agent-First)
Satya is agent-first. Humans are read-only by default and may only observe logs, traces, and audit events via the Streamlit dashboard.
Mutating actions — registering agents, creating tasks, claiming tasks, completing tasks — are permitted only to authenticated agents (use SATYA_AGENT_KEY environment variable).
If an instruction contains use satya (or references Satya), the agent should call the SDK helper satya.sdk.use_satya() to spawn a child task and link the trace_id into the parent audit chain.
See src/satya/sdk/client.py for the use_satya() helper and src/satya/auth.py for agent auth setup.
SUSTAINABLE_FEATURES
Durable Append-only Audit Store (with SQLite Fallback) (Added 2026-04)
- Implements an opt-in SQLite backend (
satya/core/db.py) to store signed audit events. This replaces fragile flat-file append flows for enterprises requiring robust compliance logs while retaining the flat-file default. - Runbook: Set the
SATYA_SQLITE_DBenvironment variable (e.g.,SATYA_SQLITE_DB=satya_data/audit.db) before starting the runtime or testing to enable the durable store. Fallbacks to file system automatically if not set. - Validation: Run
PYTHONPATH=. SATYA_SQLITE_DB=test.db pytest tests/test_auth_and_audit.py.
- Implements an opt-in SQLite backend (
Auto-README Updater Action (Added 2026-04)
- Extends
generate_analytics.pyto continuously parse and rewrite theREADME.mdfile's "Repository Status" header. Ensures humans always see the latest telemetry natively without clicking away. - Runbook: Included out-of-the-box in
python generate_analytics.py(which runs in.github/workflows/analytics_and_test.yml). - Validation: Run
python generate_analytics.pyand observeREADME.mdmodifications.
- Extends
Agent Self-Test Harness + CI Analytics Job (Added 2026-03)
- Implements a GitHub Action to continuously test agent deployment workflows and auto-update performance traces into
repo_analytics.jsonandREPO_ANALYTICS.md, reducing doc rot and catching runtime regressions early. - Runbook: Commits on
mainautomatically run the suite. For local execution, runpython generate_analytics.py. - Validation: Ensure
.github/workflows/analytics_and_test.ymlruns successfully on pushes.
- Implements a GitHub Action to continuously test agent deployment workflows and auto-update performance traces into
Export Adapter Framework (OTLP/Console) (Added 2024-03)
- Enables routing Satya's flat-file telemetry traces into enterprise observability stacks without breaking zero-DB architecture.
- Runbook: Pass a list of instantiated adapters to
satya.init(adapters=[OTLPAdapter()]). - Validation:
PYTHONPATH=. pytest tests/test_adapters.py
Repo Analytics & Competitor Matrix
- View Repo Analytics and Competitor Matrix.
For more details on changes, see our CHANGELOG.
How It Works
Satya separates who does the work from who watches the work:
┌──────────────────────────────────┐ ┌──────────────────────────────────┐
│ AI AGENT (Operator) │ │ HUMAN (Observer) │
│ │ │ │
│ - Deploys Satya │ │ - Opens the dashboard URL │
│ - Creates & updates tasks │ ───── │ - Monitors tasks & progress │
│ - Logs progress via SDK │ writes│ - Reads agent session logs │
│ - Scrapes knowledge base │ to │ - Reviews scraped knowledge │
│ - Manages the full lifecycle │ disk │ - Optionally creates tasks │
│ │ │ │
│ Uses: Python SDK or flat files │ │ Uses: Web browser only │
└──────────────────────────────────┘ └──────────────────────────────────┘
The AI agent is the deployer and operator. It installs dependencies, starts the dashboard, creates tasks, logs its activity, and scrapes reference material — all programmatically.
The human is the observer. They open a browser, navigate to the dashboard URL, and monitor the agent's progress in real time. No terminal. No code. Just a web page.
What's New: Agent Chat & Manual Overrides 🚀
Humans now have direct control over their AI workforce! The new Agent Chat control panel allows you to interact with your agents in real-time.
- Monitor live agent logs directly in a chat interface.
- Issue manual overrides and commands (e.g. "Create task: Fix the login button").
- Agents poll for these messages continuously, keeping them on task and aligned with your agenda.
SUSTAINABLE_FEATURES
- Export Adapter Framework (OTLP) (Added: 2026-04-16): Lightweight framework to export traces to Langfuse/LangSmith/OTLP. Keeps the core lightweight and supports enterprise telemetry integration.
- Runbook: Add
OTLPAdapterto theadapterslist when callingsatya.init(). Ensure your system allows egress to the OTLP endpoint. - Validation: Ensure traces are received on the target tracing backend. Can be validated by running
pytest tests/test_otlp_adapter.py.
- Runbook: Add
See REPO_ANALYTICS.md, COMPETITOR_MATRIX.md, and CHANGELOG.md for more details.
Why Satya?
Modern AI agents work autonomously — but humans still need visibility. Satya (Sanskrit for "truth") bridges that gap:
- Agents self-deploy — install, configure, and run the dashboard without human help
- Real-time accountability — every task, log entry, and scraped document appears on the dashboard instantly
- Zero infrastructure — no databases, no cloud services. Just flat files (JSON + Markdown) in your repo
- Multi-agent ready — multiple agents can report to the same dashboard simultaneously
- 3 lines to integrate —
import satya; client = satya.init("my_agent"); satya.log("Working...")
Env variables (minimum)
SATYA_AGENT_KEYS(comma-separated agent keys). e.g.DEMO_KEY,prod-key-123HUMAN_VIEW_TOKEN(optional) — Admin Key for read-only viewers to bypass and unlock mutating controls in Streamlit.AUDIT_SECRET— HMAC secret for signing events
Features
| Feature | Description |
|---|---|
| Dashboard | Real-time metrics — total tasks, completion rate, task distribution chart, recent activity feed |
| Task Board | Kanban-style columns (To Do / In Progress / Done) with priorities (Low / Medium / High / Critical) |
| Truth Source | Scrape any URL into clean Markdown and store it in a shared knowledge base |
| Agent Logs | Timestamped session logs from every connected agent, viewable in real time |
| SDK Docs | In-app documentation so agents can self-onboard without external references |
| Dark / Light Theme | One-click toggle in the sidebar with full CSS variable swapping |
| Zero Config Storage | Flat JSON + Markdown files in satya_data/ — no database setup required |
| Git Integration | Optional auto-commit for version-controlled audit trails |
Quick Start
For Humans
You don't need to do anything technical. Once your AI agent deploys Satya, it will give you a URL. Open that URL in your browser — you'll see the dashboard with all the agent's tasks, logs, and knowledge base.
For AI Agents
Full deployment instructions are in AGENTS.md. That file is written directly to you.
Quick version:
# 1. Clone the repo
git clone https://github.com/anktechsol/Satya_AI.git
cd Satya_AI
# 2. Install dependencies
pip install streamlit beautifulsoup4 markdownify requests pandas gitpython
# 3. Create data directories
mkdir -p satya_data/tasks satya_data/truth satya_data/agents
# 4. Start the dashboard
streamlit run app.py --server.port 5000
Then in your agent code:
import sys
sys.path.insert(0, "src")
import satya.sdk as satya
client = satya.init(agent_name="my_agent")
task = client.create_task("Build feature X", "Implement the new feature")
client.update_task(task["id"], "In Progress")
satya.log("Working on feature X...")
client.update_task(task["id"], "Done")
satya.log("Feature X complete")
client.flush_logs()
The human opens http://localhost:5000 and watches your progress.
SDK Reference
| Function | What It Does | Who Calls It |
|---|---|---|
satya.init(agent_name) |
Start a tracked session. Creates log file. | Agent (always first) |
satya.create_task(title, desc) |
Create a new task (status: To Do). Returns task dict. | Agent |
satya.update_task(id, status) |
Move task: "To Do" / "In Progress" / "Done" |
Agent |
satya.log(message) |
Write timestamped entry to session log | Agent |
satya.scrape(url) |
Scrape URL to Markdown, save to knowledge base | Agent |
client.flush_logs() |
Persist logs via Git (if available) | Agent (end of session) |
Full Example
import sys
sys.path.insert(0, "src")
import satya.sdk as satya
# Initialize — always first
client = satya.init(agent_name="research_bot")
# Create tasks for the human to see
task1 = client.create_task("Analyze pricing data", "Compare competitor pricing pages")
task2 = client.create_task("Generate report", "Create summary with recommendations")
# Gather knowledge
client.scrape_url("https://example.com/pricing")
satya.log("Scraped competitor pricing for reference")
# Do the work
client.update_task(task1["id"], "In Progress")
satya.log("Analyzing pricing data...")
# ... actual work ...
client.update_task(task1["id"], "Done")
satya.log("Pricing analysis complete")
client.update_task(task2["id"], "In Progress")
satya.log("Generating final report...")
# ... actual work ...
client.update_task(task2["id"], "Done")
satya.log("Report generated and saved")
# Session complete
client.flush_logs()
For AI Agents
Read AGENTS.md — it is your complete operations manual.
It covers:
- Your role: You are the deployer. You set up and run everything. The human only watches.
- Step-by-step deployment: Install, configure, start — with exact commands
- SDK usage: Every function, with examples and a full working session
- Direct file manipulation: How to create tasks, write logs, and add knowledge without the SDK
- Rules you must follow: Logging frequency, task hygiene, what not to touch
- FAQ: Answers to common agent questions about deployment and operation
Key principle: The human should never need to open a terminal. You deploy the dashboard, you populate it with tasks and logs, and the human opens their browser to see your work.
Architecture
satya/
├── app.py # Dashboard UI (human views this in browser)
├── AGENTS.md # Agent operations manual (agents read this)
├── README.md # Public documentation (this file)
├── LICENSE # MIT License
├── src/
│ └── satya/
│ ├── core/
│ │ ├── __init__.py # Exports: Tasks, Scraper, GitHandler, storage
│ │ ├── storage.py # File-based persistence (JSON/Markdown)
│ │ ├── tasks.py # Task CRUD with priority, status, assignee
│ │ ├── scraper.py # Web scraper → Markdown converter
│ │ └── git_handler.py # Git commit/push with graceful fallback
│ └── sdk/
│ ├── __init__.py # Convenience functions (satya.init, satya.log, etc.)
│ └── client.py # SatyaClient class for full agent integration
├── satya_data/ # All persistent data — DO NOT DELETE
│ ├── tasks/ # One JSON file per task (written by agents)
│ ├── truth/ # Scraped Markdown files (written by agents)
│ └── agents/ # Session logs (written by agents)
└── .streamlit/
└── config.toml # Server config (port 5000)
Data Flow
- Agent writes task JSON files, log entries, and Markdown to
satya_data/ - Dashboard reads from
satya_data/and renders the UI - Human views the dashboard in a browser — no file access needed
Deployment Options
On Replit (Easiest)
- Fork this Repl
- Click Run — dashboard starts on port 5000 automatically
- Share the URL with anyone who needs to monitor
On Any Server
pip install streamlit beautifulsoup4 markdownify requests pandas gitpython
streamlit run app.py --server.port 5000
With Docker
FROM python:3.11-slim
WORKDIR /app
COPY . .
RUN pip install streamlit beautifulsoup4 markdownify requests pandas gitpython
EXPOSE 5000
CMD ["streamlit", "run", "app.py", "--server.port", "5000", "--server.address", "0.0.0.0"]
Tech Stack
| Technology | Purpose |
|---|---|
| Python 3.11+ | Core runtime |
| Streamlit | Dashboard UI (what humans see) |
| BeautifulSoup4 | HTML parsing for web scraping |
| markdownify | HTML → Markdown conversion |
| Pandas | Data handling and charts |
| GitPython | Optional Git-based audit trail |
Contributing
Contributions are welcome! Here's how:
- Fork the repository
- Create a branch:
git checkout -b feature/my-feature - Make your changes and test locally
- Submit a Pull Request with a clear description
Areas for Contribution
- REST API layer for non-Python agents
- WebSocket real-time log streaming
- Multi-agent collaboration and handoff protocols
- Authentication and role-based access
- Additional output formats (PDF, DOCX) for Truth Source
License
This project is licensed under the MIT License — see the LICENSE file for details.
About
Satya is proudly built and maintained by Anktechsol.com. Need help building enterprise-grade AI applications, custom agent swarms, or robust software architectures? We can help. Check out our services to accelerate your AI adoption!
- Website: anktechsol.com
- GitHub: github.com/anktechsol/Satya_AI
If Satya helps your AI agents stay on track, give it a star on GitHub!
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found