docs: 为全部 38 个源文件补充详细模块级注释

为 iAs 项目的所有 Rust 源文件添加了系统化的模块级文档注释(//!),
覆盖全部 src/ 下的文件。每个文件包含模块职责、架构设计、数据流
和关键设计决策的说明。

主要变更:
- 入口/CLI: main.rs, cli.rs — 系统架构概览、子命令说明
- Daemon/Worker: daemon.rs, worker.rs — 三消费者架构、旧架构说明
- 微信通道: mod.rs, client.rs, types.rs — API 端点、登录流程
- LLM 系统: mod.rs, types.rs, provider.rs, deepseek.rs, conversation.rs
  — 架构分层、流式处理、工具循环、摘要机制
- 上下文管理: mod.rs, types.rs, builder.rs, tools.rs
  — Checkpoint 机制、Token Budget、双重摘要
- 工具系统: mod.rs, types.rs, builtin.rs, approval.rs
  — 两层元工具架构、审批流程
- 内置工具: mod.rs + 6 个工具 — API 端点、认证方式、参数说明
- 消息队列: mod.rs, message_queue.rs, runner.rs
  — 公平轮转算法、三消费者路由
- 数据库/状态/调度/日志: db/mod.rs, state.rs, scheduler.rs, logger.rs
  — 表结构、回退策略、定时任务、日志初始化
This commit is contained in:
2026-06-10 09:46:42 +08:00
parent 74bb35bd26
commit a04447c7bc
28 changed files with 493 additions and 29 deletions
+28 -8
View File
@@ -1,15 +1,29 @@
//! Web 搜索工具 — Tavily Search API
//! ## Web 搜索工具 — Tavily Search API
//!
//! API: POST https://api.tavily.com/search
//! 认证: Authorization: Bearer <TAVILY_API_KEY>
//! 文档: https://docs.tavily.com/documentation/api-reference/endpoint/search
//! 通过 Tavily 搜索引擎获取互联网实时信息。
//! Tavily 是一个专为 AI Agent 设计的搜索引擎,返回结构化搜索结果。
//!
//! ### API
//! - 端点: `POST https://api.tavily.com/search`
//! - 认证: `Authorization: Bearer <TAVILY_API_KEY>`
//! - 文档: https://docs.tavily.com/documentation/api-reference/endpoint/search
//!
//! ### 功能特性
//! - 支持 AI 摘要(include_answer
//! - 支持多种搜索深度(basic / advanced / fast / ultra-fast
//! - 支持按主题过滤(general / news / finance
//! - 支持按时间范围过滤
//! - 支持限定/排除域名
//! - 支持按国家优先搜索结果
use reqwest::Client as HttpClient;
use serde::{Deserialize, Serialize};
use super::super::types::{RiskLevel, SkillResult, SkillSpec};
// ─── 请求 ───
// ═══════════════════════════════════════════════
// 请求结构体
// ═══════════════════════════════════════════════
#[derive(Debug, Serialize)]
struct SearchRequest {
@@ -73,7 +87,9 @@ struct SearchRequest {
safe_search: Option<bool>, // Enterprise only
}
// ─── 响应 ───
// ═══════════════════════════════════════════════
// 响应结构体
// ═══════════════════════════════════════════════
#[derive(Debug, Deserialize)]
#[allow(dead_code)]
@@ -126,7 +142,9 @@ struct UsageInfo {
credits: Option<u32>,
}
// ─── 工具 spec ───
// ═══════════════════════════════════════════════
// 工具元数据
// ═══════════════════════════════════════════════
pub fn spec() -> SkillSpec {
SkillSpec {
@@ -161,7 +179,9 @@ pub fn spec() -> SkillSpec {
}
}
// ─── 执行 ───
// ═══════════════════════════════════════════════
// 执行入口
// ═══════════════════════════════════════════════
pub async fn execute(params: serde_json::Value) -> SkillResult {
let api_key = match std::env::var("TAVILY_API_KEY") {