Skip to content

Releases: ZEcard17/weibian

文件标签管理器 v27 —— 拆成 53 个模块(主程序砍掉 56%)

Choose a tag to compare

@ZEcard17 ZEcard17 released this 08 Oct 06:56

★★★ 这一版最大的变化:主程序从 37,247 行砍到 16,357 行(少 56%)

原来是个 4 万行的单文件(1.6 MB),别人打开就劝退、编辑器都卡。
现在拆成 53 个模块,主程序只剩 16,357 行 / 745 KB。

拆成什么样了

独立类(13 个):FileList / PreviewPane / StarGraphEditor / TagBox /
IndexManagerDialog / FloatingBall / TagThumbnail / AutoTagRulesDialog /
PropsDialog / QuickPreview / HoverPreview / AutoRuleEditDialog / ShortcutDialog

功能组(24 组):菜单构建 / UI构建 / 标签操作 / 文件操作 / 扫描索引 /
搜索过滤 / 日志状态 / 健康检查 / 网盘维护 / 空闲任务 / 撤销 / 主题配色 /
快捷键 / 导航 / 剪切粘贴 / 分页 / 统计显示 / 缓存设置 / 面板布局 /
帮助关于 / 外观零件 / 插件挂载 / 预览控制 / 空白区菜单

原有模块:TagStore(数据层)/ i18n(多语言)/ 各种对话框 / 单位换算 / 电子书缓存 …

怎么做到"拆了还不出事"

  • 稳定接口:类里留一行同名转发,所有调用方一个字都不用改
  • 借名字机制:模块用主程序的 T / heme_get / 常量时,
    用代理在读取时现取(不是启动时取快照)
  • 安全网:建基线.py / 比基线.py / 体检模块.py ——
    每次改完跑一遍,行为跟以前不一样就立刻回退

★★★ 顺手修掉的真 bug(都是"静默失效",不报错的那种)

  • 悬停预览整个功能是坏的:模块的 _APP 被设成了错误的模块,
    20 个借来的名字全是 None —— 被兜底 except 吞掉,只有一行警告
  • 5 个模块的 enable_wheel_scroll 借不到 → 那些窗口鼠标滚轮失效
  • _USAGE_PATH 永远借不到 → 「用法记录」打不开

别的东西

  • 界面没变(功能一个都没少),代码结构清楚多了
  • 附 架构图.md(改哪儿翻哪儿)+ 错题本(170 条踩坑记录)
  • 多语言、主题、插件、悬浮球都正常

★ 提醒:exe 第一次启动会慢几秒(要解压 94 MB 到临时目录)。

文件标签管理器 v26 —— 用标签管理本地文件

Choose a tag to compare

@ZEcard17 ZEcard17 released this 08 Oct 01:09

★ 用标签管理本地文件的 Windows 工具 ——
不用再靠"文件夹套文件夹"来整理。

★ 这是第一个公开版本。


★ 下载

文件 说明
文件标签管理器.exe ★ 双击就跑,不用装 Python(93 MB)

★ 系统要求:Windows 10 / 11(64 位)


★ 它能做什么

  • 给文件打标签 —— 一个文件可以贴多个标签,随手改
  • 按标签找文件 —— 点标签就筛出来,多个标签可以叠加
  • 标签星图 —— 标签之间的父子关系画成图,直接拖
  • 自动标签 —— 按文件名 / 路径规则自动打
  • 文件索引 —— 给目录建索引,几十万文件也秒查
  • 悬浮球 —— 桌面上一个小球,显示网速 / 硬盘 / 内存,左键出菜单
  • 深色模式 —— 晚上不刺眼
  • 插件系统 —— 别人可以写插件加功能,不用改主程序
  • 多语言 —— ★ 中文 / English 已经能整个程序切换

★ 怎么用(30 秒上手)

① 打开程序 → 「Browse…」选一个文件夹
② 左边是分类、中间是文件列表、右边是标签库
③ 选中文件 → 点标签 → 就打上了
④ 点标签库里的标签 → 只看打了这个标签的文件
⑤ 拖悬浮球到顺手的位置 → 以后一直在那儿

