Minimalna wersja Container OS - jeden plik Python realizujący pełną funkcjonalność.
# Setup (one time)
./setup.sh
# Run
./run-dockevos.sh
# OR
python3 dockevos.py
dockevos> help # Show all commands
dockevos> ps # List containers
dockevos> start nginx # Start container
dockevos> stop nginx # Stop container
dockevos> info # System information
dockevos> speak hello # Text-to-speech test
dockevos> plugins # List loaded plugins
dockevos> stats # Usage statistics
Plugins now live in dedicated sub-directories under plugins/, each with an __init__.py, optional README, and assets. This allows clean packaging, dependencies, and hot-reloading.
plugins/
├── system_log/ # Core logging service
│ ├── __init__.py
│ └── README.md
├── shell_assistant/ # AI repair assistant (Ollama / Mistral-7B)
│ ├── __init__.py
│ └── README.md
├── alternative_plugin/ # Fallback manager
│ ├── __init__.py
│ └── README.md
└── <your_plugin>/ # Create your own!
├── __init__.py
└── README.md
┌── dockevos boot ───────────────────────────────┐
│ 1. System Log collects env + dependency info │
│ 2. Hardware Analyzer checks missing libs │
│ 3. Shell Assistant (if permitted) auto-fixes │
│ 4. Alternative Plugin offers fallbacks │
└────────────────────────────────────────────────┘
If a package such as pyaudio is missing, the chain above will attempt automatic installation or guide you through manual fixes.
plugins/ directory:Create a folder called plugins/my_plugin/ with an __init__.py:
# plugins/my_plugin/__init__.py
def register(event_bus, shell):
def my_command(event):
return "Hello from my plugin!"
shell.register_command('my-cmd', my_command)
print("📦 My plugin loaded")
def unregister(event_bus, shell):
shell.unregister_command('my-cmd')
my-cmdA helper script lives in plugins/plugin_generator.py (run outside dockevOS) to scaffold new plugins.
python plugins/plugin_generator.py basic awesome
Inside dockevOS you can invoke (once the generator is registered):
dockevos> generate plugin basic awesome
This will create plugins/awesome/ pre-populated with templates and register commands automatically.
hello [name] - Greetingtime - Current timeweather [city] - Mock weather infonote add|list|clear [text] - Simple notescalc 2 + 2 - Calculatoruptime - System uptimedisk - Disk usagenetwork - Network interfacesprocesses - Top processes# Test TTS
dockevos> speak "Hello Container OS"
# Voice feedback on actions
dockevos> start nginx
🔊 "Container nginx started"
plugins/sample_plugin.pySystem tracks usage and provides suggestions:
Works with local Docker daemon:
The first run performs a dependency audit. Missing libraries trigger the AI Shell Assistant which will ask for permission to install system or Python packages. Refuse, and the Alternative Plugin suggests manual work-arounds.
Key runtimes:
Ollama (for AI Shell Assistant)
dockevos/
├── dockevos/ # Core package
│ └── __main__.py
├── plugins/ # All modular plugins (see tree above)
├── PLUGIN_SYSTEM.md # ASCII architecture diagrams
├── Makefile # Common dev commands
└── README.md
├── dockevos.py # Main application (single file!)
├── setup.sh # Setup script
├── run-dockevos.sh # Launcher
├── plugins/ # Plugin directory
│ ├── sample_plugin.py # Basic examples
│ ├── advanced_plugin.py # Advanced features
│ └── system_info_plugin.py # System monitoring
└── README.md # This file
This MVP can evolve into full Container OS:
Perfect for learning, development, and quick deployments! 🚀