opencode-copilot-multi
v1.0.10
Published
OpenCode plugin for using multiple GitHub Copilot accounts simultaneously
Maintainers
Readme
opencode-copilot-multi
OpenCode plugin for seamless switching between multiple GitHub Copilot accounts in a single session.
✨ Features
- 🔄 Multi-account support - Use 2+ GitHub Copilot accounts simultaneously
- 🎯 Per-model labeling - Models appear as
username:model-name - 🔒 Secure - OAuth tokens stored locally with 0600 permissions
- ⚡ Non-blocking - Lazy loads, zero impact on OpenCode startup
- 🔄 Auto token refresh - 5-minute buffer before expiry
- 📱 Cross-platform - macOS, Linux, Windows
📋 Supported Models
Claude: Opus/Sonnet/Haiku (all versions)
OpenAI: GPT-5, GPT-4o, o1, o3-mini
Google: Gemini 2.5 Pro, Gemini 3
15+ models total. New models auto-detected when you authenticate.
🔧 Installation
Option 1: Global (Recommended)
npm install -g opencode-copilot-multi
# Restart OpenCodeOption 2: Via NPX
npx opencode-copilot-multi@latest addOption 3: Manual
Edit ~/.config/opencode/opencode.json:
{
"plugin": ["opencode-copilot-multi"]
}🎯 Quick Start
Add account
opencode-copilot-multi add- Launches OpenCode auth
- Select "GitHub Copilot"
- Complete OAuth
Restart OpenCode - models now appear
Select model - e.g.,
john:claude-sonnet-4Add more accounts - Run
addagain
🛠️ CLI Commands
opencode-copilot-multi list # Show all accounts
opencode-copilot-multi add # Add GitHub Copilot account
opencode-copilot-multi remove <username> # Remove account
opencode-copilot-multi clear [--force] # Remove all accounts
opencode-copilot-multi install # Register plugin (auto-run)
opencode-copilot-multi --help # Show help⚙️ System Requirements
- Node.js: ≥ 18.0.0
- OpenCode: Latest version
- GitHub Copilot: Active subscription
🐛 Troubleshooting
No models appearing
- Run:
opencode-copilot-multi list - If empty, run:
opencode-copilot-multi add - Restart OpenCode
- Check logs:
tail ~/.local/share/opencode/log/copilot-multi.log
Token refresh errors
Re-authenticate:
opencode-copilot-multi remove <username>
opencode-copilot-multi addPlugin not loading
opencode-copilot-multi install
# Restart OpenCode📚 Documentation
- ARCHITECTURE.md - System design, diagrams, patterns
- CONTRIBUTING.md - How to contribute
- SECURITY.md - Token security, vulnerability process
- CHANGELOG.md - Version history
🏗️ How It Works
When you select john:claude-sonnet-4:
- Parser extracts username + model
- Pool lookup finds account by username
- Token check refreshes if expiring
- API call routes to GitHub Copilot with account's token
- Response returned to OpenCode
See ARCHITECTURE.md for detailed flow diagrams.
🔐 Security
- Storage:
~/.local/share/opencode/copilot-multi-accounts.json(0600) - Tokens: OAuth only, no passwords
- Refresh: Auto 5 minutes before expiry
- No telemetry: Offline by design
See SECURITY.md for complete details.
🧪 Development
npm install
npm run build # Compile TypeScript
npm run watch # Watch & rebuild
npm link # Link globally for testingProject structure:
src/
├── index.ts # Plugin entry
├── provider.ts # Custom fetch handler
├── storage/ # Account pool & auth
├── discovery/ # Account detection
├── config/ # Config management
├── commands/ # CLI commands
└── utils/ # HelpersSee CONTRIBUTING.md for development workflow.
📄 License
MIT © 2025 Valerio Fantozzi
🤝 Contributing
Contributions welcome! See CONTRIBUTING.md for:
- Code style guidelines
- Development setup
- PR process
- Areas for contribution
🆘 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Security: See SECURITY.md
Made with ❤️ by Valerio Fantozzi
