使用手册User Guide

从安装到日常使用,十分钟上手 ServerIsland。From installation to everyday use — get going with ServerIsland in ten minutes.

3 分钟视频教程3-minute video tour

从添加服务器到每一项功能,跟着演示走一遍,有配音和字幕。点下面的章节可以直接跳过去。From adding a server to every feature, with narration and subtitles. Click a chapter below to jump straight to it.

安装Install

从 GitHub 的 Releases 页面下载对应平台的安装包即可,免费、不需要账号,也不需要另装运行环境。服务器上什么都不用装。 Grab the package for your platform from the GitHub Releases page. It's free, needs no account and no extra runtime — and nothing is installed on your servers.

macOS

macOS 14 及以上 · Apple 芯片与 IntelmacOS 14+ · Apple silicon & Intel
  1. 下载 ServerIsland-x.y.z.dmgDownload ServerIsland-x.y.z.dmg
  2. 打开 DMG,把 ServerIsland 拖进"应用程序"Open it and drag ServerIsland into Applications
  3. 打开 App,它会出现在刘海里Launch it — it appears in the notch
下载 macOS 版Download for macOS

Windows

Windows 10 / 11 · 64 位(Intel / AMD)Windows 10 / 11 · 64-bit (Intel / AMD)
  1. 下载 ServerIsland-x.y.z-win-x64.zipDownload ServerIsland-x.y.z-win-x64.zip
  2. 解压到任意文件夹(比如"文档")Unzip it anywhere (e.g. Documents)
  3. 双击 ServerIsland.exeDouble-click ServerIsland.exe
下载 Windows 版Download for Windows

Linux

x64 · X11 或 XWayland · 需要系统托盘x64 · X11 or XWayland · a system tray
  1. 下载 ServerIsland-x.y.z-linux-x64.tar.gzDownload ServerIsland-x.y.z-linux-x64.tar.gz
  2. 解压:tar xzf ServerIsland-*.tar.gzExtract: tar xzf ServerIsland-*.tar.gz
  3. 运行 ./ServerIslandRun ./ServerIsland
下载 Linux 版Download for Linux

第一次打开时被系统拦住?Blocked on first launch?

ServerIsland 是免费的开源软件,没有购买商业签名,所以第一次打开时系统会提醒一下,允许一次就好: ServerIsland is free and open source and isn't commercially signed, so your system asks once. Allow it and you're done:

  • macOS 15 及以后:先双击打开一次(会被拦住),然后到 系统设置 → 隐私与安全性,往下找到 ServerIsland,点"仍要打开"。macOS 14:按住 Control 点 App 图标,选"打开"。 macOS 15 and later: double-click once (it gets blocked), then go to System Settings → Privacy & Security and click "Open Anyway". macOS 14: Control-click the app and choose Open.
  • Windows:如果出现"Windows 已保护你的电脑",点"更多信息"→"仍要运行"。 Windows: if you see "Windows protected your PC", click "More info" → "Run anyway".
  • Linux:如果提示没有执行权限,运行 chmod +x ServerIsland。GNOME 默认没有托盘,需要装 AppIndicator 扩展。 Linux: if it isn't executable, run chmod +x ServerIsland. GNOME has no tray by default — install the AppIndicator extension.

想先看看效果?用演示模式启动,会显示两台假服务器,不连接任何机器:Mac 上运行 open /Applications/ServerIsland.app --args --demo;Windows 上在命令提示符里运行 ServerIsland.exe --demo;Linux 上运行 ./ServerIsland --demo。 Want a look first? Start in demo mode with two fake servers — nothing is contacted: open /Applications/ServerIsland.app --args --demo on macOS, ServerIsland.exe --demo in a Windows command prompt, ./ServerIsland --demo on Linux.

添加服务器Add your servers

