feat: SSH remote workspace RFC — dry-run bootstrap for ssh:// targets (#2140) | SSH 远程工作区 RFC#2192
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f520f05495
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6426b6823f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6212f5e0ea
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Part of the #2188–#2192 stack that currently shows the same cumulative +1740/-39 diff on all five PRs (all based on |
6212f5e to
9ded388
Compare
esengine
left a comment
There was a problem hiding this comment.
Reviewed — safe, well-scoped RFC scaffold. ssh:// without --dry-run is explicitly not-implemented and errors with helpful guidance (run on the remote host + SSH tunnel for the dashboard), so no half-built remote execution ships. The dry-run path only parses the URI, probes local ssh via a fixed ssh -V 2>&1 (no interpolation), detects the user via execFileSync('id'/'whoami') (args array, no shell), and console.logs a plan — generateSshDryRunReport builds a printed string (the sq() quoting is display-only, never executed). No user-controlled input reaches a shell. CI green, tests present. Good groundwork for #2140 without the risk. Merging.
Summary
Adds an SSH remote workspace RFC with a
--dry-runbootstrap. Thereasonix code ssh://user@host/path --dry-runcommand parses the SSH URI, checks local SSH availability, and prints planned execution steps without executing any remote commands or making network connections. Without--dry-run, an explicit error message recommends running Reasonix on the remote host with an SSH tunnel for the dashboard. GPU passthrough (#2141) is tracked separately.概述
新增 SSH 远程工作区 RFC 和
--dry-run引导。reasonix code ssh://user@host/path --dry-run命令解析 SSH URI,检查本地 SSH 可用性,打印计划执行步骤,不执行任何远程命令也不建立网络连接。无--dry-run时显式报错并建议在远程主机上运行 Reasonix 配合 SSH 隧道访问 dashboard。GPU passthrough (#2141) 单独跟踪。Key Files
src/cli/ssh-remote.ts(new) —parseSshUri(),probeSsh(),generateSshDryRunReport()src/cli/index.ts—--dry-runoption, SSH URI handling, rejection messagetests/ssh-remote.test.ts(new) — URI parsing, report content, probe testsDepends On / 依赖
This PR is #5 in a 5-PR series:
Test Plan
Verification