终端 · SSH · SFTP
Blyck 的终端基于 xterm.js,以同样方式的面板处理本地 shell·SSH 远程会话·文件树·SFTP 远程树。分割面板同时管理多台服务器,用 SFTP 像本地一样编辑远程文件吧。
远程零安装(zero-install remote)
Section titled “远程零安装(zero-install remote)”用 Blyck 操作远程服务器时,服务器上什么都不装。 远程端的要求只有 sshd 一项。
要用 VS Code Remote-SSH 跑 AI,需要在每台远程机器上安装 Claude Code·Codex 这类 AI CLI 以及扩展·运行时(Node),换服务器时还得反复安装·登录。在封闭网络或无安装权限的服务器上甚至会受阻。Blyck 在本地(我的 PC)运行 Claude Code·Codex,文件操作通过 SFTP、命令通过 SSH 传递。
- 无需安装 AI CLI —— Claude Code·Codex 在我的 PC 上运行。不装到远程服务器。
- 封闭网络·无权限服务器 OK —— 只要开了 sshd 就能工作。
- 密钥·认证集中在本地一处 —— 无需在每台服务器放置 API 密钥或登录会话。
- 服务器上不留痕迹 —— 代理进程或缓存不会在远程产生。断开连接即结束。
shell 自动检测
Section titled “shell 自动检测”无需配置即可自动选择适配 OS 的 shell。
| 环境 | 自动选择顺序 |
|---|---|
| Windows | PowerShell 7+ → PowerShell 5.1 → cmd.exe |
| macOS / WSL | bash · zsh(自动应用 LANG=en_US.UTF-8) |
回滚搜索 · 字体
Section titled “回滚搜索 · 字体”- 回滚缓冲区 10,000 行 —— 用
Ctrl+F搜索(支持正则)。 Ctrl+=/Ctrl+-/Ctrl+0—— 调节字体大小。终端·文件树·编辑器·聊天区域各自单独保存。
智能输出 —— 点击即生效
Section titled “智能输出 —— 点击即生效”- URL —— 点击会用默认浏览器打开。
- 双击文件名 —— 在
ls输出等中双击文件会用编辑器打开,若是文件夹则cd后显示列表。 - 当前目录追踪 —— 始终在面板头部显示 shell 告知的位置(OSC 7)。
edit <文件>—— 在终端中输入后,该面板会切换为该文件的编辑器。
中文为何不乱码
Section titled “中文为何不乱码”- D2Coding 字体内置 —— 即使 OS 中没有字体,中文·CJK 也能正确显示。
- Windows UTF-8 初始化 —— 自动将 PowerShell 输出编码设为 UTF-8(65001)。
- 非 ASCII 命令安全传递 —— 用
-EncodedCommand(Base64 UTF-16LE)传递,在 CP949 公司 PC 上也不乱码。
若远程服务器上中文乱码,请用 locale 命令确认服务器的 LANG 环境变量是否为 *.UTF-8。
在终端中直接用 AI —— /claude
Section titled “在终端中直接用 AI —— /claude”在 shell 提示符处用斜杠命令即时调用 AI。
| 命令 | 行为 |
|---|---|
/claude <问题> | 仅文本回答(无文件·命令权限) |
/claude? <问题> | 将最近终端输出作为上下文提问 —— 用于直接询问刚出的错误 |
/claude! <问题> | 赋予文件 · 命令执行权限 |
/claude!? <问题> | 输出上下文 + 执行权限 —— 一句”修一下这个错误”就搞定 |
面板 · 标签页 · 子标签
Section titled “面板 · 标签页 · 子标签”| 快捷键 | 行为 |
|---|---|
Ctrl+Shift+T | 新建标签页 |
Alt+1 ~ Alt+8 | 切换标签页 |
Ctrl+\ | 左右分割 |
Ctrl+Shift+- | 上下分割 |
Ctrl+Tab | 面板循环 |
Ctrl+` | 子标签循环 |
Alt+Enter | 面板缩放 |
拖动分隔线可自由调节比例。后台子标签的会话也会持续存活,因此可以把多台服务器叠放在一个面板里切换作业。
Ctrl+Shift+S或+菜单 → 选择 SSH 连接…- 输入用户名·主机·端口(默认 22),必要时输入密码。
- 选择”在此面板”或”新标签页”进行连接。
留空密码时,会按以下顺序自动尝试。
- ssh-agent ——
SSH_AUTH_SOCK环境变量或 Windows OpenSSH 代理管道 - 默认密钥文件 —— 按
~/.ssh/id_ed25519→id_rsa→id_ecdsa顺序 - shell 密码提示 —— 以上全部失败时由服务器直接请求
输入密码后,在检测到提示时会自动输入一次。此外,同一主机的 SFTP 会在后台自动连接。
Keepalive
Section titled “Keepalive”连接期间会以 30 秒间隔 发送 keepalive 报文,防止空闲状态断连。
SSH 会话异常断开时,会以渐进等待间隔尝试自动重连。
1秒 → 2秒 → 4秒 → 8秒 → 16秒 → 30秒 → 30秒 …(最多 10 次)- 等待中按任意键会取消重连。
- 重连成功时会话会自动恢复。
Ctrl+Shift+E 或 + 菜单 → 文件树
| 键 | 行为 |
|---|---|
↑ / ↓ | 移动条目 |
→ / ← | 展开 / 折叠 |
Enter | 进入 / 打开 |
Backspace | 到上级文件夹 |
: | 跳转到任意路径 |
Space | 选择(可多选) |
y / x / p | 复制 / 剪切 / 粘贴 |
d | 删除 |
r 或 F2 | 重命名 |
n / N | 新建文件 / 新建文件夹 |
R | 刷新 |
c | 将路径发送到终端 shell |
a | @附加到 AI 聊天 |
文件打开大小策略
Section titled “文件打开大小策略”| 文件大小 | 行为 |
|---|---|
| ≤ 2 MB | 用 Monaco 编辑器打开 |
| 2 MB ~ 32 MB | 以只读打开(标签页显示 [只读]) |
| > 32 MB | 引导 OS 默认应用 |
| 图片 / PDF | 内置查看器 |
| Office / 压缩文件 | 用 OS 默认应用打开 |
Git 徽标(本地树)
Section titled “Git 徽标(本地树)”在本地文件树中,会在文件旁以徽标显示 Git 状态。
| 徽标 | 含义 |
|---|---|
? | Untracked(未追踪) |
+ | Staged(已暂存) |
- | Deleted(已删除) |
! | Conflict(冲突) |
远程 SFTP 树中不显示 Git 徽标。
SFTP 远程树
Section titled “SFTP 远程树”Ctrl+Shift+F 或 + 菜单 → SFTP 远程树…
输入用户·主机(必填)·端口(22)·密码(密钥认证则留空)·密钥路径·密钥密码·保存名称。
认证顺序:指定的密钥 → ssh-agent → ~/.ssh 默认密钥 → 密码
远程文件编辑
Section titled “远程文件编辑”在 SFTP 树中双击文本文件会用 Monaco 编辑器打开。用 Ctrl+S 保存会立即上传到远程,变更会自动记录到 ChangeSet 中,可以撤销。
符号链接在树中会以不同颜色区分显示。
文件上传 · 下载
Section titled “文件上传 · 下载”在同一标签页中并排打开本地文件树和 SFTP 远程树,即可用 u/g 键快速传输。
| 方向 | 方法 |
|---|---|
| 上传(本地 → 远程) | 在本地树中用 Space 选择 → u |
| 下载(远程 → 本地) | 在 SFTP 树中用 Space 选择 → g |
- 文件夹会递归传输。
- 进度在状态栏中显示为”N 个 → user@host”。
- 若同一标签页中没有相反种类的树,会显示提示消息。
右键菜单中也可使用上传·下载·新建文件夹·重命名·删除,并支持服务器间直接传输(不经过本地)。
在 SSH 或 SFTP 对话框中输入”保存名称”并连接,连接就会被保存。此后可在列表中点击一次直接连接。
密码安全存储
Section titled “密码安全存储”密码和密钥密码会以 OS 密钥链 加密保存。
- Windows:DPAPI(绑定用户账户)
- macOS:Keychain
connections.json 中仅保存加密值,明文只存在于内存中。
保存的连接可以创建文件夹按团队·环境分组。
远程项目文件夹(AI 聊天联动)
Section titled “远程项目文件夹(AI 聊天联动)”可将 SSH/SFTP 远程文件夹指定为 AI 聊天 的作业文件夹。
- 点击 AI 聊天面板顶部的 📁 文件夹 chip
- 选择 远程(SSH/SFTP)连接…
- 选择服务器 → 选择文件夹
设置后 chip 会显示为 user@host:/path · 远程 SFTP。
指定后,AI 的文件工具(file_read / file_write / file_list_dir)会自动路由到 SFTP 路径。远程文件变更也会记录到 ChangeSet,可以撤销。
需要远程桌面时使用内置 VNC 查看器。
- 输入 主机:端口 进行连接,支持 VNC 密码认证
- 画面自动适配 —— 远程画面会按面板大小自动缩放。
- 剪贴板双向 —— 远程 → 本地自动同步,本地 → 远程用
Ctrl+V或剪贴板发送按钮 - SSH 隧道选项 —— 经跳板服务器访问内网 VNC(本地端口自动映射)
- 文件传输标签 —— 基于 TightVNC 协议的上/下载。文件名编码(UTF-8·Windows-949·Shift-JIS 等)可在选项中选择。
WinRM —— 远程 Windows 管理
Section titled “WinRM —— 远程 Windows 管理”无法打开 SSH 的 Windows 服务器,用 WinRM 面板 管理。
- PowerShell 命令在远程执行。
- 中文命令也通过
-EncodedCommand处理保证安全。 - 委派给 AI 时,查询命令(
Get-*)会自动执行,变更命令(Set-/Remove-/Restart-等)会经过确认。
与 AI 配合
Section titled “与 AI 配合”AI 聊天会感知活动 SSH 面板。用自然语言委派命令后,AI 会用 ssh_exec 工具执行并收集输出来回答。
▸ 给我看这台服务器的 nginx 配置文件▸ 帮我在 /var/log 中找出最大的 5 个文件AI 在生成命令前会用 ssh_probe_env 掌握服务器环境(OS·init 系统·包管理器·是否容器·内存·磁盘·已安装工具版本)。不会因 apt/yum、systemd/sysvinit 的差异而生成错误命令。
读取命令会自动执行,但写入·危险命令(rm、chmod 等)在执行前会经过确认对话框。详情请参阅 AI 聊天 › 工具审批。
Q. SSH 连接不上。
请确认主机·端口(默认 22)·防火墙·用户名。若为密钥认证,请确认 ~/.ssh 密钥文件存在且已注册到服务器的 authorized_keys 中。
Q. 自动重连一直失败。
自动重连时不会重用密码。需密钥或 ssh-agent 认证可用才会自动恢复。仅支持密码的服务器请用 Ctrl+Shift+S 手动重连。
Q. 远程服务器上中文乱码。
请用 locale 命令确认服务器的 LANG 环境变量是否为 *.UTF-8。本地 Windows 终端由 Blyck 自动应用 UTF-8。
Q. 文件传输(u/g)不工作。
需在同一标签页中同时打开本地文件树和 SFTP 远程树。上传在本地树中选择,下载在 SFTP 树中选择。
Q. 把保存的连接挪到其他 PC 后又问密码了。
密码由绑定 OS 账户的加密密钥保护。复制到其他 PC/账户后无法解密,需重新输入。这是出于安全的有意行为。
Q. 在远程项目文件夹中 RAG 检索不工作。
远程 SFTP 文件夹目前不是 RAG 索引对象。AI 用 file_list_dir 和 file_read 工具直接探索远程代码。若为本地文件夹,请尝试使用 通用检索。