docs: add ttyd dual-interface plan to TUI roadmap
Plan to expose both OpenCode IDE (port 8080) and raw ttyd terminal (port 7681) for direct TUI access in browser.
This commit is contained in:
32
ROADMAP.md
32
ROADMAP.md
@@ -48,24 +48,36 @@
|
|||||||
|
|
||||||
**Goal**: Enable rich terminal UI applications (like htop, lazygit, OpenCode TUI mode) to render correctly in the browser-based terminal.
|
**Goal**: Enable rich terminal UI applications (like htop, lazygit, OpenCode TUI mode) to render correctly in the browser-based terminal.
|
||||||
|
|
||||||
**Completed**:
|
**Completed** (Terminal Environment):
|
||||||
- [x] TERM=xterm-256color environment variable
|
- [x] TERM=xterm-256color environment variable
|
||||||
- [x] COLORTERM=truecolor for 24-bit color support
|
- [x] COLORTERM=truecolor for 24-bit color support
|
||||||
- [x] ncurses-base and ncurses-term packages for terminfo database
|
- [x] ncurses-base and ncurses-term packages for terminfo database
|
||||||
- [x] Locale configuration (en_US.UTF-8) for Unicode support
|
- [x] Locale configuration (en_US.UTF-8) for Unicode support
|
||||||
- [x] Environment variables passed to deployed stacks
|
- [x] Environment variables passed to deployed stacks
|
||||||
|
|
||||||
**Remaining**:
|
**Remaining** (Direct Web Terminal):
|
||||||
- [ ] Test TUI applications in browser (htop, lazygit, vim)
|
- [ ] Add ttyd for raw terminal access in browser
|
||||||
- [ ] Verify mouse event passthrough works
|
- [ ] Configure dual-port exposure (OpenCode IDE + ttyd terminal)
|
||||||
- [ ] Test box-drawing character rendering
|
- [ ] Update Traefik routing for terminal port
|
||||||
|
- [ ] Test TUI applications (htop, lazygit, vim)
|
||||||
- [ ] Document TUI capabilities for users
|
- [ ] Document TUI capabilities for users
|
||||||
|
|
||||||
**Technical Notes**:
|
**Architecture** (Dual Interface):
|
||||||
- OpenCode uses built-in xterm.js web terminal
|
```
|
||||||
- Terminal environment configured in Docker image + deployer
|
https://name.ai.flexinit.nl/ → Port 8080 → OpenCode Web IDE
|
||||||
- 256 colors verified working (tput colors = 256)
|
https://name.ai.flexinit.nl:7681/ → Port 7681 → ttyd Raw Terminal
|
||||||
- 104 xterm terminfo entries installed
|
```
|
||||||
|
|
||||||
|
**Implementation Plan**:
|
||||||
|
```dockerfile
|
||||||
|
# Add ttyd to Dockerfile
|
||||||
|
RUN curl -sL https://github.com/tsl0922/ttyd/releases/latest/download/ttyd.x86_64 \
|
||||||
|
-o /usr/local/bin/ttyd && chmod +x /usr/local/bin/ttyd
|
||||||
|
|
||||||
|
# Startup script runs both services
|
||||||
|
ttyd -p 7681 -W bash &
|
||||||
|
opencode serve --hostname 0.0.0.0 --port 8080
|
||||||
|
```
|
||||||
|
|
||||||
**Use Cases**:
|
**Use Cases**:
|
||||||
- OpenCode TUI mode in browser
|
- OpenCode TUI mode in browser
|
||||||
|
|||||||
Reference in New Issue
Block a user