ServerIsland 通过 SSH 查看服务器。已经在 ~/.ssh/config(Windows 上是 %USERPROFILE%\.ssh\config)里配好的机器可以直接选;没写过这个文件也没关系,可以在 ServerIsland 里直接填地址。 ServerIsland talks to your servers over SSH. Hosts already in your ~/.ssh/config (%USERPROFILE%\.ssh\config on Windows) can be picked from a list; never written one? Just type the address into ServerIsland.

  1. 打开设置。第一次启动时会自动打开;以后可以点面板右上角的 ⚙,或者菜单栏 / 托盘图标 → 设置。 Open Settings. It opens by itself on first launch; later use ⚙ at the top right of the panel, or the menu-bar / tray icon → Settings.
  2. 点"添加服务器":在"从 ~/.ssh/config 选择"里勾选机器;或者切到"手动填写",填地址、用户名、端口(默认 22)和私钥文件(可留空)。ServerIsland 不会改动你的 ~/.ssh/config。 Click "Add Server": tick hosts under "From ~/.ssh/config", or switch to "Enter Manually" and fill in the address, user, port (22 by default) and key file (optional). ServerIsland never changes your ~/.ssh/config.
  3. 选择类型:Slurm 集群、PBS 集群(PBS Pro / OpenPBS / Torque,看作业队列)或直连服务器(看进程和 GPU)。不确定的话,在服务器页面点"自动检测类型"。 Pick a type: Slurm cluster, PBS cluster (PBS Pro / OpenPBS / Torque — both show the job queue) or direct server (processes and GPUs). Not sure? Click "Detect Type" on the server page.
  4. 只看某些目录(可选):服务器页面"显示内容"里的"只看这些目录",每行一个,比如 ~/projects/LLZO。之后只显示工作目录在这些文件夹(含子文件夹)里的作业和进程。 Only some folders (optional): "Only These Folders" under Display on the server page, one per line, e.g. ~/projects/LLZO. Only jobs and processes whose working directory is inside them are shown.
  5. 选择认证方式:密钥、密码、密钥 + 密码或动态口令;要经过跳板机的,在"跳板机"里选(见下文登录方式与跳板机)。 Pick how you log in: key, password, key + password, or one-time code; pick a jump host if you need one (see Logins & jump hosts).
  6. 完成。几秒后刘海里就会出现数据。把鼠标移上去看看。 Done. Data shows up within seconds — hover the notch.

单机装了 Slurm 的工作站(既用 sbatch 也直接跑程序):类型选 Slurm,再打开"同时显示直接运行的进程"。如果提示找不到 squeue,在服务器页面的"连接后先执行"里写上 module load slurm 或 source …/env.sh。 A workstation with its own Slurm (you both sbatch and run things directly)? Choose Slurm and turn on "Also Show Direct Processes". If squeue isn't found, put module load slurm or source …/env.sh in "Run First" on the server page.

认识面板The panel

ServerIsland 平时缩在刘海两侧:左边是 Tako 和正在运行的任务数,右边是最接近完成的任务进度。有任务结束时会弹出提示;鼠标移上去就展开成完整面板,移开自动收起。 Most of the time ServerIsland sits beside the notch: Tako and the number of running jobs on the left, the job closest to finishing on the right. It pops up when something ends, expands into the full panel on hover, and folds away when you move on.

Expanded panel
位置Where作用What it does
顶部 ⏱ 1mTop ⏱ 1m所有服务器的刷新间隔;也可以改成"仅手动刷新"Refresh interval for all servers, or "Manual refresh only"
顶部 📌Top 📌固定面板:鼠标移开也不收起Pin: keep the panel open when the mouse leaves
顶部 ↻ / ⚙Top ↻ / ⚙立即刷新全部 / 打开设置Refresh everything now / open Settings
卡片上的 👁 或 ▦Card 👁 or ▦直连服务器:从高负载进程里挑一个"监听";Slurm:查看各分区空闲的 CPU / GPUDirect servers: pick a busy process to watch; Slurm: free CPUs / GPUs per partition
卡片上的 🕘Card 🕘最近 24 小时结束的任务Jobs that ended in the last 24 hours
卡片上的 1m / ⏸ / 🔔Card 1m / ⏸ / 🔔这台服务器自己的刷新间隔 / 暂停自动刷新 / 静音This server's own interval / pause auto refresh / mute
任务行A job row点击看详情和日志;右键复制作业号、名称或完整命令Click for details and the log; right-click to copy the ID, name or full command

