feat: 为全部 39 个 Rust 源文件添加系统性中文注释
为整个项目添加了详尽的中文文档注释,覆盖所有模块: 入口与架构: - main.rs — 架构图、数据流、4 个关键设计决策 - cli.rs — 所有 CLI 子命令中文化 - Cargo.toml — 每个依赖的作用说明 - channel/mod.rs — 渠道标识设计意图 核心守护进程与消息队列: - daemon.rs — 三消费者架构图、审批流 - queue/* — 公平轮转算法、路由调度架构 LLM 层: - types.rs — Role/Message/ToolCall 等每个字段含义 - provider.rs — Provider trait 设计 + SSE 解析 - conversation.rs — 工具循环流程图、摘要机制 - deepseek.rs — API 请求格式 上下文管理: - context/types.rs — ChatSession 消息生命周期 - context/builder.rs — Token 预算管理策略 - context/tools.rs — MemoryStore 双写策略 工具系统: - tools/mod.rs — 两层元工具架构图 - tools/approval.rs — 审批流程 - tools/definitions.rs — 声明式工具三要素 - tools/subprocess.rs — 执行流程 + 缓存策略 数据库与状态: - db/* — 5 张表用途、回退策略 - state.rs — 文件存储回退方案 - scheduler.rs — SKIP LOCKED 防重复 已废弃模块: - ipc.rs — 旧 UDS 协议 - worker.rs — 旧 vs 新架构对比
This commit is contained in:
+31
@@ -1,3 +1,34 @@
|
||||
//! ## iAs —— 微信 AI 智能助手(入口)
|
||||
//!
|
||||
//! ### 系统架构概览
|
||||
//!
|
||||
//! ```text
|
||||
//! CLI (main.rs → clap)
|
||||
//! ├── ias login → 扫码登录,保存 token 到 DB 或文件
|
||||
//! ├── ias listen --llm → Daemon 模式(主运行模式)
|
||||
//! │ └── daemon.rs: 长轮询 → MessageQueue → 3 个 tokio 消费者
|
||||
//! │ ├── LLM Consumer → Conversation.chat_with_tools() → DeepSeek API
|
||||
//! │ ├── Tool Consumer → BuiltinRegistry.execute() / ApprovalManager
|
||||
//! │ └── Send Consumer → WeChatClient.send_message()
|
||||
//! ├── ias service → 等同 listen --llm 但启用文件日志
|
||||
//! ├── ias daemon → 守护进程入口(等同 listen --llm)
|
||||
//! ├── ias tool <tool> → 直接调用内置工具(无需登录)
|
||||
//! └── ias usage → Token 消耗统计查询
|
||||
//! ```
|
||||
//!
|
||||
//! ### 数据流
|
||||
//! ```text
|
||||
//! 微信消息 → 存 chat_records → 加载历史 + 记忆 → 构建 LLM 上下文
|
||||
//! → Conversation.chat_with_tools() → LLM 回复或调工具
|
||||
//! → 高风险工具走审批 → 工具结果回喂 LLM → 最终回复发送
|
||||
//! ```
|
||||
//!
|
||||
//! ### 关键设计决策
|
||||
//! 1. **单进程架构** — 旧版 daemon+worker 分离模式已废弃,统一用 tokio task
|
||||
//! 2. **公平队列** — MessageQueue 按用户轮转,防止一个用户刷屏饿死其他人
|
||||
//! 3. **可选数据库** — PostgreSQL 不可用时回退到文件存储
|
||||
//! 4. **两层元工具** — LLM 通过 query_capabilities / call_capability 间接调用工具
|
||||
|
||||
mod channel;
|
||||
mod cli;
|
||||
mod context;
|
||||
|
||||
Reference in New Issue
Block a user