{"id":48810328,"url":"https://github.com/joeyism/opencode-multiplexer-rs","last_synced_at":"2026-04-14T07:00:53.976Z","repository":{"id":351207743,"uuid":"1205549865","full_name":"joeyism/opencode-multiplexer-rs","owner":"joeyism","description":"Opencode Multiplexer","archived":false,"fork":false,"pushed_at":"2026-04-14T02:38:12.000Z","size":97,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-14T04:24:24.861Z","etag":null,"topics":["cargo","multiplexer","opencode","opencode-ai","opencode-plugin","rust","tui"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joeyism.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-09T04:10:05.000Z","updated_at":"2026-04-14T02:37:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/joeyism/opencode-multiplexer-rs","commit_stats":null,"previous_names":["joeyism/opencode-multiplexer-rs"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/joeyism/opencode-multiplexer-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joeyism%2Fopencode-multiplexer-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joeyism%2Fopencode-multiplexer-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joeyism%2Fopencode-multiplexer-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joeyism%2Fopencode-multiplexer-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joeyism","download_url":"https://codeload.github.com/joeyism/opencode-multiplexer-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joeyism%2Fopencode-multiplexer-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31785681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cargo","multiplexer","opencode","opencode-ai","opencode-plugin","rust","tui"],"created_at":"2026-04-14T07:00:53.276Z","updated_at":"2026-04-14T07:00:53.970Z","avatar_url":"https://github.com/joeyism.png","language":"Rust","readme":"# ocmux\n\nA terminal multiplexer for managing [OpenCode](https://opencode.ai) sessions.\n\n\u003cp align=\"center\" width=\"100%\"\u003e\n\u003cvideo src=\"https://github.com/user-attachments/assets/93669f30-bb6c-4a71-935d-29541ee073ad\" width=\"80%\" controls\u003e\u003c/video\u003e\n\u003c/p\u003e\n\n## Install\n\n**Cargo:**\n\n```\ncargo install ocmux-rs\n```\n\n**Homebrew:**\n\n```\nbrew tap joeyism/ocmux\nbrew install ocmux\n```\n\n**Shell (macOS / Linux):**\n\n```\ncurl --proto '=https' --tlsv1.2 -LsSf https://github.com/joeyism/ocmux-rs/releases/latest/download/ocmux-rs-installer.sh | sh\n```\n\n## Usage\n\nRun `ocmux` in your terminal. The sidebar lists active OpenCode sessions sorted by most recently updated. The main pane shows the attached session's terminal output.\n\n- Press `Enter` to attach to a top-level session\n- Press `Tab` to expand/collapse child sessions\n- Press `v` to open a read-only conversation view (see below)\n- Press `s` to collapse the sidebar for more screen space\n- Click a sidebar row to select it\n\n## Keybindings\n\n### Sidebar navigation\n\n| Key      | Action                    |\n|----------|---------------------------|\n| `j`      | Move down                 |\n| `k`      | Move up                  |\n| `Enter`  | Attach to session        |\n| `Tab`    | Expand/collapse children |\n| `s`      | Toggle sidebar collapse  |\n| `/`      | Search and attach session |\n| `r`      | Refresh active session   |\n| `?`      | Show help overlay        |\n| `q`      | Quit                     |\n| `Ctrl-4` | Toggle focus sidebar/main |\n\n### Session actions\n\n| Key | Action                          |\n|-----|---------------------------------|\n| `n` | Spawn new session               |\n| `t` | Create git worktree + spawn     |\n| `v` | Open read-only conversation view |\n| `f` | Show files modified by session |\n| `!` | Drop into shell in session directory |\n| `c` | Commit/push modified files     |\n| `x` | Kill session (`y` confirm, `n`/`Esc` cancel) |\n\n### Conversation view\n\nPress `v` from the sidebar to open a read-only view of the session's conversation history. The view polls the opencode database and renders messages, markdown, syntax-highlighted code blocks, and tool call status.\n\n| Key      | Action                |\n|----------|-----------------------|\n| `j`      | Scroll down           |\n| `k`      | Scroll up             |\n| `G`      | Jump to end           |\n| `g`      | Jump to top            |\n| `Ctrl-u` | Page up               |\n| `Ctrl-d` | Page down             |\n| `v`      | Close conversation view |\n| `Esc`    | Close conversation view |\n\n## Advanced workflows\n\n- **Inspect conversation output** — press `v` on any session (including child sessions) to watch the agent's progress in real-time without attaching to the PTY\n- **Inspect changed files** — press `f` to see which files a session has created or modified\n- **Drop into a shell** — press `!` to open a shell in the selected session's working directory\n- **Commit session changes** — press `c` to review and commit/push all files modified by the session\n- **Search and attach** — press `/` to search across all opencode sessions and attach to one\n\n## Configuration\n\nKeybindings and sidebar width are configurable via `~/.config/ocmux/config.json`:\n\n```json\n{\n  \"sidebar_width\": 30,\n  \"keybindings\": {\n    \"up\": \"k\",\n    \"down\": \"j\",\n    \"spawn\": \"n\",\n    \"kill\": \"x\",\n    \"help\": \"?\",\n    \"worktree\": \"t\",\n    \"quit\": \"q\",\n    \"view\": \"v\",\n    \"files\": \"f\"\n  }\n}\n```\n\nKeybinding values are single characters. Default `sidebar_width` is `30`. Only the keys listed above are configurable; other bindings (`Enter`, `Tab`, `/`, `s`, `r`, `!`, `c`, `Ctrl-4`, arrows) are fixed.\n\n## Notes\n\n- `Ctrl-4` is the actual focus toggle binding (hold `Ctrl` and press `4`)\n- Child sessions are expandable and selectable in the sidebar, but `Enter` attach is not yet supported for child rows — use `v` to view their conversation instead\n- `c` and `!` operate on top-level sessions only\n- `c` prompts for a commit message and then commits and pushes immediately\n- `r` refreshes the currently active session's PTY, not the selected sidebar row\n\n## License\n\nApache-2.0\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoeyism%2Fopencode-multiplexer-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoeyism%2Fopencode-multiplexer-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoeyism%2Fopencode-multiplexer-rs/lists"}