没有任务的服务器会合并成一行"N 台空闲",点一下展开。每张卡片最多显示 5 个任务,多的点"还有 N 个任务,查看全部",那里可以搜索和筛选。 Servers with nothing running fold into one "N idle" line — click to expand. A card shows up to five jobs; "N more — show all" opens a searchable, filterable list.

任务详情与取消Job details & cancelling

点开任务可以看到作业信息、工作目录、实时刷新的日志末尾(每 4 秒),识别到计算软件时还有进度、速度、预计剩余时间和曲线。路径、作业号旁边都有复制按钮,"tail -f"按钮会复制一条在终端里实时看日志的命令。 Open a job to see its info, working directory and a live log tail (every 4 s); for recognised software you also get progress, speed, ETA and a curve. Paths and IDs have copy buttons, and "tail -f" copies a command to follow the log in your terminal.

Job detail with cancel confirmation

取消任务默认是关闭的。需要在设置里为这台服务器打开"允许取消任务";之后在详情页要按住按钮 1.5 秒、再点一次确认,执行前 ServerIsland 还会在服务器上核对任务名称、所有者和启动时间,对不上就不执行。 Cancelling is off by default. Turn on "Allow Cancelling" for that server in Settings; then on the job page hold the button for 1.5 s and confirm. Before running anything, ServerIsland re-checks the job's name, owner and start time on the server, and refuses if they don't match.

提醒与提示音Alerts & sounds

  • 什么时候提醒:任务完成或失败、排队的任务开始运行、数组作业全部结束(可选:第一个元素失败时也提醒)、磁盘快满了。 When: a job finishes or fails, a pending job starts, a job array completes (optionally also on its first failure), a disk is nearly full.
  • 怎么判断成功还是失败:Slurm 优先看 sacct;集群没开作业记录时,按计算软件的输出判断是正常结束还是提前退出;都没有就只说"已离开队列",不瞎猜。 Success or failure: Slurm jobs use sacct; without job accounting, the software's own output tells a clean finish from an early exit; if neither is available it just says "left the queue" — no guessing.
  • 提示音:成功和失败是两种声音,可以在 设置 → 通用 → 提示音 里试听、调音量或关掉。 Sounds: success and failure sound different; preview, adjust or turn them off in Settings → General → Sounds.
  • 不想被打扰:点卡片上的 🔔 静音这台服务器,或者 ⏸ 暂停它的自动刷新。 Too chatty? Mute a server with 🔔 on its card, or pause its auto refresh with ⏸.

登录方式与跳板机Logins & jump hosts

在服务器页面的"认证方式"里选: Choose under "Authentication" on the server page:

  • 密钥:用 SSH 密钥(或 ssh-agent)登录,全程在后台进行,什么都不用输。 Key: logs in with your SSH key (or ssh-agent), entirely in the background.
  • 密码:卡片上出现"需要登录"时点 登录…,在弹出的对话框里输入密码。 Password: when the card says "Login required", click Log In… and type your password into the dialog.
  • 密钥 + 密码:有的集群要求两样都有——先验证密钥,再输密码。密钥在"私钥文件"里选(或用默认的),密码在登录时输入。用"密钥"登录时如果提示"密钥已通过,服务器还要求密码",就改选这一项。 Key + password: some clusters need both — your key first, then a password. Pick the key under "Key File" (or use the default) and type the password when you log in. If "Key" mode tells you "Key accepted, but the server also wants a password", switch to this one.
  • 动态口令:每次的验证码都不同(二次验证、令牌),只能每次手动输入。 One-time code: the code changes every time (2FA, tokens), so you type it each time.

登录后连接会在后台保持(默认 24 小时,可以在服务器页面改成 8 小时、3 天或一直保持),之后的刷新都复用这条连接,不会再问你。 After you log in, the connection stays open in the background (24 hours by default — 8 hours, 3 days or "until disconnected" on the server page) and every refresh reuses it.

