A repository for plans to create a docker node.
  • Python 67.5%
  • JavaScript 25.5%
  • HTML 3.8%
  • CSS 2.3%
  • Shell 0.7%
  • Other 0.2%
Find a file
Adam Outler b714507dd4
All checks were successful
Updates/Gemini WebUI/pipeline/head This commit looks good
feat(ui): Fix image and text pasting on mobile and long voice input STT buffer
Resolves GEMWE-160, GEMWE-162
2026-03-07 21:22:44 -05:00
.gemini feat(ui): Fix software modifier button bugs and add tests for keyboard combinations 2026-03-07 20:56:45 -05:00
.github/workflows feat: Add visual pulse indicator for connection checks, plus GitHub actions sync 2026-03-04 20:48:09 -05:00
docs/images fix(ui): GEMWE-161 resolve terminal double-reset on large text bursts 2026-03-07 13:03:48 -05:00
jenkins feat: Add visual pulse indicator for connection checks, plus GitHub actions sync 2026-03-04 20:48:09 -05:00
node_modules feat: implement kanban sprint features 2026-03-06 19:48:25 -05:00
plans feat: implement kanban sprint features 2026-03-06 19:48:25 -05:00
scripts Test pre-commit version bump 2026-03-03 14:08:43 -05:00
src feat(ui): Fix image and text pasting on mobile and long voice input STT buffer 2026-03-07 21:22:44 -05:00
tests test(ui): add playwright tests for CSRF validation during file uploads 2026-03-07 21:12:10 -05:00
.dockerignore fix: Add data/ to .dockerignore to resolve build context permission issues 2026-02-23 12:20:02 -05:00
.gitignore chore: setup AI delegation agents and adjust Gemini configuration 2026-03-06 10:11:45 -05:00
ARCHITECTURE_PLAN.md feat(session): implement cross-device persistence and session reclaiming 2026-02-26 20:12:30 -05:00
docker-compose.yml feat: add unauthenticated /health endpoint and docker-compose healthcheck 2026-02-26 13:00:30 -05:00
Dockerfile Test pre-commit version bump 2026-03-03 14:08:43 -05:00
fix_exceptions.py Fix all failing tests 2026-03-05 21:30:45 -05:00
get_data_dir.py feat: Add visual pulse indicator for connection checks, plus GitHub actions sync 2026-03-04 20:48:09 -05:00
get_logs.py feat: implement kanban sprint features 2026-03-06 19:48:25 -05:00
Jenkinsfile chore: remove SECRET_KEY and group LDAP variables in Dockerfile 2026-02-24 21:21:07 -05:00
package-lock.json feat: implement kanban sprint features 2026-03-06 19:48:25 -05:00
package.json feat: implement kanban sprint features 2026-03-06 19:48:25 -05:00
pytest.ini feat: Implement multi-tab isolation, session launcher, and numeric resume 2026-02-23 15:11:39 -05:00
README.md docs: Add Share Terminal Sessions feature to README 2026-03-06 15:15:49 -05:00
refactor.py Fix all failing tests 2026-03-05 21:30:45 -05:00
requirements-test.txt feat: Implement persistent configuration and SSH key management 2026-02-23 12:05:05 -05:00
requirements.txt feat(security): implement CSRF protection with Flask-WTF 2026-03-03 23:52:59 -05:00
run_debug_test.js feat: implement kanban sprint features 2026-03-06 19:48:25 -05:00
run_test.py Fix all failing tests 2026-03-05 21:30:45 -05:00
setup_dev.sh Test pre-commit version bump 2026-03-03 14:08:43 -05:00
strip_routes.py Fix all failing tests 2026-03-05 21:30:45 -05:00
terminal_before_typing.png fix(ui): GEMWE-173 Fix superbright flash timing and restore to backend managed sessions 2026-03-07 16:04:53 -05:00
test-results.txt feat: implement kanban sprint features 2026-03-06 19:48:25 -05:00
test_debug.log fix(ui): GEMWE-173 Fix superbright flash timing and restore to backend managed sessions 2026-03-07 16:04:53 -05:00
test_debug2.log Fix all failing tests 2026-03-05 21:30:45 -05:00
test_dom.js feat: implement kanban sprint features 2026-03-06 19:48:25 -05:00
test_drag.html feat: Add visual pulse indicator for connection checks, plus GitHub actions sync 2026-03-04 20:48:09 -05:00
test_output.log fix(ui): GEMWE-173 Fix superbright flash timing and restore to backend managed sessions 2026-03-07 16:04:53 -05:00
test_path.py Fortify Backend SCP Execution & Verification (Ticket 3) 2026-03-05 21:57:54 -05:00
test_persistence.py feat: implement kanban sprint features 2026-03-06 19:48:25 -05:00
test_regression.py fix: resolve ui reset glitch on disconnect and stolen sessions 2026-03-07 10:27:02 -05:00
test_serialize.js feat: implement kanban sprint features 2026-03-06 19:48:25 -05:00
VERSION feat(ui): Fix image and text pasting on mobile and long voice input STT buffer 2026-03-07 21:22:44 -05:00

