544 lines
15 KiB
Markdown
544 lines
15 KiB
Markdown
# Agentic-Flow NPM Package Analysis: What's Actually Included
|
|
|
|
**Date**: 2025-10-13
|
|
**Package**: agentic-flow@1.5.13 (published on npm)
|
|
**Analysis**: Based on actual `npx agentic-flow` CLI testing
|
|
|
|
---
|
|
|
|
## 🎯 Executive Summary
|
|
|
|
**The agentic-flow npm package DOES include all three core components, but with different levels of CLI exposure:**
|
|
|
|
| Component | Implementation | CLI Access | Documentation | User-Facing? |
|
|
|-----------|---------------|------------|---------------|--------------|
|
|
| ✅ **ReasoningBank** | Full | ✅ Via API | README mentions | ✅ Yes (programmatic) |
|
|
| ✅ **Multi-Model Router** | Full | ✅ Full CLI | README detailed | ✅ Yes (CLI + API) |
|
|
| ⚠️ **Agent Booster** | Full | ⚠️ Automatic | README mentions | ⚠️ Hidden (auto-detect) |
|
|
|
|
**Key Finding**: Agent Booster is **integrated but hidden** - it works automatically behind the scenes via `AgentBoosterPreprocessor`, but has **no explicit CLI commands** like claude-flow does.
|
|
|
|
---
|
|
|
|
## 📊 Detailed Analysis
|
|
|
|
### 1. ReasoningBank: ✅ Full Implementation, API-Only Access
|
|
|
|
**Implementation Status**: ✅ Complete
|
|
|
|
**Files Present:**
|
|
```
|
|
/dist/reasoningbank/
|
|
├── config/reasoningbank-types.js
|
|
├── index.js (exported as `agentic-flow/reasoningbank`)
|
|
├── wasm-adapter.js
|
|
├── backend-selector.js
|
|
└── ... (full implementation)
|
|
```
|
|
|
|
**Package.json Exports:**
|
|
```json
|
|
"exports": {
|
|
"./reasoningbank": {
|
|
"node": "./dist/reasoningbank/index.js",
|
|
"browser": "./dist/reasoningbank/wasm-adapter.js",
|
|
"default": "./dist/reasoningbank/index.js"
|
|
}
|
|
}
|
|
```
|
|
|
|
**CLI Access:** ❌ **NOT EXPOSED**
|
|
|
|
The actual npm CLI shows **NO ReasoningBank commands**:
|
|
```bash
|
|
$ npx agentic-flow --help
|
|
# No mention of:
|
|
# - reasoningbank init
|
|
# - reasoningbank status
|
|
# - reasoningbank list
|
|
# - reasoningbank demo
|
|
```
|
|
|
|
**How Users Access It:**
|
|
|
|
Users must import it programmatically:
|
|
```javascript
|
|
import * as reasoningbank from 'agentic-flow/reasoningbank';
|
|
|
|
// Initialize
|
|
await reasoningbank.initialize();
|
|
|
|
// Store memory
|
|
await reasoningbank.storeMemory('key', 'value', { namespace: 'default' });
|
|
|
|
// Query
|
|
const results = await reasoningbank.queryMemories('search query');
|
|
```
|
|
|
|
**README Documentation:** ✅ **Mentioned** but not detailed
|
|
|
|
```markdown
|
|
## 🚀 Core Components
|
|
| **ReasoningBank** | Persistent learning memory system | 46% faster, 100% success
|
|
```
|
|
|
|
**Gap:** README doesn't show how to actually USE ReasoningBank from the npm package (no code examples for the API).
|
|
|
|
---
|
|
|
|
### 2. Multi-Model Router: ✅ Full Implementation, Excellent CLI
|
|
|
|
**Implementation Status:** ✅ Complete
|
|
|
|
**Files Present:**
|
|
```
|
|
/dist/router/
|
|
├── router.js
|
|
├── providers/anthropic.js
|
|
├── providers/openrouter.js
|
|
├── providers/gemini.js
|
|
├── providers/onnx.js
|
|
├── providers/onnx-phi4.js
|
|
└── model-mapping.js
|
|
```
|
|
|
|
**Package.json Exports:**
|
|
```json
|
|
"exports": {
|
|
"./router": "./dist/router/index.js"
|
|
}
|
|
```
|
|
|
|
**CLI Access:** ✅ **FULL SUPPORT**
|
|
|
|
```bash
|
|
# Provider selection
|
|
--provider <name> # anthropic, openrouter, gemini, onnx
|
|
--model <model> # Specific model name
|
|
|
|
# Auto-optimization
|
|
--optimize # Auto-select best model
|
|
--priority <type> # quality, balanced, cost, speed, privacy
|
|
--max-cost <dollars> # Budget cap
|
|
|
|
# Examples from actual CLI:
|
|
npx agentic-flow --agent coder --task "Build API" --optimize
|
|
npx agentic-flow --agent coder --task "Fix bug" --provider openrouter
|
|
npx agentic-flow --agent coder --task "Generate code" --provider onnx
|
|
```
|
|
|
|
**README Documentation:** ✅ **EXCELLENT**
|
|
|
|
```markdown
|
|
## 🎯 Model Optimization
|
|
- Auto-select optimal model
|
|
- 85-99% cost savings
|
|
- Full provider comparison table
|
|
- Code examples for programmatic use
|
|
|
|
## 🎛️ Using the Multi-Model Router
|
|
import { ModelRouter } from 'agentic-flow/router';
|
|
const router = new ModelRouter();
|
|
```
|
|
|
|
---
|
|
|
|
### 3. Agent Booster: ⚠️ Hidden Implementation (Auto-Detect Only)
|
|
|
|
**Implementation Status:** ✅ Complete
|
|
|
|
**Files Present:**
|
|
```
|
|
/dist/utils/agentBoosterPreprocessor.js ← Key file!
|
|
/dist/cli-proxy.js (lines 38-40):
|
|
import { AgentBoosterPreprocessor } from "./utils/agentBoosterPreprocessor.js";
|
|
```
|
|
|
|
**Package.json Exports:**
|
|
```json
|
|
"exports": {
|
|
"./agent-booster": "./dist/agent-booster/index.js" ← Exported!
|
|
}
|
|
```
|
|
|
|
**CLI Access:** ⚠️ **AUTOMATIC (HIDDEN)**
|
|
|
|
The actual npm CLI shows **NO explicit Agent Booster commands**:
|
|
```bash
|
|
$ npx agentic-flow --help
|
|
# No commands like:
|
|
# - booster edit <file>
|
|
# - booster batch <pattern>
|
|
# - booster benchmark
|
|
```
|
|
|
|
**How It Actually Works:**
|
|
|
|
Agent Booster runs **automatically** when you use agents:
|
|
|
|
```javascript
|
|
// From dist/cli-proxy.js (lines 245-257):
|
|
const preprocessor = new AgentBoosterPreprocessor({
|
|
confidenceThreshold: options.boosterThreshold ||
|
|
parseFloat(process.env.AGENTIC_FLOW_BOOSTER_THRESHOLD || '0.7')
|
|
});
|
|
|
|
console.log('⚡ Agent Booster: Analyzing task for pattern matching opportunities...\n');
|
|
const intent = preprocessor.detectIntent(task);
|
|
if (intent) {
|
|
console.log(`🎯 Detected intent: ${intent.type}`);
|
|
if (intent.filePath) {
|
|
// Auto-applies Agent Booster for code edits!
|
|
}
|
|
}
|
|
```
|
|
|
|
**Configuration Options (Hidden):**
|
|
```bash
|
|
# Undocumented CLI flags:
|
|
--agent-booster # Enable Agent Booster
|
|
--booster # Alias
|
|
--booster-threshold <n> # Confidence threshold (default: 0.7)
|
|
|
|
# Environment variable:
|
|
export AGENTIC_FLOW_BOOSTER_THRESHOLD=0.8
|
|
```
|
|
|
|
**README Documentation:** ✅ **Mentioned** but lacks implementation details
|
|
|
|
```markdown
|
|
## 🚀 Core Components
|
|
| **Agent Booster** | Ultra-fast local code transformations via Rust/WASM | 352x faster, $0 cost
|
|
|
|
### ⚡ Agent Booster: 352x Faster Code Operations
|
|
- **Single edit**: 352ms → 1ms
|
|
- **Cost**: $0.01/edit → **$0.00**
|
|
```
|
|
|
|
**Gap:** README doesn't explain:
|
|
1. Agent Booster runs automatically (users don't know!)
|
|
2. How to configure the threshold
|
|
3. How to use it programmatically
|
|
4. No explicit CLI commands like claude-flow has
|
|
|
|
---
|
|
|
|
## 🔍 CLI Command Comparison
|
|
|
|
### What `npx agentic-flow` Actually Provides:
|
|
|
|
```bash
|
|
COMMANDS:
|
|
config [subcommand] # ✅ Configuration wizard
|
|
mcp <command> # ✅ MCP server management
|
|
agent <command> # ✅ Agent management (list, create, info)
|
|
--list, -l # ✅ List agents
|
|
--agent, -a <name> # ✅ Run agent
|
|
|
|
OPTIONS:
|
|
--provider <name> # ✅ Multi-Model Router
|
|
--model <model> # ✅ Multi-Model Router
|
|
--optimize # ✅ Multi-Model Router
|
|
--priority <type> # ✅ Multi-Model Router
|
|
--max-cost <dollars> # ✅ Multi-Model Router
|
|
--booster-threshold # ⚠️ Agent Booster (undocumented!)
|
|
```
|
|
|
|
### What's MISSING (vs claude-flow):
|
|
|
|
```bash
|
|
# ❌ NO ReasoningBank CLI commands:
|
|
memory init
|
|
memory status
|
|
memory list
|
|
memory demo
|
|
memory benchmark
|
|
|
|
# ❌ NO explicit Agent Booster commands:
|
|
booster edit <file>
|
|
booster batch <pattern>
|
|
booster parse-markdown <file>
|
|
booster benchmark
|
|
```
|
|
|
|
---
|
|
|
|
## 📋 README Documentation Gap Analysis
|
|
|
|
### ✅ What's Well Documented:
|
|
|
|
1. **Multi-Model Router**: ✅ Excellent
|
|
- CLI flags documented
|
|
- Code examples provided
|
|
- Provider comparison table
|
|
- Cost savings explained
|
|
|
|
2. **Performance Claims**: ✅ Clear
|
|
- 352x speedup mentioned
|
|
- 99% cost savings explained
|
|
- Real-world examples given
|
|
|
|
3. **Agent List**: ✅ Comprehensive
|
|
- 79 agents shown with `--list`
|
|
- Categories organized
|
|
- Descriptions provided
|
|
|
|
### ❌ What's Missing or Unclear:
|
|
|
|
1. **ReasoningBank API Usage**: ❌ Missing
|
|
```markdown
|
|
# README mentions it exists:
|
|
| **ReasoningBank** | Persistent learning memory system |
|
|
|
|
# But doesn't show:
|
|
- How to import: `import * as reasoningbank from 'agentic-flow/reasoningbank'`
|
|
- How to initialize
|
|
- How to store/query memories
|
|
- Code examples
|
|
```
|
|
|
|
2. **Agent Booster Implementation**: ⚠️ Confusing
|
|
```markdown
|
|
# README says:
|
|
"352x faster code transformations"
|
|
|
|
# But doesn't explain:
|
|
- It runs AUTOMATICALLY (users don't need to do anything!)
|
|
- How to configure threshold
|
|
- When it triggers (on code edit detection)
|
|
- No explicit CLI commands available
|
|
```
|
|
|
|
3. **Programmatic API Reference**: ❌ Missing Entirely
|
|
```markdown
|
|
# README should include:
|
|
## 📚 Programmatic API
|
|
|
|
### ReasoningBank
|
|
import * as reasoningbank from 'agentic-flow/reasoningbank';
|
|
|
|
### Multi-Model Router
|
|
import { ModelRouter } from 'agentic-flow/router';
|
|
|
|
### Agent Booster
|
|
import { AgentBooster } from 'agentic-flow/agent-booster';
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 Recommendations for README
|
|
|
|
### 1. Add "Programmatic API" Section
|
|
|
|
```markdown
|
|
## 📚 Programmatic API
|
|
|
|
### ReasoningBank - Learning Memory System
|
|
|
|
```javascript
|
|
import * as reasoningbank from 'agentic-flow/reasoningbank';
|
|
|
|
// Initialize
|
|
await reasoningbank.initialize();
|
|
|
|
// Store memory
|
|
await reasoningbank.storeMemory('pattern_name', 'pattern_value', {
|
|
namespace: 'api-design',
|
|
confidence: 0.9
|
|
});
|
|
|
|
// Query memories (semantic search)
|
|
const results = await reasoningbank.queryMemories('REST API patterns', {
|
|
namespace: 'api-design',
|
|
limit: 5
|
|
});
|
|
|
|
// Get status
|
|
const status = await reasoningbank.getStatus();
|
|
console.log(`Total memories: ${status.total_memories}`);
|
|
```
|
|
|
|
### Multi-Model Router - Cost Optimization
|
|
|
|
```javascript
|
|
import { ModelRouter } from 'agentic-flow/router';
|
|
|
|
const router = new ModelRouter();
|
|
|
|
// Auto-optimize for cost
|
|
const response = await router.chat({
|
|
model: 'auto',
|
|
priority: 'cost',
|
|
messages: [{ role: 'user', content: 'Generate code' }]
|
|
});
|
|
|
|
console.log(`Cost: $${response.metadata.cost}`);
|
|
console.log(`Model used: ${response.metadata.model}`);
|
|
```
|
|
|
|
### Agent Booster - Ultra-Fast Edits
|
|
|
|
Agent Booster runs **automatically** when you use agentic-flow agents. It detects code editing tasks and applies 352x faster local transformations with $0 cost.
|
|
|
|
**Automatic Usage** (no code needed):
|
|
```bash
|
|
# Agent Booster auto-detects code edits
|
|
npx agentic-flow --agent coder --task "Add error handling to src/app.js"
|
|
|
|
# Output shows:
|
|
# ⚡ Agent Booster: Analyzing task for pattern matching opportunities...
|
|
# 🎯 Detected intent: code_edit
|
|
```
|
|
|
|
**Manual Configuration**:
|
|
```bash
|
|
# Set confidence threshold (0-1)
|
|
export AGENTIC_FLOW_BOOSTER_THRESHOLD=0.8
|
|
npx agentic-flow --agent coder --task "Edit code"
|
|
|
|
# Or via CLI flag:
|
|
npx agentic-flow --agent coder --task "Edit code" --booster-threshold 0.8
|
|
```
|
|
|
|
**Programmatic API**:
|
|
```javascript
|
|
import { AgentBooster } from 'agentic-flow/agent-booster';
|
|
|
|
const booster = new AgentBooster();
|
|
|
|
// Single file edit (1ms, $0)
|
|
const result = await booster.editFile({
|
|
target_filepath: 'src/app.js',
|
|
instructions: 'Add error handling',
|
|
code_edit: `/* edited code here */`
|
|
});
|
|
```
|
|
\```
|
|
|
|
---
|
|
|
|
### 2. Clarify Agent Booster Behavior
|
|
|
|
```markdown
|
|
## ⚡ Agent Booster: How It Works
|
|
|
|
Agent Booster is an **automatic optimization** that runs behind the scenes when you use agentic-flow agents.
|
|
|
|
### Automatic Operation
|
|
|
|
When you run an agent with a task like:
|
|
```bash
|
|
npx agentic-flow --agent coder --task "Add error handling to src/app.js"
|
|
```
|
|
|
|
Agent Booster automatically:
|
|
1. 🔍 **Analyzes** the task for code editing patterns
|
|
2. ⚡ **Detects** if it's a code transformation (file path + instructions)
|
|
3. 🚀 **Applies** ultra-fast local WASM processing (1ms instead of 352ms)
|
|
4. 💰 **Saves** API costs ($0 instead of $0.01 per edit)
|
|
|
|
**You don't need to do anything!** It just makes your agents 352x faster automatically.
|
|
|
|
### When It Triggers
|
|
|
|
Agent Booster activates when it detects:
|
|
- File editing tasks ("edit src/app.js", "modify code", "refactor function")
|
|
- Batch transformations ("convert all *.ts files")
|
|
- Pattern-based changes ("add logging everywhere")
|
|
|
|
### Configuration (Optional)
|
|
|
|
```bash
|
|
# Adjust confidence threshold (default: 0.7)
|
|
export AGENTIC_FLOW_BOOSTER_THRESHOLD=0.8
|
|
|
|
# Disable if needed (not recommended)
|
|
export AGENTIC_FLOW_BOOSTER_THRESHOLD=1.0 # Never triggers
|
|
```
|
|
\```
|
|
|
|
---
|
|
|
|
### 3. Add MCP Tools Section
|
|
|
|
```markdown
|
|
## 🔧 MCP Tools Available
|
|
|
|
When you run `npx agentic-flow mcp start`, you get access to:
|
|
|
|
### Agentic-Flow MCP Server (7 tools)
|
|
|
|
1. **agentic_flow_agent** - Execute any of 79 agents
|
|
2. **agentic_flow_list_agents** - List all available agents
|
|
3. **agentic_flow_create_agent** - Create custom agents
|
|
4. **agentic_flow_list_all_agents** - List with source info
|
|
5. **agentic_flow_agent_info** - Get detailed agent info
|
|
6. **agentic_flow_check_conflicts** - Detect conflicts
|
|
7. **agentic_flow_optimize_model** - Auto-select best model 🔥 NEW
|
|
|
|
### Integration with Claude Desktop
|
|
|
|
Add to Claude Desktop config (`claude_desktop_config.json`):
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"agentic-flow": {
|
|
"command": "npx",
|
|
"args": ["-y", "agentic-flow", "mcp", "start"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Now Claude Desktop can use all 79 agents with automatic cost optimization!
|
|
\```
|
|
|
|
---
|
|
|
|
## 🎉 Conclusion
|
|
|
|
### ✅ What's Actually in the NPM Package:
|
|
|
|
| Component | Status | Access Method |
|
|
|-----------|--------|---------------|
|
|
| **ReasoningBank** | ✅ Full | Programmatic API: `import * as reasoningbank from 'agentic-flow/reasoningbank'` |
|
|
| **Multi-Model Router** | ✅ Full | CLI + API: `--optimize`, `--provider`, `import { ModelRouter }` |
|
|
| **Agent Booster** | ✅ Full | Automatic + API: Auto-detects edits, `import { AgentBooster }` |
|
|
| **79 Agents** | ✅ Full | CLI: `--agent <name>`, MCP: `agentic_flow_agent` |
|
|
| **MCP Server** | ✅ Full | CLI: `mcp start`, 7 tools exposed |
|
|
|
|
### ⚠️ Documentation Gaps:
|
|
|
|
1. **ReasoningBank**: Mentioned in README but **no API usage examples**
|
|
2. **Agent Booster**: Mentioned in README but **automatic behavior not explained**
|
|
3. **Programmatic API**: **Section missing entirely** from README
|
|
4. **MCP Integration**: Not documented in main README
|
|
|
|
### 🎯 Key Insight:
|
|
|
|
**The npm package INCLUDES all capabilities**, but the README focuses on **CLI usage** and doesn't document the **programmatic APIs** that developers need to integrate these components into their own applications.
|
|
|
|
**Users who read the README might not realize:**
|
|
- ReasoningBank is accessible via `import`
|
|
- Agent Booster runs automatically (no action needed!)
|
|
- Multi-Model Router has both CLI and API access
|
|
- All components are available as importable modules
|
|
|
|
---
|
|
|
|
## 📊 Final Scorecard
|
|
|
|
| Aspect | Score | Status |
|
|
|--------|-------|--------|
|
|
| **Package Completeness** | 95/100 | ✅ All components included |
|
|
| **CLI Documentation** | 85/100 | ✅ Multi-Model Router excellent, others good |
|
|
| **API Documentation** | 40/100 | ❌ Missing programmatic usage examples |
|
|
| **Feature Discoverability** | 50/100 | ⚠️ Agent Booster auto-behavior not explained |
|
|
| **Overall** | 68/100 | ⚠️ **Good package, needs better docs** |
|
|
|
|
---
|
|
|
|
**Report Generated**: 2025-10-13
|
|
**Recommendation**: Add "Programmatic API" section to README with code examples for all three core components
|
|
**Priority**: Medium (package works great, docs need improvement for developer adoption)
|