pharo-agentic-browser Web UI

Web Browser UI for Your AI Coding Sessions

Masashi Umezawa
https://github.com/mumez/pharo-agentic-browser

What is the Web UI?

Overview

An optional package that lets you use AgenticBrowser from any web browser.
  • Full topic operations, prompt sending, and more
  • Actions that only make sense locally (e.g. package export, working directory setup) are intentionally left out

Use Cases

  • Check in from anywhere at home — glance at a coding agent's progress from your phone and send the next instruction
  • Headless environments — servers and containers with no display become usable the moment a browser can reach them

Features

Real-Time Sync via WebSocket (Ripple)

  • Powered by Ripple, a WebSocket framework for Pharo
  • Updates propagate instantly, without reloading:
    • New messages
    • New/renamed/deleted topics
    • Edits from other tabs

Mobile Friendly

  • Client built with
  • Works smoothly on tablets and smartphones, not just desktop
  • Same feature set across screen sizes

Installation & Access

Installation

Server side

Metacello new
    baseline: 'AgenticBrowser';
    repository: 'github://mumez/pharo-agentic-browser:main/src';
    load: 'WebUI'.

Client side

Build and deploy the TypeScript client:
https://github.com/mumez/pharo-agentic-browser-web-ui

Starting & Accessing

  • Starts automatically when the image launches, or run manually:
AgenticBrowser startWebUI.
  • Open in a web browser:
http://localhost:8080/assets/agentic-browser/

Screens

Screens — Desktop

Screens — Mobile

Functions

Topic & Conversation Functions

Function Details
Topic management Add, copy, delete
Agent config Change mode, change model
Prompting Send prompt, cancel
Approvals Allow / deny permission requests

More Functions

  • Sort topics in the sidebar
  • Hide "thinking" output for a cleaner chat view
  • Per-topic settings (e.g. goal-related configuration)
  • Save all topics on demand

Notifications

Staying Informed

  • Tab title changes — a * or ? mark appears when something needs your attention
    • * - Message added
    • ? - Confirmation needed
  • Browser Notification API — pushes a system notification (after granting permission)
Accessing over anything other than localhost? Route through a reverse proxy with HTTPS — browsers block notifications on plain HTTP for non-local hosts.

Settings

Configuration Options

Setting Description
Port e.g. RpServer default settings port: 9090
Bind address e.g. listen on all interfaces
Assets directory Where the built client is served from

Configurable via RpServerSettings or environment variables like PHARO_RIPPLE_PORT.

Summary

Summary

The Web UI extends AgenticBrowser beyond the Pharo image:

  • Browser-based — no Pharo IDE required to check in or respond
  • Real-time — WebSocket push keeps every tab in sync instantly
  • Mobile friendly — works comfortably on phones and tablets
  • Same core workflow — topics, prompts, and approvals, wherever you are

Feedback and contributions are welcome!

https://github.com/mumez/pharo-agentic-browser