密码默认不保存。如果嫌每次断线都要重新输,可以打开"记住密码"(只有"密码"和"密钥 + 密码"有这个选项):下次登录时输入的密码存进系统自带的钥匙串——macOS 钥匙串、Windows 凭据管理器或 Linux 的系统钥匙圈,不会写进配置文件;连接断开后 ServerIsland 会用它自动重新登录。关掉开关会立刻删除。动态口令从不保存。 Passwords are not stored by default. If retyping after every disconnect gets old, turn on "Remember Password" (only for "Password" and "Key + password"): the password you enter at the next login goes into your system's own keychain — the macOS Keychain, Windows Credential Manager or the Linux keyring, never the config file — and ServerIsland uses it to log in again automatically when the connection drops. Turning the switch off deletes it right away. One-time codes are never stored.

跳板机Jump hosts

要先登录一台跳板机才能连到集群?先把跳板机也添加为一台服务器(不想在刘海里看到它,就关掉它的"启用"),再在集群的服务器页面"跳板机"里选它。跳板机自己也可以再经过另一台跳板机。登录时每一跳需要密码都会单独弹窗,写明是哪台机器;出错时也会告诉你是哪一跳的问题。跳板机已经登录时,经它连接的服务器直接复用它的连接。 Need to hop through a gateway first? Add the gateway as a server too (turn off its "Enabled" if you don't want it in the notch), then pick it under "Jump Host" on the cluster's page. A jump host can itself go through another one. When logging in, each hop that needs a password gets its own dialog naming the machine, and errors tell you which hop failed. While the jump host is logged in, servers behind it reuse its connection.

在 ~/.ssh/config 里写好了 ProxyJump 的话,不用在这里重复设置,照常生效。 Already have ProxyJump in your ~/.ssh/config? It keeps working — no need to set it again here.

第一次连接某台服务器时,可能还会让你确认它的"主机指纹"——确认是你的服务器后再继续。 The first time you connect to a server you may be asked to confirm its host key — continue only if it's really your server.

计算进度Computation progress

ServerIsland 会看任务工作目录里的文件,自动认出 NEP / GNEP、GPUMD、VASP 和 LAMMPS,显示真实的进度而不只是"运行中"。格式对不上时宁可不显示,也不会给你一个错的数字。 ServerIsland looks at the files in each job's working directory and recognises NEP / GNEP, GPUMD, VASP and LAMMPS, so you see real progress instead of just "RUNNING". If anything doesn't match, it shows nothing rather than a wrong number.

  • 自己的程序:设置 → 进度识别 → 添加规则。填一个文件名(可以用 *.log)和关键字(比如 epoch),点"测试"就能在真实目录上试,规则对所有服务器生效。 Your own code: Settings → Progress Detection → Add Rule. Give a file name (wildcards like *.log work) and a keyword such as epoch, then hit "Test" against a real directory. Rules apply to every server.
  • 让脚本主动上报:往服务器的 ~/.serverisland/progress/名称.json 写一行 JSON 即可: Report from your script: write one line of JSON to ~/.serverisland/progress/name.json on the server:
{"name": "train", "progress": 0.42, "message": "epoch 3/10", "jobid": "12345"}

各软件具体怎么识别,见功能详解。How each package is detected is covered in the feature tour.

Windows 与 LinuxWindows & Linux

Windows 和 Linux 版功能和 Mac 版一样,只是电脑上没有刘海,所以多了两种显示方式,在 设置 → 通用 → 显示方式 里切换: The Windows and Linux versions do everything the Mac version does. There's no notch, so you get two ways to show it — switch under Settings → General → Display Style:

  • 灵动岛(默认):挂在主屏幕顶部正中,用法和 Mac 一样,鼠标移上去展开。 Island (default): hangs from the top center of your main screen and works just like on a Mac — hover to expand.
  • 桌面小章鱼:Tako 待在桌面上,可以拖到任何地方;身上的小徽章显示运行数或异常,鼠标移上去展开面板,点一下固定。 Desktop pet: Tako sits on your desktop and can be dragged anywhere; a little badge shows running jobs or problems. Hover to open the panel, click to pin it.
Desktop pet mode
  • 托盘图标:右下角(Windows 通知区域)或状态栏里有一个 Tako 图标,点击打开并固定面板,右键可以刷新、切换显示方式、打开设置、退出。 Tray icon: Tako also lives in the notification area (Windows) or status bar (Linux). Click to open and pin the panel; right-click to refresh, switch display style, open Settings or quit.
  • SSH:Windows 上默认用内置 SSH,读取你的 .ssh\config 和 known_hosts,支持密钥、跳板机(ProxyJump)、密码和动态口令。如果你依赖 ssh-agent 或 ProxyCommand,在 设置 → 通用 → SSH 实现 里改成"系统 ssh"。Linux 上默认就用系统 ssh。 SSH: on Windows the built-in SSH is used by default — it reads your .ssh\config and known_hosts and supports keys, ProxyJump, passwords and one-time codes. If you rely on ssh-agent or ProxyCommand, switch Settings → General → SSH Implementation to "System ssh". Linux uses the system ssh by default.
  • 通知:Windows 上以弹窗和提示音提醒;Linux 上还会发系统通知。 Notifications: Windows alerts with the pop-up and sounds; Linux also posts system notifications.

常见问题FAQ

卡片上提示找不到 squeueThe card says squeue was not found

很多集群只在交互式登录时才加载 Slurm。ServerIsland 会自动从 ~/.bashrc 等文件补全 PATH;还不行的话,在服务器页面的"连接后先执行"里写 module load slurm,再点"检查命令"确认。如果这台机器根本不是 Slurm,卡片上可以一键改成直连服务器。 Many clusters only load Slurm for interactive logins. ServerIsland adds the PATH entries from ~/.bashrc and friends automatically; if that's not enough, put module load slurm in "Run First" on the server page and click "Check Commands". If the machine isn't a Slurm cluster at all, switch it to Direct right from the card.

任务结束了却没有提醒A job ended but nothing popped up

先确认这台服务器没有被静音(🔔)或暂停(⏸)。运行不到 30 秒就结束的进程不会提醒。还不清楚的话看诊断日志(位置见文件位置):每次刷新、每个任务结束、每条提醒发没发都有记录。 Check the server isn't muted (🔔) or paused (⏸). Processes that end within 30 seconds aren't reported. Still unsure? The diagnostic log (see Files) records every refresh, every job that ended and whether each alert went out.

会不会给服务器增加负担?Does it load the server?

几乎不会。每台服务器每次刷新只开一个 SSH 通道,只读小文件和文件末尾;Slurm 每次只调一次 squeue。刷新间隔可以按服务器调,也可以改成只手动刷新。连接出错时会自动拉长间隔,不会触发服务器的封禁。 Barely. Each refresh opens one SSH channel per server and reads only small files and file tails; Slurm sees a single squeue. Intervals are per server, or manual only. On errors it backs off automatically, so it won't trip fail2ban.

某条命令在我的服务器上不对A command doesn't fit my server

服务器页面最下面的"高级 → 远程命令"里每条命令都可以改;"测试连接并查看原始输出"会把服务器的原始回应显示出来,方便核对。 Every remote command can be edited under Advanced → Remote Commands at the bottom of the server page, and "Test Connection & Show Raw Output" shows exactly what the server returned.

文件位置Where files live

配置Settings诊断日志Diagnostic log
macOS~/Library/Application Support/ServerIsland/~/Library/Logs/ServerIsland/
Windows%APPDATA%\ServerIsland\%LOCALAPPDATA%\ServerIsland\Logs\
Linux~/.config/ServerIsland/~/.local/state/ServerIsland/

诊断日志只在本机,默认保留 7 天(设置 → 通用 → 文件与诊断 → 日志保留,可改成 1 天到永久),也可以点"清除日志…"马上清空。 The diagnostic log stays on your computer and is kept for 7 days by default (Settings → General → Files & Diagnostics → Keep Logs For, from 1 day to forever); "Clear Log…" empties it right away.

三个平台的配置文件格式一样,可以直接拷过去用。设置 → 通用 → 文件与诊断 里有打开这两个位置的按钮。卸载时删掉 App(或解压出来的文件夹)和上面两个目录即可。 The settings file has the same format on all three platforms, so you can copy it across. Settings → General → Files & Diagnostics has buttons to open both locations. To uninstall, delete the app (or the unzipped folder) and the two folders above.