Skip to main content

The LLM-Agnostic Agentic Framework

Project description

Allos Agent SDK

๐Ÿš€ The LLM-Agnostic Agentic Framework

Build powerful AI agents without vendor lock-in

Python 3.9+ License: MIT Status: Stable PRs Welcome codecov PyPI version GitHub release Build

Documentation โ€ข Roadmap โ€ข Contributing


๐ŸŽฏ What is Allos?

Allos is an open-source, provider-agnostic agentic SDK that gives you the power to build production-ready AI agents that work with any LLM provider. Inspired by Anthropic's Claude Code, Allos delivers the same outstanding capabilities without locking you into a single ecosystem.

The Problem: Most agentic frameworks force you to choose between vendors, making it expensive and risky to switch models.

The Solution: Allos provides a unified interface across OpenAI, Anthropic, Ollama, Google, and moreโ€”so you can use the best model for each task without rewriting your code.

โœจ Key Features

๐Ÿ”„ Provider Agnostic

Switch seamlessly between OpenAI, Anthropic, Ollama, and other LLM providers. Use GPT-4 for one task, Claude for another, or run models locallyโ€”all with the same code.

๐Ÿ› ๏ธ Rich Tool Ecosystem

Built-in tools for:

  • ๐Ÿ“ File operations (read, write, edit)
  • ๐Ÿ’ป Shell command execution
  • ๐ŸŒ Web search and fetching (coming soon)
  • ๐Ÿ”Œ MCP (Model Context Protocol) extensibility (coming soon)

๐ŸŽ›๏ธ Advanced Capabilities

  • โšก Context Management: Automatic context window optimization
  • ๐Ÿ” Fine-grained Permissions: Control what your agent can and cannot do
  • ๐Ÿ’พ Session Management: Save and resume conversations
  • ๐Ÿ“Š Production Ready: Built-in error handling, logging, and monitoring
  • ๐ŸŽจ Extensible: Easy to add custom tools and providers

๐Ÿš€ Developer Experience

# Create your own Claude Code in 5 minutes
uv pip install allos-agent-sdk
export OPENAI_API_KEY=your_key
allos "Create a REST API for a todo app"

๐Ÿ†š Why Allos?

Feature Allos Anthropic Agent SDK LangChain Agents
Provider Agnostic โœ… โŒ (Anthropic only) โš ๏ธ (Complex)
Local Models Support โœ… โŒ โš ๏ธ
Simple API โœ… โœ… โŒ
Built-in Tools โœ… โœ… โš ๏ธ
MCP Support ๐Ÿšง โœ… โŒ
Production Ready โœ… โœ… โš ๏ธ
Open Source โœ… MIT โš ๏ธ Limited โœ…

๐Ÿš€ Quick Start

See the full workflow in action by running our CLI demo script:

