Disclaimer: This is a personal project and is not related to https://github.com/sst/opencode or the SST team. This portal is a personal-built interface for interacting with OpenCode instances.
A web-based UI for OpenCode, the AI coding agent. This portal provides a browser interface to interact with OpenCode sessions, view messages, and chat with the AI assistant.
- A running OpenCode server (default port: 4000)
- Bun runtime (recommended) or Node.js
| Variable | Description | Required |
|---|---|---|
OPENCODE_SERVER_URL |
URL of the OpenCode server (e.g., http://localhost:4000) |
Yes |
# Install dependencies
bun install
# Set environment variable
export OPENCODE_SERVER_URL=http://localhost:4000
# Run development server
bun devOpen http://localhost:3000 in your browser.
# Build the image
docker build -t opencode-portal .
# Run the container
docker run -p 3000:3000 -e OPENCODE_SERVER_URL=http://localhost:4000 opencode-portalPre-built images are available at:
docker pull ghcr.io/hosenur/portal:latest
docker run -p 3000:3000 -e OPENCODE_SERVER_URL=http://localhost:4000 ghcr.io/hosenur/portal:latestOpenCode Portal connects to a running OpenCode server and provides:
- Session management (create, view, delete sessions)
- Real-time chat interface with the AI assistant
- File mention support (
@filenameto reference files) - Model selection
- Dark/light theme support
OpenCode comes with its own official web UI that you can access by running:
opencode --port 4096However, the official UI is currently under development and has some limitations:
- Not mobile responsive
- Limited mobile experience
This project was inspired by my personal need to access OpenCode from my mobile device when I don't have my laptop around. The goal is to provide a mobile-first, responsive interface for interacting with OpenCode instances remotely.
This portal is designed for remote access to your OpenCode instance. Deploy the portal on a VPS alongside OpenCode, then use Tailscale (or similar VPN) to securely connect from your mobile device or any other machine.
Example setup:
[Your Phone] ---(Tailscale)---> [VPS running Portal + OpenCode]
OpenCode comes with its own official web UI that you can access by running:
opencode --port 4096However, the official UI is currently under development and has some limitations:
- Not mobile responsive
- Limited mobile experience
This project was inspired by my personal need to access OpenCode from my mobile device when I don't have my laptop around. The goal is to provide a mobile-first, responsive interface for interacting with OpenCode instances remotely.
This portal is designed for remote access to your OpenCode instance. Deploy the portal on a VPS alongside OpenCode, then use Tailscale (or similar VPN) to securely connect from your mobile device or any other machine.
Example setup:
[Your Phone] ---(Tailscale)---> [VPS running Portal + OpenCode]
- Next.js - React framework
- IntentUI - UI library
- Tailwind CSS - Styling
- Elysia - API routing
- OpenCode SDK - OpenCode API client
Contributions are welcome! Here's how you can help:
- Bugs: Report bugs by opening an issue with a clear description and steps to reproduce
- Feature requests: Open an issue with the
featurelabel and describe the proposed enhancement
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/portal.git cd portal - Install dependencies:
bun install
- Set up environment variables:
cp .env.example .env.local # Edit .env.local with your configuration - Run the development server:
bun dev
- Create a feature branch from
main - Make your changes following the existing code style
- Test your changes thoroughly
- Update documentation if needed
- Submit a pull request with a clear description
- Use TypeScript for all new code
- Follow the existing component patterns in
src/components/ - Use Tailwind CSS for styling
- Maintain consistent naming conventions
- Add proper TypeScript types
- Check existing issues before creating new ones
- Join the discussion in existing issues
- Be respectful and constructive in all interactions
MIT