Skip to content

Repository files navigation

Webotus

离线优先的个人网站收藏管理器(Windows 桌面应用)。所有数据保存在本机,不联网、不上传

一个用来替代"浏览器书签栏越来越乱"的小工具:把常去的网站按分类分栏摆开,卡片里按标签分组,一眼看清、一键打开。

功能

  • 分类分栏:网站按分类横向分栏展示,卡片内再按标签分组;分类可新增、重命名、拖动排序、删除(删除后其网站迁入「未分类」)
  • 标签:一个网站可挂多个标签;支持多选筛选、重命名、删除(删除标签不会删除网站
  • 搜索:按备注名即时搜索,键盘上下选择、回车打开
  • 打开:双击或回车打开站点;也支持全局快捷键唤起
  • 数据:JSON / CSV 导入导出、数据库快照创建与恢复
  • 外观:浅色界面、自绘标题栏与窗口按钮、若干可切换的显示开关
  • 托盘:可选"关闭到托盘"

技术栈

语言 / 框架 C# / .NET 10 / WPF(net10.0-windows
数据 SQLite(Microsoft.Data.Sqlite
打包 WiX v6(MSI,per-machine,安装位置可选)
发布形态 自包含单文件 exe(无需预装 .NET 运行时)

数据位置

%LOCALAPPDATA%\Web_Collection\
    data\web_collection.db     网站、分类、标签
    settings.json              界面与快捷键设置

卸载不会删除这些数据(安装包只管程序本体)。

也可以用环境变量 WEB_COLLECTION_DATA_DIR 覆盖数据目录,实现便携模式(数据跟着程序走),或同时保留多套互相独立的资料库。

构建

需要 .NET 10 SDK:

dotnet build Web_Collection.slnx -c Release
dotnet test tests/WebCollection.Tests/WebCollection.Tests.csproj -c Release

dotnet publish src/WebCollection.App/WebCollection.App.csproj -c Release -r win-x64 `
    --self-contained true -p:PublishSingleFile=true -o publish

打包安装包还需要 WiX v6 与 UI 扩展(wix extension add -g WixToolset.UI.wixext):

wix.exe build installer/Product.wxs -arch x64 -ext WixToolset.UI.wixext `
    -d PublishDir=publish -o Web_Collection_Setup.msi
wix.exe msi validate Web_Collection_Setup.msi -sice ICE57

-sice ICE57 是抑制一条已知误报:ICE 不评估 ALLUSERS,看不到 per-machine 安装时 ProgramMenuFolder 会解析为所有用户的开始菜单。

安装

Releases 下载 Web_Collection_Setup.msi 双击安装。安装需要管理员权限(per-machine),向导里可以自选安装位置;卸载在「应用和功能」里。

项目文档

  • PROJECT.md:要做什么、不做什么
  • ARCHITECTURE.md:分层与关键取舍
  • docs/adr/:架构决策记录
  • docs/current-phase.md:开发日志(每个版本改了什么、怎么验证的)
  • docs/deployment.md:部署与可移植性说明

许可

MIT

About

离线个人网站收藏管理器 · Windows 桌面端小工具(C# / .NET 10 / WPF / SQLite)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages