fluxflow-cli 1.4.3 → 1.5.1
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/ARCHITECTURE.md +18 -1
- package/README.md +10 -0
- package/TOOLS.md +5 -1
- package/UI_FEATURES.md +18 -1
- package/dist/fluxflow.js +488 -212
- package/package.json +3 -2
package/ARCHITECTURE.md
CHANGED
|
@@ -29,6 +29,15 @@ The execution flow of a single user prompt follows this loop:
|
|
|
29
29
|
- **Multi-Stage Failover**: The loop features a sophisticated 8-attempt retry engine with random backoff (800ms - 2s).
|
|
30
30
|
- **Critical Fallback Pivot**: If the primary model fails 5 consecutive times, the agent surgically pivots to a lighter, high-concurrency fallback model (`gemini-3.1-flash-lite-preview`) for the final 3 attempts to ensure session navigation through API congestion.
|
|
31
31
|
|
|
32
|
+
## Multimodal Pipeline
|
|
33
|
+
|
|
34
|
+
Flux Flow implements a native multimodal processing engine in `src/tools/view_file.js`. This allows the agent to move beyond text-based reasoning and analyze visual assets directly.
|
|
35
|
+
|
|
36
|
+
- **Binary Detection**: The pipeline uses `is-binary-path` to distinguish between text and binary files.
|
|
37
|
+
- **Visual Encoding**: If an image or PDF is detected, the engine reads the raw bytes and converts them into base64-encoded `InlineData` objects.
|
|
38
|
+
- **PDF Extraction**: For PDF documents, the engine extracts visual representation of pages to provide the model with high-fidelity spatial and textual context simultaneously.
|
|
39
|
+
- **Context Injection**: These multimodal assets are injected directly into the Gemini model's multimodal part array, allowing the model to "see" the file as if it were looking at a screenshot.
|
|
40
|
+
|
|
32
41
|
## The Dual-Model System
|
|
33
42
|
|
|
34
43
|
To maintain a fast, snappy UI while still performing complex data management, Flux Flow employs two separate AI models for every interaction:
|
|
@@ -45,4 +54,12 @@ To maintain a fast, snappy UI while still performing complex data management, Fl
|
|
|
45
54
|
## Data Persistence & Safety
|
|
46
55
|
|
|
47
56
|
- **High-Fidelity Lock**: Because both the UI and the Janitor model may attempt to write to the `history.json` file simultaneously, a Promise-based `WRITE_LOCK` (`src/utils/history.js`) is utilized. This prevents race conditions and ensures data integrity.
|
|
48
|
-
- **Encryption**: User secrets and persistent memories (`secret/memories.json`) are handled by `src/utils/crypto.js` to ensure local privacy.
|
|
57
|
+
- **Encryption**: User secrets and persistent memories (`secret/memories.json`) are handled by `src/utils/crypto.js` to ensure local privacy.
|
|
58
|
+
|
|
59
|
+
## Redirection & The Anchor Strategy
|
|
60
|
+
|
|
61
|
+
To support data portability (e.g., storing all app data on an external encrypted drive), Flux Flow utilizes a synchronous "Anchor" strategy in `src/utils/paths.js`.
|
|
62
|
+
|
|
63
|
+
- **Synchronous Pivot**: Because many core modules (History, Secrets, Usage) initialize their file paths as constants during module loading, the application must determine the "Actual" data root before anything else.
|
|
64
|
+
- **Boot-Sequence Priority**: On every launch, `paths.js` performs a synchronous file system check for `~/.fluxflow/settings.json`. If a redirection path is found (`useExternalData: true`), it immediately overrides the global `DATA_DIR` constant for the entire process.
|
|
65
|
+
- **Sub-Coordinate Resolution**: All secondary directories (`LOGS_DIR`, `SECRET_DIR`) are derived dynamically from the redirected `DATA_DIR`, ensuring that all session data flows to the external sanctuary without requiring individual configuration updates across the codebase.
|
package/README.md
CHANGED
|
@@ -28,6 +28,16 @@ fluxflow-cli
|
|
|
28
28
|
### 🎨 **Premium Visual Sovereignty**
|
|
29
29
|
Experience a terminal UI that feels alive. Built with **Ink** and **React**, Flux Flow features:
|
|
30
30
|
- **Dynamic Status Bar**: Real-time telemetry showing your "Neural Headroom" (token usage), Thinking Level, and Session ID.
|
|
31
|
+
|
|
32
|
+
### 👁️ **Native Multimodality**
|
|
33
|
+
Flux Flow can now see! Use the `view_file` tool to analyze images (JPG, PNG) or deep-dive into PDF technical papers. The agent extracts high-fidelity visual context natively, making it a true multimodal companion.
|
|
34
|
+
|
|
35
|
+
### 📑 **Autonomous PDF Generator**
|
|
36
|
+
Need a report? Just ask. Flux Flow uses its internal "Printing Press" to generate professional, branded PDF documents from HTML/CSS, complete with consistent margins and a signature watermark.
|
|
37
|
+
|
|
38
|
+
### 🚑 **Self-Healing Infrastructure**
|
|
39
|
+
Zero setup means zero setup. On first run, Flux Flow performs an integrity check and autonomously installs its own Chromium engine if needed, ensuring features like PDF generation work 100% of the time without manual intervention.
|
|
40
|
+
|
|
31
41
|
- **Archived Terminal Flow**: See execution outputs transform from live elements into permanent conversation records.
|
|
32
42
|
- **Rich Aesthetics**: High-contrast, sleek design with smooth transitions and micro-animations.
|
|
33
43
|
|
package/TOOLS.md
CHANGED
|
@@ -8,6 +8,7 @@ Flux Flow provides a robust set of tools that allow the AI to interact with the
|
|
|
8
8
|
| :--- | :---: | :---: |
|
|
9
9
|
| **Web Search** | ✅ | ✅ |
|
|
10
10
|
| **Web Scrape** | ✅ | ✅ |
|
|
11
|
+
| **Write PDF** | ✅ | ✅ |
|
|
11
12
|
| **View/Read Files** | ✅ | ❌ |
|
|
12
13
|
| **Write/Update Files** | ✅ | ❌ |
|
|
13
14
|
| **Execute Commands** | ✅ | ❌ |
|
|
@@ -19,11 +20,14 @@ Flux Flow provides a robust set of tools that allow the AI to interact with the
|
|
|
19
20
|
### 🌐 Web & Research
|
|
20
21
|
- **`web_search`**: Uses DuckDuckGo to find up-to-date information on the internet. Crucial for answering questions about recent events or unlearned documentation.
|
|
21
22
|
- **`web_scrape`**: Extracts the detailed text content from a specific URL, allowing the agent to read documentation or articles.
|
|
23
|
+
- **`write_pdf`**: Generates high-fidelity, branded PDF documents from HTML/CSS. Features automatic watermarking and page-aware layout management.
|
|
22
24
|
|
|
23
25
|
### 📁 File System Operations
|
|
24
26
|
- **`list_files`**: Lists the contents of a directory to help the agent understand the project structure.
|
|
25
27
|
- **`read_folder`**: Provides detailed statistics and metadata about a directory's contents.
|
|
26
|
-
- **`view_file`**: Reads the content of a file.
|
|
28
|
+
- **`view_file`**: Reads the content of a file.
|
|
29
|
+
- **Native Multimodality**: Supports analyzing images (JPG, PNG, WEBP) and PDF documents. The tool automatically detects binary formats and encodes them for AI analysis.
|
|
30
|
+
- **Text Reading**: Supports specific line ranges (`start_line`, `end_line`) to manage context size efficiently.
|
|
27
31
|
|
|
28
32
|
### ✍️ Code Editing
|
|
29
33
|
- **`write_file`**: Creates a new file or completely overwrites an existing one with new content.
|
package/UI_FEATURES.md
CHANGED
|
@@ -18,6 +18,15 @@ You can control the application using `/` commands directly in the chat input:
|
|
|
18
18
|
- **/changelog**: Open the project's changelog in your default browser.
|
|
19
19
|
- **/help**: List all available commands.
|
|
20
20
|
|
|
21
|
+
## 📁 External Data Sanctuary (Redirection)
|
|
22
|
+
|
|
23
|
+
Flux Flow allows you to "Anchor" your data outside of the default user directory. This is perfect for users who want to keep their logs, chat history, and encrypted memories on an external drive, a VeraCrypt volume, or a specific project folder.
|
|
24
|
+
|
|
25
|
+
- **How to Enable**: Open `/settings` and toggle **Use External Data**.
|
|
26
|
+
- **Portability**: Once set, the application will synchronously "pivot" all data operations to your specified `externalDataPath` upon startup.
|
|
27
|
+
- **Privacy**: Keeps sensitive data off your primary system drive.
|
|
28
|
+
|
|
29
|
+
|
|
21
30
|
### Command Shortcuts
|
|
22
31
|
|
|
23
32
|
For power users, several commands support direct arguments to skip the menus:
|
|
@@ -81,4 +90,12 @@ The bottom of the screen features a dynamic status bar showing:
|
|
|
81
90
|
- **Thinking Level**
|
|
82
91
|
- **Token Usage**: Real-time tracking of tokens used in the current session.
|
|
83
92
|
- **Agentic Loops**: Counters showing how many times the agent has "looped" to solve the current task.
|
|
84
|
-
- **API Status**: Visual feedback when the model is thinking or executing a tool.
|
|
93
|
+
- **API Status**: Visual feedback when the model is thinking or executing a tool.
|
|
94
|
+
|
|
95
|
+
## 🚑 System Integrity & Self-Healing
|
|
96
|
+
|
|
97
|
+
Flux Flow is a "Self-Healing" agent. It actively monitors its own environment to ensure all complex dependencies (like the Chromium engine for PDF generation) are ready for action.
|
|
98
|
+
|
|
99
|
+
- **Startup Integrity Check**: On launch, Flux performs a "Heartbeat Check" on its internal engines.
|
|
100
|
+
- **Automatic Recovery**: If a dependency is missing, you will see a `🔧 [SYSTEM] Initializing...` message. Flux will autonomously download and configure the required binaries using `pnpm` or `npx` fallbacks, keeping you informed every step of the way.
|
|
101
|
+
- **Silent Maintenance**: Once the engine is ready, you'll receive a `✅ [SYSTEM] All dependencies installed successfully.` confirmation.
|