★ 详细说明:见仓库里的 看这里-文件夹说明.md


★★ 换语言

设置(Settings)→ 🌐 语言 / Language → English
→ 它问"要重启吗" → 点"是"

★ 重启之后整个界面就是英文的(包括悬浮球、菜单、报错弹窗)。

★★ 想加别的语言?不用改代码 ——
复制 语言/en_US.json 改成 ru_RU.json(俄语)/ fr_FR.json(法语)…
翻译好丢进 语言/ 目录就行,程序会自己认出来。
(★ 没翻的会自动显示中文,不会空白、不会报错。)


★★ 你的数据在哪儿(重要)

★ 所有数据都在你自己电脑上,程序不会往外传。

内容 位置
设置 %USERPROFILE%\.file_tagger_settings.json
数据库 由设置里的 data_dir 指定(你自己选)
打包成 exe 后 %LOCALAPPDATA%\AIxiede\

★ 唯一的联网功能是 CloudDrive2 集成 ——
它连的是你自己电脑上的网盘客户端(localhost),不经过任何服务器。


★★ 已知问题(说在前面)

① 杀毒软件可能误报(★ 最常见的坑)

★ 为什么:Python 打包的 exe 会把内容解压到 %TEMP% 再运行 ——
这个行为跟某些病毒一模一样,所以很容易被误报。

★ 会怎样:Windows Defender 可能直接删掉,360 / 火绒可能弹窗拦截。

★ 怎么办:

  • ★ 这是误报,不是真的有病毒(源代码全在仓库里,可以自己看)
  • 加白名单,或者用源码跑(python AIxiede.py)

② PDF / Office 预览

★ 需要额外装库(pymupdf / python-docx / openpyxl)——
★ 这个 exe 里没带(体积原因)。不装也能用,只是 PDF / Office 文件不能预览。

③ 7-Zip

★ 装了 7-Zip 才能直接看压缩包里面是什么。没装也不影响别的功能。


★ 关于"AI 参与编写"

★ 这个项目的大量代码由 AI(DeepSeek)辅助生成 —— 我不隐瞒这一点。

★ 但也说清楚:

  • 需求、设计、取舍、测试标准都是人定的
  • AI 是"打字快的那双手",决定做什么、做成什么样的是人
  • ★ 项目里有个 文档/错题本(157 条),记录了每个踩过的坑和教训

★ 用了 AI 不丢人,隐瞒来源才是问题。


★ 许可

GNU AGPL-3.0 —— 见 LICENSE。

★ 通俗说:

  • ✔ 可以随便用(包括公司里用)
  • ✔ 可以改、可以分发
  • ★ 但改了之后如果拿去做"网络服务",必须把改动也开源
  • ★ 而且要保留原作者署名

★ 欢迎参与

★ 最缺的就是英文翻译和别的语言****(现在英文覆盖 89%)。

★★ 不用懂代码 —— 编辑 语言/en_US.json,加一行 "中文": "English", 就行。

★ 或者:提 issue(说清楚"怎么复现",比"坏了"有用一百倍)。

★ 详见 CONTRIBUTING.md。


★ 用标签管理文件,别再靠文件夹套文件夹了。

★ 觉得有用的话,欢迎提 issue、补翻译、写插件 —— 这比给钱更有用。

??????? v1.0(???????????,?? v27)

Choose a tag to compare

@ZEcard17 ZEcard17 released this 08 Oct 14:24

??????? v1.0

? ???:???????????(?? v27);
?????? v1.0 ?????

???????

  • ? ??:??????? ? ???????(??? Weibian)
  • ? ??????:??????????? Python ????
  • ? ?????????????(SHORTCUT_KEY_CHOICES ?????)
  • ? ? exe ????:??? PIL._imagingtk ????
  • ? ???? TEMP ?? _MEI ?? -- ? Failed to create parent directory structure.`n

??

  • ??? 16,431 ? / 734 KB(?? 4 ??)
  • ?? 53 ???
  • ??? 175 ?