dwgx@blog:~$dwgx
> cd ../posts

ToolBox: A Desktop Toolbox Where Dropping in a File Is Installing a Plugin

// created

ToolBox is a Windows desktop toolbox written in PySide6. It collects the one-off little utilities that usually end up scattered everywhere—translation, file cleanup, QR code generation—into a single window, with a nav bar on the left to switch between them. Writing scripts leaves you with too much odds and ends; you use one once and forget where you dropped it, and finding it again is slower than just rewriting it. So I just crammed everything into one GUI.

The core idea is “dropping in a file is installing a plugin.” On startup, Client.py scans the Modules/ directory, and any class that inherits from QWidget gets auto-loaded by ModuleManager into a page. Adding a new tool means no touching the main program and no registering routes—drop a .py into the directory, restart, and it shows up in the sidebar. This self-discovery is why it can keep accumulating stuff without rotting.

A few modules live there permanently. FileClassifierTool filters by type and generates a file relationship tree, handy for tidying up project directories. TranslationTool hooks into Tencent Cloud TMT for select-text-plus-hotkey instant translation, with credentials filled in under settings rather than hardcoded. YuShengJun is a scraper—give it a URL and it grabs the content, built on BeautifulSoup, newspaper, and yt-dlp underneath. Setting manages UI style, background, and language.

There’s also a batch of command-line scripts under programtool/, decoupled from the main program so you can pull them out and run them standalone: CodeCleaner cleans up code, ConverterGUI converts PyQt6 to PySide6, LibUninstaller batch-uninstalls packages, and QRCGenerator generates .qrc files.

The stack is Python 3.10+ with PySide6, plus beautifulsoup4, newspaper3k, yt-dlp, and tencentcloud-sdk-python. Run pip install -r requirements to install, then python top/dwgx/Client.py to start the main program.

Under Modules/noplease/ sits a pile of experimental code like SystemCore, SystemTool, and WiFiHacker; it isn’t loaded by default and never makes it into the sidebar. This is a personal WIP project, not something meant to become a product—just a private toolbox that gets more comfortable the more I use it. GPL v3.0.