Skip to content

Multi-agent AI system with encrypted vaults, governance, and symbolic planning

License

Notifications You must be signed in to change notification settings

POWDER-RANGER/OBLISK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

OBLISK Banner

OBLISK

A secure, symbolic multi-agent AI orchestration framework with encrypted vaults and governed decision-making.

CI Pipeline License: MIT OpenSSF Scorecard PRs Welcome


✨ Features

  • πŸ” Encrypted Vaults: Secure storage with AES-256 encryption for sensitive agent data and credentials
  • πŸ€– Multi-Agent Coordination: Dynamic agent lifecycle management with role-based task distribution
  • 🧠 Symbolic Planning: Logic-based reasoning engine for complex decision-making and goal decomposition
  • πŸ“Š Governance Framework: Policy enforcement, audit logging, and ethical constraint validation
  • πŸ”„ Event-Driven Architecture: Real-time inter-agent messaging with pub/sub patterns
  • πŸ“ˆ Observable & Traceable: Comprehensive logging and monitoring for all agent activities

πŸš€ Quick Start

Prerequisites

  • Python 3.8+ (tested on 3.8, 3.9, 3.10, 3.11)
  • pip or poetry for dependency management
  • Git

Installation

Linux / macOS

git clone https://github.com/POWDER-RANGER/OBLISK.git
cd OBLISK
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python -m oblisk.main

Windows (PowerShell)

git clone https://github.com/POWDER-RANGER/OBLISK.git
cd OBLISK
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
python -m oblisk.main

Windows (CMD)

git clone https://github.com/POWDER-RANGER/OBLISK.git
cd OBLISK
python -m venv venv
venv\Scripts\activate.bat
pip install -r requirements.txt
python -m oblisk.main

πŸ—οΈ Architecture

graph TB
    subgraph "OBLISK Core"
        SP[Symbolic Planner]
        AM[Agent Manager]
        V[Vault System]
        GF[Governance Framework]
    end
    
    subgraph "Agents"
        A1[Agent 1]
        A2[Agent 2]
        A3[Agent N]
    end
    
    subgraph "External"
        API[External APIs]
        DB[(Data Sources)]
    end
    
    SP --> AM
    AM --> A1
    AM --> A2
    AM --> A3
    
    A1 --> V
    A2 --> V
    A3 --> V
    
    GF --> SP
    GF --> AM
    
    A1 --> API
    A2 --> DB
    A3 --> API
    
    style SP fill:#4a90e2
    style V fill:#e94b3c
    style GF fill:#50c878
    style AM fill:#f39c12
Loading

Core Components

  1. Symbolic Planner (core/symbolic_planner.py): Breaks down high-level goals into actionable tasks using logic programming
  2. Agent Manager (agents/agent_manager.py): Spawns, monitors, and coordinates agent lifecycles
  3. Vault System (vault/vault.py): Encrypted key-value store for secrets and sensitive data
  4. Governance Framework (core/governance.py): Enforces policies and ethical constraints

βš™οΈ Configuration

Create a config.yaml in the project root:

oblisk:
  vault:
    encryption_key_path: "/path/to/keyfile"
    storage_path: "./vault_data"
  agents:
    max_concurrent: 10
    timeout_seconds: 300
  planner:
    reasoning_engine: "prolog"  # or "datalog"
    max_depth: 5
  governance:
    policy_path: "./policies/default.json"
    audit_log_path: "./logs/audit.log"
    enforce_ethics: true

logging:
  level: "INFO"
  format: "json"

Alternatively, use JSON format (config.json):

{
  "oblisk": {
    "vault": {
      "encryption_key_path": "/path/to/keyfile",
      "storage_path": "./vault_data"
    },
    "agents": {
      "max_concurrent": 10,
      "timeout_seconds": 300
    },
    "planner": {
      "reasoning_engine": "prolog",
      "max_depth": 5
    },
    "governance": {
      "policy_path": "./policies/default.json",
      "audit_log_path": "./logs/audit.log",
      "enforce_ethics": true
    }
  },
  "logging": {
    "level": "INFO",
    "format": "json"
  }
}

πŸ” How It Works

1. Vault System

The Vault provides secure, encrypted storage for agent credentials and sensitive data:

  • Encryption: AES-256-GCM with per-entry nonces
  • Key Management: Supports file-based keys, environment variables, or HSM integration
  • Access Control: Role-based permissions with audit logging
  • API: Simple set(key, value) and get(key) interface
from oblisk.vault import Vault

vault = Vault(key_path="/path/to/key")
vault.set("api_token", "sensitive-token-123")
token = vault.get("api_token")

2. Agent Communication

Agents communicate via a pub/sub messaging system:

  • Topics: Agents subscribe to relevant topics (e.g., tasks.analysis, events.alerts)
  • Message Bus: Centralized event bus with guaranteed delivery
  • Serialization: JSON or Protocol Buffers for efficient data transfer
  • Security: All messages are signed and optionally encrypted
from oblisk.agents import Agent

class DataAgent(Agent):
    def on_message(self, topic, payload):
        if topic == "tasks.fetch_data":
            data = self.fetch_from_api(payload["source"])
            self.publish("data.fetched", {"result": data})

3. Symbolic Planner

The Planner decomposes goals into executable plans:

  • Input: High-level goal (e.g., "Analyze sentiment from social media")
  • Processing:
    • i. Goal decomposition into sub-goals
    • ii. Agent capability matching
    • iii. Dependency resolution and ordering
    • iv. Resource allocation
  • Output: Directed acyclic graph (DAG) of tasks assigned to agents
  • Execution: Tasks run in parallel where possible, with failure recovery
from oblisk.core import SymbolicPlanner

planner = SymbolicPlanner()
plan = planner.create_plan(
    goal="Analyze sentiment from Twitter",
    constraints=["cost < 100", "time < 5min"]
)
planner.execute(plan)

πŸ“š Documentation


πŸ§ͺ Examples

See the examples/ directory for sample implementations:

  • simple_agent.py: Basic agent setup

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ›‘οΈ Security

Please report security vulnerabilities via our Security Policy. Do not open public issues for security concerns.


πŸ“ž Support


Built with ❀️ by the POWDER-RANGER team

About

Multi-agent AI system with encrypted vaults, governance, and symbolic planning

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages