Netcatty 与 Netcatty Mobile:现代高颜值跨端 SSH 工作台全景指南与实战手册
项目信息与仓库导航
- Netcatty 桌面端仓库:https://github.com/binaricat/Netcatty
- Netcatty 桌面端官网:https://netcatty.app
- Netcatty Mobile 移动端仓库:https://github.com/kmh1145/Netcatty-mobile
- 移动端最新 APK 下载:https://github.com/kmh1145/Netcatty-mobile/releases/latest
在日常服务器管理与远程运维中,SSH 客户端是我们每天打开频率最高的生产力工具。传统终端工具往往存在界面老旧、移动端体验割裂、跨设备配置同步复杂等痛点。
近期开源社区推出的 Netcatty 桌面端及其专属原生移动端 Netcatty Mobile,以极具现代感的 Radix UI 原子设计、原生触屏辅助按键、画中画小窗后台保活,以及零服务器维护成本的端到端加密云同步(E2EE),成为跨端 SSH 远程工作台的新标杆。
本文将结合官方中文全景特性与移动端重构成果,系统梳理 Netcatty 桌面与移动端的全套功能、钥匙串模型、动态代码片段、原生免改源码公钥一键注入脚本,以及自建云同步配置 SOP,作为日常运维速查与实战手册。

一、桌面端旗舰:Netcatty 核心架构与多视图解析
Netcatty 桌面端基于 Electron 40 + React 19 + TypeScript + Radix UI + Tailwind CSS 4 + Monaco Editor + xterm.js 5 技术栈构建,将原本分散在各独立工具中的功能深度整合为一体化工作台。
┌──────────────────────────────────────────────────────────┐
│ Netcatty Desktop │
├───────────────┬──────────────────────────┬───────────────┤
│ 主机与保险库 │ 多标签分屏终端 │ SFTP 资源树 │
│ (Vault 视图) │ (xterm.js + 辅助命令) │ & Monaco 编辑│
├───────────────┴──────────────────────────┴───────────────┤
│ 内置 Catty AI 运维助手 & 本地/动态端口转发 │
└──────────────────────────────────────────────────────────┘
1. 现代化原子设计与双主题质感
主界面围绕长期 SSH 驻留工作流设计,彻底抛弃传统终端的死板边框。支持深色护眼模式与浅色高对比模式自由切换,兼具科技感与视觉舒适度。
| 深色网格工作台 | 浅色高雅工作台 |
|---|---|
![]() | ![]() |
2. Vault 主机保险库:三大视图自由调度
- 网格视图(Grid):全局卡片式平铺,自动识别并展示 Linux 发行版(Ubuntu、Debian、CentOS、Alpine、Arch 等)或 FreeBSD/macOS 官方图标;
- 列表视图(List):紧凑高密度排版,配合顶部即时搜索,适合大批量主机快速筛选;
- 树形视图(Tree):按业务、机房或环境多层级展开,层级导航井井有条。
| 紧凑列表筛选视图 | 树形分组层级导航 |
|---|---|
![]() | ![]() |
3. 多窗分屏与终端工作区
终端窗口支持水平与垂直无限制分屏(Split Terminal)。在处理「左侧观察服务部署、右上查看实时访问日志、右下执行诊断命令」等多任务场景时,无需在多个窗口之间反复切换。

4. 内置 Monaco 专业代码与配置编辑器
浏览 SFTP 远程文件时,直接集成 VS Code 同款 Monaco Editor,支持语法高亮、代码折叠、正则查找替换与即时保存回传,修改远程 nginx.conf、docker-compose.yml 极为丝滑。
二、内置 Catty AI 运维助手实战
Netcatty 原生内置了 Catty Agent AI 运维助手,支持自然语言跨主机操作、报错诊断与集群任务编排。
1. 单主机:智能状态诊断与日志排错
当服务异常或命令报错时,直接向 Catty Agent 发问,它会自动执行探测命令、分析输出并给出结构化的诊断结论。

2. 多主机:跨节点 Docker Swarm 集群编排
Catty Agent 可在一次对话中跨多台远程主机进行协同编排。例如编排 Docker Swarm 集群时,它会自动完成初始化、令牌分发与节点加入,全程无需手动在两台机器间复制 Token。

三、钥匙串(Keychain)与统一身份凭据模型
Netcatty 采用了清晰解耦的钥匙串架构,将「密钥」与「登录凭据」独立于具体主机,实现一次录入、多处复用。
┌──────────────────────────────────────────────────────────┐
│ 钥匙串 (Keychain) │
├────────────────────────────┬─────────────────────────────┤
│ SSHKey 密钥库 │ Identity 身份凭据库 │
│ • 独立私钥 / 公钥 / 证书 │ • 标签 / 用户名 / 认证方式│
│ • Passphrase 本地安全存储 │ • 独立密码 / 关联 KeyId │
└─────────────┬──────────────┴──────────────┬──────────────┘
│ 批量绑定关联 │ 批量绑定关联
▼ ▼
┌──────────────────────────────────────────────────────────┐
│ 主机清单 (Hosts Inventory) │
│ 主机 A / 主机 B / 主机 C... │
└──────────────────────────────────────────────────────────┘
SSHKey(独立密钥库):独立管理 RSA、ECDSA、Ed25519 等私钥、公钥与证书,安全隔离存放;Identity(独立身份与密码库):- 包含:
Label(标签)+Username(用户名)+AuthMethod(认证方式)+Password(密码)或关联KeyId; - 批量复用:可以创建一个名为「生产环境统一 Root」的 Identity,配置主机时勾选绑定该凭据;后续统一修改密码时,只需在钥匙串中改动一次,所有关联主机全部自动同步生效。
- 包含:
四、代码片段(Snippets)与公钥一键注入实战
1. 免改源码方案:一键将 SSH 公钥注入远程主机
无需改动客户端源码,直接在 Netcatty 的 Snippets 中新建一条自动化脚本(kind: 'script'),点击即可自动提取当前主机绑定的公钥写入远程 ~/.ssh/authorized_keys 并纠正权限:
// Netcatty 原生 Automation Script
// 功能:自动提取当前主机公钥并安全注入远程 authorized_keys
const pubKey = nct.currentHost.publicKey;
if (!pubKey) {
nct.notify("当前主机未配置公钥,请先在钥匙串中绑定公钥!", "error");
} else {
const cmd = `mkdir -p ~/.ssh && chmod 700 ~/.ssh && echo "${pubKey.trim()}" >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && echo "✅ SSH 公钥已成功写入 authorized_keys"`;
nct.send(cmd + "\n");
}
2. 动态参数模板语法({{variable}})
- 必填参数:
{{var_name}}(点击执行时自动弹出参数输入窗口); - 带默认值参数:
{{port:8080}}、{{domain:example.com}}; - 历史输入自动记忆:每次输入的参数会自动缓存在本地,下次再次点击该片段时自动预填上次的值,无需重复手打。
3. 生产环境常用一键片段库(开箱即用)
(1) 系统资源与网络连接一键体检
echo "=== 系统负载 ===" && uptime && echo "=== 内存占用 ===" && free -h && echo "=== 磁盘空间 ===" && df -hT / && echo "=== 监听端口 ===" && ss -tulpn
(2) 一键开启 Linux BBR 拥塞控制算法
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf && echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf && sysctl -p && sysctl net.ipv4.tcp_congestion_control
(3) Docker 孤儿容器与悬空镜像一键清理
docker container prune -f && docker image prune -f && docker volume prune -f && docker system df
(4) 交互式修改 SSH 端口与防火墙联动
NEW_PORT="{{new_port:2222}}" && sed -i "s/^#\?Port [0-9]\+/Port $NEW_PORT/" /etc/ssh/sshd_config && (command -v ufw >/dev/null && ufw allow $NEW_PORT/tcp || true) && systemctl restart sshd && echo "SSH 端口已修改为: $NEW_PORT"
(5) 查找占用磁盘空间最大的 TOP 10 文件
du -ahx "{{scan_dir:/var}}" 2>/dev/null | sort -rh | head -n 10
五、端到端加密云同步(E2EE)配置 SOP
Netcatty 采用 Serverless 无服务依赖 架构。所有主机配置在离开设备前,均在本地通过 PBKDF2-HMAC-SHA256(600,000 次迭代)派生密钥,并经 AES-256-GCM 认证加密生成 netcatty-vault.json 密文 Payload,云端仅存放密文。
┌────────────────┐ ┌────────────────┐
│ Netcatty 电脑端 │ │ Netcatty 手机端 │
└───────┬────────┘ └────────┬───────┘
│ AES-256-GCM 本地加密密文 Payload │
├──────────────────────┬────────────────┤
▼
┌───────────────────────────────────────┐
│ 自建对象存储 / WebDAV / GitHub Gist │
│ • Cloudflare R2 / MinIO / AWS S3 │
│ • 坚果云 / Alist / 群晖 NAS (WebDAV) │
└───────────────────────────────────────┘
1. Cloudflare R2 / S3 接入步骤
- 创建 R2 存储桶:在 Cloudflare 控制台创建名为
netcatty-sync的 Bucket,生成 S3 API Token; - 桌面端配置:
- 打开
Settings > Cloud Sync,选择S3 Compatible; - Endpoint:
https://<ACCOUNT_ID>.r2.cloudflarestorage.com - Bucket:
netcatty-sync - Access Key ID / Secret Key:填入对应的 R2 Token 凭据;
- Master Password:设置高强度本地加密主密码;
- 打开
- 移动端接入:在 Netcatty Mobile 中填入相同凭据与主密码,即可瞬间实现双向加密同步。
2. WebDAV(Alist / 坚果云 / 群晖 NAS)接入步骤
- 选择
WebDAV; - Server URL:
https://dav.example.com/dav/netcatty/; - 填入 WebDAV 账号密码与加密主密码即可。
3. Convergent Sync 收敛同步防冲突
内置基于记录级修订版本与删除墓碑(Tombstone)的收敛算法,多设备并发离线修改后联网自动无锁合并,避免数据覆盖与已删主机复活。
六、移动端 Netcatty Mobile 深度实操指南
Netcatty Mobile 采用 Flutter (Dart) 原生重构,为手机触屏量身定制。

