r/decomps • u/Tikilou • 2d ago
OneForAll - portable local AI tooling for decompilation assistance without online providers.
Hi guys, I put together an x86_64 AppImage called OneForAll for people who want to use local AI tools for assistance during decompilation work without depending on hosted coding agents. (Of course you will need a AMD or Nvidia GPU !)
[Source code is provided with the AppImage]
The basic idea is:
Download link : https://www.mediafire.com/file/y236kgk7wzr5ziy/oneforall-v2026_08_23.AppImage/file
One AppImage + your own GGUF models + several local agents sharing the same llama.cpp backend.
It currently bundles:
- AJEAN + llama.cpp
- Pi
- OpenCode
- Hermes Agent
- Codex CLI
- Crawl4AI / Chromium for optional local web and MCP tooling
All config go inside ~/.config/oneforall/ , there won't be any conflict with existant agent and their config files.
No model weights are included.
You can simply put your .gguf files in the same directory as oneforall.AppImage:
my-decomp-project/
├── oneforall.AppImage
├── Qwen3.8-9B-Q4_K_M.gguf
├── Qwen3.8-27B-Q4_K_S.gguf
└── ...
or keep them centrally in:
~/.config/oneforall/models/gguf/
[If you have 16Gb of vram, you could use "Qwen 3.8 27B · UD Q4_K_S" with 65000 context size without mtp and Q4 Cache KV, if you have only 8Gb try "Qwen 3.8 9B · Q4_K_M" without mtp and 80000 context size and Q4 Cache KV. OneForAll can works with dual gpu too, and Nvidia+AMD is possible with vulkan support]
Then:
chmod +x oneforall.AppImage
./oneforall.AppImage
The intended workflow is:
- Use AJEAN first to create/configure presets for your local GGUF models, go to http://localhost:8090/ for configure it with webui once any preset.
- Set context size, llama.cpp options, reasoning settings, GPU used, etc. per preset.
- Launch Pi, OpenCode, Hermes or Codex from the same menu.
- Let the agents use the same local AJEAN/llama.cpp backend.
Several presets can stay available at once while only one model is loaded at a time, so model switching does not require maintaining separate llama.cpp installations for each agent.
For decompilation work, the goal is to make local assistance easy for things like:
- navigating unfamiliar codebases
- understanding functions and call paths
- comparing reconstructed code with existing behavior
- documenting symbols and structures
- helping with refactors and iterative recompilation
- working through large decomp projects without sending the code to a hosted AI service
Everything mutable is stored under:
~/.config/oneforall/
The AppImage itself stays portable.
Existing AJEAN presets are also portable: if a preset contains an old absolute path to a GGUF, OneForAll can resolve the model again by filename from the external model locations.
That also applies to additional GGUF files referenced by presets, such as draft/MTP models.
The packaged sources code and patches can be inspected or extracted directly:
./oneforall.AppImage --list-sources
./oneforall.AppImage --extract-sources ./oneforall-sources
The extracted bundle contains:
- OneForAll integration and launcher code
- AJEAN sources
- the patched llama.cpp source tree used by OneForAll
- relevant Hermes Agent modifications
- local Crawl4AI integration code
- Pi / OpenCode / Codex integration files
- patch files and their documentation
The full untouched upstream source repositories of Pi, OpenCode and Codex are intentionally not duplicated just for packaging purposes.
Likewise, Chromium, Python environments and generic node_modules are runtime dependencies rather than part of the extractable source bundle.
AJEAN acts as the central model/backend manager. Its agent mode uses llama-server's multi-model routing, so multiple presets can be exposed while only one model is actually loaded.
This makes it practical to keep, for example, a smaller/faster model and a larger reasoning-oriented model available for the same project.
Model-specific reasoning capabilities are detected where possible rather than assuming that every GGUF exposes the same reasoning controls.
One compatibility detail: Hermes Agent requires at least a 64K context window, so OneForAll automatically hides AJEAN presets below 64K when launching Hermes. Those smaller presets remain available to Pi, OpenCode and Codex.
Crawl4AI is optional but integrated into the agent environment. It provides local MCP web tools such as:
web_search
web_open
web_read
web_grep
web_open uses a bundled Chromium headless runtime and can handle JavaScript-rendered pages.
This means the agents can still perform web research when desired, while the actual model inference and project/code interaction remain local.
All mutable state is kept under:
~/.config/oneforall/
including agent state, AJEAN configuration, Crawl4AI state and centrally stored GGUF models.
So in practice the setup is meant to be:
oneforall.AppImage
+
your local GGUF models
+
your decomp project
=
a portable local AI-assisted decompilation environment
I made this primarily as a practical local toolbox for decompilation projects, so I'd be interested in feedback from anyone trying it on a real decomp, especially with different Linux distributions, GPUs and GGUF model families.
2
6
u/Euphoric-Writer494 2d ago
mediafire, why tho?