bash <(curl -s https://raw.githubusercontent.com/Undiluted7027/allos-agent-sdk/main/examples/cli_workflow.sh)

Installation

We recommend using uv, a fast Python package manager.

# Basic installation
uv pip install allos-agent-sdk

# With specific providers
uv pip install "allos-agent-sdk[openai]"
uv pip install "allos-agent-sdk[anthropic]"
uv pip install "allos-agent-sdk[all]"  # All providers

CLI Usage

The allos CLI is the quickest way to use the agent.

# Set your API key (or use a .env file)
export OPENAI_API_KEY="your_key_here"

# Run a single task
allos "Create a FastAPI hello world app in a file named main.py and then run it."

# Start an interactive session for a conversation
allos -i
# >>> Create a file named 'app.py' with a simple Flask app.
# >>> Now, add a route to it that returns the current time.

# Switch providers and save your session
export ANTHROPIC_API_KEY="your_key_here"
allos -p anthropic -s my_project.json "Refactor the 'app.py' file to be more modular."

Python API

from allos import Agent, AgentConfig

# Simple agent
agent = Agent(AgentConfig(
    provider="openai",
    model="gpt-4",
    tools=["read_file", "write_file", "shell_exec"]
))

result = agent.run("Fix the bug in main.py and add tests")
print(result)

Provider Switching Example

# Start with OpenAI
agent_openai = Agent(AgentConfig(
    provider="openai",
    model="gpt-4",
    tools=["read_file", "write_file"]
))

# Switch to Anthropic for complex reasoning
agent_claude = Agent(AgentConfig(
    provider="anthropic",
    model="claude-sonnet-4-5",
    tools=["read_file", "write_file"]
))

# Or use local models with Ollama (COMING SOON!)
agent_local = Agent(AgentConfig(
    provider="ollama",
    model="qwen2.5-coder",
    tools=["read_file", "write_file"]
))

# Same interface, different providers!
result = agent_openai.run("Create a FastAPI app")

Custom Tools

from allos.tools import BaseTool, tool, ToolParameter

@tool
class DatabaseQueryTool(BaseTool):
    name = "query_database"
    description = "Execute SQL queries"
    parameters = [
        ToolParameter(
            name="query",
            type="string",
            description="SQL query to execute",
            required=True
        )
    ]

    def execute(self, **kwargs: Dict[str, Any]) -> Dict[str, Any]:
        query = kwargs.get("query")
        if not query:
            return {"success": False, "error": "Query parameter is required."}
        # Your implementation
        # In a real scenario, you would connect to a DB.
        # result = your_db.execute(query)
        # For this example, we'll return a mock result.
        return {"status": "success", "result": f"Query '{query}' executed."}

# Use it
agent = Agent(AgentConfig(
    provider="openai",
    model="gpt-4",
    tools=["query_database", "read_file"]
))

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      CLI Layer                          โ”‚
โ”‚              (User-friendly interface)                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                          โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   Agent Core                            โ”‚
โ”‚        (Orchestration & Agentic Loop)                   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€-โ”˜
      โ”‚                  โ”‚                  โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Providers   โ”‚  โ”‚    Tools     โ”‚  โ”‚   Context    โ”‚
โ”‚              โ”‚  โ”‚              โ”‚  โ”‚              โ”‚
โ”‚ โ€ข OpenAI     โ”‚  โ”‚ โ€ข FileSystem โ”‚  โ”‚ โ€ข History    โ”‚
โ”‚ โ€ข Anthropic  โ”‚  โ”‚ โ€ข Shell      โ”‚  โ”‚ โ€ข Compactor  โ”‚
โ”‚ โ€ข Ollama     โ”‚  โ”‚ โ€ข Web        โ”‚  โ”‚ โ€ข Cache      โ”‚
โ”‚ โ€ข Google     โ”‚  โ”‚ โ€ข Custom     โ”‚  โ”‚ โ€ข Manager    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Core Components

  1. Provider Layer: Unified interface for all LLM providers
  2. Tool System: Extensible toolkit with built-in and custom tools
  3. Agent Core: Main agentic loop with planning and execution
  4. Context Manager: Automatic context window optimization
  5. CLI: User-friendly command-line interface

๐Ÿ“Š Provider Support

Provider Status Models Features
OpenAI โœ… Ready GPT-5, GPT-4, GPT-4o Tool calling, streaming
Anthropic โœ… Ready Claude 3, Claude 4 (Opus, Sonnet, Haiku) Tool calling, streaming
Ollama ๐Ÿšง Coming Soon Llama, Mistral, Qwen, etc. Local models
Google ๐Ÿšง Coming Soon Gemini Pro, Gemini Ultra Tool calling
Cohere ๐Ÿ“‹ Planned Command R, Command R+ Tool calling
Custom โœ… Ready Any OpenAI-compatible API Extensible

๐Ÿ› ๏ธ Built-in Tools

Tool Description Permission
read_file Read file contents Always Allow
write_file Write/create files Ask User
edit_file Edit files (string replace) Ask User
list_directory List directory contents Always Allow
shell_exec Execute shell commands Ask User
web_search Search the web ๐Ÿ“‹ Planned
web_fetch Fetch web page content ๐Ÿ“‹ Planned

๐ŸŽฏ Use Cases

Coding Agents

# SRE Agent - Diagnose and fix production issues (Web Search COMING SOON!)
sre_agent = Agent(AgentConfig(
    provider="anthropic",
    model="claude-4-opus",
    tools=["read_file", "shell_exec", "web_search"]
))
sre_agent.run("Investigate why the API latency spiked at 3pm")

# Code Review Agent
review_agent = Agent(AgentConfig(
    provider="openai",
    model="gpt-4",
    tools=["read_file", "write_file"]
))
review_agent.run("Review PR #123 for security issues and best practices")

Business Automation

# Data Analysis Agent
data_agent = Agent(AgentConfig(
    provider="openai",
    model="gpt-4",
    tools=["read_file", "write_file", "query_database"]
))
data_agent.run("Analyze Q4 sales data and create a summary report")

# Content Creation Agent (Web Search COMING SOON!)
content_agent = Agent(AgentConfig(
    provider="anthropic",
    model="claude-sonnet-4-5",
    tools=["web_search", "read_file", "write_file"]
))
content_agent.run("Research AI trends and write a blog post")

๐Ÿ“š Documentation

๐Ÿ—บ๏ธ Roadmap

โœ… Phase 1: MVP (Current)

  • Initial architecture design
  • Directory structure
  • Provider layer (OpenAI, Anthropic)
  • Tool system (filesystem, shell) with user-approval permissions
  • Agent core with agentic loop and session management
  • CLI interface
  • Comprehensive unit, integration, and E2E test suites
  • Final documentation and launch prep

See MVP_ROADMAP.md for detailed MVP timeline.

๐Ÿšง Phase 2: Enhanced Features

  • Ollama integration (local models)
  • Google Gemini support
  • Web search and fetch tools
  • Advanced context management
  • Plugin system
  • Configuration files (YAML/JSON)
  • Session management improvements

๐Ÿ”ฎ Phase 3: Advanced Capabilities

  • MCP (Model Context Protocol) support
  • Subagents and delegation
  • Pydantic AI integration
  • Smolagents compatibility
  • Multi-modal support
  • Advanced monitoring and observability
  • Cloud deployment support

๐Ÿšง Known Limitations (MVP)

The current MVP of the Allos Agent SDK is focused on providing a robust foundation. It intentionally excludes some advanced features that are planned for future releases:

  • No Streaming Support: The agent currently waits for the full response from the LLM and tools. Real-time streaming of responses is a post-MVP feature.
  • Limited Context Management: The agent performs a basic check to prevent exceeding the context window but does not yet implement advanced context compaction or summarization for very long conversations.
  • No Async Support: The core Agent and Tool classes are synchronous. An async-first version is planned for a future release.
  • Limited Provider Support: The MVP includes openai and anthropic. Support for ollama, google, and others is on the roadmap.
  • No Web Tools: Built-in tools for web search (web_search) and fetching URLs (web_fetch) are planned but not yet implemented.
  • Basic Error Recovery: While the agent can recover from tool execution errors (like permission denied), it does not yet have sophisticated strategies for retrying failed API calls or self-correcting flawed plans.

Please see our full ROADMAP.md for more details on our plans for these and other features.

๐Ÿšฆ Current Status

๐Ÿ”ต MVP Development is almost complete

All major features for the MVP are implemented and tested.

  • โœ… Providers: OpenAI and Anthropic are fully supported.
  • โœ… Tools: Secure filesystem and shell tools are included.
  • โœ… Agent Core: The agentic loop, permissions, and session management are functional.
  • โœ… CLI: A polished and powerful CLI is the primary user interface.
  • โœ… Python API: The underlying Python API is stable and ready for use.

Expected MVP Release: 6-8 weeks from project start

We welcome early contributors! See Contributing below.

๐Ÿค Contributing

We're building Allos in the open and would love your help! Whether you're:

  • ๐Ÿ› Reporting bugs
  • ๐Ÿ’ก Suggesting features
  • ๐Ÿ“– Improving documentation
  • ๐Ÿ”ง Submitting PRs
  • โญ Starring the repo (helps a lot!)

All contributions are welcome! See CONTRIBUTING.md for guidelines.

Development Setup

# Clone the repository
git clone https://github.com/Undiluted7027/allos-agent-sdk.git
cd allos-agent-sdk

Python Environment

With pip
# Create virtual environment
python -m venv venv
# For: Mac OS/Linux
source venv/bin/activate
# On Windows: venv\Scripts\activate

# Install in development mode
pip install -e ".[dev]"

# Make the test script executable
chmod +x scripts/run_tests.sh

# Run the default test suite (unit + e2e, no API keys required)
./scripts/run_tests.sh

# Run ONLY integration tests (requires API keys in a .env file)
uv run pytest --run-integration

# Format code
black allos tests
ruff check allos tests --fix

With uv

Ensure you have uv installed. Check out UV Installation Instructions for more information.

# Create virtual environment
uv venv

# Activate environment
# For: MacOS/Linux
source .venv/bin/activate
# For: Windows (Powershell)
# .venv\Scripts\activate

# Install in development mode
uv pip install -e ".[dev]"

# Make the test script executable
chmod +x scripts/run_tests.sh

# Run the default test suite (unit + e2e, no API keys required)
./scripts/run_tests.sh

# Run ONLY integration tests (requires API keys in a .env file)
uv run pytest --run-integration

# Format code
black allos tests
ruff check allos tests --fix

๐ŸŒŸ Stargazers Hall of Fame

A huge thank you to our first 100 stargazers! You're helping build the future of AI agent development. ๐Ÿš€

No stargazers yet. Be the first! โญ

Not featured yet? โญ Star us on GitHub to join the Hall of Fame!


๐ŸŒŸ Why "Allos"?

Allos (Greek: แผ„ฮปฮปฮฟฯ‚) means "other" or "different" - representing our core philosophy of choice and flexibility. Just as the word implies alternatives and options, Allos gives you the freedom to choose any LLM provider without constraints.

๐Ÿ“„ License

Allos is open source and available under the MIT License.

๐Ÿ™ Acknowledgments

Inspired by:

๐Ÿ“ฌ Contact & Community


Built with โค๏ธ by the open source community

โญ Star us on GitHub โ€ข ๐Ÿฆ Follow on X

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

allos_agent_sdk-0.0.1.tar.gz (44.2 kB view details)

Uploaded Source

Built Distribution

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

allos_agent_sdk-0.0.1-py3-none-any.whl (50.8 kB view details)

Uploaded Python 3

File details

Details for the file allos_agent_sdk-0.0.1.tar.gz.

File metadata

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

File hashes

Hashes for allos_agent_sdk-0.0.1.tar.gz
Algorithm Hash digest
SHA256 5aa9fe4b3cbe566d8efbc42bfb02a21996e343c20af1968f3b49403edb1b4d3f
MD5 99b1049ba6373854d44dbc4343a2bd04
BLAKE2b-256 14b6aadaad4ba3ced0a0383b6db03b8005b3468cdfa145ec70b2e41fd65ad9f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for allos_agent_sdk-0.0.1.tar.gz:

Publisher: publish.yml on Undiluted7027/allos-agent-sdk

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

File details

Details for the file allos_agent_sdk-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for allos_agent_sdk-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1f45d2985c9b9d24a628966e7905ddfa20233a3c178794c9067c6201fddee751
MD5 fb540717ee76fdd3da9b0f3f541282d1
BLAKE2b-256 dd97c0524dae6fdd8ab65dee42b84231f52b6239db96e7671d02a588e8c92141

See more details on using hashes here.

Provenance

The following attestation bundles were made for allos_agent_sdk-0.0.1-py3-none-any.whl:

Publisher: publish.yml on Undiluted7027/allos-agent-sdk

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