源码地图
本页把“我要理解什么”映射到最短入口。源码路径以本地 2.5.3 开发快照为准。
全局入口
| 问题 | 首读文件 | 关键符号 |
|---|---|---|
| Rust 怎样启动 | src-tauri/src/main.rs | main |
| Tauri 怎样组装 | src-tauri/src/lib.rs | run, app_init |
| 业务初始化顺序 | src-tauri/src/utils/resolve/mod.rs | resolve_setup_async |
| 前端怎样启动 | src/main.tsx | bootstrap, initializeApp |
| 页面和菜单 | src/pages/_navigation.tsx | navItems |
配置
| 问题 | 文件 | 关键符号 |
|---|---|---|
| 四层配置 | src-tauri/src/config/config.rs | Config |
| Clash 默认与保护 | config/clash.rs | IClashTemp |
| 应用设置 | config/verge.rs | IVerge |
| Profile 集合 | config/profiles.rs | IProfiles |
| Profile item | config/prfitem.rs | PrfItem, PrfOption |
| Runtime 产物 | config/runtime.rs | IRuntime |
| Draft/事务 | crates/clash-verge-draft/src/lib.rs | Draft, DraftTransaction |
| 文件回滚 | config/snapshot.rs | capture_config_files, restore_files |
| 端口 fallback | config/port.rs | resolve_startup_mixed_port |
增强
| 阶段 | 文件 | 关键符号 |
|---|---|---|
| 总管线 | enhance/mod.rs | enhance |
| 深合并 | enhance/merge.rs | use_merge |
| JS | enhance/script.rs | use_script |
| 序列 | enhance/seq.rs | use_seq, SeqMap |
| TUN/DNS | enhance/tun.rs | use_tun |
| 字段排序 | enhance/field.rs | use_sort |
| Chain item | enhance/chain.rs | ChainItem, ChainType |
核心与服务
| 问题 | 文件 | 关键符号 |
|---|---|---|
| 核心监督 | core/manager/mod.rs | CoreManager, RunningMode |
| start/stop/handoff | core/manager/lifecycle.rs | start_core, transitions |
| Sidecar 状态 | core/manager/state.rs | spawn/readiness/watch |
| 配置替换 | core/manager/config.rs | checked/forced update |
| Service | core/service.rs | ServiceManager, owner session |
| RunState | core/runstate/mod.rs | RunStateStore |
| 能力派生 | core/runstate/health.rs | RunState, RunStateView |
| 服务探测 | core/runstate/probe.rs | classifiers |
| owner 收敛 | core/runstate/owner.rs | OwnerWatch |
| 系统代理 | core/proxy_control.rs | apply, clear, refresh_guard |
| 核心校验 | core/validate.rs | CoreConfigValidator |
| ProxyView | core/proxy_view.rs | ProxyViewBuilder |
前端数据
| 问题 | 文件 | 关键符号 |
|---|---|---|
| command 门面 | src/services/cmds.ts | invoke wrappers |
| event 字典 | src/services/events.ts | VergeEvents |
| query cache | src/services/query-client.ts | useQuery, cache helpers |
| 应用数据 | src/providers/app-data-provider.tsx | AppDataProvider |
| WebSocket 复用 | src/hooks/use-mihomo-ws-subscription.ts | sharedSubscriptions |
| 连接 store | src/hooks/use-connection-data.ts | merge/subscribe |
| 日志 | src/hooks/use-log-data.ts | buffer flush |
| 流量 Worker | src/hooks/use-traffic-monitor.ts | TrafficWorkerClient |
| 代理选择 | src/hooks/use-proxy-selection.ts | latest-wins queue |
桌面与交付
| 问题 | 文件 |
|---|---|
| 托盘 | src-tauri/src/core/tray/ |
| 热键 | src-tauri/src/core/hotkey.rs |
| 窗口 | src-tauri/src/utils/window_manager.rs |
| 轻量模式 | src-tauri/src/module/lightweight.rs |
| 自动备份 | src-tauri/src/module/auto_backup.rs |
| 更新器 | src-tauri/src/core/updater.rs |
| 单例/PAC | src-tauri/src/utils/server.rs |
| 发布 | .github/workflows/release.yml |
推荐的搜索词
bash
rg "generate_handler" src-tauri/src
rg "DraftTransaction::begin" src-tauri crates
rg "core_starting|core_start_settled" src-tauri/src
rg "notify_run_state|run-state-changed" src-tauri/src src
rg "subscribeVergeEvents" src
rg "MihomoWebSocket" src