Aevonix/FlashAlign

Machine Learning

Applies abliteration alignment profiles per request or always-on to supported local LLMs, without modifying model weights.

115
13
Python
AGPL-3.0
2 days old

What It Does

FlashAlign layers alignment profiles onto supported base and quantized language models at inference time rather than permanently editing the weights. Version 1.1.1 ships starter profiles focused on refusal reduction, with the stated future direction of also raising refusals for public or higher-risk tasks. Profiles are packaged tensor payloads fitted to specific checkpoints; the four compact profiles are in the checkout, while the DeepSeek profile is a 1.09 GB payload fetched from a public release and checksum-verified during setup. The starter profiles draw on Keys, OrcaRouter, Dealign and MoonMath abliterated checkpoints, with exact versions listed in the profile sources.

The main design idea is scoped application. In Verified contacts mode, a profile applies only to messages from an approved channel, account and contact, which the project frames as reducing the chance that a weakened model is exploited through prompt injection. Always On applies the configured profile to every request routed through FlashAlign, including tools and subagents, and survives restarts. It targets people running Hermes or OpenClaw harnesses, custom harnesses, or OpenAI-compatible clients against local inference engines such as vLLM, TensorFold, SGLang and llama.cpp.

Get Started

Download a supported model first; the model download guide pins commands for all five starter profiles. Then run the wizard from the repository root:

bash ./install.sh --auto

The wizard detects local models and harnesses, picks a matching profile, prepares the engine and creates a deployment signing key. It then asks you to choose Verified contacts or Always On, and in Verified contacts mode whether tools inherit the profile. Expect chat integrations to restart their selected gateways. To only connect to an engine that is already running, drop --auto and run bash ./install.sh; a standalone local Qwen setup looks like:

bash ./install.sh --engine-only --backend vllm --model-path /models/qwen38-27b --yes

Use bash ./install.sh --detect to inspect the environment before changing anything, or --profiles /path/to/profiles to use profiles from another folder. Approval and mode changes go through hermes-owner-mode/manage.py, for example approving a WhatsApp contact or switching mode with mode always_on. The engine's effective-profile response is the way to confirm the selected profile is active. Confirm which model/engine pairs are supported in the compatibility docs before starting.

Constraints

  • Inference hosts must run Linux with NVIDIA GPUs; TensorFold bundles require matched CPU and GPU architecture. Python 3.10+ is needed for setup and adapters.
  • A matching profile must be loaded by the engine. Switching between already-loaded profiles can happen per request, but loading a new model or profile happens beforehand and may require an engine restart.
  • Harness support differs: Hermes uses native ingress, request and tool-execution hooks; OpenClaw needs its native plugin API and specific Node 24.x/26.x versions; custom integrations need the engine contract and OpenAI-compatible Chat Completions.
  • FlashAlign only controls model calls that pass through its routes or gateway URL. Tool execution permissions and message-sender authorization remain the harness's job, and tool outputs inside an authorized request still depend on harness protections.
  • Built-in messaging adapters cover WhatsApp and RCS direct messages plus opt-in SMS and Telegram; local terminal sessions with Hermes and OpenClaw are text-only in V1.
  • The software is AGPL-3.0-only, with commercial licenses offered separately. Model, profile and dependency terms are separate from the project license, and contributions fall under a CLA granting Aevonix commercial rights.

HotRepo's Take

On the 2026-11-02 new-project list for Python, FlashAlign recorded 13 new stars over roughly six hours, rising from 101 to 114 total stars in the sampled curve. That is a small, short window with no daily overall rank recorded, so the data supports noting early attention rather than claiming momentum. The more substantive signal is the project's scoping approach: tying abliteration profiles to verified contacts and channels, and documenting measured results and self-run benchmarks alongside the profiles, gives the alignment discussion something concrete to examine.

Written by AI from the project's README, updated . The project's own docs are the source of truth.