
GeneralTools
A PyQt6 plugin aggregator: a tiny plugin framework plus 15 real utilities — LLM proxy launchers, PDF/Markdown tooling, local model servers, audio transcription/TTS, and downloaders.
GeneralTools is a PyQt6 desktop application that discovers script-tool plugins from app/plugins/, lists them with search-by-name/description, and lets the user open each tool either embedded in the main window or in a separate dialog. The framework side is intentionally minimal: a plugin is a folder with a plugin.py exposing get_plugin() returning a ScriptPlugin dataclass, and the loader walks the package with pkgutil.iter_modules.
What's bundled today spans 15 plugin folders: a browser LLM proxy launcher (Qwen/Z.AI/DeepSeek + Hermes agent), a PDF book slicer (by page range, outline, or auto-split), a Markdown-to-PDF converter with real PDF bookmarks, a GPT4Free test-server launcher, local LLM/ASR/TTS servers (llama-server, CrispASR, Qwen3-TTS), an OpenRouter audio transcriber, YouTube playlist and generic site downloaders, a silence audio chunker, and more.
Several plugins wrap long-running external processes via QProcess and stream their stdout into a log panel. The document tools (PDF slicer, Markdown-to-PDF) each ship a cli.py so the same logic works headless from PowerShell — the agent-friendly path. A fault-isolating loader means one broken plugin is skipped, not fatal.
Key features
- Plugin framework: a folder + plugin.py + get_plugin() — three-step contributor guide.
- Classic list + Gallery icon views over the same plugin list, with search.
- Embedded or dialog open modes; settings-driven startup view and theme.
- Browser LLM Proxy Launcher (Qwen/Z.AI/DeepSeek + Hermes agent config).
- PDF Book Slicer (page range / outline / auto-split / N-collections) + Markdown-to-PDF with bookmarks.
- Local LLM / ASR / TTS servers (llama-server, CrispASR, Qwen3-TTS) bound to 127.0.0.1.
- OpenRouter audio transcriber; YouTube playlist + generic site video downloaders (yt-dlp).
- CLI mirrors for document tools — the headless, agent-friendly path.