afc43ce692
QWeather 天气查询从外部 bash 脚本重构为 Rust 原生 builtin 工具: - ed25519-dalek 替代 openssl JWT 签名 - reqwest + tokio::join! 并发查询替代串行 curl - serde_json 直接解析替代 python3 子进程 - city_id 内存缓存 (HashMap, 1h TTL) - 支持 3/7/10/15/30d 逐日 + 24/72/168h 逐时预报 - 删除 resources/skills/query_weather/ (builtin 优先级更高)
46 lines
1.1 KiB
TOML
46 lines
1.1 KiB
TOML
[package]
|
||
name = "iAs"
|
||
version = "0.1.0"
|
||
edition = "2024"
|
||
|
||
[dependencies]
|
||
# 异步运行时
|
||
tokio = { version = "1.0", features = ["full"] }
|
||
# HTTP 客户端
|
||
reqwest = { version = "0.12", features = ["json", "stream"] }
|
||
# 序列化
|
||
serde = { version = "1.0", features = ["derive"] }
|
||
serde_json = "1.0"
|
||
# 环境变量
|
||
dotenvy = "0.15"
|
||
# CLI 参数解析
|
||
clap = { version = "4", features = ["derive"] }
|
||
# 终端输入
|
||
rustyline = "14.0"
|
||
# UUID
|
||
uuid = { version = "1", features = ["v4", "serde"] }
|
||
# 时间
|
||
chrono = { version = "0.4", features = ["serde"] }
|
||
# 加密
|
||
base64 = "0.22"
|
||
sha2 = "0.10"
|
||
hex = "0.4"
|
||
rand = "0.9"
|
||
# 日志
|
||
tracing = "0.1"
|
||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||
# 二维码终端显示
|
||
qrcode = "0.14"
|
||
image = "0.25"
|
||
# 异步 trait
|
||
async-trait = "0.1"
|
||
# 流式处理
|
||
futures-util = "0.3"
|
||
sqlx = { version = "0.8.6", features = ["runtime-tokio-native-tls", "postgres", "uuid", "chrono", "derive", "migrate"] }
|
||
tracing-appender = "0.2.5"
|
||
dialoguer = "0.12.0"
|
||
console = "0.16.3"
|
||
dirs = "6.0.0"
|
||
# Ed25519 JWT 签名(天气 API)
|
||
ed25519-dalek = { version = "2", features = ["pem"] }
|