Availability
| Edition | Deployment Type |
|---|---|
| Community & Enterprise | Self-Managed, Hybrid |
file:// paths and the reload API for instant iteration without reinstalling the plugin.
Quick Start: 5-Minute Setup
1. Create Your Plugin
main.go:
Expandable
2. Build and Get Absolute Path
3. Register Plugin Once
Expandable
4. Development Loop
Now you can iterate without reinstalling:The Development Loop Explained
When Do You Need to Reinstall?
You only need to update the plugin registration (not just reload) when:| Change | Reload Sufficient? | Action Needed |
|---|---|---|
| Code logic changes | ✅ Yes | Just rebuild + reload |
| Adding new log statements | ✅ Yes | Just rebuild + reload |
| Configuration handling changes | ✅ Yes | Just rebuild + reload |
| Adding new capabilities (interfaces) | ✅ Yes | Just rebuild + reload |
| Manifest permission changes | ❌ No | Update plugin or recreate |
| Hook type changes | ❌ No | Update plugin hook_type field |
| Plugin type changes | ❌ No | Recreate plugin |
Development Environment Setup
Option 1: Local AI Studio (Recommended for Speed)
Run AI Studio locally for fastest iteration:Option 2: Docker Compose
Mount your plugin directory:Option 3: Remote AI Studio
For remote instances, usegrpc:// deployment during development:
Helper Scripts
dev.sh - One-Command Development
Create this script in your plugin directory:
Expandable
watch.sh - Auto-Rebuild on Save
Expandable
Project Structure Recommendations
Makefile Example
Expandable
Debugging Tips
View Plugin Logs
View Plugin Logs
Plugin logs go to AI Studio’s log output:
Add Debug Logging
Add Debug Logging
Expandable
Check Plugin Status
Check Plugin Status
Test Plugin Standalone
Test Plugin Standalone
Before registering, test your plugin runs:
Common Issues and Resolution
Plugin Not Loading After Reload
Plugin Not Loading After Reload
Symptoms: Reload returns success but changes aren’t reflectedSolutions:
"Permission Denied" on Reload
"Permission Denied" on Reload
Symptoms: Reload fails with permission errorSolutions:
Changes Not Taking Effect
Changes Not Taking Effect
Symptoms: Old behavior persists after reloadSolutions:
Manifest Changes Not Applied
Manifest Changes Not Applied
Symptoms: New UI components or permissions not appearingSolutions: