Application layer of the Ouroboros system, providing user-facing interfaces and remoting capabilities for the Ouroboros AI pipeline framework.
Coverage is measured by CI via Coverlet + ReportGenerator. See the latest CI run for the full HTML report artifact.
| Project | Line Coverage | Status |
|---|---|---|
| Ouroboros.Easy | 68.5% | |
| Ouroboros.Application | -- | See CI report |
| Ouroboros.CLI | -- | See CI report |
| Ouroboros.WebApi | -- | See CI report |
Note: Full per-assembly coverage is available in the CI coverage report artifact. The Android project is excluded from coverage (separate MAUI build).
This repository is part of the Ouroboros-v2 ecosystem and contains the application implementations that sit on top of the foundation and engine layers.
The Ouroboros App layer provides multiple interfaces for interacting with the Ouroboros system:
- Android App - Mobile terminal-style interface with AI provider support
- Web API - REST API for containerized/cloud deployments
- CLI - Command-line interface for desktop usage
- Easy API - Simplified programming interface
- Examples - Sample implementations and usage patterns
π€ Ouroboros.Android
Native Android application providing a terminal-style CLI interface on mobile devices.
- Full Ollama API integration with authentication
- Multi-provider AI support (OpenAI, Anthropic, Google AI, etc.)
- Symbolic reasoning engine
- Command history and intelligent suggestions
- Offline-capable with local storage
π Ouroboros.WebApi
ASP.NET Core Web API providing REST endpoints for the Ouroboros pipeline.
- Kubernetes-ready with health checks
- OpenAPI/Swagger documentation
- Horizontal scaling support
- Distributed tracing integration
Command-line interface for desktop environments.
- Direct access to pipeline functionality
- Shell integration
- Batch processing support
Shared pipeline runtime and application logic used by all application interfaces.
Simplified API for quick integration and prototyping.
Sample implementations demonstrating Ouroboros capabilities.
Client SDK for the OpenClaw gateway protocol.
ASP.NET minimal API host with REST endpoints and Swagger.
Audio detection and VAD (Voice Activity Detection) using NAudio.
- .NET 10.0 SDK or later
- For Android: MAUI workload (
dotnet workload install maui-android) - For Docker deployments: Docker and Docker Compose
dotnet restore
dotnet buildThe Android app is built separately to avoid requiring MAUI workloads in all environments:
cd src/Ouroboros.Android
dotnet restore
dotnet build -c Release -f net10.0-androidThe APK will be at: bin/Release/net10.0-android/com.adaptivesystems.Ouroboros-Signed.apk
See the Android README for detailed build and installation instructions.
docker build -f Dockerfile.webapi -t ouroboros-webapi:latest .
docker run -p 8080:8080 ouroboros-webapi:latestdotnet testRun specific test projects:
dotnet test tests/Ouroboros.Application.Tests
dotnet test tests/Ouroboros.WebApi.Tests
dotnet test tests/Ouroboros.CLI.Tests
dotnet test tests/Ouroboros.Android.Tests
dotnet test tests/Ouroboros.ApiHost.Tests
dotnet test tests/Ouroboros.App.BDD
dotnet test tests/Ouroboros.Easy.Tests
dotnet test tests/Ouroboros.Integration.TestsThis repository represents the App Layer of the Ouroboros architecture:
βββββββββββββββββββββββββββββββββββββββββββ
β Ouroboros App Layer β
β (Android, WebApi, CLI, Easy, Examples) β
βββββββββββββββββββββββββββββββββββββββββββ€
β Ouroboros Engine Layer β
β (Pipeline, Providers, Network) β
βββββββββββββββββββββββββββββββββββββββββββ€
β Ouroboros Foundation Layer β
β (Core, Domain, Tools) β
βββββββββββββββββββββββββββββββββββββββββββ
The App layer depends on:
- Foundation Layer - Core types, domain models, and utilities
- Engine Layer - Pipeline execution, AI providers, networking
These dependencies are managed through the Directory.Build.props file and expect the foundation and engine layers to be available as submodules or in sibling directories.
- Android Testing Guide - Comprehensive guide for testing the Android app
- Deployment Guide - Kubernetes and cloud deployment instructions
- Configuration Guide - Configuration and security details
- Quick Start - Quick start guide
Additional documentation is available in the docs/ directory.
- Ouroboros-v2 - Main repository with overall system architecture
- Ouroboros Foundation - Core framework and domain models (referenced via build system)
- Ouroboros Engine - Pipeline execution and AI provider integrations (referenced via build system)
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please ensure:
- All tests pass before submitting PRs
- New features include appropriate tests
- Documentation is updated to reflect changes
- Code follows existing patterns and conventions
For issues, questions, or contributions, please visit the main Ouroboros-v2 repository.