Gemini WebUI

The ultimate management interface for your Gemini AI, built for mobility and persistence.

Gemini WebUI Address Bar and Interface

Gemini WebUI provides a high-fidelity, persistent web interface for the Gemini CLI. Whether you are monitoring complex projects, executing long-running AI tasks, or interacting with remote host machines, Gemini WebUI delivers a seamless experience across all your devices.

🚀 Key Features

  • Multi-Environment Management Manage multiple Gemini CLI instances across various computers, projects, and workspaces from a single, unified dashboard.

  • Mobile-First Design Experience a fully responsive UI equipped with mobile-friendly controls, enabling full Gemini CLI functionality on the go. Upload mobile screenshots from your phone, and describe problems using your mic to communicate naturally with the Gemini CLI.

  • Session Persistence True cross-device persistence allows you to resume live sessions from your desktop directly on your phone or tablet without losing valuable context.

  • Seamless File Management Upload files directly through the UI via intuitive drag-and-drop or dedicated buttons, making your data immediately available to the AI.

    • Smart Bulk Uploads: Dropping multiple files or a directory automatically groups them into a upload-<timestamp> folder, preserving their nested structure.
    • Terminal Auto-Injection: File paths are automatically injected into your active terminal prompt (e.g., > I uploaded @filename.txt or > I uploaded multiple files to @upload-1701234567/) so the AI knows exactly where to look.

    File Transfer Screen

  • Share Terminal Sessions Easily export and share your terminal scrollback as a responsive, public HTML snapshot with a simple click. Review the data, confirm, and receive an instant, unauthenticated link to share context, bugs, or solutions with others.

  • Scoped Environments Robust support for scoped development or per-app system administrator setups, ensuring secure and isolated AI environments tailored to your needs.

  • Easy Deployment Experience a frictionless quick start and simple installation process leveraging Docker and Docker Compose.

💡 Example Use Cases

  • PDF Form Generation: Upload a standard PDF document and ask Gemini to convert it into a fillable form.
  • Mobile Development Management: Manage multiple software development chains, CI/CD pipelines, and remote deployments entirely from your phone.
  • Cross-Device Continuity: Start a complex debugging or planning session on your desktop and seamlessly continue the exact same session on your phone or laptop while away from your desk.
  • Orchestrate Specialized AI Environments: The "+New" screen provides a launchpad of environment cards. With a single tap, you can spin up and converse with dedicated, per-app Gemini instances—effectively granting you a menu of per-app system administrators to independently manage and scale your various projects and infrastructures.

🏗 Architecture Overview

The system is designed with real-time communication and persistence at its core:

graph TD
    User([User Device]) -- WebSockets --> App[Flask SessionManager]
    App -- PTY + Buffer --> Local[Local Gemini CLI]
    App -- SSH Tunnel --> Remote[Remote Host]
    subgraph Backend Persistence
        App -- Registry --> Sessions[(Active Registry)]
    end

🛠 Configuration Guide

Gemini WebUI is highly customizable to fit both stand-alone and enterprise environments.

Authentication Modes

  1. LDAP (Enterprise): If LDAP_SERVER is configured, it becomes the exclusive authentication method, perfect for corporate networks.
  2. Local Admin (Stand-alone): If LDAP is not configured, the application falls back to local authentication using ADMIN_USER and ADMIN_PASS (both default to admin).

Basic Authentication / Active Directory

Environment Variables

Variable Description Default
LDAP_SERVER Address of the LDAP/AD server -
LDAP_BASE_DN Base DN for user searches -
LDAP_BIND_USER_DN Service account for LDAP lookups -
LDAP_BIND_PASS Password for the service account -
ADMIN_USER Local admin username admin
ADMIN_PASS Local admin password admin
ALLOWED_ORIGINS CORS whitelist (comma-separated) *
GEMINI_BIN Path to the Gemini executable gemini

Volumes

  • data:/data: Persists application configuration, SSH keys, and CLI state (linked internally to /home/node/.gemini).

🚀 Quick Start & Easy Deployment

Deploying Gemini WebUI is designed to be as straightforward as possible. Build and launch the container with a single command:

docker compose up --build --force-recreate -d

Once the container is running, access the interface by navigating to http://localhost:5000 in your web browser.