93 lines
3.5 KiB
TOML
93 lines
3.5 KiB
TOML
[package]
|
||
name = "sayit"
|
||
version = "0.2.0"
|
||
authors = ["Liu Qianglong", "Claude"]
|
||
edition = "2021"
|
||
|
||
[build-dependencies]
|
||
tauri-build = { version = "2", features = [] }
|
||
|
||
[dependencies]
|
||
tauri = { version = "2", features = ["tray-icon", "image-png", "image-ico"] }
|
||
tauri-plugin-shell = "2"
|
||
tauri-plugin-clipboard-manager = "2"
|
||
tauri-plugin-dialog = "2"
|
||
tauri-plugin-fs = "2"
|
||
tauri-plugin-autostart = "2"
|
||
tauri-plugin-global-shortcut = "2"
|
||
tauri-plugin-updater = "2"
|
||
tauri-plugin-process = "2"
|
||
tauri-plugin-single-instance = "2"
|
||
serde = { version = "1", features = ["derive"] }
|
||
serde_json = "1"
|
||
rusqlite = { version = "0.31", features = ["bundled"] }
|
||
uuid = { version = "1", features = ["v4"] }
|
||
chrono = "0.4"
|
||
log = "0.4"
|
||
env_logger = "0.11"
|
||
zip = "0.6"
|
||
dirs = "5"
|
||
hostname = "0.4"
|
||
whoami = "1"
|
||
base64 = "0.22"
|
||
# 校验更新安装包的 SHA-512(manifest 里给的是 Base64 编码)。安装包下载后会在临时
|
||
# 目录里等到用户点更新,驻留时间可能很长,装之前必须确认它还是我们下载的那一个。
|
||
sha2 = "0.10.8"
|
||
reqwest = { version = "0.12", features = ["json", "stream", "multipart"] }
|
||
regex = "1"
|
||
futures-util = "0.3"
|
||
tokio-tungstenite = { version = "0.24", features = ["native-tls"] }
|
||
once_cell = "1"
|
||
flate2 = "1"
|
||
tar = "0.4"
|
||
bzip2 = "0.4"
|
||
tokio = { version = "1", features = ["rt", "macros", "time", "fs"] }
|
||
# WebDAV 备份包要流式 PUT 上去:含音频的包能有几个 GB,整包读进 Vec<u8> 会直接把
|
||
# 内存打满。ReaderStream 把文件转成 reqwest 能吃的 Stream,配 reqwest 的 stream feature。
|
||
tokio-util = { version = "0.7", features = ["io"] }
|
||
silero-vad-crs = { version = "=0.4.0", features = ["auto"] }
|
||
# GGUF / ggml 本地 ASR 引擎(transcribe.cpp 的官方 Rust 绑定,MIT)。
|
||
# dynamic-backends:各计算后端编成可 dlopen 的模块(隐含 shared,libtranscribe
|
||
# 本身也是 DLL),运行时按 CPU 指令集挑最优的 ggml-cpu-* 模块。
|
||
# vulkan:一个 API 覆盖 NVIDIA / AMD / Intel / 核显,没有就自动回落 CPU。
|
||
# 构建需要 Vulkan SDK(编 SPIR-V shader):装完要新开终端,VULKAN_SDK 不会进已运行的 shell。
|
||
# 不带 CUDA:官方 CUDA 包 226 MB,Vulkan 已覆盖同样的硬件。
|
||
# 注意:首次构建会用 CMake 从源码编整棵 C++ 树(约 20 分钟),之后走缓存。
|
||
transcribe-cpp = { version = "0.1.3", default-features = false, features = [
|
||
"dynamic-backends",
|
||
"vulkan",
|
||
] }
|
||
|
||
[target.'cfg(windows)'.dependencies]
|
||
windows = { version = "0.58", features = [
|
||
"Win32_Foundation",
|
||
"Win32_Globalization",
|
||
"Win32_UI_WindowsAndMessaging",
|
||
"Win32_UI_Input_KeyboardAndMouse",
|
||
"Win32_UI_Accessibility",
|
||
"Win32_System_Threading",
|
||
# GetProcessMemoryInfo:报告本地模型加载后的真实内存占用(诊断页 + 调优实测)
|
||
"Win32_System_ProcessStatus",
|
||
"Win32_System_DataExchange",
|
||
"Win32_System_Memory",
|
||
"Win32_System_SystemInformation",
|
||
"Win32_System_Com",
|
||
"Win32_System_Com_StructuredStorage",
|
||
"Win32_System_Variant",
|
||
"Win32_Graphics_Gdi",
|
||
"Win32_Devices_FunctionDiscovery",
|
||
"Win32_UI_Shell_PropertiesSystem",
|
||
"Win32_Media_Audio",
|
||
"Win32_Media_Audio_Endpoints",
|
||
] }
|
||
# 与 tauri/wry 内部同版本,用于挂 WebView2 的 PermissionRequested 处理器(把麦克风置为持久授权)
|
||
webview2-com = "0.38"
|
||
|
||
# Release 体积/性能优化。panic 保持 unwind:Tauri 与 catch_unwind 依赖它,
|
||
# 换成 abort 会让引擎 panic 直接杀进程。
|
||
[profile.release]
|
||
lto = true
|
||
codegen-units = 1
|
||
strip = true
|
||
panic = "unwind"
|