
FluxIQ
Automate Smarter
In active development
A source-available TypeScript framework for automations that call AI only when something is new. Describe or demonstrate the job once, and FluxIQ generates a Flow that replays without a model. When a run breaks, it diagnoses the failure and proposes a repair for your review.
Why FluxIQ
The reliability of scripts, the flexibility of AI.
Scripts are cheap but brittle. Agents adapt, but call a model on every run. FluxIQ calls a model only for what is new, and replays the rest.
Spend scales with novelty
Token use grows with what is new, not with how often a Flow runs. Replays need no API key and no model.
Bounded by default
No grant, no model call. Each grant caps calls, tokens, time, and cost, never above $2. New Flows start fail-closed.
Every change on the record
Run records itemize every model call. Saved traces exclude credentials. Adaptations are reviewed before they apply and can be reverted after.
How it works
From intent to a Flow that runs without a model.
AI handles what is new. What it produces is a Flow you can read, review, and replay without it.
Describe or demonstrate
Write what you want in plain language, or record it once in the browser with the FluxIQ Web Extension.
Generate
Text becomes a proposed Flow: a Router plus Subflows, each with defined run conditions. A recording maps to a Subflow deterministically, with no model.
Run
The Router reads live inputs and state to pick a Subflow. Replay is deterministic and needs no API key, no grant, and no model.
Diagnose and adapt
When a run fails, recovery works inside a cost cap, token budget, deadline, and no-progress guard. It proposes an adaptation you review and can revert.
Features
What you can run today.
Everything here is in the public source now. Work that is partial or planned is on the roadmap instead.
FluxIQ Core
The FluxIQ package and its Next.js control panel.
Automation Studio
A visual canvas for Flows, the Router, Subflows, instructions, recordings, adaptations, and runtime debugging.
Flow Engine
A Router picks a Subflow from live state. Subflows carry a recovery ladder, and published Flows are reused as pinned Call Flow nodes.
TypeScript Flow DSL
Write Flows as plain data with defineFlow. The compiler checks them against the node registry and returns a plan with a deterministic SHA-256 digest.
Bounded Runtime Adaptation
Recovery stops at a $2 cost cap, its token budget, a 600-second deadline, or three steps without progress. Lasting changes are proposed, reviewed, and reversible.
Execution Grants
Every model call needs a session-bound grant that caps calls, tokens, time, and spend. A default grant costs about $0.09; the hard ceiling is $2.
Client Gateway
Clients connect over a local WebSocket at ws://127.0.0.1:4777/client. Pairing is an approval, not a typed code. Credentials rotate on reconnect; trust lasts 30 days.
Domain-Neutral Core
Domains declare their own inputs and outputs with defineDomainIo, defineInput, and defineOutput. Core never imports a domain package; manifests drive loading.
Identity & Access
12-hour sessions, PIN and TOTP sign-in, and roles, with Secret Keys encrypted by AES-256-GCM. Built into the control panel, not bolted on.
Control Panel
A Next.js panel for core programs: Automation Studio, Database Manager, Compute Control, Deployment Sync, and Runtime.
FluxIQ Web Extension
Manifest V3 for Chrome, Edge, and Firefox. Version 0.1.0 installs unpacked; there is no store listing yet.
Recorder and Executor
Record a demonstration in the browser, then run Flow steps against the live page. There are Chrome and Firefox builds; Edge uses the Chrome build.
Element Identity Scoring
Finds the control you recorded by scoring on-page candidates with Core's element matcher. A match needs a clear margin over the runner-up, or it refuses rather than guesses.
Tested in a deterministic scenario lab.
Developers
Import it. Write Flows in TypeScript.
FluxIQ is a library you import into your own Node project. Flows are plain data you can write by hand, and they compile deterministically to a plan with a SHA-256 digest.
- npm release pending — build from source today
- Node 22+
- Native ESM
import { FluxIQ } from "fluxiq";
// Paths resolve from rootDir.
const fluxiq = FluxIQ.create({ rootDir: process.cwd() });
// A fresh setup writes only .fluxiq/config.json.
// Databases, logs, and caches are created on first use.
await fluxiq.setup();Create and set up
Run setup once at install or startup. A fresh project gets one file; the rest is created on first use.
import { compileFlowDefinition, defineFlow }
from "fluxiq/automation-studio/dsl";
const flow = defineFlow({
flowId: "flow.hello",
name: "Hello",
nodes: [
{ id: "start", definitionId: "builtin.control.start" },
{ id: "done", definitionId: "builtin.control.end" },
],
edges: [{
id: "start-done",
sourceNodeId: "start", sourcePortId: "next",
targetNodeId: "done", targetPortId: "in",
}],
});
// Deterministic: the same definition gives the same digest.
const result = compileFlowDefinition(flow, { projectId: "demo" });
if (result.ok) console.log(result.plan.digest); // "sha256:…"
else console.error(result.diagnostics);Define and compile a Flow
defineFlow takes plain data, never callbacks. The compiler checks it against the node registry and returns a plan with a SHA-256 digest.
fluxiqv0.6.0The domain-neutral framework runtime for Node.js.
@fluxiq/contractsv0.2.0Browser-safe shared contracts, including the closed failure vocabulary.
@fluxiq/client-gateway-websocketv0.1.0A browser-safe WebSocket client for the Client Gateway.
git clone --branch dev https://github.com/aidens113/FluxIQ.git
cd FluxIQ
pnpm install
pnpm buildBuild from source
Current work lands on the dev branch. This builds the three packages and the Next.js control panel; it needs Node 22+ and pnpm.
Roadmap
Where it stands.
Each item sits where the source repository classifies it today. Shipped means you can run it now, built from source.
Shipped
Flow engine
Router, Subflows, a recovery ladder, and pinned Call Flow nodes.
Automation Studio
The visual canvas for Flows, recordings, and adaptations.
Deterministic replay
Replays run with no key or model and produce byte-identical records.
Bounded adaptation with review
Six guards on recovery. Lasting changes are reviewed and reversible.
Element-identity scoring
Level 2 matching through Core's element matcher.
Closed failure vocabulary
Structured failure records in @fluxiq/contracts 0.2.0.
Identity & Access
12-hour sessions, PIN, TOTP, roles, and AES-256-GCM Secret Keys.
Client Gateway
Local WebSocket clients, paired by approval.
Extension recorder and executor
Manifest V3 builds for Chrome, Edge, and Firefox, installed unpacked.
In progress
Permission-aware action gating
Core's gate has landed with five consequence classes. Browser actions are not wired to it yet.
Data extraction
Core datasets are done. The extension's element picker is in progress.
Real-site test boundaries
A fail-closed allowlist validator exists. No real-site executor is connected yet.
Compute transport
Nodes, queued commands, and leases exist. Live transport is not built yet.
Planned
npm release
No package is on npm yet. Build from source today.
Hosted and managed deployments
Not built. Deployment Sync is local Git today.
Commercial agreement templates
Agreements are available on request; templates are pending.
License
Source-available and fair-code.
FluxIQ is fair-code, not OSI open source. It ships under the Sustainable Use License v1.0 with a Consulting Permission. Most uses are free; a few need a signed agreement.
Free for
- Personal and non-commercial use
- Internal business use
- Paid services that configure, integrate, or support a customer's own installation
Needs a signed agreement
- Customer-facing automation
- Hosting FluxIQ, or running it as a managed service
- Embedding it in another product
- OEM, resale, and white-labeling
This is a summary, not the license. LICENSE.md is the governing text.
Follow the build
Built in the open.
The source is public. Watch the repositories for changes, or follow @GetFluxIQ for updates.