fluxflow-cli 1.1.3 โ 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -47
- package/dist/fluxflow.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,14 +1,35 @@
|
|
|
1
|
-
#
|
|
2
|
-

|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
**A Beautiful, Autonomous Terminal AI Agent**
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Flux Flow is an advanced, fully autonomous AI agent that lives directly in your terminal. Built with Node.js and [Ink](https://github.com/vadimdemedes/ink) (React for interactive command-line apps), it provides a highly responsive, component-based UI powered by a sophisticated dual-model AI architecture.
|
|
7
|
+
|
|
8
|
+
Whether you need a conversational partner or an autonomous developer that can write code, run shell commands, and read your project files, Flux Flow adapts to your needs.
|
|
7
9
|
|
|
8
10
|
---
|
|
9
11
|
|
|
10
|
-
##
|
|
11
|
-
|
|
12
|
+
## โจ Features
|
|
13
|
+
|
|
14
|
+
- **Responsive Terminal UI**: A gorgeous, reactive interface built with React and Ink, featuring multi-line input, status bars, modals, and diff views.
|
|
15
|
+
- **Dual-Model Architecture**: A primary agent interacts with you and executes tasks, while a silent background "Janitor" model handles chat summarization and long-term memory extraction without blocking the main UI.
|
|
16
|
+
- **Two Operating Modes**:
|
|
17
|
+
- **Flux (Dev Mode)**: Full system access. The agent can read/write files, execute shell commands, and run autonomous agentic loops (up to 45 iterations) to solve complex coding tasks.
|
|
18
|
+
- **Flow (Chat Mode)**: Focused on conversation and web research, with limited agentic loops for faster response times.
|
|
19
|
+
- **Advanced Memory System**: Features both temporary session context and persistent, cross-session user memories encrypted locally on your machine.
|
|
20
|
+
- **Agentic Tooling**: Built-in tools for smart file patching, web scraping, web searching, and terminal execution.
|
|
21
|
+
- **Autonomous Project Alignment**: Automatically detects and adheres to project-specific instructions in `Agent.md`, `Skills.md`, and `Fluxflow.md` for high-fidelity coding standards and complex workflows.
|
|
22
|
+
- **Customizable "Thinking" Levels**: Adjust the depth of the model's reasoning process (from Minimal to Max).
|
|
23
|
+
- **High-Reliability Fallback**: Automatic failover to a lighter, high-concurrency model (Gemini 3.1 Flash Lite) during peak traffic to ensure 100% session persistence.
|
|
24
|
+
|
|
25
|
+
## ๐ Quick Start
|
|
26
|
+
|
|
27
|
+
### Prerequisites
|
|
28
|
+
- [Node.js](https://nodejs.org/) (v18 or higher recommended)
|
|
29
|
+
- `npm`, `yarn`, or `pnpm`
|
|
30
|
+
|
|
31
|
+
### Via NPM (Global & Instant)
|
|
32
|
+
You can run the agent instantly or install it globally for high-speed access:
|
|
12
33
|
|
|
13
34
|
```bash
|
|
14
35
|
# Run instantly (Zero Setup)
|
|
@@ -16,56 +37,44 @@ npx fluxflow-cli
|
|
|
16
37
|
|
|
17
38
|
# OR Install Globally
|
|
18
39
|
npm install -g fluxflow-cli
|
|
19
|
-
fluxflow
|
|
40
|
+
fluxflow
|
|
20
41
|
```
|
|
21
42
|
|
|
22
|
-
|
|
43
|
+
### From Source (Local Development)
|
|
44
|
+
1. Clone the repository and install dependencies:
|
|
45
|
+
```bash
|
|
46
|
+
git clone <repository-url>
|
|
47
|
+
cd Flux-Flow
|
|
48
|
+
npm install
|
|
49
|
+
```
|
|
23
50
|
|
|
24
|
-
|
|
51
|
+
2. Start the agent:
|
|
52
|
+
```bash
|
|
53
|
+
npm start
|
|
54
|
+
```
|
|
25
55
|
|
|
26
|
-
##
|
|
56
|
+
## ๐ Documentation
|
|
27
57
|
|
|
28
|
-
|
|
29
|
-
Experience a terminal UI that feels alive. Built with **Ink** and **React**, Flux Flow features:
|
|
30
|
-
- **Dynamic Status Bar**: Real-time telemetry showing your "Neural Headroom" (token usage), Thinking Level, and Session ID.
|
|
31
|
-
- **Archived Terminal Flow**: See execution outputs transform from live elements into permanent conversation records.
|
|
32
|
-
- **Rich Aesthetics**: High-contrast, sleek design with smooth transitions and micro-animations.
|
|
58
|
+
To keep this README concise, detailed information about specific components of Flux Flow has been split into separate documents:
|
|
33
59
|
|
|
34
|
-
|
|
35
|
-
- **
|
|
36
|
-
- **
|
|
60
|
+
- **[Architecture & Design](./ARCHITECTURE.md)**: Deep dive into the React/Ink rendering, the Agentic Loop, and the Janitor background process.
|
|
61
|
+
- **[Agent Tools & Capabilities](./TOOLS.md)**: A comprehensive list of the tools available to the agent (e.g., File I/O, Execution, Web tools).
|
|
62
|
+
- **[UI & Interaction Features](./UI_FEATURES.md)**: Details on commands, thinking levels, and human-in-the-loop verification.
|
|
37
63
|
|
|
38
|
-
|
|
39
|
-
Security isn't an afterthought; it's a boundary.
|
|
40
|
-
- **External Path Hardlock**: Restricts the agent to your Current Working Directory (CWD) unless you explicitly unlock it.
|
|
41
|
-
- **Human-in-the-Loop (HITL)**: Every file write and terminal command requires your high-fidelity approval.
|
|
42
|
-
- **XOR Vaulting**: All local session histories, memories, and API keys are obfuscated and encrypted at rest.
|
|
43
|
-
- **Adaptive Failover**: Automatic multi-stage retry logic with high-concurrency fallback model switching (Gemini 3.1 Flash Lite) during peak API congestion.
|
|
64
|
+
## ๐ Security & Privacy
|
|
44
65
|
|
|
45
|
-
|
|
46
|
-
|
|
66
|
+
Flux Flow runs entirely locally on your machine.
|
|
67
|
+
- **Global Storage**: All history, memories, and API keys are stored securely in your home directory at `~/.fluxflow`. Sensitive data is encrypted.
|
|
68
|
+
- **Nuclear Reset**: Use the `/reset` command to instantly purge all logs, secrets, and settings from the global storage directory.
|
|
69
|
+
- **Configurable Boundaries**: In Flux mode, file access can be strictly confined to the Current Working Directory, or expanded globally via settings.
|
|
70
|
+
- **API Keys**: You supply your own Gemini/Google AI Studio API keys.
|
|
47
71
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
## ๐ ๏ธ Key Capabilities
|
|
51
|
-
- **Deep File-System Interaction**: Edit, move, and refactor code across multiple files with atomic precision.
|
|
52
|
-
- **Real-Time Web Intelligence**: Autonomous web-searching via DuckDuckGo for live news and technical research.
|
|
53
|
-
- **Autonomous Project Alignment**: Automatically detects and adheres to project-specific instructions in `Agent.md`, `Skills.md`, and `Fluxflow.md` for high-fidelity alignment with your coding standards and custom workflows.
|
|
54
|
-
- **High-Reliability Fallback**: Automatic failover to a lighter, high-concurrency model during peak traffic to ensure zero session loss.
|
|
55
|
-
- **Persistent Memory**: The agent learns from your preferences and project requirements across sessions.
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## โ๏ธ Configuration
|
|
60
|
-
Type `/settings` in-app to live-configure:
|
|
61
|
-
- **Thinking Level**: Low, Medium, or High (Deep-Reasoning).
|
|
62
|
-
- **Auto-Execution**: For ultimate high-speed flow (Advanced users only).
|
|
63
|
-
- **Security Perimeter**: Toggle External Workspace access.
|
|
64
|
-
|
|
65
|
-
---
|
|
72
|
+
## ๐ ๏ธ Built With
|
|
66
73
|
|
|
67
|
-
|
|
68
|
-
|
|
74
|
+
- **[React](https://react.dev/) & [Ink](https://github.com/vadimdemedes/ink)**: For the interactive CLI rendering.
|
|
75
|
+
- **[@google/genai](https://www.npmjs.com/package/@google/genai)**: The core AI SDK powering the agent's intelligence.
|
|
76
|
+
- **[chalk](https://www.npmjs.com/package/chalk) & [gradient-string](https://www.npmjs.com/package/gradient-string)**: For terminal styling and aesthetics.
|
|
77
|
+
- **[fs-extra](https://www.npmjs.com/package/fs-extra)**: For robust file system operations.
|
|
69
78
|
|
|
70
79
|
---
|
|
71
|
-
*
|
|
80
|
+
*Created as a demonstration of highly capable AI tooling.*
|
package/dist/fluxflow.js
CHANGED
|
@@ -215,7 +215,7 @@ var StatusBar = React3.memo(({ mode, thinkingLevel, tokens = "0.0k", tokensTotal
|
|
|
215
215
|
},
|
|
216
216
|
/* @__PURE__ */ React3.createElement(Box3, null, /* @__PURE__ */ React3.createElement(Text3, { color: modeColor, bold: true }, modeIcon, " ", mode.toUpperCase()), /* @__PURE__ */ React3.createElement(Text3, { color: "gray" }, " \u2502 "), /* @__PURE__ */ React3.createElement(Text3, { color: "magenta" }, "\u{1F9E0} ", thinkingLevel)),
|
|
217
217
|
/* @__PURE__ */ React3.createElement(Box3, { flexGrow: 1, justifyContent: "center", paddingX: 2 }, /* @__PURE__ */ React3.createElement(Text3, { color: "gray", dimColor: true }, "\u{1F4C1} "), /* @__PURE__ */ React3.createElement(Text3, { color: "blue", dimColor: true, italic: true }, process.cwd())),
|
|
218
|
-
/* @__PURE__ */ React3.createElement(Box3, null, /* @__PURE__ */ React3.createElement(Text3, { color: "gray" }, "MEM: "), /* @__PURE__ */ React3.createElement(Text3, { color: memStatus === "ON" ? "green" : "red" }, memStatus), /* @__PURE__ */ React3.createElement(Text3, { color: "gray" }, " \u2502 "), /* @__PURE__ */ React3.createElement(Text3, { color: "blue" },
|
|
218
|
+
/* @__PURE__ */ React3.createElement(Box3, null, /* @__PURE__ */ React3.createElement(Text3, { color: "gray" }, "MEM: "), /* @__PURE__ */ React3.createElement(Text3, { color: memStatus === "ON" ? "green" : "red" }, memStatus), /* @__PURE__ */ React3.createElement(Text3, { color: "gray" }, " \u2502 "), /* @__PURE__ */ React3.createElement(Text3, { color: "blue" }, tokensTotal > 1e3 ? `${(tokensTotal / 1e3).toFixed(1)}k` : tokensTotal, " (", Math.round(tokens / 254e3 * 100), "%)"), /* @__PURE__ */ React3.createElement(Text3, { color: "gray" }, " \u2502 "), /* @__PURE__ */ React3.createElement(Text3, { color: "dim" }, chatId, " "))
|
|
219
219
|
);
|
|
220
220
|
});
|
|
221
221
|
var StatusBar_default = StatusBar;
|
|
@@ -1861,7 +1861,7 @@ var emojiSpace = (baseSpaces = 2) => {
|
|
|
1861
1861
|
// src/app.jsx
|
|
1862
1862
|
var SESSION_START_TIME = Date.now();
|
|
1863
1863
|
var CHANGELOG_URL = "https://fluxflow-cli.onrender.com/changelog.html";
|
|
1864
|
-
var versionFluxflow = "1.1.
|
|
1864
|
+
var versionFluxflow = "1.1.5";
|
|
1865
1865
|
var updatedOn = "2026-04-27";
|
|
1866
1866
|
var ResolutionModal = ({ data, onResolve, onEdit }) => /* @__PURE__ */ React9.createElement(Box9, { flexDirection: "column", borderStyle: "round", borderColor: "magenta", paddingX: 2, paddingY: 1, width: "100%" }, /* @__PURE__ */ React9.createElement(Text9, { color: "magenta", bold: true, underline: true }, "\u{1F7E3} STEERING HINT RESOLUTION"), /* @__PURE__ */ React9.createElement(Text9, { marginTop: 1 }, "The agent already finished the task (turn: finish) before your hint was consumed."), /* @__PURE__ */ React9.createElement(Box9, { marginTop: 1, backgroundColor: "#222", paddingX: 1, width: "100%" }, /* @__PURE__ */ React9.createElement(Text9, { italic: true, color: "gray" }, '"', data, '"')), /* @__PURE__ */ React9.createElement(Box9, { marginTop: 1 }, /* @__PURE__ */ React9.createElement(Text9, { color: "cyan" }, "How would you like to proceed?")), /* @__PURE__ */ React9.createElement(Box9, { marginTop: 1 }, /* @__PURE__ */ React9.createElement(
|
|
1867
1867
|
CommandMenu,
|