1. 触屏辅助按键栏
软键盘上方常驻 ESC、CTRL、ALT、SHIFT、TAB、方向键、Home、End 与一键粘贴条,长按支持按键锁定(如 Ctrl + C),流畅操作 vim、nano 与 htop。
2. 前台服务保活与画中画(PiP)悬浮小窗
- 后台不断连:Android 端持有前台通知服务(Foreground Service)与唤醒锁,切出 App 查阅资料不掉线;
- 画中画小窗:点击画中画按钮将终端缩小为系统悬浮小窗,在进行其他操作的同时实时监控长任务日志。
3. 手机端单双栏 SFTP 与本地存储互传
支持单栏/双栏自适应切换,通过 Android SAF 授权可直接将远程服务器文件与手机本地目录双向流式互传。
4. 进程、Docker 与性能监控大屏
自动识别发行版图标,提供 CPU/内存/磁盘/网络实时卡片,并可直接在 UI 上管理进程(KILL/renice)、Docker 容器/镜像与 systemd 服务的启停。
| 服务器性能监控大屏 | 进程与 Docker 容器管理 |
|---|---|
![]() | ![]() |
| 服务器网格视图 | 树形分组视图 | 列表紧凑视图 |
|---|---|---|
![]() | ![]() | ![]() |
| SSH 密钥与证书管理 | 命令片段与动态变量 | 50+ 套主题切换 |
|---|---|---|
![]() | ![]() | ![]() |
七、Catty AI 运维助手私有化配置
- 进入
Settings > Catty Agent; - Base URL:填写私有反代网关(如
https://ai-proxy.example.com/v1); - API Key:填入访问令牌;
- Model:选择主力大模型;
- 在终端遇到错误时,一键发送给 AI 助手即可获得精准诊断与一键执行命令。
八、信创生态打包与离线化评估
┌──────────────────────────────────────────────────────────┐
│ 信创 Linux 原生打包与离线化方案 │
├────────────────────────────┬─────────────────────────────┤
│ 多架构 Deb 打包 │ 纯离线安全适配 │
│ • Electron-builder 编译 │ • 全量内置 JetBrains 字体 │
│ • 银河麒麟 Kylin arm64 │ • 彻底剥离外部 CDN / 遥测 │
│ • 统信 UOS / x86_64 │ • 100% 物理隔离机房秒开 │
└────────────────────────────┴─────────────────────────────┘
- 信创 Linux 原生打包成本极低:
桌面端通过
electron-builder即可原生编译适用于银河麒麟(Kylin)、统信(UOS)等国产 Linux 发行版的标准arm64与x86_64.deb安装包,命令如下:npm run pack:linux - 字体全量内置与纯离线安全合规: 在打包时将开源 JetBrains Mono / Cascadia Code 字体直接打包进客户端内部,并剥离外部 Google Fonts 在线 CDN 与遥测发包,100% 满足纯物理隔离内网机房的安全合规要求。
- 推荐双轨运维策略:
- 日常主力运维:首选 Netcatty 桌面端 + Netcatty Mobile 移动端,搭配自建 Cloudflare R2 / WebDAV,享受现代高颜值 UI、触屏画中画与开箱即用的自动化代码片段;
- 超轻量/无桌面信创环境:保留原生轻量终端工具作为兜底补充。











