Files
crosswk 3877fcba20 chore: 发布 0.2.0
四处版本号、CHANGELOG 与关于页亮点同步到 0.2.0,本版新增的界面文案(中英两份)
一并补齐。
2026-09-09 16:47:55 +08:00

93 lines
3.5 KiB
TOML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[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"