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:
2026-06-09 20:52:24 +08:00
parent 937556917c
commit 23c7fbac62
30 changed files with 799 additions and 149 deletions
+23 -4
View File
@@ -3,7 +3,10 @@ use std::future::Future;
use std::pin::Pin;
use std::sync::Arc;
// ─── 风险等级 ───
/// ## 风险等级 —— 工具的安全级别
///
/// * `Low` — 低风险,直接执行(如天气查询、日期时间)
/// * `High` — 高风险,需要用户输入确认码审批(如写备忘录、发消息)
#[derive(Debug, Clone, PartialEq, Deserialize)]
#[serde(rename_all = "lowercase")]
@@ -14,7 +17,14 @@ pub enum RiskLevel {
impl RiskLevel {}
// ─── 工具元数据 ───
/// ## 工具元数据(SkillSpec)—— 工具的自描述信息
///
/// 用于给 LLM 展示"有什么工具可用、怎么用"。
/// * `name` — 工具名称
/// * `description` — 工具描述
/// * `risk_level` — 风险等级(Low/High
/// * `parameters` — JSON Schema 格式的参数定义
/// * `timeout_secs` — 执行超时时间
#[derive(Debug, Clone, Deserialize)]
pub struct SkillSpec {
@@ -36,7 +46,11 @@ fn default_timeout() -> u64 {
30
}
// ─── 工具执行结果 ───
/// ## 工具执行结果
///
/// * `success` — 执行是否成功
/// * `output` — 可读的输出文本(将返回给 LLM)
/// * `data` — 结构化数据(可选),用于后续处理
#[derive(Debug, Clone, Serialize)]
pub struct SkillResult {
@@ -89,7 +103,12 @@ impl SkillResult {
}
}
// ─── 执行上下文 ───
/// ## 执行上下文 —— 工具执行时需要的环境信息
///
/// 当工具在 daemon 上下文中执行时,携带以下信息:
/// * `user_id` — 触发工具的用户
/// * `approval_manager` — 审批管理器(高风险工具需要)
/// * `send_wechat` — 微信发送回调(用于向用户发送审批提示)
pub type WechatSender = Arc<
dyn Fn(&str, &str) -> Pin<Box<dyn Future<Output = Result<(), String>> + Send>> + Send + Sync,