feat: Add SSH remote terminal support to web interface #352
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds SSH-based remote terminal access to the web chat interface. Users can now connect to remote servers via SSH, with auto-installation of the infer binary. Includes a Docker Compose example demonstrating both local and remote modes.
Summary of Changes
This PR enables users to:
Key Features
SSH Remote Mode
Auto-installation
inferbinary on remote servers if missingWeb Terminal Enhancements
Portable Linux Builds
Docker Compose Example
Technical Details
New Files:
internal/web/ssh_client.go- SSH client implementationinternal/web/ssh_session.go- SSH session managementinternal/web/remote_installer.go- Remote binary installationexamples/web-terminal/- Complete example setupModified Files:
cmd/chat.go- Added SSH mode flag and configurationinternal/web/server.go- Enhanced web server with SSH supportinternal/web/session_manager.go- Multi-server session managementinternal/web/static/app.js- Frontend server selection UIinternal/web/templates/index.html- Updated HTML templateTesting
The included Docker Compose example provides a complete test environment:
Compatibility