Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileTag

FileTag 是基于 disk-pulse-sdk.dll 的 Windows 原生客户端。它不是 WebView 外壳,也不再作为 kernel exe 启动器使用,而是通过 DLL SDK 在本机进程内加载 disk-pulse 内核能力。

当前结构

  • src/FileTag.App WPF 原生桌面应用,负责窗口、托盘、初始化引导、搜索、主机、标签、扫描和设置等本地交互。
  • src/FileTag.Core 负责 SDK runtime 生命周期、P/Invoke 封装、本地设置和内核调用。
  • src/FileTag.App/lib 存放随应用打包的 disk-pulse-sdk.dlldisk-pulse-sdk.h。这是 FileTag 的本地运行依赖,来源于 disk-pulse-kernelmake 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

SDK 依赖

当前工程会把下面两个文件复制到应用输出目录:

  • src/FileTag.App/lib/disk-pulse-sdk.dll
  • src/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:

  1. 打开 FileTag.sln
  2. FileTag.App 设置为启动项目
  3. F5Ctrl+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。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages