Portal

Mobile first batteries included web ui for sst/opencode. Git integration, in browser terminal, isolated workspaces.

Last verified:

Visit Portal

What is Portal?

Portal is a comprehensive mobile-first web UI for OpenCode, an AI coding assistant. It provides a beautiful, responsive web interface that eliminates the configuration complexity of OpenCode's native UI, which lacks full responsiveness. Portal is distributed as an npm package (openportal) that automatically starts the OpenCode server in your project directory, serves the web UI, and manages multiple Portal instances across projects.

Key features include a mobile-first design that works on phones and tablets, one-command setup with no configuration needed, dual-server architecture (OpenCode Server and Web UI Server), automatic port allocation, Docker mode for better isolation, remote access via Tailscale VPN, instance management with commands to list/stop instances, and support for multiple projects with custom naming. The entire setup takes just one command: bunx openportal.

Portal is designed for developers who use OpenCode and want a better mobile experience, teams who need to access their development environment from anywhere, developers working on home networks or deploying to VPS, and anyone who wants to eliminate configuration complexity and focus on development. It works best when paired with Bun, though Node.js is supported.

Portal pricing

Pricing model: Freemium

OpenPortal is free and open-source. It is distributed as an npm package (openportal) with no paid tiers or subscription required. The tool itself is free to use, though running it remotely may incur costs from VPS hosting or Tailscale (Tailscale has a free tier for personal use).

Portal pros

  • Mobile-first responsive web UI designed for phones and tablets
  • One-command setup with no configuration needed
  • Automatically starts OpenCode server in project directory
  • Beautiful, responsive web interface improves on OpenCode's native UI
  • Manages multiple Portal instances across projects
  • Automatic port allocation when defaults are in use
  • Docker mode provides better isolation and consistency
  • Remote access via Tailscale VPN from anywhere
  • Works on home network or cloud deployment
  • Instance naming with --name flag for easy identification
  • CLI commands to list, stop, and manage instances
  • Custom port configuration with -p and --opencode-port flags
  • Directory behavior supports multiple invocation methods
  • Process mode is fastest for local development
  • PM2 support for running as a persistent service
  • End-to-end encryption via Tailscale
  • No ports exposed to public internet in remote setup

Portal cons

  • Node.js has rough edges, Bun is recommended
  • Requires OpenCode to be installed separately
  • Remote setup requires Tailscale installation and configuration
  • Only works as a web UI, not a standalone AI assistant
  • Must manually stop instances to clean up processes
  • Docker mode requires Docker to be installed
  • Remote access requires server setup with multiple prerequisites
  • Configuration file ~/.portal.json should not be manually edited

Frequently asked questions about Portal

What is OpenPortal?

Portal is a comprehensive mobile-first web UI for OpenCode. It provides a beautiful, responsive web interface that eliminates the configuration complexity of OpenCode's native UI, which isn't fully responsive. It is distributed as an npm package that starts the OpenCode server, serves the web UI, and manages instances.

How do I install and run Portal?

Navigate to your project directory and run 'bunx openportal'. That's it - Portal will automatically find available ports and display the URLs. Works best with Bun, though Node.js is supported with some rough edges.

What ports does Portal use?

By default, Portal uses port 3000 for the Web UI and port 4000 for the OpenCode Server. These are customizable with -p or --port for Web UI and --opencode-port for OpenCode. If defaults are in use, Portal automatically selects the next available port.

Can I use Portal on my phone?

Yes, Portal is specifically designed as a mobile-first web UI. You can access it on your phone or tablet either on your home network or by deploying to a VPS/home server and accessing via Tailscale VPN.

How do I access Portal remotely?

Run Portal on a VPS or home server with Tailscale installed. After connecting to your Tailnet, access Portal using the server's Tailscale IP (http://100.x.x.x:3000), MagicDNS (http://myserver:3000), or Tailnet domain (http://myserver.tailnet-name.ts.net:3000).

What is the difference between Process Mode and Docker Mode?

Process Mode (default) runs both OpenCode and Web UI as local processes - fastest for local development. Docker Mode runs OpenCode in a Docker container while Web UI runs locally, providing better isolation and consistency across environments. Use --docker flag for Docker mode.

How do I manage multiple projects?

Use the --name flag to identify each instance: 'openportal --name project-a'. Start instances in different directories, then use 'openportal list' to view all running instances and 'openportal stop --name project-a' to stop specific instances.

Can I run Portal as a background service?

Yes, use PM2 to keep Portal running after disconnecting: 'bun install -g pm2', then 'pm2 start openportal --name portal'. Use 'pm2 status', 'pm2 logs portal', 'pm2 restart portal', and 'pm2 stop portal' to manage the service.

Is Portal secure for remote access?

Yes, Tailscale provides end-to-end encryption and Portal is only accessible via your Tailscale network. No ports need to be exposed to the public internet. You can also use Tailscale ACLs for additional access control.

Do I need to configure anything before using Portal?

No configuration is needed. The entire setup takes just one command - 'bunx openportal' - and Portal automatically finds available ports and displays the URLs. However, you need OpenCode installed and Bun is recommended over Node.js.

Categories

Use cases

Browse all AI tools on NeedAnAI