Share a Plan
Export, import, and share OPAL plans
Share a Plan
Export your Plans to share with others, or import Plans from the community.
Security Consideration
Always review imported plans before running them. Plans control your robot's hardware and could cause damage if malicious or poorly written. Only import plans from sources you trust.
Plan file format
Plans are stored as .opal files containing:
- Plan source code
- Metadata (name, description, author)
- Hardware requirements
- Configuration defaults
Export a plan
From the Agent UI
- Open ☰ Menu → Plans
- Select the Plan to export
- Tap [⋮] → [Export]
Export location
Files are saved to:
- Linux:
~/Documents/OctoMY/Plans/ - Android:
Downloads/OctoMY/Plans/ - Windows:
Documents\OctoMY\Plans\
Via command line
# Export a specific plan
./agent --export-plan "Obstacle Avoider" --output ~/my-plan.opal
# Export all plans
./agent --export-all-plans --output ~/octomy-plans/
Share via QR code
Generate a QR code for quick sharing:
- Select [Share via QR] during export
- Other device scans the code
- Plan is transferred directly
Note: QR codes can only transfer small plans. For large plans, use file export.
Import a plan
From file
- Open ☰ Menu → Plans
- Tap [Import]
- Select the
.opalfile
From QR code
- Tap [Import] → [Scan QR]
- Point camera at the QR code
- Confirm import
Via command line
# Import a plan
./agent --import-plan ~/my-plan.opal
# Import and auto-configure
./agent --import-plan ~/my-plan.opal --auto-configure
Review before import
Always review imported plans before running:
Security notice
Plans can control your robot's hardware. Before importing:
- Review the code - Check what it does
- Verify the source - Only import from trusted sources
- Test carefully - Run with robot safely secured first
Plan package format
.opal file structure
#!octomy-plan v1.0
# @name Obstacle Avoider
# @author RobotBuilder42
# @version 1.2.0
# @description Autonomous obstacle avoidance
# @requires sensors.distance.front
# @requires motors.left
# @requires motors.right
# @optional sensors.imu
plan ObstacleAvoider {
# Plan code here...
}
.zip package
For plans with assets:
obstacle-avoider.zip
├── plan.opal # Main plan code
├── metadata.json # Plan metadata
├── config.json # Default configuration
├── README.md # Documentation
└── assets/
├── sounds/
│ └── alert.wav
└── expressions/
└── worried.png
Plan metadata
metadata.json
{
"name": "Obstacle Avoider",
"author": "RobotBuilder42",
"version": "1.2.0",
"license": "MIT",
"description": "Autonomous obstacle avoidance using front distance sensor.",
"tags": ["navigation", "obstacle", "autonomous"],
"requirements": {
"sensors": ["distance.front"],
"actuators": ["motors.left", "motors.right"]
},
"optional": {
"sensors": ["imu"]
},
"configuration": {
"safe_distance": {
"type": "number",
"default": 40,
"min": 10,
"max": 100,
"description": "Distance threshold in cm"
}
}
}
Configuration on import
When importing a plan with configurable options:
Plan library
Browse community plans
Access shared plans from the community:
- ☰ Menu → Plans → [Browse Library]
Publish your plan
Share your plan with the community:
- Export your plan
- ☰ Menu → Plans → [Publish]
- Fill in details and submit
Requirements:
- Plan must be tested and working
- Include description and documentation
- Specify hardware requirements
- Follow community guidelines
Version control
Plan versions
Backup all plans
Export all plans
# Command line backup
./agent --export-all-plans --output ~/octomy-backup/
# Creates:
# ~/octomy-backup/
# ├── obstacle-avoider.opal
# ├── line-follower.opal
# └── patrol-bot.opal
Restore from backup
# Restore all plans
./agent --import-plans ~/octomy-backup/