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 Ubuntu
  • kernel/core/orchestration/central_orchestrator.py — reads memory info from /proc/meminfo (Linux-specific)
  • 9 systemd service units — Linux systemd dependency

Supported Host Hardware

ComponentSpecificationCode Evidence
CPUx86_64 (Intel i9-14900)docs/milestone_node_v1.md
GPUNVIDIA RTX 4060NVIDIA driver + CUDA
StorageNVMe SSDos.statvfs disk detection

Runtime Environment

EnvironmentVersion RequirementCode Evidence
Python>= 3.11kernel/pyproject.toml
Node.jsvia nvmHost toolchain
DockerLatestContainer runtime
RedisStandard: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

PlatformBuild CommandOutput Format
macOSnpm run tauri:build.dmg / .app
Windowsnpm run tauri:build.msi / .exe
Linuxnpm 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:

PlatformAdapter FileUnderlying TechnologyTest File
macOSports_impl/screen_desktop/pyautogui + Accessibility APItest_screen_desktop_mac_p3.py
Windowsports_impl/screen_desktop/UIA (UI Automation)test_screen_desktop_win_uia.py
Linuxports_impl/screen_desktop/pyautoguitest_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

PlatformFrameworkVersion
iOSReact Native 0.79.2 + Expo 53.0.0iOS 15+
AndroidReact Native 0.79.2 + Expo 53.0.0Android 6.0+

Responsive Adaptation

Code evidence: products/mobile/App.tsx

Device TypeBreakpointLayout
Phone (Portrait)< 768pxTab Bar + full-width content
Tablet (Landscape)>= 768pxSidebar + Content

3.2 ScreenOS Mobile Adapters

Code evidence:

PlatformAdapter DirectoryUnderlying TechnologyTest File
Androidports_impl/screen_mobile/Appium + UiAutomator2test_screen_mobile_android_uia2.py
iOSports_impl/screen_mobile/Appium + XCUITesttest_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/

DimensionSupport
BrowsersChrome/Firefox/Safari/Edge (modern browsers)
FrameworkReact 18.3.1 + TypeScript 5.6.2
BuildVite 5.4.10
RoutingReact Router v6
TestingVitest + jsdom

4.2 ScreenOS Browser Adapter

Code evidence:

AdapterFileUnderlying Technology
Playwrightports_impl/screen_playwright.pyPlaywright 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/

DimensionSupport
PlatformAny Python 3.11+ terminal
Interactionargparse + REPL
OutputANSI colored terminal (pure escape codes, no external dependencies)
CompletionTab completion (/commands + role names)
Piping--pipe flag for non-interactive mode

5.2 TUI Product

Code evidence: products/tui/

DimensionSupport
FrameworkTextual (Python terminal UI)
PlatformAny ANSI-capable terminal
LayoutHeader + Footer + Sidebar + Content
NavigationF1-F5 hotkeys to switch between 5 screens
Refresh10-second auto-refresh

6. Cloud Platform Integration

Capability Package Coverage

Code evidence: server/shared/capabilities/ capability packages

Cloud PlatformCapability PackageCapabilities
AWScloud/aws_inspectEC2, CloudWatch, Cost, IAM
Azurecloud/azure_inspectVMs, Resources
GCPcloud/gcp_inspectCompute, Storage
Kubernetescloud/kubernetes_inspectPods, Services, Deployments
IaCcloud/iac_planTerraform Plan

MCP Cloud Servers

PlatformMCP Server CountExamples
AWS26api, core, s3-tables, eks, lambda, iam, cost-explorer, etc.
Cloudflare1cloudflare MCP
Docker2GitHub 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

PlatformIntegration MethodCode Evidence
SlackMCP Servermcp-catalog.yaml
Microsoft TeamsCapability Package + MCPteams_integration/, _routes_teams.py
NotionMCP Servermcp-catalog.yaml
TwilioMCP Servermcp-catalog.yaml
LINEMCP Servermcp-catalog.yaml
MailgunMCP Servermcp-catalog.yaml

Business Platforms

PlatformIntegration MethodCode Evidence
StripeMCP Servermcp-catalog.yaml
PayPalMCP Servermcp-catalog.yaml
HubSpotMCP Servermcp-catalog.yaml
XeroMCP Servermcp-catalog.yaml
WordPressMCP Servermcp-catalog.yaml
LinkedInMCP Servermcp-catalog.yaml
SentryMCP Servermcp-catalog.yaml

Database Platforms

PlatformIntegration MethodCode Evidence
MongoDBMCP Servermcp-catalog.yaml
MariaDBMCP Servermcp-catalog.yaml
RedisMCP Server + NativeLocal :6379 + MCP
PostgreSQLAWS MCPawslabs.postgres
MySQLAWS MCPawslabs.mysql
DynamoDBAWS MCPawslabs.dynamodb
SQLiteNative port implementation6 *_sqlite.py adapters

DevOps Platforms

PlatformIntegration MethodCode Evidence
GitHubMCP Server (Docker)ghcr.io/github/github-mcp-server
TerraformMCP Servermcp-catalog.yaml
PrometheusMCP Server (Docker)ghcr.io/pab1it0/prometheus-mcp-server

8. Security Testing Platform

Kali Linux Node

Code evidence: MEMORY.md kali-node.md

DimensionConfiguration
Host(Internal network node)
OSKali Linux
Userpangge
Serviceoctopus-kali.service (:8001)
Rolekali-engineer v1.0
CapabilitiesKali 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 CategoryExpected Coverage
Cloud providersAWS, Azure, GCP
Container orchestrationKubernetes, Docker Swarm
CI/CDGitHub Actions, GitLab CI, Jenkins
MonitoringPrometheus, Grafana, Datadog
DatabasesPostgreSQL, MySQL, MongoDB, Redis
Message queuesKafka, RabbitMQ, SQS
~230 service families total

10. Platform Support Overview

Platform Support Overview
Runtime Platforms
Server: Ubuntu Linux / systemdDesktop: macOS / Windows / LinuxMobile: iOS / Android / TabletTerminal: CLI / TUI / ANSI
Web Platform
Chrome / Firefox / Safari / EdgeReact 18 + Vite 5 + TypeScript 5.6
ScreenOS Adapters
Playwright (Browser) — ARIA Treepyautogui / UIA (Windows) / A11y (Mac)Appium / UiAutomator2 / XCUITest
External Platform Integration
Cloud: AWS (26) / Azure / GCP / K8s / TerraformComms: Slack / Teams / Notion / Twilio / LINEBusiness: Stripe / PayPal / HubSpot / Sentry / XeroData: MongoDB / MariaDB / Redis / PostgreSQL / DynamoDBSecurity: Kali Linux (internal node)
OctopusOS
How can we help?