Added language selector bar to README and translated READMEs for: zh-CN, zh-TW, ko, de, es, fr, it, da, ja, pl, ru, bs, ar, no, pt-BR, th, tr
5.4 KiB
5.4 KiB
TODO
Socket API / Agent
- Add window handles +
window.list/current/focus/create/closefor multi-window socket control (v2) + v1 equivalents (list_windows, etc) + CLI support. - Add surface move/reorder commands (move between panes, reorder within pane, move across workspaces/windows).
- Add browser automation API inspired by
vercel-labs/agent-browser, but backed by cmux's WKWebView (wait, click, type, eval, screenshot, etc.). - Finalize browser parity contract and command mapping decisions in
docs/agent-browser-port-spec.md. - Add
cmux browsercommand surface that mirrors agent-browser semantics and targets explicitsurface_idhandles. - Add short handle refs (
surface:N,pane:N,workspace:N,window:N) and CLI--id-format refs|uuids|bothoutput control. - Add v1->v2 compatibility shim for migrated browser/topology commands while v1 remains supported.
- Port browser automation coverage to
tests_v2/perdocs/agent-browser-port-spec.mdand keep v1 + v2 suites green.- Added
tests_v2/test_browser_api_comprehensive.py,tests_v2/test_browser_api_p0.py,tests_v2/test_browser_api_extended_families.py,tests_v2/test_browser_api_unsupported_matrix.py, andtests_v2/test_browser_cli_agent_port.py. - Full VM runs:
./scripts/run-tests-v1.shand./scripts/run-tests-v2.shpassing (v2 visual D12 remains reported as a known non-blocking VM failure, matching v1 policy).
- Added
- Fix
cmux browser open|open-split|newURL parsing so routing flags (--workspace,--window) are removed before URL construction. - Fix
identify --workspace/--surfacecaller parsing to honor ref handles (workspace:N,surface:N) instead of falling back to current/focused IDs. - Update
browser.open_splitplacement policy: reuse nearest right sibling pane first (nested-aware), only create a new split when caller has no right sibling. - Upgrade
browser.snapshotto agent-browser-style output (snapshottree text +refs) and make non-JSON CLI output print snapshot content instead ofOK. - Add richer selector failure diagnostics (
hint, counts, sample, snapshot excerpt) with bounded retries for transientnot_foundraces. - Add regression coverage for browser placement policy + snapshot/ref output + diagnostics in v2 tests.
- Allow
browser fillwith empty text (clear input) in CLI + v2 API flows. - Make legacy
new-pane/new-surfaceCLI output prefer shortsurface:Nrefs by default. - Add optional
--snapshot-after/snapshot_afteraction feedback to include a fresh post-action browser snapshot. - Switch CLI
--jsondefault ID output to refs-first (UUIDs only via--id-format uuids|both) and add regression coverage. - Expand end-user skill docs with deep-linkable cmux-browser references/templates plus a new core
skills/cmux/topology skill.
Command Palette
- Add cmd+shift+p palette with all commands
Feature Requests
- Warm pool of Claude Code instances mapped to a keyboard shortcut
Claude Code Integration
- Add "Install Claude Code integration" menu item in menubar
- Opens a new terminal
- Shows user the diff to their config file (claude.json, opencode config, codex config, etc.)
- Prompts user to type 'y' to confirm
- Implement as part of
cmuxCLI, menubar just triggers the CLI command
Additional Integrations
- Codex integration
- OpenCode integration
Browser
- Per-WKWebView local proxy for full network request/response inspection (URL, method, headers, body, status, timing)
UI/UX Improvements
- Add question mark icon to learn shortcuts
- Notification popover: each button item should show outline outside when focused/hovered
- Notification popover: add right-click context menu to mark as read/unread
Analytics
- Add PostHog tracking (set
PostHogAnalytics.apiKeyinSources/PostHogAnalytics.swift)
Browser Parity Completion (agent-browser port)
- Implement locator family:
browser.find.rolebrowser.find.textbrowser.find.labelbrowser.find.placeholderbrowser.find.altbrowser.find.titlebrowser.find.testidbrowser.find.firstbrowser.find.lastbrowser.find.nth
- Implement frame/dialog/download:
browser.frame.selectbrowser.frame.mainbrowser.dialog.acceptbrowser.dialog.dismissbrowser.download.wait
- Implement session/context state APIs:
browser.cookies.get|set|clearbrowser.storage.get|set|clearbrowser.tab.new|list|switch|closebrowser.state.save|load
- Implement developer/diagnostic helpers:
browser.console.list|clearbrowser.errors.listbrowser.highlightbrowser.addinitscriptbrowser.addscriptbrowser.addstyle
- Add explicit
not_supportedfor WebKit/CDP-gap commands:browser.viewport.setbrowser.geolocation.setbrowser.offline.setbrowser.trace.start|stopbrowser.network.route|unroute|requestsbrowser.screencast.start|stopbrowser.input_mouse|input_keyboard|input_touch
- Extend
cmux browser ...CLI grammar for the new families (including aliases). - Port/add v2 tests for all newly implemented families.
- Update unsupported matrix tests to assert
not_supportedfor hard platform gaps (instead ofmethod_not_found). - Re-run full
run-tests-v1.shandrun-tests-v2.shoncmux-vm.