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:
@@ -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") {
|
||||
|
||||
Reference in New Issue
Block a user