Design v4Three issues addressed: fixed sidebar blocks, vertical space and a real browser
OpenProgram + ⎔
+New chat
🧩Functions
🖥Programs
🎓Skills
📂Projects
🧠Memory
💬Chats
PROJECTS
📁fzkuji
RECENTS…
💬 Proxy refactoring ✕
📄 http_proxy.py
🌐 google.com
+
Fix the socksio issue
With ALL_PROXY=socks5, httpx requires socksio when constructing the client. Proxy resolution now uses one entry point.
↑ The conversation extends from the tab strip bottom (y=40) to the composer; a 48px settings bar previously occupied this space. Model, permissions and thinking controls move into the composer (↓), following the Claude/ChatGPT layout.
Ask for follow-up changes…
📁 OpenProgram ⚡ frontier · GPT-5.5 🧠 auto 🛡 Ask 🕘 ↑
providers › utils › http_proxy.py ✏️⬇
Code viewer (line numbers / Markdown / images / PDF remain as implemented)
←→⟳ ⧉
Sidecar Chrome display (CDP screencast)
The backend reuses the existing Playwright + openprogram browser sidecar:
Page.startScreencast → frames over WS → canvas rendering here;
Mouse and keyboard events return through Input.dispatch*. Actual Google pages and authenticated sessions.
The user sees the same browser that the agent controls
iframe is only a fallback when the sidecar is unavailable
Dimension comparison
Chat top chrome:48+48 = 96px → 40px(56px more content height)
File/web tabs: 40 + 40 = 80px (breadcrumbs/address bar belong to content)
Left sidebar:Fixed New chat + divider → Everything scrolls together with 1px spacing; The brand-row + remains available
Former top-bar chips: two model controls / permissions / project → composer; status → corner dot in tab strip; branch → History panel header