Working SSH, remote workspaces and remote AI preview available #1274
stephenstack
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
@crynta I wanted to share something I have been working on and get your thoughts before considering a pull request.
TL;DR
I built a working beta of SSH and remote workspaces for Terax, including remote terminals, SFTP workspaces, SSH config import, jump hosts, port forwarding, host customisation and remote AI execution.
There is a separate Windows preview build available now if anyone wants to install it, kick the tyres and give feedback. It installs alongside the official Terax app and does not replace it.
This is very much a working preview for feedback, not a request to merge a giant PR. I’d especially love feedback from the Terax maintainers and anyone willing to try it with real SSH environments before I break the work into sensible PRs.
Preview: Terax SSH Preview 0.8.6-ssh.2
Source:
feat/ssh-remote-sessionsDownload Terax SSH Preview 0.8.6-ssh.2
First, I genuinely love Terax. The UI, UX and overall terminal-first approach are excellent. I saw that SSH support is the first item under “Coming next” on the roadmap and, honestly, I could not wait to try it.
I have built a working SSH and remote workspace implementation in my fork. Rather than opening a very large unsolicited PR, I created a separate Windows preview so the implementation can be installed, used and discussed first. Theres a ton of stuff below, that i added that I would like to see, and it works really great.
If the direction does not fit what you have planned, that is completely fine too. I still wanted to share a working implementation rather than surprise you with a huge PR. if we can collaborate great, if your already started and going down a different path, no hassle.
High-level features
Remote host management
~/.ssh/configRemote terminals
Authentication and host security
PreferredAuthenticationsknown_hostsverificationRemote workspaces
Jump hosts and forwarding
ProxyJumpsupportssh -LAI support on remote hosts
Additional UI and terminal work in the branch
Ctrl+CandCtrl+Vterminal behaviourTry the Windows preview
The preview installs separately from the official Terax application and does not replace or update it.
[Download Terax SSH Preview 0.8.6-ssh.2](https://github.com/stephenstack/terax-ai/releases/tag/preview-v0.8.6-ssh.2)
It is currently an unsigned Windows NSIS build, so Windows may display a SmartScreen warning.
Source branch:
[feat/ssh-remote-sessions](https://github.com/stephenstack/terax-ai/tree/feat/ssh-remote-sessions)
Technical and testing guide:
[SSH and remote workspaces documentation](https://github.com/stephenstack/terax-ai/blob/feat/ssh-remote-sessions/docs/ssh-remote.md)
Architecture
I tried to follow the existing Terax architecture and the requirements described in the contribution guide.
russh, keeping it pure Rust without adding a libssh2 or OpenSSL C dependency.PtySession, allowing the terminal frontend to work with local and remote sessions through the same abstraction.WorkspaceEnvgains an SSH variant, allowing the existing filesystem, search, Git and AI command boundaries to route work locally or remotely.PathBufhandling.Lower-level features and fixes
The branch includes a substantial number of edge-case and integration fixes discovered through testing and actual use:
known_hostsentries after explicit approvalThe test coverage includes pure unit tests for SSH configuration, targets, host keys, paths, channel selection, keyring isolation, terminal behaviour and remote routing. There is also an optional live integration suite covering SFTP operations, search, Git, jump hosts and port forwarding against a real SSH server.
What I am asking
I am not asking anyone to review or merge the entire branch as one enormous PR.
I would really appreciate your view on:
Whether the overall architecture aligns with where you want Terax SSH support to go.
Which parts are useful to you.
What you would change before any PR is opened.
Whether you would prefer this divided into staged PRs, perhaps:
known_hostsI used Claude Code extensively while implementing this, but I have tested the feature end to end, reviewed the architecture and worked through the Windows, security and isolation edge cases. I am happy to explain the decisions, adjust the implementation and take responsibility for bringing any agreed contribution through review.
If the direction does not fit what you have planned, that is completely fine too. I still wanted to share a working implementation rather than surprise you with a huge PR.
All reactions