mirror of
https://github.com/aiclientproxy/proxycast.git
synced 2026-09-24 23:10:56 +08:00
355 lines
8.2 KiB
TOML
355 lines
8.2 KiB
TOML
[workspace]
|
|
members = ["crates/*"]
|
|
exclude = ["crates/aster", "crates/aster-models", "crates/aster-rust"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
version = "1.13.0"
|
|
edition = "2021"
|
|
authors = ["coso"]
|
|
repository = "https://github.com/aiclientproxy/lime"
|
|
homepage = "https://github.com/aiclientproxy/lime"
|
|
|
|
[workspace.dependencies]
|
|
# 项目内 crate 依赖
|
|
lime-core = { path = "crates/core" }
|
|
lime-config = { path = "crates/config" }
|
|
lime-infra = { path = "crates/infra" }
|
|
lime-providers = { path = "crates/providers" }
|
|
lime-services = { path = "crates/services" }
|
|
lime-credential = { path = "crates/credential" }
|
|
lime-websocket = { path = "crates/websocket" }
|
|
lime-processor = { path = "crates/processor" }
|
|
lime-server-utils = { path = "crates/server-utils" }
|
|
lime-server = { path = "crates/server" }
|
|
lime-skills = { path = "crates/skills" }
|
|
lime-mcp = { path = "crates/mcp" }
|
|
lime-agent = { path = "crates/agent" }
|
|
lime-scheduler = { path = "crates/scheduler" }
|
|
lime-memory = { path = "crates/memory" }
|
|
lime-embedding = { path = "crates/embedding" }
|
|
lime-gateway = { path = "crates/gateway" }
|
|
lime-browser-runtime = { path = "crates/browser-runtime" }
|
|
lime-media-runtime = { path = "crates/media-runtime" }
|
|
voice-core = { path = "crates/voice-core" }
|
|
aster = { package = "aster-core", path = "crates/aster-rust/crates/aster" }
|
|
aster-models = { path = "crates/aster-rust/crates/aster-models" }
|
|
|
|
# 序列化
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
serde_yaml = "0.9"
|
|
serde_urlencoded = "0.7"
|
|
|
|
# 异步运行时
|
|
tokio = { version = "1", features = ["full"] }
|
|
tokio-util = "0.7"
|
|
futures = "0.3"
|
|
async-stream = "0.3"
|
|
async-trait = "0.1"
|
|
clap = { version = "4.5", features = ["derive"] }
|
|
|
|
# 错误处理
|
|
anyhow = "1"
|
|
thiserror = "1"
|
|
|
|
# 日志
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
sentry = "0.43"
|
|
|
|
# HTTP 服务器
|
|
axum = { version = "0.7", features = ["ws"] }
|
|
axum-server = { version = "0.7", features = ["tls-rustls"] }
|
|
tower = "0.5"
|
|
tower-http = { version = "0.6", features = ["limit", "cors", "timeout"] }
|
|
|
|
# HTTP 客户端
|
|
reqwest = { version = "0.12", features = ["json", "stream", "gzip", "brotli", "deflate"] }
|
|
|
|
# 数据库
|
|
rusqlite = { version = "0.31", features = ["bundled", "backup"] }
|
|
|
|
# 时间和 UUID
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
chrono-tz = "0.10"
|
|
uuid = { version = "1", features = ["v4"] }
|
|
|
|
# Cron 调度
|
|
cron = "0.15"
|
|
|
|
# 工具库
|
|
dirs = "5"
|
|
regex = "1"
|
|
md5 = "0.7"
|
|
jsonwebtoken = "9.3.1"
|
|
urlencoding = "2"
|
|
subtle = "2.5"
|
|
flate2 = "1"
|
|
tar = "0.4"
|
|
fs2 = "0.4"
|
|
indexmap = { version = "2", features = ["serde"] }
|
|
zip = "0.6"
|
|
dashmap = "5"
|
|
notify = { version = "6", default-features = false, features = ["macos_fsevent"] }
|
|
parking_lot = "0.12"
|
|
tiktoken-rs = "0.6"
|
|
base64 = "0.22"
|
|
bytes = "1"
|
|
rand = "0.8"
|
|
sha2 = "0.10"
|
|
open = "5"
|
|
url = "2"
|
|
once_cell = "1"
|
|
arboard = "3"
|
|
glob = "0.3.3"
|
|
hex = "0.4.3"
|
|
scopeguard = "1"
|
|
sysinfo = "0.32"
|
|
whoami = "1"
|
|
|
|
# 音频
|
|
cpal = "0.15"
|
|
|
|
# TLS
|
|
rustls-pemfile = "2"
|
|
|
|
# 终端
|
|
portable-pty = "0.8"
|
|
|
|
# SSH
|
|
ssh2 = { version = "0.9", features = ["vendored-openssl"] }
|
|
|
|
# 系统交互
|
|
mouse_position = "0.1.4"
|
|
window-vibrancy = "0.7.1"
|
|
if-addrs = "0.13"
|
|
enigo = "0.3"
|
|
|
|
# MCP (Model Context Protocol)
|
|
rmcp = { version = "0.12.0", features = ["client", "transport-io", "transport-child-process"] }
|
|
|
|
|
|
|
|
# Tauri
|
|
tauri = { version = "2.10.3", features = ["tray-icon", "image-png", "unstable", "macos-private-api"] }
|
|
tauri-build = { version = "2", features = [] }
|
|
tauri-plugin-shell = "2.3"
|
|
tauri-plugin-autostart = "2.3"
|
|
tauri-plugin-dialog = "2.5.0"
|
|
tauri-plugin-single-instance = "2.3"
|
|
tauri-plugin-global-shortcut = "2.3"
|
|
tauri-plugin-updater = "2"
|
|
|
|
# 测试
|
|
proptest = "1"
|
|
tempfile = "3"
|
|
|
|
# Windows 平台依赖
|
|
[workspace.dependencies.windows]
|
|
version = "0.56"
|
|
features = [
|
|
"Win32_Foundation",
|
|
"Win32_System_Registry",
|
|
"Win32_System_Threading",
|
|
"Win32_System_ProcessStatus",
|
|
"Win32_UI_Shell",
|
|
"Win32_UI_WindowsAndMessaging",
|
|
"Win32_System_LibraryLoader",
|
|
"Win32_System_Memory",
|
|
"Win32_System_Diagnostics_ToolHelp",
|
|
"Win32_Security",
|
|
]
|
|
|
|
[workspace.dependencies.winapi]
|
|
version = "0.3"
|
|
features = [
|
|
"winuser",
|
|
"winreg",
|
|
"processthreadsapi",
|
|
"handleapi",
|
|
"shellapi",
|
|
"psapi",
|
|
"tlhelp32",
|
|
]
|
|
|
|
[workspace.dependencies.winreg]
|
|
version = "0.52"
|
|
|
|
# macOS 平台依赖
|
|
[workspace.dependencies.cocoa]
|
|
version = "0.26"
|
|
|
|
[workspace.dependencies.objc]
|
|
version = "0.2"
|
|
|
|
[workspace.dependencies.tauri-plugin-deep-link]
|
|
version = "2.4"
|
|
|
|
[package]
|
|
name = "lime"
|
|
version = "1.13.0"
|
|
description = "AI API Proxy Desktop App"
|
|
authors = ["you"]
|
|
edition = "2021"
|
|
repository = "https://github.com/aiclientproxy/lime"
|
|
homepage = "https://github.com/aiclientproxy/lime"
|
|
|
|
[lib]
|
|
name = "lime_lib"
|
|
crate-type = ["lib", "cdylib", "staticlib"]
|
|
doctest = false
|
|
|
|
[build-dependencies]
|
|
tauri-build.workspace = true
|
|
|
|
[dependencies]
|
|
# 项目内 crate
|
|
lime-core.workspace = true
|
|
lime-config.workspace = true
|
|
lime-infra.workspace = true
|
|
lime-providers.workspace = true
|
|
lime-services.workspace = true
|
|
lime-credential.workspace = true
|
|
lime-websocket.workspace = true
|
|
lime-processor.workspace = true
|
|
lime-server-utils.workspace = true
|
|
lime-server.workspace = true
|
|
lime-skills.workspace = true
|
|
lime-mcp.workspace = true
|
|
lime-gateway.workspace = true
|
|
lime-agent.workspace = true
|
|
lime-scheduler.workspace = true
|
|
lime-memory.workspace = true
|
|
lime-embedding.workspace = true
|
|
lime-browser-runtime.workspace = true
|
|
lime-media-runtime.workspace = true
|
|
voice-core.workspace = true
|
|
|
|
# Tauri
|
|
tauri.workspace = true
|
|
tauri-plugin-shell.workspace = true
|
|
tauri-plugin-autostart.workspace = true
|
|
tauri-plugin-dialog.workspace = true
|
|
tauri-plugin-single-instance.workspace = true
|
|
tauri-plugin-global-shortcut.workspace = true
|
|
tauri-plugin-updater.workspace = true
|
|
tauri-plugin-deep-link.workspace = true
|
|
|
|
# 序列化
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
serde_yaml.workspace = true
|
|
serde_urlencoded.workspace = true
|
|
|
|
# 异步运行时
|
|
tokio.workspace = true
|
|
tokio-util.workspace = true
|
|
futures.workspace = true
|
|
async-stream.workspace = true
|
|
async-trait.workspace = true
|
|
|
|
# 错误处理
|
|
anyhow.workspace = true
|
|
thiserror.workspace = true
|
|
|
|
# 日志
|
|
tracing.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
sentry.workspace = true
|
|
|
|
# HTTP 服务器
|
|
axum.workspace = true
|
|
axum-server.workspace = true
|
|
tower.workspace = true
|
|
tower-http.workspace = true
|
|
rustls-pemfile.workspace = true
|
|
|
|
# HTTP 客户端
|
|
reqwest.workspace = true
|
|
|
|
# 数据库
|
|
rusqlite.workspace = true
|
|
|
|
# 时间和 UUID
|
|
chrono.workspace = true
|
|
chrono-tz.workspace = true
|
|
uuid.workspace = true
|
|
|
|
# Cron 调度
|
|
cron.workspace = true
|
|
|
|
# 工具库
|
|
dirs.workspace = true
|
|
regex.workspace = true
|
|
md5.workspace = true
|
|
jsonwebtoken.workspace = true
|
|
urlencoding.workspace = true
|
|
subtle.workspace = true
|
|
flate2.workspace = true
|
|
tar.workspace = true
|
|
fs2.workspace = true
|
|
indexmap.workspace = true
|
|
zip.workspace = true
|
|
dashmap.workspace = true
|
|
notify.workspace = true
|
|
parking_lot.workspace = true
|
|
tiktoken-rs.workspace = true
|
|
base64.workspace = true
|
|
bytes.workspace = true
|
|
rand.workspace = true
|
|
sha2.workspace = true
|
|
open.workspace = true
|
|
url.workspace = true
|
|
once_cell.workspace = true
|
|
arboard.workspace = true
|
|
glob.workspace = true
|
|
hex.workspace = true
|
|
scopeguard.workspace = true
|
|
sysinfo.workspace = true
|
|
whoami.workspace = true
|
|
tempfile.workspace = true
|
|
|
|
# 终端
|
|
portable-pty.workspace = true
|
|
|
|
# SSH
|
|
ssh2.workspace = true
|
|
|
|
# 系统交互
|
|
mouse_position.workspace = true
|
|
window-vibrancy.workspace = true
|
|
if-addrs.workspace = true
|
|
enigo.workspace = true
|
|
|
|
# 音频
|
|
cpal.workspace = true
|
|
|
|
# Aster Agent Framework
|
|
aster.workspace = true
|
|
|
|
# MCP (Model Context Protocol)
|
|
rmcp.workspace = true
|
|
|
|
# Windows specific dependencies for browser interceptor and machine ID management
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows.workspace = true
|
|
winapi.workspace = true
|
|
winreg.workspace = true
|
|
|
|
# macOS specific dependencies for browser interceptor
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
cocoa.workspace = true
|
|
objc.workspace = true
|
|
|
|
[dev-dependencies]
|
|
proptest.workspace = true
|
|
tempfile.workspace = true
|
|
|
|
[features]
|
|
default = ["custom-protocol"]
|
|
custom-protocol = ["tauri/custom-protocol"]
|
|
# 本地 Whisper 语音识别(编译很慢,CI 默认不启用)
|
|
local-whisper = ["lime-services/local-whisper"]
|
|
notification = [] # 预留特性:系统通知功能
|