Skip to main content

xtap_core_lib/
lib.rs

1/*
2 * Copyright (c) 2026 星TAP实验室
3 * Author: 星TAP实验室 <cscb603@qq.com>
4 * Description: 通用 Rust 工业级核心库
5 */
6
7//! # xTap Core Lib
8//!
9//! 星TAP实验室通用 Rust 基座库:跨平台路径 / IO / 硬件信息 / MCP HTTP 服务 /
10//! egui 主题与字体。通过 Cargo features 按需裁剪,避免无关依赖进入编译图。
11//!
12//! ## Features 表
13//!
14//! | Feature | 激活模块 | 说明 |
15//! |---------|---------|------|
16//! | `default` | process,path,io,hardware,ui | 开箱即用 |
17//! | `process` | `process` | 进程/系统信息(sysinfo) |
18//! | `path` | `path` | 跨平台 home/路径解析(dirs) |
19//! | `io` | `io` | 文件读写工具 |
20//! | `async` | `io::async_io` | 异步 IO(tokio) |
21//! | `mmap` | `io::mmap` | 内存映射文件(memmap2) |
22//! | `hardware` | `hardware` | CPU/硬件信息(num_cpus, rayon) |
23//! | `gpu` | — | GPU 初始化(wgpu,重依赖) |
24//! | `self_check` | `self_check` | 自检模块 |
25//! | `ui` | `ui` | egui 主题/字体/图标 |
26//! | `mcp` | `mcp` | MCP HTTP 服务(axum, tokio) |
27//! | `gui` | — | GUI 标记(配合 ui) |
28//!
29//! `error` / `shell` 模块无条件编译(不依赖任何 feature)。
30//!
31//! ## 快速开始
32//!
33//! ```toml
34//! [dependencies]
35//! xtap-core-lib = { version = "0.5", features = ["path", "mcp"] }
36//! ```
37//!
38//! ```rust,ignore
39//! use xtap_core_lib::path::get_home_dir;
40//! use xtap_core_lib::error::Result;
41//!
42//! fn main() -> Result<()> {
43//!     let home = get_home_dir()?;
44//!     println!("home: {}", home.display());
45//!     Ok(())
46//! }
47//! ```
48
49pub mod error;
50#[cfg(feature = "hardware")]
51pub mod hardware;
52#[cfg(feature = "io")]
53pub mod io;
54#[cfg(feature = "mcp")]
55pub mod mcp;
56#[cfg(feature = "async")]
57pub use io::async_io;
58#[cfg(feature = "mmap")]
59pub use io::mmap;
60#[cfg(feature = "path")]
61pub mod path;
62#[cfg(feature = "process")]
63pub mod process;
64#[cfg(feature = "self_check")]
65pub mod self_check;
66pub mod shell;
67#[cfg(feature = "ui")]
68pub mod ui;
69
70pub use error::{CoreError, Result};
71
72/// 初始化全局日志系统
73pub fn init_logger() {
74    tracing_subscriber::fmt::init();
75}