feat: 拆分 worker 架构并增强 assistant 安全保护

- 新增 daemon/channel/assistant/function/scheduler/logging worker 架构和 JetStream 消息协议

- 修复邮件通知误入 assistant、迁移 checksum、日志 subject 和工具调用无限循环风险

- 新增 assistant 工具轮次熔断、工具结果截断和提示词软收敛规则

- 补充邮件推送关键字、可信发件人配置、升级日志和验证测试
This commit is contained in:
2026-07-10 00:41:36 +08:00
parent 7deae286ca
commit af6cfdaa83
70 changed files with 5953 additions and 1608 deletions
+2 -29
View File
@@ -1,15 +1,11 @@
[package]
name = "ias-service"
version = "0.1.25"
version = "0.1.27"
edition = "2024"
[dependencies]
# ── 公共模块 ──
ias-common = { path = "../ias-common" }
# ── 上下文管理 ──
ias-context = { path = "../ias-context" }
# ── HTTP 服务与预览页面 ──
ias-http = { path = "../ias-http" }
# ── 邮件轮询 ──
ias-mail = { path = "../ias-mail" }
# ── ai api 调用 ──
@@ -19,28 +15,11 @@ ias-wechat = { path = "../ias-wechat" }
# ── api ──
axum = "0.8.9"
# ── 异步运行时 ──
tokio = { version = "1.0", features = [
"rt-multi-thread",
"macros",
"sync",
"time",
"process",
"signal",
"io-util",
"net",
] } # 异步运行时核心
# ── HTTP 客户端 ──
reqwest = { version = "0.12", default-features = false, features = [
"json",
"stream",
"rustls-tls",
] } # HTTP 请求(微信 API + DeepSeek API + 工具调用)
tokio = { version = "1.0", features = ["fs"] }
# ── 序列化 ──
serde = { version = "1.0", features = ["derive"] } # 序列化/反序列化
serde_json = "1.0" # JSON 处理
serde_yaml = "0.9" # YAML 解析(工具规范文件)
# ── 环境变量 ──
dotenvy = "0.15.7"
# ── 数据库 ──
sqlx = { version = "0.9.0", features = [
"runtime-tokio",
@@ -50,13 +29,7 @@ sqlx = { version = "0.9.0", features = [
] }
# ── 错误处理 ──
anyhow = "1"
thiserror = "2"
# ── 日志管理 ──
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# ── 时间处理 ──
chrono = { version = "0.4", features = ["serde"] } # 日期时间
# ── 唯一标识 ──
uuid = { version = "1", features = ["v4", "serde"] }
# ── Unix 后台进程控制 ──
libc = "0.2"