FileTag 是基于 disk-pulse-sdk.dll 的 Windows 原生客户端。它不是 WebView 外壳,也不再作为 kernel exe 启动器使用,而是通过 DLL SDK 在本机进程内加载 disk-pulse 内核能力。
src/FileTag.AppWPF 原生桌面应用,负责窗口、托盘、初始化引导、搜索、主机、标签、扫描和设置等本地交互。src/FileTag.Core负责 SDK runtime 生命周期、P/Invoke 封装、本地设置和内核调用。src/FileTag.App/lib存放随应用打包的disk-pulse-sdk.dll与disk-pulse-sdk.h。这是 FileTag 的本地运行依赖,来源于disk-pulse-kernel的make build-sdk产物。skills给 AI 或其他工程使用的 disk-pulse API / C# 客户端集成说明。
- 随应用加载
disk-pulse-sdk.dll,不再启动独立disk-pulse-kernel.exe。 - 默认使用本机无认证模式,首次初始化只引导用户选择磁盘和扫描策略。
app.yaml、SQLite 数据库、运行时配置和 FileTag 本地设置统一放在%LOCALAPPDATA%\FileTag。- UI 使用类似 Excel 的顶部 Ribbon 页签组织功能,不照搬 Web 端左侧菜单。
- 搜索页支持磁盘筛选、高级选项、结果列展示配置和原生
DataGrid结果列表。 - 主机页支持主机与磁盘资产展示、主机重命名和磁盘启用/忽略控制。
- 标签页支持全部标签、标签任务、标签颜色、手动执行和自动运行配置。
- 扫描页支持扫描任务创建、自动扫描状态和任务历史。
- 支持系统托盘、现代化托盘菜单、窗口隐藏到托盘和最近运行日志。
- 使用 FileTag 独立图标资源,不复用 WebUI 的 disk-pulse logo。
- 数据目录:
%LOCALAPPDATA%\FileTag - App 配置:
%LOCALAPPDATA%\FileTag\app.yaml - 数据库文件:
%LOCALAPPDATA%\FileTag\*.db - FileTag 设置:
%LOCALAPPDATA%\FileTag\filetag-settings.json - SDK DLL:随应用输出为
disk-pulse-sdk.dll
当前工程会把下面两个文件复制到应用输出目录:
src/FileTag.App/lib/disk-pulse-sdk.dllsrc/FileTag.App/lib/disk-pulse-sdk.h
更新 SDK 时,先在 disk-pulse-kernel 仓库执行:
make build-sdk然后将生成的 DLL / H 文件同步到 src/FileTag.App/lib/。
FileTag 仓库中的 lib 目录不忽略,因为它是桌面客户端的本地运行依赖;而 bin/、obj/、.vs/、.tmp*、publish/ 等本地构建输出会被忽略。
Visual Studio 2022:
- 打开
FileTag.sln - 将
FileTag.App设置为启动项目 - 按
F5或Ctrl+F5
命令行:
dotnet restore FileTag.sln
dotnet build FileTag.sln -c Debug
dotnet run --project src/FileTag.App/FileTag.App.csproj如果使用 dotnet run,可能会短暂出现 .NET CLI 宿主窗口;正式运行编译后的 FileTag.App.exe 或通过 Visual Studio WPF 项目启动时不应弹出 PowerShell。