Skip to content

POWDER-RANGER/OBLISK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

50 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

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages