Skip to content

Mobile-first web interface for OpenCode AI agents. Manage, control, and code with multiple OpenCode agents from any device - your phone, tablet, or desktop. Features Git integration, file management, and real-time chat in a responsive PWA. Deploy with Docker for instant setup.

License

Notifications You must be signed in to change notification settings

BioInfo/helm

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

350 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Helm Banner

Take the helm from anywhere.

License Node.js TypeScript GitHub Stars


๐ŸŽฏ What is Helm?

A unified mobile-first command center for managing multiple OpenCode instances. Built for iPhone + Tailscale workflows.

Helm is a fork of chriswritescode-dev/opencode-web that adds:

  • Multi-server discovery โ€” Auto-finds all running OpenCode instances
  • MCP tool visibility โ€” See exactly what tools your agents are calling
  • Embedded terminal โ€” Full terminal access from your browser
  • Touch-first UX โ€” Swipe gestures, bottom nav, haptic feedback
  • Offline support โ€” Cache sessions and queue messages when offline

Helm Architecture


โœจ Features

Inherited from opencode-web

  • โœ… Mobile-first PWA
  • โœ… Git integration (diff, branches, PRs)
  • โœ… MCP server configuration
  • โœ… Session management
  • โœ… File browser with syntax highlighting
  • โœ… Model selection and provider management
  • โœ… Text-to-speech for AI responses

Added by Helm

  • โšก Multi-server discovery โ€” Auto-detect OpenCode instances via lsof
  • ๐Ÿ”„ Server switching โ€” Seamlessly switch between projects
  • ๐Ÿ” MCP tool feed โ€” Real-time visibility into tool calls
  • ๐Ÿ’ป Embedded terminal โ€” Xterm.js with PTY backend
  • ๐Ÿ“ฑ Bottom navigation โ€” Mobile-optimized tab bar
  • ๐Ÿ“ด Offline mode โ€” IndexedDB caching + message queue
  • ๐Ÿ‘† Touch gestures โ€” Swipe-to-go-back, haptic feedback

๐Ÿš€ Quick Start

Requirements

  • Node.js 20+
  • pnpm 9+
  • OpenCode CLI (npm install -g @anthropics/opencode)

Native (Recommended)

Run Helm directly on your Mac to discover all local OpenCode instances:

# Clone
git clone https://github.com/BioInfo/helm.git
cd helm

# Install
pnpm install

# Run
pnpm dev

# Open http://localhost:5174 (frontend dev server)
# API available at http://localhost:5001

Then start OpenCode in your project directories:

cd ~/project-api && opencode          # TUI mode - Helm will find it
cd ~/project-frontend && opencode serve  # Headless - Helm will find it
cd ~/project-infra && opencode        # TUI mode - Helm will find it

Helm auto-discovers all running instances and lets you switch between them.

๐Ÿ“ฑ With Tailscale (Mobile Access)

# On your Mac
pnpm dev

# On your iPhone via Tailscale
# Navigate to http://your-mac.tailnet:5174
# Add to Home Screen for native app feel

๐Ÿณ With Docker (Isolated/Single-Server)

Docker mode runs a single embedded OpenCode instance. Use this for:

  • Isolated environments
  • Self-hosted deployments
  • Users who don't need multi-server discovery
docker-compose up -d
# Access at http://localhost:5003

Note: Docker cannot discover OpenCode instances on the host machine due to process isolation. For multi-server discovery, run Helm natively.


๐Ÿ—บ๏ธ Roadmap

Current (v0.1) โœ…

  • Multi-server discovery (local via lsof)
  • Server switching UI
  • Embedded terminal
  • MCP tool visibility
  • Mobile-first UX
  • Docker deployment option

Planned (v0.2) ๐Ÿšง

  • Claude Code native integration โ€” Unified discovery and support for both OpenCode and Claude Code
  • Multi-machine discovery โ€” See instances across Mac, Linux servers, Raspberry Pis, cloud VMs
  • Network-based server registration
  • SSH tunnel support for remote instances
  • Server grouping by machine/location

Future ๐Ÿ”ฎ

  • Swarm task visualization
  • Cost budgets and alerts
  • Session sharing/collaboration
  • Custom MCP server templates
  • Agent orchestration UI (parallel task decomposition)

๐Ÿ“š Documentation

Document Purpose
CONTRIBUTING.md Contribution guidelines
SECURITY.md Security policy
AGENTS.md Development context for AI agents
docs/PRD.md Product requirements & architecture
docs/CHECKLIST.md Implementation progress tracker

๐Ÿ› ๏ธ Troubleshooting

Apple Silicon (M1/M2/M3/M4)

If you see posix_spawnp failed errors when opening a terminal:

cd node_modules/.pnpm/node-pty@1.1.0/node_modules/node-pty
npx node-gyp rebuild

Then restart with pnpm dev.

Verify Server Discovery

# Check what OpenCode instances Helm can see
curl http://localhost:5001/api/servers | jq .

Test Terminal API

curl -X POST http://localhost:5001/api/terminal/create \
  -H "Content-Type: application/json" \
  -d '{"workdir": "/tmp"}'

๐Ÿ›๏ธ Origin Projects

Helm combines the best ideas from:


๐Ÿ™ Acknowledgments

Special thanks to:

  • @chriswritescode โ€” For building opencode-web, the foundation that made Helm possible
  • @joelhooks โ€” For pioneering multi-server discovery patterns in opencode-vibe
  • The VibeTunnel team โ€” For proving that browser-based terminal access can work beautifully
  • @anthropics โ€” For Claude Code and OpenCode, the AI coding agents that power modern development
  • The Anthropic community โ€” For feedback, bug reports, and feature ideas that shape Helm's direction

Helm exists because developers before us shared their work openly. This project stands on the shoulders of giants.


๐Ÿ“œ License

MIT

About

Mobile-first web interface for OpenCode AI agents. Manage, control, and code with multiple OpenCode agents from any device - your phone, tablet, or desktop. Features Git integration, file management, and real-time chat in a responsive PWA. Deploy with Docker for instant setup.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 98.8%
  • Other 1.2%