The workspace now builds two products from one repo: the existing daemon crate and a new vps-switch-gpui crate that renders the daemon's HTTP API. The client keeps all networking on a dedicated current-thread tokio runtime and drains events on the UI thread, so GPUI's executor is never touched from other threads. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
56 lines
1.6 KiB
TOML
56 lines
1.6 KiB
TOML
[workspace]
|
|
members = ["gpui-client"]
|
|
resolver = "2"
|
|
|
|
[package]
|
|
name = "vps-switch"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Lightweight VPS manager and MCP server"
|
|
authors = ["weidu12123"]
|
|
|
|
[dependencies]
|
|
tokio = { version = "1.40", features = ["full"] }
|
|
axum = { version = "0.7", features = ["ws", "macros"] }
|
|
tower-http = { version = "0.6", features = ["fs", "cors"] }
|
|
rusqlite = { version = "0.32", features = ["bundled"] }
|
|
russh = { version = "0.63.0", default-features = false, features = ["flate2", "ring", "rsa", "legacy-ed25519-pkcs8-parser"] }
|
|
russh-sftp = "3.0.1"
|
|
alacritty_terminal = "0.26.0"
|
|
portable-pty = "0.9.0"
|
|
tokio-util = { version = "0.7", features = ["io"] }
|
|
bytes = "1"
|
|
rust-embed = { version = "8.13.0", features = ["debug-embed", "mime-guess"] }
|
|
mime_guess = "2.0"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
sha2 = "0.10"
|
|
hex = "0.4"
|
|
aes-gcm = "0.10"
|
|
scrypt = { version = "0.11", default-features = false, features = ["std"] }
|
|
rand = "0.8"
|
|
base64 = "0.22"
|
|
uuid = { version = "1.10", features = ["v4"] }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
anyhow = "1.0"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
futures = "0.3"
|
|
async-trait = "0.1"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
wry = "0.57.0"
|
|
tao = "0.37.1"
|
|
tray-icon = "0.26.1"
|
|
# 托盘驻留时把 WebView2 降到低内存档(ICoreWebView2_19::SetMemoryUsageTargetLevel)。
|
|
# 只用 wry 暴露的 controller() 拿原生接口,不碰 wry 内部实现。
|
|
webview2-com = "0.39.1"
|
|
windows-core = "0.62"
|
|
|
|
[target.'cfg(windows)'.build-dependencies]
|
|
winres = "0.1"
|
|
|
|
[profile.dev.package."*"]
|
|
opt-level = 2
|
|
|