Interactive plugin selector for OpenCode - easily manage your plugins with a beautiful TUI
- ๐จ Beautiful TUI - Interactive multiselect interface powered by @clack/prompts
- โก Fast - Instant loading with known plugins list
- โ Status indicators - See which plugins are installed/active at a glance
- ๐พ Auto-sync - Automatically updates your
opencode.jsonconfiguration - ๐ Preserves versions - Maintains version specifiers for existing plugins
- ๐ Cross-platform - Works on Windows, macOS, and Linux
Add to your OpenCode configuration:
{
"plugin": ["opencode-plugin-selector"]
}OpenCode will automatically install it on startup.
npm install -g opencode-plugin-selectorOr add to your project:
npm install opencode-plugin-selectorJust type the command:
/plugins
This opens an interactive menu where you can:
- โโ - Navigate through plugins
- Space - Toggle plugin selection
- Enter - Confirm selection
- Esc - Cancel
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ OpenCode Plugin Selector โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ opencode-firecrawl โ โ
โ Web scraping via Firecrawl โ
โ โ
โ โฏ oh-my-opencode โ โ
โ Background agents, LSP tools โ
โ โ
โ โฏ opencode-wakatime โ โ
โ Track usage with Wakatime โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
[โโ Navigate] [Space Toggle] [Enter Confirm]
- Plugin Discovery - Loads known plugins from the OpenCode ecosystem
- Status Check - Scans
~/.cache/opencode/node_modules/for installed plugins - Config Sync - Reads
~/.config/opencode/opencode.jsonfor active plugins - Interactive Selection - Presents a multiselect TUI
- Config Update - Saves your selection back to
opencode.json - Restart Required - Restart OpenCode to apply changes
The selector includes all known plugins from the OpenCode ecosystem:
- Auth plugins:
opencode-antigravity-auth,opencode-openai-codex-auth,opencode-gemini-auth - Development:
opencode-daytona,opencode-devcontainers,opencode-worktree - Monitoring:
opencode-helicone-session,opencode-wakatime,opencode-sentry-monitor - Utilities:
opencode-firecrawl,opencode-pty,opencode-scheduler - Agents:
oh-my-opencode,opencode-background-agents,opencode-workspace - And many more...
The plugin respects your existing opencode.json configuration:
{
"plugin": [
"opencode-plugin-selector",
"opencode-firecrawl@1.2.0",
"oh-my-opencode@latest"
]
}Version specifiers are preserved when you update your selection.
- Node.js 18+
- Bun (for running OpenCode)
git clone https://github.com/yourusername/opencode-plugin-selector.git
cd opencode-plugin-selector
npm installnpm run buildAdd to your opencode.json:
{
"plugin": ["./path/to/opencode-plugin-selector"]
}The plugin implements the tui.command.execute hook:
{
'tui.command.execute': async (input, output) => {
if (input.command === 'plugins') {
// Show interactive selector
}
}
}getAllPlugins()- Get all available plugins with statusgetActivePlugins()- Get currently enabled pluginsupdatePlugins(plugins: string[])- Update configurationgetInstalledPlugins()- Get plugins installed in cache
- Check your
opencode.jsonsyntax - Ensure the plugin is in the
pluginarray - Restart OpenCode
- Check file permissions on
~/.config/opencode/opencode.json - Ensure the file is valid JSON
- Check OpenCode logs for errors
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenCode - The AI coding assistant
- @clack/prompts - Beautiful CLI prompts
- picocolors - Terminal colors
- OpenCode Documentation
- OpenCode Ecosystem
- Plugin Development Guide
- Linux.Do ็คพๅบ - ๅผๅ่ ็คพๅบ
Made with โค๏ธ for the OpenCode community