Files
zclaw_openfang/desktop/src-tauri/Cargo.toml
iven 85bf47bebb
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
feat(dev-server): 添加开发模式 HTTP/WebSocket 服务器
功能:
- 创建 dev_server.rs 模块,提供 HTTP/WebSocket API
- 使用 feature flag \dev-server\ 控制编译
- 仅绑定 localhost:50051,安全限制 CORS
- 生产构建不包含此模块

使用方式:
- pnpm tauri:dev:web - 启动带开发服务器的 Tauri
- pnpm tauri:dev - 常规开发模式(无服务器)

安全:
- 仅 localhost 绑定
- CORS 限制为 Vite 开发端口
- 通过 feature flag 完全移除生产代码
2026-03-26 17:38:53 +08:00

77 lines
1.8 KiB
TOML

[package]
name = "desktop"
version.workspace = true
edition.workspace = true
description = "ZCLAW Desktop Application"
authors = ["ZCLAW Team"]
license.workspace = true
repository.workspace = true
rust-version.workspace = true
[lib]
name = "desktop_lib"
crate-type = ["staticlib", "cdylib", "rlib"]
[build-dependencies]
tauri-build = { version = "2", features = [] }
[features]
default = []
dev-server = ["axum", "tower-http"]
[dependencies]
# ZCLAW crates
zclaw-types = { workspace = true }
zclaw-memory = { workspace = true }
zclaw-runtime = { workspace = true }
zclaw-kernel = { workspace = true }
zclaw-skills = { workspace = true }
zclaw-hands = { workspace = true }
zclaw-pipeline = { workspace = true }
zclaw-growth = { workspace = true }
# Tauri
tauri = { version = "2", features = [] }
tauri-plugin-opener = "2"
# Async runtime
tokio = { workspace = true }
futures = { workspace = true }
async-trait = { workspace = true }
# Serialization
serde = { workspace = true }
serde_json = { workspace = true }
toml = "0.8"
# HTTP client
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls", "blocking"] }
# Utilities
chrono = { workspace = true }
regex = { workspace = true }
dirs = { workspace = true }
thiserror = { workspace = true }
uuid = { workspace = true }
base64 = { workspace = true }
tracing = { workspace = true }
secrecy = { workspace = true }
# Browser automation (existing)
fantoccini = "0.21"
# Secure storage (OS keyring/keychain)
keyring = "3"
# Encryption
aes-gcm = { workspace = true }
sha2 = { workspace = true }
rand = { workspace = true }
# SQLite (keep for backward compatibility during migration)
sqlx = { workspace = true }
# Development server (optional, only for debug builds)
axum = { version = "0.7", features = ["ws"], optional = true }
tower-http = { version = "0.5", optional = true }