|
| 1 | +# PlexusOne Nexus |
| 2 | + |
| 3 | +A multi-agent orchestration platform for AI CLI tools like Claude Code and Kiro CLI. |
| 4 | + |
| 5 | +## Repository Structure |
| 6 | + |
| 7 | +``` |
| 8 | +nexus/ |
| 9 | +├── apps/ |
| 10 | +│ ├── desktop/ # macOS app (Swift + SwiftTerm) |
| 11 | +│ └── mobile/ # iOS/Android companion (Flutter) |
| 12 | +├── services/ |
| 13 | +│ └── tuiparser/ # WebSocket bridge for mobile streaming (Go) |
| 14 | +└── docs/ |
| 15 | + └── design/ # PRDs and design documents |
| 16 | +``` |
| 17 | + |
| 18 | +## Components |
| 19 | + |
| 20 | +### Desktop App (macOS) |
| 21 | + |
| 22 | +Native macOS terminal multiplexer built with Swift and SwiftTerm. |
| 23 | + |
| 24 | +- Multi-window, multi-pane grid layout (like Chrome tabs) |
| 25 | +- Attach/detach to tmux sessions |
| 26 | +- Session state persistence |
| 27 | +- 10,000 line scrollback buffer |
| 28 | + |
| 29 | +**Build & Run:** |
| 30 | +```bash |
| 31 | +cd apps/desktop |
| 32 | +swift build |
| 33 | +./Nexus.app/Contents/MacOS/Nexus |
| 34 | +``` |
| 35 | + |
| 36 | +### Mobile App (iOS/Android) |
| 37 | + |
| 38 | +Flutter companion app for monitoring and interacting with agents remotely. |
| 39 | + |
| 40 | +- Terminal-styled output view |
| 41 | +- Session tabs |
| 42 | +- Quick action buttons (Yes/No/Always) |
| 43 | +- Virtual D-pad for menu navigation |
| 44 | +- WebSocket connection to TUI Parser |
| 45 | + |
| 46 | +**Build & Run:** |
| 47 | +```bash |
| 48 | +cd apps/mobile |
| 49 | +flutter pub get |
| 50 | +flutter run |
| 51 | +``` |
| 52 | + |
| 53 | +### TUI Parser (WebSocket Bridge) |
| 54 | + |
| 55 | +Go service that bridges tmux sessions to mobile clients over WebSocket. |
| 56 | + |
| 57 | +- Attaches to tmux sessions via PTY |
| 58 | +- Streams terminal output |
| 59 | +- Accepts input/keystrokes from mobile |
| 60 | +- Pattern detection for TUI prompts (planned) |
| 61 | + |
| 62 | +**Build & Run:** |
| 63 | +```bash |
| 64 | +cd services/tuiparser |
| 65 | +go build -o bin/tuiparser ./cmd/tuiparser |
| 66 | +./bin/tuiparser --port 9600 |
| 67 | +``` |
| 68 | + |
| 69 | +Debug console: http://localhost:9600 |
| 70 | + |
| 71 | +## Architecture |
| 72 | + |
| 73 | +``` |
| 74 | +┌─────────────────────────────────────────────────────┐ |
| 75 | +│ macOS │ |
| 76 | +│ │ |
| 77 | +│ ┌─────────────┐ ┌─────────────────────────┐ │ |
| 78 | +│ │ tmux │ │ TUI Parser (Go) │ │ |
| 79 | +│ │ sessions │◄───►│ WebSocket server :9600 │ │ |
| 80 | +│ └─────────────┘ └───────────┬─────────────┘ │ |
| 81 | +│ ▲ │ │ |
| 82 | +│ │ │ │ |
| 83 | +│ ┌──────┴──────┐ │ │ |
| 84 | +│ │ Nexus │ │ │ |
| 85 | +│ │ Desktop App │ │ │ |
| 86 | +│ └─────────────┘ │ │ |
| 87 | +└──────────────────────────────────┼──────────────────┘ |
| 88 | + │ WebSocket (LAN) |
| 89 | + ┌────────▼────────┐ |
| 90 | + │ Nexus Mobile │ |
| 91 | + │ (Flutter) │ |
| 92 | + └─────────────────┘ |
| 93 | +``` |
| 94 | + |
| 95 | +## Documentation |
| 96 | + |
| 97 | +- [Product Requirements](docs/design/prd.md) |
| 98 | +- [Technical Requirements](docs/design/trd.md) |
| 99 | +- [Mobile App PRD](docs/design/FEAT_MOBILE_PRD.md) |
| 100 | +- [AgentSentinel Integration](docs/design/FEAT_SENTINEL_PRD.md) |
| 101 | +- [Voice Note Feature](docs/design/FEAT_VOICENOTE_PRD.md) |
| 102 | + |
| 103 | +## Development |
| 104 | + |
| 105 | +### Prerequisites |
| 106 | + |
| 107 | +- macOS 13+ |
| 108 | +- Xcode 15+ (for Swift development) |
| 109 | +- Go 1.22+ |
| 110 | +- Flutter 3.x |
| 111 | +- tmux |
| 112 | + |
| 113 | +### Quick Start |
| 114 | + |
| 115 | +1. Start tmux sessions: |
| 116 | + ```bash |
| 117 | + tmux new-session -d -s agent1 |
| 118 | + tmux new-session -d -s agent2 |
| 119 | + ``` |
| 120 | + |
| 121 | +2. Run TUI Parser: |
| 122 | + ```bash |
| 123 | + cd services/tuiparser && ./bin/tuiparser |
| 124 | + ``` |
| 125 | + |
| 126 | +3. Run Desktop App: |
| 127 | + ```bash |
| 128 | + cd apps/desktop && open Nexus.app |
| 129 | + ``` |
| 130 | + |
| 131 | +4. Run Mobile App (same WiFi network): |
| 132 | + ```bash |
| 133 | + cd apps/mobile && flutter run |
| 134 | + ``` |
| 135 | + |
| 136 | +## License |
| 137 | + |
| 138 | +Proprietary - PlexusOne |
0 commit comments