OctopusOS Supported Platforms Analysis
An analysis of the full platform matrix covered by OctopusOS, based on adapter implementations, build configurations, and contract definitions in the codebase.
1. Server Platform
Production Environment: Ubuntu Linux
Code evidence:
docs/milestone_node_v1.md— octopus-os node runs Ubuntukernel/core/orchestration/central_orchestrator.py— reads memory info from/proc/meminfo(Linux-specific)- 9 systemd service units — Linux systemd dependency
Supported Host Hardware
| Component | Specification | Code Evidence |
|---|---|---|
| CPU | x86_64 (Intel i9-14900) | docs/milestone_node_v1.md |
| GPU | NVIDIA RTX 4060 | NVIDIA driver + CUDA |
| Storage | NVMe SSD | os.statvfs disk detection |
Runtime Environment
| Environment | Version Requirement | Code Evidence |
|---|---|---|
| Python | >= 3.11 | kernel/pyproject.toml |
| Node.js | via nvm | Host toolchain |
| Docker | Latest | Container runtime |
| Redis | Standard | :6379 task queue |
2. Desktop Platforms (Tauri + ScreenOS)
2.1 Native Application (Tauri 2.x)
Tauri compiles to native binaries via Rust, supporting all three major desktop operating systems.
Code evidence: products/desktop/package.json
| Platform | Build Command | Output Format |
|---|---|---|
| macOS | npm run tauri:build | .dmg / .app |
| Windows | npm run tauri:build | .msi / .exe |
| Linux | npm run tauri:build | .deb / .AppImage |
2.2 ScreenOS Desktop Adapters
Through the ScreenPort abstraction, different underlying automation technologies are used on different desktop operating systems.
Code evidence:
| Platform | Adapter File | Underlying Technology | Test File |
|---|---|---|---|
| macOS | ports_impl/screen_desktop/ | pyautogui + Accessibility API | test_screen_desktop_mac_p3.py |
| Windows | ports_impl/screen_desktop/ | UIA (UI Automation) | test_screen_desktop_win_uia.py |
| Linux | ports_impl/screen_desktop/ | pyautogui | test_screen_desktop_integration.py |
2.3 Platform Definitions in ScreenOS Contracts
# kernel/contracts/screen_os.py
# Supported values for ScreenSnapshot.platform
platform: Literal["macos", "windows", "linux", "android", "ios"]
3. Mobile Platforms (Expo + ScreenOS)
3.1 Native Application (React Native / Expo)
Code evidence: products/mobile/package.json
| Platform | Framework | Version |
|---|---|---|
| iOS | React Native 0.79.2 + Expo 53.0.0 | iOS 15+ |
| Android | React Native 0.79.2 + Expo 53.0.0 | Android 6.0+ |
Responsive Adaptation
Code evidence: products/mobile/App.tsx
| Device Type | Breakpoint | Layout |
|---|---|---|
| Phone (Portrait) | < 768px | Tab Bar + full-width content |
| Tablet (Landscape) | >= 768px | Sidebar + Content |
3.2 ScreenOS Mobile Adapters
Code evidence:
| Platform | Adapter Directory | Underlying Technology | Test File |
|---|---|---|---|
| Android | ports_impl/screen_mobile/ | Appium + UiAutomator2 | test_screen_mobile_android_uia2.py |
| iOS | ports_impl/screen_mobile/ | Appium + XCUITest | test_screen_mobile_base.py |
Mobile UI Node Roles
ScreenOS defines dedicated NodeRole values for mobile platforms:
# kernel/contracts/screen_os.py — Mobile roles
NodeRole = Literal[
...,
"activity", # Android Activity
"snackbar", # Mobile notification bar
"bottom_sheet", # Bottom sheet panel
"fab", # Floating action button
...
]
Mobile Action Types
# kernel/contracts/screen_os.py — Mobile-specific actions
ActionType = Literal[
"click", "type_text", "scroll", "drag", # Universal
"tap", # Mobile tap
"swipe", # Mobile swipe
"back", # Android back key
"home", # Home key
]
4. Web Platform
4.1 Web Console
Code evidence: products/web/
| Dimension | Support |
|---|---|
| Browsers | Chrome/Firefox/Safari/Edge (modern browsers) |
| Framework | React 18.3.1 + TypeScript 5.6.2 |
| Build | Vite 5.4.10 |
| Routing | React Router v6 |
| Testing | Vitest + jsdom |
4.2 ScreenOS Browser Adapter
Code evidence:
| Adapter | File | Underlying Technology |
|---|---|---|
| Playwright | ports_impl/screen_playwright.py | Playwright Accessibility Tree |
ARIA role mapping: 40+ ARIA roles mapped to 28 NodeRole values
# screen_playwright.py
# ARIA role → NodeRole mapping examples
"button" → "button"
"textbox" → "text_field"
"checkbox" → "checkbox"
"dialog" → "dialog"
"menu" → "menu"
"tab" → "tab"
# ... 40+ mappings
5. Terminal Platforms
5.1 CLI Product
Code evidence: products/cli/
| Dimension | Support |
|---|---|
| Platform | Any Python 3.11+ terminal |
| Interaction | argparse + REPL |
| Output | ANSI colored terminal (pure escape codes, no external dependencies) |
| Completion | Tab completion (/commands + role names) |
| Piping | --pipe flag for non-interactive mode |
5.2 TUI Product
Code evidence: products/tui/
| Dimension | Support |
|---|---|
| Framework | Textual (Python terminal UI) |
| Platform | Any ANSI-capable terminal |
| Layout | Header + Footer + Sidebar + Content |
| Navigation | F1-F5 hotkeys to switch between 5 screens |
| Refresh | 10-second auto-refresh |
6. Cloud Platform Integration
Capability Package Coverage
Code evidence: server/shared/capabilities/ capability packages
| Cloud Platform | Capability Package | Capabilities |
|---|---|---|
| AWS | cloud/aws_inspect | EC2, CloudWatch, Cost, IAM |
| Azure | cloud/azure_inspect | VMs, Resources |
| GCP | cloud/gcp_inspect | Compute, Storage |
| Kubernetes | cloud/kubernetes_inspect | Pods, Services, Deployments |
| IaC | cloud/iac_plan | Terraform Plan |
MCP Cloud Servers
| Platform | MCP Server Count | Examples |
|---|---|---|
| AWS | 26 | api, core, s3-tables, eks, lambda, iam, cost-explorer, etc. |
| Cloudflare | 1 | cloudflare MCP |
| Docker | 2 | GitHub MCP, Prometheus MCP images |
Cloud API Routes
Code evidence: server/shared/adapters/http/_routes_cloud.py
GET /api/cloud/aws/ec2/instances # EC2 instance list
GET /api/cloud/aws/cloudwatch/metrics # CloudWatch metrics
GET /api/cloud/aws/cost/summary # Cost summary
GET /api/cloud/azure/vms # Azure VM list
7. External Service Platform Integration
Communication Platforms
| Platform | Integration Method | Code Evidence |
|---|---|---|
| Slack | MCP Server | mcp-catalog.yaml |
| Microsoft Teams | Capability Package + MCP | teams_integration/, _routes_teams.py |
| Notion | MCP Server | mcp-catalog.yaml |
| Twilio | MCP Server | mcp-catalog.yaml |
| LINE | MCP Server | mcp-catalog.yaml |
| Mailgun | MCP Server | mcp-catalog.yaml |
Business Platforms
| Platform | Integration Method | Code Evidence |
|---|---|---|
| Stripe | MCP Server | mcp-catalog.yaml |
| PayPal | MCP Server | mcp-catalog.yaml |
| HubSpot | MCP Server | mcp-catalog.yaml |
| Xero | MCP Server | mcp-catalog.yaml |
| WordPress | MCP Server | mcp-catalog.yaml |
| MCP Server | mcp-catalog.yaml | |
| Sentry | MCP Server | mcp-catalog.yaml |
Database Platforms
| Platform | Integration Method | Code Evidence |
|---|---|---|
| MongoDB | MCP Server | mcp-catalog.yaml |
| MariaDB | MCP Server | mcp-catalog.yaml |
| Redis | MCP Server + Native | Local :6379 + MCP |
| PostgreSQL | AWS MCP | awslabs.postgres |
| MySQL | AWS MCP | awslabs.mysql |
| DynamoDB | AWS MCP | awslabs.dynamodb |
| SQLite | Native port implementation | 6 *_sqlite.py adapters |
DevOps Platforms
| Platform | Integration Method | Code Evidence |
|---|---|---|
| GitHub | MCP Server (Docker) | ghcr.io/github/github-mcp-server |
| Terraform | MCP Server | mcp-catalog.yaml |
| Prometheus | MCP Server (Docker) | ghcr.io/pab1it0/prometheus-mcp-server |
8. Security Testing Platform
Kali Linux Node
Code evidence: MEMORY.md kali-node.md
| Dimension | Configuration |
|---|---|
| Host | (Internal network node) |
| OS | Kali Linux |
| User | pangge |
| Service | octopus-kali.service (:8001) |
| Role | kali-engineer v1.0 |
| Capabilities | Kali Linux toolset (penetration testing, security assessment) |
9. Platform Baseline (21 Platform Baselines)
The kernel includes built-in baseline definitions for 21 platforms, used for skill maturity assessment.
Code evidence: kernel/contracts/platform_baseline.py
# PlatformBaseline — 21 platforms, ~230 service families
# Each platform defines core services, security requirements, monitoring needs
| Platform Category | Expected Coverage |
|---|---|
| Cloud providers | AWS, Azure, GCP |
| Container orchestration | Kubernetes, Docker Swarm |
| CI/CD | GitHub Actions, GitLab CI, Jenkins |
| Monitoring | Prometheus, Grafana, Datadog |
| Databases | PostgreSQL, MySQL, MongoDB, Redis |
| Message queues | Kafka, RabbitMQ, SQS |
| … | ~230 service families total |