Repository navigation
Releases: Moguifeng-9119/server-console
Release list
ServerConsole v0.13.2
ServerConsole v0.13.2
Overview GPU grids now default to four columns across all supported server card widths. Server cards prefer a width of at least 430 px so standard desktop window layouts maintain clear spacing.
On narrow server cards, the layout preserves the four-column grid while proportionally reducing gauge dimensions, inter-item spacing, and auxiliary metric text, allowing memory labels to wrap cleanly. Odd GPU counts leave trailing grid slots empty; the layout never introduces placeholder or phantom GPU cards, and prevents horizontal overflow.
Local production builds and browser probes verified 40 simulated combinations covering GPU counts (1, 2, 3, 4, 8), window dimensions (900, 920, 1280, 1600 px), and themes (light/dark), validating zero horizontal tile overflow and strict four-column alignment.
See the validation ledger. Desktop packages remain unsigned; verify downloads against the release checksum manifest.
ServerConsole v0.13.1
ServerConsole v0.13.1
Overview GPU gauges now use two columns by default and four when the containing server card has at least 600 px of content width. The layout no longer creates three- or five-column rows. An odd GPU count leaves the final grid slot empty; it never adds a fake GPU.
The gauges have a consistent 88 px size. Large filled tile backgrounds have been removed, and memory, temperature and owner text use consistent spacing and clearer sizing. Matching GPUs retain an accent memory label; hover and keyboard focus remain visible.
Local production-renderer checks passed 40 combinations covering 1, 2, 3, 4 and 8 GPUs, 900/920/1280/1600 px windows, and light/dark themes. Existing monitoring interactions passed all eight checks. These illustrations use explicitly simulated snapshots. The database retention and capacity policy from 0.13.0 is unchanged.
See the validation ledger. Desktop packages remain unsigned; verify downloads against the release checksum manifest.
ServerConsole v0.13.0
ServerConsole v0.13.0
Server switching now displays cached metrics immediately, preserves visited file panes, and gives each host an independent polling schedule. Clicking a server's status dot or unused row space selects that server. A slow host no longer delays healthy hosts. Stale readings show their sample age and cannot enable destructive process actions.
The overview uses individual circular GPU utilization gauges with memory, temperature and owner details. Selecting a gauge opens and highlights that GPU.
History monitoring is available from each overview card and the server's History tab, with visible 30-minute, 1-hour, 12-hour, 1-day and 1-week ranges. Device and metric selectors expose GPU utilization, memory percentage, temperature, power, and system CPU/memory. Charts use real timestamps, missing-data gaps, extrema and time-weighted averages.
Monitoring is stored locally in monitoring.sqlite, with database work isolated in a worker. Raw samples expire after 24 hours; minute summaries expire after 30 days. Cleanup runs at startup and every 15 minutes and reclaims free database pages. Existing JSON history imports once. Closing the app stops sampling; historical observations that were never collected cannot be recreated.
A synthetic seven-day measurement using the production schema and packaged Electron runtime recorded 302,400 samples per GPU at two-second intervals. Six GPU series occupied 11.34 MiB including SQLite auxiliary files after checkpoint; one GPU plus three shared server series occupied 16.67 MiB. These are disk measurements, not whole-app RAM usage. See capacity evidence and the validation ledger.
Windows uses an assisted installer. Desktop packages remain unsigned; verify their SHA-256 against the release manifest. The validation ledger records completed platform checks and their limits.
ServerConsole v0.12.3
0.12.3 — Responsive navigation, persistent terminals and a Windows installer
Windows: download ServerConsole-Setup-0.12.3.exe, install once, then start ServerConsole from the desktop or Start menu. This release uses an assisted per-user NSIS installer with an installation-directory picker; it does not need to unpack the portable application at every launch. Existing user data uses the same application identity and directory.
- Retain every open terminal while switching sessions, servers, monitoring/file tabs or the overview. Background output remains in the original xterm scrollback, and each server remembers its selected tab.
- Keep bounded main-process output history even while a terminal is attached. Reattaching after a renderer reload restores displayed output; sequence checkpoints prevent replay/live races from duplicating messages.
- Select a remaining terminal after closing the active session. Reject obsolete terminal opens and close that server's sessions after a successful server removal or configuration update.
- Reuse a file-name collator and memoize directory sorting. Monitoring and transfer updates no longer sort both large directories repeatedly. Load local and remote directories independently, with visible errors.
- Keep terminal/file tabs available while monitoring is offline or waiting for a sample. Explicit GPU inspection actions still open GPU details.
- Add production-renderer navigation/race checks and native two-server, two-session, background-output and reload regressions.
Terminal continuity covers the running desktop application and renderer reloads; live SSH sessions are not restored after the entire application exits. Renderer scrollback is limited to 2,000 lines and main-process replay to 256 KiB of text per session.
Packages remain unsigned. Verify downloads against the attached SHA256SUMS.txt. Windows signing and macOS notarization remain pending. See the validation ledger for the tested scope.
ServerConsole v0.12.2
0.12.2 — Reliable remote actions, language settings and direct-transfer recovery
- Remote process termination and service restart now require a successful SSH exit status. Permission failures, signals and missing statuses no longer appear successful.
- Share ten language catalogs between the renderer, native dialogs, tray and backend messages. Persist the selected language safely, preserve it on load/save failures and handle competing lazy language requests, including keyboard cancellation.
- Validate update HTTP responses, release payloads and stable version numbers before reporting update availability.
- Journal direct-transfer key ownership and relay recovery inputs before remote changes. After a crash, reconnect removes the exact owned public key and scratch directory. Cleanup failures retain actionable recovery records; concurrent key changes use an account lock.
- Honor SFTP bandwidth limits under backpressure and across concurrent streams; changing the limit wakes waiting streams. Direct rsync also honors the configured limit.
- Add regression coverage and an opt-in, isolated two-server packaged-desktop crash acceptance script.
Packages are unsigned. Windows SmartScreen may display a warning. Verify downloads against the attached SHA256SUMS.txt; signing and macOS notarization remain pending.
See current validation and remaining limits. Locale coverage does not imply complete native-speaker review.
ServerConsole v0.12.1
0.12.1 — Window controls and multilingual layout
- Keep native Windows window controls in a separate title-bar band. Settings, transfer drawers and dialog overlays begin below it.
- Let long translated labels wrap within toolbars, settings controls, sidebar actions and dialog footers. Transfer drawers adapt to narrow windows.
- Add ten-language layout regressions to source CI and packaged-window checks to native CI, including Windows 100%, 125% and 150% scaling and maximized windows.
Packages remain unsigned. This patch changes layout and interaction spacing; it retains the transfer recovery and other features introduced in 0.12.0.
ServerConsole v0.12.0
0.12.0 — Transfer recovery and multilingual workflows / 传输恢复与多语言工作流
- Durable task-owned staging journal: restore after a crash, retain cleanup failures and retry exact owned files after reconnect. Unknown legacy remote stages are preserved for manual inspection.
- Full SHA-256 resume-prefix verification now shows separate byte/file progress and can be paused or canceled. Checking bytes never count as transferred bytes.
- Explicit legacy-task recovery explanations; metadata-only removal for old unowned stages.
- Ten locale files with 635 matching keys, migrated file/import/relay/editor labels, on-demand locale loading, keyboard file/relay actions and unsaved/saving text protection. Machine-assisted wording still needs full native-speaker review.
- Detailed English/Chinese guides, shared ten-language README navigation, a 27-second clearly simulated workflow demonstration and transfer screenshots.
Validation: all three OS source CI jobs passed 106 tests, typecheck, lint, loopback SFTP smoke, build, 22 workbench checks and 23 file/editor/relay/language checks. Windows/Linux/macOS packages each passed 16 native checks. One real six-H100 Linux host passed 16 MiB upload/download final SHA-256, forced transfer-subprocess recovery and remote staging cleanup. The second authorized host was unreachable, so real cross-server rsync remains unverified.
本版修复暂存文件崩溃恢复与清理、续传前缀校验进度、旧任务升级说明,并补齐键盘工作流、语言资源和详细文档。三系统 CI/打包原生验收均通过;真实 SSH/SFTP 恢复已测。跨机 rsync、全部非中英文文案的母语审校、真实 macOS/Linux 密钥库、Intel macOS 执行、安装器/更新仍有验收边界。
Unsigned packages; macOS is not notarized. macOS automation uses MockKeychain and runs on arm64; this is not evidence for real Keychain or Intel execution. GPU telemetry targets Linux NVIDIA hosts over SSH; a local 5070 Ti Laptop read is not a new Windows-local collector.
ServerConsole v0.11.1 — 三系统版本与转发修复
更新内容
本版本包含 v0.11.0 的 GPU 资源工作台、界面与设置改进、可靠 SFTP 断点恢复及凭据保护,并修复继续验证中发现的问题:
- 修复端口转发有活跃连接时停止或更新卡住的问题。
- 停止、禁用、删除规则会取消尚未完成的 SSH 启动,旧请求不会重新开启监听。
- 远端 SSH Channel 关闭会同时关闭本地连接;停止后的延迟回调不会留下通道。
- 所有打包命令显式关闭自动发布,修复 Linux/macOS 标签构建误要求 GH_TOKEN 的失败。
- 三系统打包流程加入原生 IPC、终端、转发、凭据策略和重启恢复检查。
下载
| 系统 | 文件 |
|---|---|
| Windows x64 | ServerConsole-0.11.1-windows-x64-portable.exe,便携版 |
| Linux x86_64 | ServerConsole-0.11.1-linux-x86_64.AppImage |
| macOS Intel / Apple Silicon | ServerConsole-0.11.1-macos-universal.dmg,通用包 |
附件 SHA256SUMS.txt 提供三个文件的 SHA-256。所有构建均未签名,macOS 未公证。
已完成验证
- Windows/Linux/macOS 源码 CI 全部通过:类型检查、84 项测试、真实 SFTP 协议的本机 SSH 冒烟、生产构建、22 项浏览器交互检查。
- 三系统打包及各 16 项原生检查全部通过:真实 preload IPC、键盘输入并执行计算输出、SSH 终端尺寸同步、精确字节端口转发、活跃连接停止、持久化与认证重启。
- Windows 实测 DPAPI 加密;Linux CI 无安全密钥库时密码只保留当前会话。macOS 自动化采用 Playwright MockKeychain,未把它当成真实 Keychain 验证。
- Windows 最终便携文件另行通过实际启动检查。macOS 原生执行在 arm64 runner 上完成,Intel 分支已构建但未执行。
源码 CI · 三系统打包与原生检查 · 完整验证记录
真实 NVIDIA/MIG、远程 rsync/网络吞吐、真实 macOS Keychain/Linux secret-service、完整远程 PTY、签名/公证及安装器更新仍需独立验证。测试只使用本机隔离 SSH 服务和模拟 GPU 指标。
发布后下载核验
三个安装包均通过无需登录的公开下载测试:HTTP 200、文件大小和 SHA-256 与验证过的构建完全一致;公开 SHA256SUMS.txt 也逐字节一致。v0.11.0 标签与附件保留。
ServerConsole v0.11.0 — GPU Workbench & Transfer Integrity
找到可用 GPU,直接开始 SSH 工作
v0.11.0 改进资源发现、界面与传输可靠性。本次首先提供 Windows x64 便携版(未签名),下载下方 exe 即可运行。
主要变化
- 新资源工作台:按单卡空闲显存、型号和 GPU 占用用户筛选,直接打开监控、终端或文件。
- 分类设置、告警中心、紧凑八卡视图、过期采样提示;修复弹窗遮挡及键盘焦点。
- CPU 使用 /proc/stat 时间差,多 GPU 进程关联及真实时间戳历史。
- SFTP 使用任务临时文件、SHA-256 前缀续传、源文件/字节数检查后替换目标;完整任务恢复与目标路径互斥。
- 凭据按系统加密/会话策略保存;损坏信任/凭据文件保留并报错;写盘失败不更改连接列表。
- 新架构、贡献、安全、基准和验证文档;三系统检查与手动打包 CI。
已验证
76 项行为测试、类型检查、生产构建、双假 SSH 服务的真实 SFTP 冒烟、22 项生产浏览器检查、9 项 Windows 解包程序原生检查全部通过。最终便携版另行通过启动/版本/原生桥接检查。原生检查比对包内 Electron 代码和生产资源 SHA-256 与当前源码构建一致。
验证边界
SSH/SFTP 使用真实协议连接本机测试服务,GPU/进程指标为模拟数据。真实 GPU、远程 rsync、系统密钥库、macOS/Linux 原生包、签名/安装器/更新仍需要对应环境验证;新增 CI 配置不等于这些检查已经通过。新版优先维护英文和简体中文,其他新增文本回退英文。
便携版 SHA-256:71bc6369e5c9c9f082a6a0facb9b6c7f1075a2557d39194ad4d6396b60b17246。附件 SHA256SUMS.txt 可用于核对下载。
English: Resource discovery by per-GPU free memory, model and owner; redesigned desktop workbench; safer staged SFTP transfers/recovery; timestamped monitoring and explicit credential storage. This release includes an unsigned Windows x64 portable binary. Local checks: 76 behavioral tests, 22 production browser checks, 9 unpacked Windows native checks plus portable startup. Synthetic SSH/GPU fixtures do not establish real hardware, remote rsync, other platforms or OS-key-store guarantees.
ServerConsole v0.10.2 — Terminal Fix
Terminal flickering and content loss fix.
Root cause: Switching GPU/Processes/Files/Terminal tabs unmounted the TerminalSessions component, destroying and recreating the xterm instance — causing screen flashing, lost keystrokes, and no scrollback history.
Fix:
- Terminal component is now persistently mounted — switching tabs toggles CSS visibility only, no unmount (same approach as VS Code / Tabby)
onClosedcallback moved to a ref to prevent effect re-runs from parent re-renders (which caused repeated dispose + rebuild = flickering)- ResizeObserver guarded against zero-size (display:none) containers
Terminal e2e assertions (input echo / tab-switch memory / multi-open) all pass.