agentic-flow 1.0.0
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/.claude/agents/MIGRATION_SUMMARY.md +222 -0
- package/.claude/agents/README.md +89 -0
- package/.claude/agents/analysis/code-analyzer.md +209 -0
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
- package/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
- package/.claude/agents/base-template-generator.md +42 -0
- package/.claude/agents/consensus/README.md +253 -0
- package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
- package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
- package/.claude/agents/consensus/gossip-coordinator.md +63 -0
- package/.claude/agents/consensus/performance-benchmarker.md +851 -0
- package/.claude/agents/consensus/quorum-manager.md +823 -0
- package/.claude/agents/consensus/raft-manager.md +63 -0
- package/.claude/agents/consensus/security-manager.md +622 -0
- package/.claude/agents/core/coder.md +211 -0
- package/.claude/agents/core/planner.md +116 -0
- package/.claude/agents/core/researcher.md +136 -0
- package/.claude/agents/core/reviewer.md +272 -0
- package/.claude/agents/core/tester.md +266 -0
- package/.claude/agents/data/ml/data-ml-model.md +193 -0
- package/.claude/agents/development/backend/dev-backend-api.md +142 -0
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
- package/.claude/agents/flow-nexus/app-store.md +88 -0
- package/.claude/agents/flow-nexus/authentication.md +69 -0
- package/.claude/agents/flow-nexus/challenges.md +81 -0
- package/.claude/agents/flow-nexus/neural-network.md +88 -0
- package/.claude/agents/flow-nexus/payments.md +83 -0
- package/.claude/agents/flow-nexus/sandbox.md +76 -0
- package/.claude/agents/flow-nexus/swarm.md +76 -0
- package/.claude/agents/flow-nexus/user-tools.md +96 -0
- package/.claude/agents/flow-nexus/workflow.md +84 -0
- package/.claude/agents/github/code-review-swarm.md +538 -0
- package/.claude/agents/github/github-modes.md +173 -0
- package/.claude/agents/github/issue-tracker.md +319 -0
- package/.claude/agents/github/multi-repo-swarm.md +553 -0
- package/.claude/agents/github/pr-manager.md +191 -0
- package/.claude/agents/github/project-board-sync.md +509 -0
- package/.claude/agents/github/release-manager.md +367 -0
- package/.claude/agents/github/release-swarm.md +583 -0
- package/.claude/agents/github/repo-architect.md +398 -0
- package/.claude/agents/github/swarm-issue.md +573 -0
- package/.claude/agents/github/swarm-pr.md +428 -0
- package/.claude/agents/github/sync-coordinator.md +452 -0
- package/.claude/agents/github/workflow-automation.md +635 -0
- package/.claude/agents/goal/agent.md +816 -0
- package/.claude/agents/goal/goal-planner.md +73 -0
- package/.claude/agents/optimization/README.md +250 -0
- package/.claude/agents/optimization/benchmark-suite.md +665 -0
- package/.claude/agents/optimization/load-balancer.md +431 -0
- package/.claude/agents/optimization/performance-monitor.md +672 -0
- package/.claude/agents/optimization/resource-allocator.md +674 -0
- package/.claude/agents/optimization/topology-optimizer.md +808 -0
- package/.claude/agents/payments/agentic-payments.md +126 -0
- package/.claude/agents/sparc/architecture.md +472 -0
- package/.claude/agents/sparc/pseudocode.md +318 -0
- package/.claude/agents/sparc/refinement.md +525 -0
- package/.claude/agents/sparc/specification.md +276 -0
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
- package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
- package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
- package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
- package/.claude/agents/sublinear/performance-optimizer.md +368 -0
- package/.claude/agents/sublinear/trading-predictor.md +246 -0
- package/.claude/agents/swarm/README.md +190 -0
- package/.claude/agents/swarm/adaptive-coordinator.md +396 -0
- package/.claude/agents/swarm/hierarchical-coordinator.md +256 -0
- package/.claude/agents/swarm/mesh-coordinator.md +392 -0
- package/.claude/agents/templates/automation-smart-agent.md +205 -0
- package/.claude/agents/templates/coordinator-swarm-init.md +90 -0
- package/.claude/agents/templates/github-pr-manager.md +177 -0
- package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
- package/.claude/agents/templates/memory-coordinator.md +187 -0
- package/.claude/agents/templates/migration-plan.md +746 -0
- package/.claude/agents/templates/orchestrator-task.md +139 -0
- package/.claude/agents/templates/performance-analyzer.md +199 -0
- package/.claude/agents/templates/sparc-coordinator.md +183 -0
- package/.claude/agents/test-neural.md +14 -0
- package/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
- package/.claude/agents/testing/validation/production-validator.md +395 -0
- package/.claude/commands/agents/README.md +10 -0
- package/.claude/commands/agents/agent-capabilities.md +21 -0
- package/.claude/commands/agents/agent-coordination.md +28 -0
- package/.claude/commands/agents/agent-spawning.md +28 -0
- package/.claude/commands/agents/agent-types.md +26 -0
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
- package/.claude/commands/analysis/README.md +9 -0
- package/.claude/commands/analysis/bottleneck-detect.md +162 -0
- package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
- package/.claude/commands/analysis/performance-report.md +25 -0
- package/.claude/commands/analysis/token-efficiency.md +45 -0
- package/.claude/commands/analysis/token-usage.md +25 -0
- package/.claude/commands/automation/README.md +9 -0
- package/.claude/commands/automation/auto-agent.md +122 -0
- package/.claude/commands/automation/self-healing.md +106 -0
- package/.claude/commands/automation/session-memory.md +90 -0
- package/.claude/commands/automation/smart-agents.md +73 -0
- package/.claude/commands/automation/smart-spawn.md +25 -0
- package/.claude/commands/automation/workflow-select.md +25 -0
- package/.claude/commands/claude-flow-help.md +103 -0
- package/.claude/commands/claude-flow-memory.md +107 -0
- package/.claude/commands/claude-flow-swarm.md +205 -0
- package/.claude/commands/coordination/README.md +9 -0
- package/.claude/commands/coordination/agent-spawn.md +25 -0
- package/.claude/commands/coordination/init.md +44 -0
- package/.claude/commands/coordination/orchestrate.md +43 -0
- package/.claude/commands/coordination/spawn.md +45 -0
- package/.claude/commands/coordination/swarm-init.md +85 -0
- package/.claude/commands/coordination/task-orchestrate.md +25 -0
- package/.claude/commands/flow-nexus/app-store.md +124 -0
- package/.claude/commands/flow-nexus/challenges.md +120 -0
- package/.claude/commands/flow-nexus/login-registration.md +65 -0
- package/.claude/commands/flow-nexus/neural-network.md +134 -0
- package/.claude/commands/flow-nexus/payments.md +116 -0
- package/.claude/commands/flow-nexus/sandbox.md +83 -0
- package/.claude/commands/flow-nexus/swarm.md +87 -0
- package/.claude/commands/flow-nexus/user-tools.md +152 -0
- package/.claude/commands/flow-nexus/workflow.md +115 -0
- package/.claude/commands/github/README.md +11 -0
- package/.claude/commands/github/code-review-swarm.md +514 -0
- package/.claude/commands/github/code-review.md +25 -0
- package/.claude/commands/github/github-modes.md +147 -0
- package/.claude/commands/github/github-swarm.md +121 -0
- package/.claude/commands/github/issue-tracker.md +292 -0
- package/.claude/commands/github/issue-triage.md +25 -0
- package/.claude/commands/github/multi-repo-swarm.md +519 -0
- package/.claude/commands/github/pr-enhance.md +26 -0
- package/.claude/commands/github/pr-manager.md +170 -0
- package/.claude/commands/github/project-board-sync.md +471 -0
- package/.claude/commands/github/release-manager.md +338 -0
- package/.claude/commands/github/release-swarm.md +544 -0
- package/.claude/commands/github/repo-analyze.md +25 -0
- package/.claude/commands/github/repo-architect.md +367 -0
- package/.claude/commands/github/swarm-issue.md +482 -0
- package/.claude/commands/github/swarm-pr.md +285 -0
- package/.claude/commands/github/sync-coordinator.md +301 -0
- package/.claude/commands/github/workflow-automation.md +442 -0
- package/.claude/commands/hive-mind/README.md +17 -0
- package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
- package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
- package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
- package/.claude/commands/hive-mind/hive-mind.md +27 -0
- package/.claude/commands/hooks/README.md +11 -0
- package/.claude/commands/hooks/overview.md +58 -0
- package/.claude/commands/hooks/post-edit.md +117 -0
- package/.claude/commands/hooks/post-task.md +112 -0
- package/.claude/commands/hooks/pre-edit.md +113 -0
- package/.claude/commands/hooks/pre-task.md +111 -0
- package/.claude/commands/hooks/session-end.md +118 -0
- package/.claude/commands/hooks/setup.md +103 -0
- package/.claude/commands/memory/README.md +9 -0
- package/.claude/commands/memory/memory-persist.md +25 -0
- package/.claude/commands/memory/memory-search.md +25 -0
- package/.claude/commands/memory/memory-usage.md +25 -0
- package/.claude/commands/memory/neural.md +47 -0
- package/.claude/commands/memory/usage.md +46 -0
- package/.claude/commands/monitoring/README.md +9 -0
- package/.claude/commands/monitoring/agent-metrics.md +25 -0
- package/.claude/commands/monitoring/agents.md +44 -0
- package/.claude/commands/monitoring/real-time-view.md +25 -0
- package/.claude/commands/monitoring/status.md +46 -0
- package/.claude/commands/monitoring/swarm-monitor.md +25 -0
- package/.claude/commands/optimization/README.md +9 -0
- package/.claude/commands/optimization/auto-topology.md +62 -0
- package/.claude/commands/optimization/cache-manage.md +25 -0
- package/.claude/commands/optimization/parallel-execute.md +25 -0
- package/.claude/commands/optimization/parallel-execution.md +50 -0
- package/.claude/commands/optimization/topology-optimize.md +25 -0
- package/.claude/commands/pair/README.md +261 -0
- package/.claude/commands/pair/commands.md +546 -0
- package/.claude/commands/pair/config.md +510 -0
- package/.claude/commands/pair/examples.md +512 -0
- package/.claude/commands/pair/modes.md +348 -0
- package/.claude/commands/pair/session.md +407 -0
- package/.claude/commands/pair/start.md +209 -0
- package/.claude/commands/sparc/analyzer.md +52 -0
- package/.claude/commands/sparc/architect.md +53 -0
- package/.claude/commands/sparc/ask.md +97 -0
- package/.claude/commands/sparc/batch-executor.md +54 -0
- package/.claude/commands/sparc/code.md +89 -0
- package/.claude/commands/sparc/coder.md +54 -0
- package/.claude/commands/sparc/debug.md +83 -0
- package/.claude/commands/sparc/debugger.md +54 -0
- package/.claude/commands/sparc/designer.md +53 -0
- package/.claude/commands/sparc/devops.md +109 -0
- package/.claude/commands/sparc/docs-writer.md +80 -0
- package/.claude/commands/sparc/documenter.md +54 -0
- package/.claude/commands/sparc/innovator.md +54 -0
- package/.claude/commands/sparc/integration.md +83 -0
- package/.claude/commands/sparc/mcp.md +117 -0
- package/.claude/commands/sparc/memory-manager.md +54 -0
- package/.claude/commands/sparc/optimizer.md +54 -0
- package/.claude/commands/sparc/orchestrator.md +132 -0
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
- package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
- package/.claude/commands/sparc/researcher.md +54 -0
- package/.claude/commands/sparc/reviewer.md +54 -0
- package/.claude/commands/sparc/security-review.md +80 -0
- package/.claude/commands/sparc/sparc-modes.md +174 -0
- package/.claude/commands/sparc/sparc.md +111 -0
- package/.claude/commands/sparc/spec-pseudocode.md +80 -0
- package/.claude/commands/sparc/supabase-admin.md +348 -0
- package/.claude/commands/sparc/swarm-coordinator.md +54 -0
- package/.claude/commands/sparc/tdd.md +54 -0
- package/.claude/commands/sparc/tester.md +54 -0
- package/.claude/commands/sparc/tutorial.md +79 -0
- package/.claude/commands/sparc/workflow-manager.md +54 -0
- package/.claude/commands/sparc.md +166 -0
- package/.claude/commands/stream-chain/pipeline.md +121 -0
- package/.claude/commands/stream-chain/run.md +70 -0
- package/.claude/commands/swarm/README.md +15 -0
- package/.claude/commands/swarm/analysis.md +95 -0
- package/.claude/commands/swarm/development.md +96 -0
- package/.claude/commands/swarm/examples.md +168 -0
- package/.claude/commands/swarm/maintenance.md +102 -0
- package/.claude/commands/swarm/optimization.md +117 -0
- package/.claude/commands/swarm/research.md +136 -0
- package/.claude/commands/swarm/swarm-analysis.md +8 -0
- package/.claude/commands/swarm/swarm-background.md +8 -0
- package/.claude/commands/swarm/swarm-init.md +19 -0
- package/.claude/commands/swarm/swarm-modes.md +8 -0
- package/.claude/commands/swarm/swarm-monitor.md +8 -0
- package/.claude/commands/swarm/swarm-spawn.md +19 -0
- package/.claude/commands/swarm/swarm-status.md +8 -0
- package/.claude/commands/swarm/swarm-strategies.md +8 -0
- package/.claude/commands/swarm/swarm.md +27 -0
- package/.claude/commands/swarm/testing.md +131 -0
- package/.claude/commands/training/README.md +9 -0
- package/.claude/commands/training/model-update.md +25 -0
- package/.claude/commands/training/neural-patterns.md +74 -0
- package/.claude/commands/training/neural-train.md +25 -0
- package/.claude/commands/training/pattern-learn.md +25 -0
- package/.claude/commands/training/specialization.md +63 -0
- package/.claude/commands/truth/start.md +143 -0
- package/.claude/commands/verify/check.md +50 -0
- package/.claude/commands/verify/start.md +128 -0
- package/.claude/commands/workflows/README.md +9 -0
- package/.claude/commands/workflows/development.md +78 -0
- package/.claude/commands/workflows/research.md +63 -0
- package/.claude/commands/workflows/workflow-create.md +25 -0
- package/.claude/commands/workflows/workflow-execute.md +25 -0
- package/.claude/commands/workflows/workflow-export.md +25 -0
- package/.claude/helpers/checkpoint-manager.sh +251 -0
- package/.claude/helpers/github-safe.js +106 -0
- package/.claude/helpers/github-setup.sh +28 -0
- package/.claude/helpers/quick-start.sh +19 -0
- package/.claude/helpers/setup-mcp.sh +18 -0
- package/.claude/helpers/standard-checkpoint-hooks.sh +179 -0
- package/.claude/mcp.json +13 -0
- package/.claude/settings-backup.json +130 -0
- package/.claude/settings-optimized.json +116 -0
- package/.claude/settings-simple.json +78 -0
- package/.claude/settings.json +114 -0
- package/.claude/settings.local.json +14 -0
- package/README.md +1280 -0
- package/dist/agents/claudeAgent.js +73 -0
- package/dist/agents/claudeFlowAgent.js +115 -0
- package/dist/agents/codeReviewAgent.js +34 -0
- package/dist/agents/dataAgent.js +34 -0
- package/dist/agents/directApiAgent.js +260 -0
- package/dist/agents/webResearchAgent.js +35 -0
- package/dist/cli/mcp.js +135 -0
- package/dist/cli-proxy.js +246 -0
- package/dist/cli.js +158 -0
- package/dist/config/claudeFlow.js +67 -0
- package/dist/config/tools.js +33 -0
- package/dist/coordination/parallelSwarm.js +226 -0
- package/dist/examples/multi-agent-orchestration.js +45 -0
- package/dist/examples/parallel-swarm-deployment.js +171 -0
- package/dist/examples/use-goal-planner.js +52 -0
- package/dist/health.js +46 -0
- package/dist/index-with-proxy.js +101 -0
- package/dist/index.js +167 -0
- package/dist/mcp/claudeFlowSdkServer.js +202 -0
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.js +198 -0
- package/dist/mcp/fastmcp/servers/http-streaming-updated.js +421 -0
- package/dist/mcp/fastmcp/servers/poc-stdio.js +82 -0
- package/dist/mcp/fastmcp/servers/stdio-full.js +421 -0
- package/dist/mcp/fastmcp/tools/agent/add-agent.js +107 -0
- package/dist/mcp/fastmcp/tools/agent/add-command.js +117 -0
- package/dist/mcp/fastmcp/tools/agent/execute.js +56 -0
- package/dist/mcp/fastmcp/tools/agent/list.js +82 -0
- package/dist/mcp/fastmcp/tools/agent/parallel.js +63 -0
- package/dist/mcp/fastmcp/tools/memory/retrieve.js +38 -0
- package/dist/mcp/fastmcp/tools/memory/search.js +41 -0
- package/dist/mcp/fastmcp/tools/memory/store.js +56 -0
- package/dist/mcp/fastmcp/tools/swarm/init.js +41 -0
- package/dist/mcp/fastmcp/tools/swarm/orchestrate.js +47 -0
- package/dist/mcp/fastmcp/tools/swarm/spawn.js +40 -0
- package/dist/mcp/fastmcp/types/index.js +2 -0
- package/dist/proxy/anthropic-to-openrouter.js +246 -0
- package/dist/router/providers/anthropic.js +89 -0
- package/dist/router/providers/onnx-local-optimized.js +167 -0
- package/dist/router/providers/onnx-local.js +294 -0
- package/dist/router/providers/onnx-phi4.js +190 -0
- package/dist/router/providers/onnx.js +242 -0
- package/dist/router/providers/openrouter.js +242 -0
- package/dist/router/router.js +283 -0
- package/dist/router/test-integration.js +140 -0
- package/dist/router/test-onnx-benchmark.js +145 -0
- package/dist/router/test-onnx-integration.js +128 -0
- package/dist/router/test-onnx-local.js +37 -0
- package/dist/router/test-onnx.js +148 -0
- package/dist/router/test-openrouter.js +121 -0
- package/dist/router/test-phi4.js +137 -0
- package/dist/router/types.js +2 -0
- package/dist/utils/agentLoader.js +106 -0
- package/dist/utils/cli.js +128 -0
- package/dist/utils/logger.js +41 -0
- package/dist/utils/mcpCommands.js +214 -0
- package/dist/utils/model-downloader.js +182 -0
- package/dist/utils/retry.js +54 -0
- package/docs/.claude-flow/metrics/agent-metrics.json +1 -0
- package/docs/.claude-flow/metrics/performance.json +9 -0
- package/docs/.claude-flow/metrics/task-metrics.json +10 -0
- package/docs/CHANGELOG.md +155 -0
- package/docs/CLAUDE.md +352 -0
- package/docs/COMPLETE_VALIDATION_SUMMARY.md +405 -0
- package/docs/INDEX.md +183 -0
- package/docs/LICENSE +21 -0
- package/docs/ONNX_CLI_USAGE.md +344 -0
- package/docs/ONNX_ENV_VARS.md +564 -0
- package/docs/ONNX_INTEGRATION.md +422 -0
- package/docs/ONNX_OPTIMIZATION_GUIDE.md +665 -0
- package/docs/ONNX_OPTIMIZATION_SUMMARY.md +374 -0
- package/docs/ONNX_VS_CLAUDE_QUALITY.md +442 -0
- package/docs/OPENROUTER_DEPLOYMENT.md +495 -0
- package/docs/architecture/EXECUTIVE_SUMMARY.md +310 -0
- package/docs/architecture/IMPROVEMENT_PLAN.md +11 -0
- package/docs/architecture/INTEGRATION-STATUS.md +290 -0
- package/docs/architecture/MULTI_MODEL_ROUTER_PLAN.md +620 -0
- package/docs/architecture/QUICK_WINS.md +333 -0
- package/docs/architecture/README.md +15 -0
- package/docs/architecture/RESEARCH_SUMMARY.md +652 -0
- package/docs/archived/FASTMCP_COMPLETE.md +428 -0
- package/docs/archived/FASTMCP_INTEGRATION_STATUS.md +288 -0
- package/docs/archived/FLOW-NEXUS-COMPLETE.md +269 -0
- package/docs/archived/INTEGRATION_CONFIRMED.md +351 -0
- package/docs/archived/ONNX_FINAL_REPORT.md +312 -0
- package/docs/archived/ONNX_IMPLEMENTATION_COMPLETE.md +215 -0
- package/docs/archived/ONNX_IMPLEMENTATION_SUMMARY.md +197 -0
- package/docs/archived/ONNX_SUCCESS_REPORT.md +271 -0
- package/docs/archived/OPENROUTER_PROXY_COMPLETE.md +494 -0
- package/docs/archived/PACKAGE-COMPLETE.md +138 -0
- package/docs/archived/README.md +27 -0
- package/docs/archived/RESEARCH_COMPLETE.txt +335 -0
- package/docs/archived/SDK-SETUP-COMPLETE.md +252 -0
- package/docs/guides/ALTERNATIVE_LLM_MODELS.md +524 -0
- package/docs/guides/DOCKER_AGENT_USAGE.md +352 -0
- package/docs/guides/IMPLEMENTATION_EXAMPLES.md +960 -0
- package/docs/guides/NPM-PUBLISH.md +218 -0
- package/docs/guides/README.md +17 -0
- package/docs/guides/agent-sdk.md +234 -0
- package/docs/integrations/CLAUDE_AGENTS_INTEGRATION.md +356 -0
- package/docs/integrations/CLAUDE_FLOW_INTEGRATION.md +535 -0
- package/docs/integrations/FASTMCP_CLI_INTEGRATION.md +503 -0
- package/docs/integrations/FLOW-NEXUS-INTEGRATION.md +319 -0
- package/docs/integrations/README.md +18 -0
- package/docs/integrations/fastmcp-implementation-plan.md +2516 -0
- package/docs/integrations/fastmcp-poc-integration.md +198 -0
- package/docs/router/ONNX_PHI4_RESEARCH.md +220 -0
- package/docs/router/ONNX_RUNTIME_INTEGRATION_PLAN.md +866 -0
- package/docs/router/PHI4_HYPEROPTIMIZATION_PLAN.md +2488 -0
- package/docs/router/README.md +552 -0
- package/docs/router/ROUTER_CONFIG_REFERENCE.md +577 -0
- package/docs/router/ROUTER_USER_GUIDE.md +865 -0
- package/docs/validation/DOCKER_MCP_VALIDATION.md +358 -0
- package/docs/validation/DOCKER_OPENROUTER_VALIDATION.md +443 -0
- package/docs/validation/FINAL_SYSTEM_VALIDATION.md +458 -0
- package/docs/validation/FINAL_VALIDATION_SUMMARY.md +409 -0
- package/docs/validation/MCP_CLI_TOOLS_VALIDATION.md +266 -0
- package/docs/validation/MODEL_VALIDATION_REPORT.md +386 -0
- package/docs/validation/OPENROUTER_VALIDATION_COMPLETE.md +382 -0
- package/docs/validation/README.md +20 -0
- package/docs/validation/ROUTER_VALIDATION.md +311 -0
- package/package.json +140 -0
|
@@ -0,0 +1,865 @@
|
|
|
1
|
+
# Multi-Model Router User Guide
|
|
2
|
+
|
|
3
|
+
## Introduction
|
|
4
|
+
|
|
5
|
+
The Multi-Model Router enables agentic-flow to work with multiple LLM providers beyond Anthropic's Claude, including OpenAI, OpenRouter, local models via Ollama, and any provider supported by LiteLLM.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
### 1. Installation
|
|
10
|
+
|
|
11
|
+
The router is included with agentic-flow v2.0+:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g agentic-flow@latest
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### 2. Basic Configuration
|
|
18
|
+
|
|
19
|
+
Create a router configuration file:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Initialize with default config
|
|
23
|
+
npx agentic-flow router init
|
|
24
|
+
|
|
25
|
+
# Or create custom config
|
|
26
|
+
npx agentic-flow router init --provider openai
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
This creates `~/.agentic-flow/router.config.json`:
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"version": "1.0",
|
|
34
|
+
"defaultProvider": "anthropic",
|
|
35
|
+
"fallbackChain": ["anthropic", "openai"],
|
|
36
|
+
"providers": {
|
|
37
|
+
"anthropic": {
|
|
38
|
+
"apiKey": "${ANTHROPIC_API_KEY}",
|
|
39
|
+
"models": {
|
|
40
|
+
"default": "claude-3-5-sonnet-20241022"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"openai": {
|
|
44
|
+
"apiKey": "${OPENAI_API_KEY}",
|
|
45
|
+
"models": {
|
|
46
|
+
"default": "gpt-4-turbo-preview"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 3. Set Environment Variables
|
|
54
|
+
|
|
55
|
+
Add API keys to your environment:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Add to ~/.bashrc or ~/.zshrc
|
|
59
|
+
export ANTHROPIC_API_KEY="sk-ant-..."
|
|
60
|
+
export OPENAI_API_KEY="sk-..."
|
|
61
|
+
export OPENROUTER_API_KEY="sk-or-..."
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 4. Use the Router
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Use default provider (Anthropic)
|
|
68
|
+
npx agentic-flow --agent coder --task "Build a REST API"
|
|
69
|
+
|
|
70
|
+
# Use specific provider
|
|
71
|
+
npx agentic-flow --provider openai --agent coder --task "Build a REST API"
|
|
72
|
+
|
|
73
|
+
# Use specific model
|
|
74
|
+
npx agentic-flow --model gpt-4 --agent coder --task "Build a REST API"
|
|
75
|
+
|
|
76
|
+
# Use local model via Ollama
|
|
77
|
+
npx agentic-flow --provider ollama --model llama3:70b --agent coder --task "Build a REST API"
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Provider Setup Guides
|
|
81
|
+
|
|
82
|
+
### Anthropic (Claude)
|
|
83
|
+
|
|
84
|
+
**Prerequisites:**
|
|
85
|
+
- Anthropic API key from https://console.anthropic.com/
|
|
86
|
+
|
|
87
|
+
**Configuration:**
|
|
88
|
+
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"providers": {
|
|
92
|
+
"anthropic": {
|
|
93
|
+
"apiKey": "${ANTHROPIC_API_KEY}",
|
|
94
|
+
"baseUrl": "https://api.anthropic.com",
|
|
95
|
+
"models": {
|
|
96
|
+
"default": "claude-3-5-sonnet-20241022",
|
|
97
|
+
"fast": "claude-3-5-haiku-20241022",
|
|
98
|
+
"advanced": "claude-3-opus-20240229"
|
|
99
|
+
},
|
|
100
|
+
"timeout": 120000,
|
|
101
|
+
"maxRetries": 3
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Usage:**
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Default Claude model
|
|
111
|
+
npx agentic-flow --task "Analyze code"
|
|
112
|
+
|
|
113
|
+
# Specific Claude model
|
|
114
|
+
npx agentic-flow --model claude-3-opus-20240229 --task "Complex reasoning task"
|
|
115
|
+
|
|
116
|
+
# Fast Claude model
|
|
117
|
+
npx agentic-flow --model claude-3-5-haiku-20241022 --task "Quick task"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### OpenAI
|
|
121
|
+
|
|
122
|
+
**Prerequisites:**
|
|
123
|
+
- OpenAI API key from https://platform.openai.com/api-keys
|
|
124
|
+
- Optional: Organization ID
|
|
125
|
+
|
|
126
|
+
**Configuration:**
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"providers": {
|
|
131
|
+
"openai": {
|
|
132
|
+
"apiKey": "${OPENAI_API_KEY}",
|
|
133
|
+
"organization": "${OPENAI_ORG_ID}",
|
|
134
|
+
"models": {
|
|
135
|
+
"default": "gpt-4-turbo-preview",
|
|
136
|
+
"fast": "gpt-3.5-turbo",
|
|
137
|
+
"advanced": "gpt-4"
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Usage:**
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# Use OpenAI
|
|
148
|
+
npx agentic-flow --provider openai --task "Write code"
|
|
149
|
+
|
|
150
|
+
# Specific GPT model
|
|
151
|
+
npx agentic-flow --model gpt-4 --task "Complex reasoning"
|
|
152
|
+
|
|
153
|
+
# Cheaper model for simple tasks
|
|
154
|
+
npx agentic-flow --model gpt-3.5-turbo --task "Simple question"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**Cost Optimization:**
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# Enable cost tracking
|
|
161
|
+
npx agentic-flow router config set routing.costOptimization.enabled true
|
|
162
|
+
|
|
163
|
+
# Set budget alerts
|
|
164
|
+
npx agentic-flow router config set routing.costOptimization.budgetAlerts.daily 10.00
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### OpenRouter
|
|
168
|
+
|
|
169
|
+
**Prerequisites:**
|
|
170
|
+
- OpenRouter API key from https://openrouter.ai/keys
|
|
171
|
+
- Credits or payment method configured
|
|
172
|
+
|
|
173
|
+
**Configuration:**
|
|
174
|
+
|
|
175
|
+
```json
|
|
176
|
+
{
|
|
177
|
+
"providers": {
|
|
178
|
+
"openrouter": {
|
|
179
|
+
"apiKey": "${OPENROUTER_API_KEY}",
|
|
180
|
+
"baseUrl": "https://openrouter.ai/api/v1",
|
|
181
|
+
"models": {
|
|
182
|
+
"default": "anthropic/claude-3.5-sonnet",
|
|
183
|
+
"fast": "anthropic/claude-3-haiku",
|
|
184
|
+
"advanced": "anthropic/claude-3-opus"
|
|
185
|
+
},
|
|
186
|
+
"preferences": {
|
|
187
|
+
"requireParameters": true,
|
|
188
|
+
"dataCollection": "deny",
|
|
189
|
+
"order": ["anthropic", "openai", "google"]
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Available Models via OpenRouter:**
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
# List available models
|
|
200
|
+
npx agentic-flow router models --provider openrouter
|
|
201
|
+
|
|
202
|
+
# Use specific model
|
|
203
|
+
npx agentic-flow --provider openrouter --model anthropic/claude-3.5-sonnet --task "..."
|
|
204
|
+
|
|
205
|
+
# Try different providers through OpenRouter
|
|
206
|
+
npx agentic-flow --provider openrouter --model google/gemini-pro --task "..."
|
|
207
|
+
npx agentic-flow --provider openrouter --model meta-llama/llama-3-70b-instruct --task "..."
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**Cost Optimization with OpenRouter:**
|
|
211
|
+
|
|
212
|
+
OpenRouter automatically routes to cheapest available provider when model supports it:
|
|
213
|
+
|
|
214
|
+
```json
|
|
215
|
+
{
|
|
216
|
+
"routing": {
|
|
217
|
+
"mode": "cost-optimized",
|
|
218
|
+
"rules": [
|
|
219
|
+
{
|
|
220
|
+
"condition": {
|
|
221
|
+
"complexity": "low"
|
|
222
|
+
},
|
|
223
|
+
"action": {
|
|
224
|
+
"provider": "openrouter",
|
|
225
|
+
"model": "anthropic/claude-3-haiku"
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
]
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Ollama (Local Models)
|
|
234
|
+
|
|
235
|
+
**Prerequisites:**
|
|
236
|
+
- Ollama installed: https://ollama.ai/download
|
|
237
|
+
- Models downloaded locally
|
|
238
|
+
|
|
239
|
+
**Installation:**
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
# Install Ollama
|
|
243
|
+
curl -fsSL https://ollama.ai/install.sh | sh
|
|
244
|
+
|
|
245
|
+
# Download models
|
|
246
|
+
ollama pull llama3:8b
|
|
247
|
+
ollama pull llama3:70b
|
|
248
|
+
ollama pull phi3:mini
|
|
249
|
+
ollama pull codellama:13b
|
|
250
|
+
|
|
251
|
+
# Verify models
|
|
252
|
+
ollama list
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Configuration:**
|
|
256
|
+
|
|
257
|
+
```json
|
|
258
|
+
{
|
|
259
|
+
"providers": {
|
|
260
|
+
"ollama": {
|
|
261
|
+
"baseUrl": "http://localhost:11434",
|
|
262
|
+
"models": {
|
|
263
|
+
"default": "llama3:8b",
|
|
264
|
+
"fast": "phi3:mini",
|
|
265
|
+
"advanced": "llama3:70b",
|
|
266
|
+
"code": "codellama:13b"
|
|
267
|
+
},
|
|
268
|
+
"gpuLayers": 35,
|
|
269
|
+
"contextWindow": 8192,
|
|
270
|
+
"numPredict": 2048
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**Usage:**
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
# Use local model
|
|
280
|
+
npx agentic-flow --provider ollama --task "Write code"
|
|
281
|
+
|
|
282
|
+
# Specific local model
|
|
283
|
+
npx agentic-flow --provider ollama --model codellama:13b --task "Write Python code"
|
|
284
|
+
|
|
285
|
+
# Privacy-sensitive tasks
|
|
286
|
+
npx agentic-flow --provider ollama --model llama3:70b --task "Analyze confidential data"
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
**Performance Tuning:**
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
# Increase GPU layers for faster inference
|
|
293
|
+
npx agentic-flow router config set providers.ollama.gpuLayers 40
|
|
294
|
+
|
|
295
|
+
# Increase context window
|
|
296
|
+
npx agentic-flow router config set providers.ollama.contextWindow 16384
|
|
297
|
+
|
|
298
|
+
# Configure concurrent requests
|
|
299
|
+
npx agentic-flow router config set providers.ollama.concurrent 2
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### LiteLLM (Universal Gateway)
|
|
303
|
+
|
|
304
|
+
**Prerequisites:**
|
|
305
|
+
- LiteLLM proxy running or configured
|
|
306
|
+
- API keys for target providers
|
|
307
|
+
|
|
308
|
+
**Configuration:**
|
|
309
|
+
|
|
310
|
+
```json
|
|
311
|
+
{
|
|
312
|
+
"providers": {
|
|
313
|
+
"litellm": {
|
|
314
|
+
"enabled": true,
|
|
315
|
+
"proxyUrl": "http://localhost:8000",
|
|
316
|
+
"fallbackModels": [
|
|
317
|
+
"gpt-4-turbo-preview",
|
|
318
|
+
"claude-3-opus-20240229",
|
|
319
|
+
"command-r-plus",
|
|
320
|
+
"gemini-pro"
|
|
321
|
+
],
|
|
322
|
+
"timeout": 180000,
|
|
323
|
+
"loadBalancing": true
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
**Setup LiteLLM Proxy:**
|
|
330
|
+
|
|
331
|
+
```bash
|
|
332
|
+
# Install LiteLLM
|
|
333
|
+
pip install litellm[proxy]
|
|
334
|
+
|
|
335
|
+
# Create config
|
|
336
|
+
cat > litellm_config.yaml << EOF
|
|
337
|
+
model_list:
|
|
338
|
+
- model_name: gpt-4
|
|
339
|
+
litellm_params:
|
|
340
|
+
model: gpt-4
|
|
341
|
+
api_key: ${OPENAI_API_KEY}
|
|
342
|
+
- model_name: claude-3-opus
|
|
343
|
+
litellm_params:
|
|
344
|
+
model: claude-3-opus-20240229
|
|
345
|
+
api_key: ${ANTHROPIC_API_KEY}
|
|
346
|
+
- model_name: gemini-pro
|
|
347
|
+
litellm_params:
|
|
348
|
+
model: gemini/gemini-pro
|
|
349
|
+
api_key: ${GOOGLE_API_KEY}
|
|
350
|
+
EOF
|
|
351
|
+
|
|
352
|
+
# Start proxy
|
|
353
|
+
litellm --config litellm_config.yaml --port 8000
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
**Usage:**
|
|
357
|
+
|
|
358
|
+
```bash
|
|
359
|
+
# Use LiteLLM with automatic routing
|
|
360
|
+
npx agentic-flow --provider litellm --task "Write code"
|
|
361
|
+
|
|
362
|
+
# LiteLLM with specific model
|
|
363
|
+
npx agentic-flow --provider litellm --model gpt-4 --task "Complex task"
|
|
364
|
+
|
|
365
|
+
# Enable load balancing across providers
|
|
366
|
+
npx agentic-flow router config set providers.litellm.loadBalancing true
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
## Routing Strategies
|
|
370
|
+
|
|
371
|
+
### Manual Routing
|
|
372
|
+
|
|
373
|
+
Explicitly select provider and model:
|
|
374
|
+
|
|
375
|
+
```bash
|
|
376
|
+
npx agentic-flow --provider openai --model gpt-4 --task "..."
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### Cost-Optimized Routing
|
|
380
|
+
|
|
381
|
+
Automatically select cheapest suitable provider:
|
|
382
|
+
|
|
383
|
+
```json
|
|
384
|
+
{
|
|
385
|
+
"routing": {
|
|
386
|
+
"mode": "cost-optimized",
|
|
387
|
+
"costOptimization": {
|
|
388
|
+
"enabled": true,
|
|
389
|
+
"maxCostPerRequest": 0.50,
|
|
390
|
+
"preferCheaper": true
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
```bash
|
|
397
|
+
# Enable cost optimization
|
|
398
|
+
npx agentic-flow --router-mode cost-optimized --task "..."
|
|
399
|
+
|
|
400
|
+
# View cost report
|
|
401
|
+
npx agentic-flow router costs --period today
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
### Performance-Optimized Routing
|
|
405
|
+
|
|
406
|
+
Prioritize fastest provider:
|
|
407
|
+
|
|
408
|
+
```json
|
|
409
|
+
{
|
|
410
|
+
"routing": {
|
|
411
|
+
"mode": "performance-optimized",
|
|
412
|
+
"performance": {
|
|
413
|
+
"targetLatency": 5000,
|
|
414
|
+
"concurrentRequests": 10
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
### Rule-Based Routing
|
|
421
|
+
|
|
422
|
+
Define custom routing rules:
|
|
423
|
+
|
|
424
|
+
```json
|
|
425
|
+
{
|
|
426
|
+
"routing": {
|
|
427
|
+
"mode": "rule-based",
|
|
428
|
+
"rules": [
|
|
429
|
+
{
|
|
430
|
+
"condition": {
|
|
431
|
+
"agentType": ["coder", "reviewer"],
|
|
432
|
+
"requiresTools": true
|
|
433
|
+
},
|
|
434
|
+
"action": {
|
|
435
|
+
"provider": "anthropic",
|
|
436
|
+
"model": "claude-3-5-sonnet-20241022"
|
|
437
|
+
}
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"condition": {
|
|
441
|
+
"agentType": ["researcher"],
|
|
442
|
+
"complexity": "low"
|
|
443
|
+
},
|
|
444
|
+
"action": {
|
|
445
|
+
"provider": "openai",
|
|
446
|
+
"model": "gpt-3.5-turbo"
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"condition": {
|
|
451
|
+
"privacy": "high"
|
|
452
|
+
},
|
|
453
|
+
"action": {
|
|
454
|
+
"provider": "ollama",
|
|
455
|
+
"model": "llama3:70b"
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
]
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
## Tool Calling Support
|
|
464
|
+
|
|
465
|
+
### Provider Compatibility
|
|
466
|
+
|
|
467
|
+
| Provider | Tool Calling | MCP Support | Format |
|
|
468
|
+
|----------|-------------|-------------|--------|
|
|
469
|
+
| Anthropic | ✅ Full | ✅ Native | Anthropic Tools |
|
|
470
|
+
| OpenAI | ✅ Full | ⚡ Translated | OpenAI Functions |
|
|
471
|
+
| OpenRouter | ✅ Varies | ⚡ Translated | Auto-detect |
|
|
472
|
+
| Ollama | ⚠️ Limited | ❌ Manual | Text-based |
|
|
473
|
+
| LiteLLM | ✅ Full | ⚡ Translated | Auto-detect |
|
|
474
|
+
|
|
475
|
+
### Enabling Tool Translation
|
|
476
|
+
|
|
477
|
+
```json
|
|
478
|
+
{
|
|
479
|
+
"toolCalling": {
|
|
480
|
+
"translationEnabled": true,
|
|
481
|
+
"defaultFormat": "anthropic",
|
|
482
|
+
"formatMapping": {
|
|
483
|
+
"openai": "openai-functions",
|
|
484
|
+
"anthropic": "anthropic-tools",
|
|
485
|
+
"openrouter": "auto-detect",
|
|
486
|
+
"ollama": "manual"
|
|
487
|
+
},
|
|
488
|
+
"fallbackStrategy": "disable-tools"
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
### Using Tools with Different Providers
|
|
494
|
+
|
|
495
|
+
```bash
|
|
496
|
+
# Anthropic (native tool support)
|
|
497
|
+
npx agentic-flow --provider anthropic --agent coder --task "Use bash and file tools"
|
|
498
|
+
|
|
499
|
+
# OpenAI (translated tool support)
|
|
500
|
+
npx agentic-flow --provider openai --agent coder --task "Use bash and file tools"
|
|
501
|
+
|
|
502
|
+
# Ollama (text-based tools)
|
|
503
|
+
npx agentic-flow --provider ollama --agent coder --task "Use bash and file tools" --tool-mode text
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
## Cost Management
|
|
507
|
+
|
|
508
|
+
### Tracking Costs
|
|
509
|
+
|
|
510
|
+
```bash
|
|
511
|
+
# View today's costs
|
|
512
|
+
npx agentic-flow router costs --period today
|
|
513
|
+
|
|
514
|
+
# View monthly costs
|
|
515
|
+
npx agentic-flow router costs --period month
|
|
516
|
+
|
|
517
|
+
# View costs by provider
|
|
518
|
+
npx agentic-flow router costs --by-provider
|
|
519
|
+
|
|
520
|
+
# View costs by agent
|
|
521
|
+
npx agentic-flow router costs --by-agent
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
### Setting Budget Alerts
|
|
525
|
+
|
|
526
|
+
```bash
|
|
527
|
+
# Set daily budget
|
|
528
|
+
npx agentic-flow router config set routing.costOptimization.budgetAlerts.daily 10.00
|
|
529
|
+
|
|
530
|
+
# Set monthly budget
|
|
531
|
+
npx agentic-flow router config set routing.costOptimization.budgetAlerts.monthly 250.00
|
|
532
|
+
|
|
533
|
+
# Set per-request limit
|
|
534
|
+
npx agentic-flow router config set routing.costOptimization.maxCostPerRequest 0.50
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
### Cost Optimization Tips
|
|
538
|
+
|
|
539
|
+
1. **Use Cheaper Models for Simple Tasks**:
|
|
540
|
+
```bash
|
|
541
|
+
npx agentic-flow --model gpt-3.5-turbo --agent researcher --task "Simple research"
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
2. **Enable Caching**:
|
|
545
|
+
```json
|
|
546
|
+
{
|
|
547
|
+
"cache": {
|
|
548
|
+
"enabled": true,
|
|
549
|
+
"ttl": 3600,
|
|
550
|
+
"strategy": "lru"
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
3. **Use Local Models When Possible**:
|
|
556
|
+
```bash
|
|
557
|
+
npx agentic-flow --provider ollama --task "Privacy-sensitive task"
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
4. **Configure Cost-Optimized Routing**:
|
|
561
|
+
```bash
|
|
562
|
+
npx agentic-flow --router-mode cost-optimized --task "..."
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
## Performance Tuning
|
|
566
|
+
|
|
567
|
+
### Latency Optimization
|
|
568
|
+
|
|
569
|
+
```json
|
|
570
|
+
{
|
|
571
|
+
"routing": {
|
|
572
|
+
"performance": {
|
|
573
|
+
"timeout": 60000,
|
|
574
|
+
"concurrentRequests": 10,
|
|
575
|
+
"circuitBreaker": {
|
|
576
|
+
"enabled": true,
|
|
577
|
+
"threshold": 5,
|
|
578
|
+
"timeout": 60000
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
### Concurrent Requests
|
|
586
|
+
|
|
587
|
+
```bash
|
|
588
|
+
# Increase concurrent requests
|
|
589
|
+
npx agentic-flow router config set routing.performance.concurrentRequests 20
|
|
590
|
+
|
|
591
|
+
# Enable connection pooling
|
|
592
|
+
npx agentic-flow router config set routing.performance.pooling true
|
|
593
|
+
```
|
|
594
|
+
|
|
595
|
+
### Caching Strategies
|
|
596
|
+
|
|
597
|
+
```json
|
|
598
|
+
{
|
|
599
|
+
"cache": {
|
|
600
|
+
"enabled": true,
|
|
601
|
+
"ttl": 3600,
|
|
602
|
+
"maxSize": 1000,
|
|
603
|
+
"strategy": "lru",
|
|
604
|
+
"providers": {
|
|
605
|
+
"anthropic": { "ttl": 7200 },
|
|
606
|
+
"openai": { "ttl": 3600 },
|
|
607
|
+
"ollama": { "ttl": 1800 }
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
## Privacy & Security
|
|
614
|
+
|
|
615
|
+
### Local-Only Mode
|
|
616
|
+
|
|
617
|
+
Route all requests to local models:
|
|
618
|
+
|
|
619
|
+
```json
|
|
620
|
+
{
|
|
621
|
+
"routing": {
|
|
622
|
+
"mode": "rule-based",
|
|
623
|
+
"rules": [
|
|
624
|
+
{
|
|
625
|
+
"condition": {
|
|
626
|
+
"privacy": "high"
|
|
627
|
+
},
|
|
628
|
+
"action": {
|
|
629
|
+
"provider": "ollama",
|
|
630
|
+
"model": "llama3:70b"
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
]
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
```
|
|
637
|
+
|
|
638
|
+
```bash
|
|
639
|
+
# Force local-only mode
|
|
640
|
+
npx agentic-flow --local-only --task "Confidential analysis"
|
|
641
|
+
```
|
|
642
|
+
|
|
643
|
+
### API Key Security
|
|
644
|
+
|
|
645
|
+
1. **Use Environment Variables**:
|
|
646
|
+
```bash
|
|
647
|
+
export ANTHROPIC_API_KEY="sk-ant-..."
|
|
648
|
+
export OPENAI_API_KEY="sk-..."
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
2. **Use Secret Management**:
|
|
652
|
+
```bash
|
|
653
|
+
# AWS Secrets Manager
|
|
654
|
+
export ANTHROPIC_API_KEY=$(aws secretsmanager get-secret-value --secret-id anthropic-key --query SecretString --output text)
|
|
655
|
+
|
|
656
|
+
# HashiCorp Vault
|
|
657
|
+
export OPENAI_API_KEY=$(vault kv get -field=api_key secret/openai)
|
|
658
|
+
```
|
|
659
|
+
|
|
660
|
+
3. **Rotate Keys Regularly**:
|
|
661
|
+
```bash
|
|
662
|
+
npx agentic-flow router config update-key anthropic NEW_KEY
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
## Troubleshooting
|
|
666
|
+
|
|
667
|
+
### Common Issues
|
|
668
|
+
|
|
669
|
+
#### 1. Provider Connection Failed
|
|
670
|
+
|
|
671
|
+
```bash
|
|
672
|
+
# Test provider connectivity
|
|
673
|
+
npx agentic-flow router test anthropic
|
|
674
|
+
npx agentic-flow router test openai
|
|
675
|
+
npx agentic-flow router test ollama
|
|
676
|
+
|
|
677
|
+
# Check provider status
|
|
678
|
+
npx agentic-flow router status --provider anthropic
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
#### 2. Tool Calling Not Working
|
|
682
|
+
|
|
683
|
+
```bash
|
|
684
|
+
# Enable tool translation
|
|
685
|
+
npx agentic-flow router config set toolCalling.translationEnabled true
|
|
686
|
+
|
|
687
|
+
# Check tool support
|
|
688
|
+
npx agentic-flow router capabilities --provider openai
|
|
689
|
+
```
|
|
690
|
+
|
|
691
|
+
#### 3. High Latency
|
|
692
|
+
|
|
693
|
+
```bash
|
|
694
|
+
# Increase timeout
|
|
695
|
+
npx agentic-flow router config set routing.performance.timeout 180000
|
|
696
|
+
|
|
697
|
+
# Enable circuit breaker
|
|
698
|
+
npx agentic-flow router config set routing.performance.circuitBreaker.enabled true
|
|
699
|
+
```
|
|
700
|
+
|
|
701
|
+
#### 4. Cost Overruns
|
|
702
|
+
|
|
703
|
+
```bash
|
|
704
|
+
# Check current costs
|
|
705
|
+
npx agentic-flow router costs --period today
|
|
706
|
+
|
|
707
|
+
# Enable cost limits
|
|
708
|
+
npx agentic-flow router config set routing.costOptimization.enabled true
|
|
709
|
+
npx agentic-flow router config set routing.costOptimization.maxCostPerRequest 0.50
|
|
710
|
+
```
|
|
711
|
+
|
|
712
|
+
### Debug Mode
|
|
713
|
+
|
|
714
|
+
```bash
|
|
715
|
+
# Enable debug logging
|
|
716
|
+
npx agentic-flow --debug --task "..."
|
|
717
|
+
|
|
718
|
+
# View router logs
|
|
719
|
+
npx agentic-flow router logs --level debug
|
|
720
|
+
|
|
721
|
+
# Test configuration
|
|
722
|
+
npx agentic-flow router validate ~/.agentic-flow/router.config.json
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
## Best Practices
|
|
726
|
+
|
|
727
|
+
### 1. Development vs Production
|
|
728
|
+
|
|
729
|
+
**Development**:
|
|
730
|
+
```json
|
|
731
|
+
{
|
|
732
|
+
"defaultProvider": "ollama",
|
|
733
|
+
"fallbackChain": ["ollama", "anthropic"],
|
|
734
|
+
"routing": {
|
|
735
|
+
"mode": "manual"
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
```
|
|
739
|
+
|
|
740
|
+
**Production**:
|
|
741
|
+
```json
|
|
742
|
+
{
|
|
743
|
+
"defaultProvider": "anthropic",
|
|
744
|
+
"fallbackChain": ["anthropic", "openai", "openrouter"],
|
|
745
|
+
"routing": {
|
|
746
|
+
"mode": "cost-optimized",
|
|
747
|
+
"costOptimization": {
|
|
748
|
+
"enabled": true,
|
|
749
|
+
"budgetAlerts": { "daily": 50.00 }
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
```
|
|
754
|
+
|
|
755
|
+
### 2. Agent-Specific Routing
|
|
756
|
+
|
|
757
|
+
```json
|
|
758
|
+
{
|
|
759
|
+
"routing": {
|
|
760
|
+
"mode": "rule-based",
|
|
761
|
+
"rules": [
|
|
762
|
+
{
|
|
763
|
+
"condition": { "agentType": ["coder", "reviewer"] },
|
|
764
|
+
"action": { "provider": "anthropic", "model": "claude-3-5-sonnet-20241022" }
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"condition": { "agentType": ["researcher"] },
|
|
768
|
+
"action": { "provider": "openai", "model": "gpt-4-turbo-preview" }
|
|
769
|
+
},
|
|
770
|
+
{
|
|
771
|
+
"condition": { "agentType": ["tester"] },
|
|
772
|
+
"action": { "provider": "openai", "model": "gpt-3.5-turbo" }
|
|
773
|
+
}
|
|
774
|
+
]
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
```
|
|
778
|
+
|
|
779
|
+
### 3. Fallback Strategy
|
|
780
|
+
|
|
781
|
+
Always configure fallback providers:
|
|
782
|
+
|
|
783
|
+
```json
|
|
784
|
+
{
|
|
785
|
+
"fallbackChain": ["anthropic", "openai", "openrouter", "ollama"]
|
|
786
|
+
}
|
|
787
|
+
```
|
|
788
|
+
|
|
789
|
+
### 4. Monitor and Optimize
|
|
790
|
+
|
|
791
|
+
```bash
|
|
792
|
+
# Regular cost review
|
|
793
|
+
npx agentic-flow router costs --period month
|
|
794
|
+
|
|
795
|
+
# Performance analysis
|
|
796
|
+
npx agentic-flow router metrics --provider all
|
|
797
|
+
|
|
798
|
+
# Update routing rules based on metrics
|
|
799
|
+
npx agentic-flow router optimize
|
|
800
|
+
```
|
|
801
|
+
|
|
802
|
+
## Advanced Features
|
|
803
|
+
|
|
804
|
+
### Custom Providers
|
|
805
|
+
|
|
806
|
+
Add custom LLM providers:
|
|
807
|
+
|
|
808
|
+
```bash
|
|
809
|
+
# Register custom provider
|
|
810
|
+
npx agentic-flow router provider add custom-provider \
|
|
811
|
+
--type openai-compatible \
|
|
812
|
+
--base-url https://api.custom.com/v1 \
|
|
813
|
+
--api-key ${CUSTOM_API_KEY}
|
|
814
|
+
```
|
|
815
|
+
|
|
816
|
+
### Parallel Provider Requests
|
|
817
|
+
|
|
818
|
+
Send requests to multiple providers simultaneously:
|
|
819
|
+
|
|
820
|
+
```bash
|
|
821
|
+
npx agentic-flow --providers "anthropic,openai,openrouter" \
|
|
822
|
+
--strategy consensus \
|
|
823
|
+
--task "Critical decision"
|
|
824
|
+
```
|
|
825
|
+
|
|
826
|
+
### Provider-Specific Features
|
|
827
|
+
|
|
828
|
+
Enable provider-specific features:
|
|
829
|
+
|
|
830
|
+
```json
|
|
831
|
+
{
|
|
832
|
+
"providers": {
|
|
833
|
+
"anthropic": {
|
|
834
|
+
"features": {
|
|
835
|
+
"prefillAssistant": true,
|
|
836
|
+
"visionEnabled": true,
|
|
837
|
+
"toolChoice": "auto"
|
|
838
|
+
}
|
|
839
|
+
},
|
|
840
|
+
"openai": {
|
|
841
|
+
"features": {
|
|
842
|
+
"jsonMode": true,
|
|
843
|
+
"seedEnabled": true,
|
|
844
|
+
"functionCalling": true
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
```
|
|
850
|
+
|
|
851
|
+
## Next Steps
|
|
852
|
+
|
|
853
|
+
1. **Configure Providers**: Set up API keys and models
|
|
854
|
+
2. **Test Configuration**: Validate with `router validate`
|
|
855
|
+
3. **Run Sample Tasks**: Test with different providers
|
|
856
|
+
4. **Monitor Costs**: Track spending and optimize
|
|
857
|
+
5. **Adjust Routing**: Refine rules based on usage patterns
|
|
858
|
+
|
|
859
|
+
## Additional Resources
|
|
860
|
+
|
|
861
|
+
- [Configuration Reference](./ROUTER_CONFIG_REFERENCE.md)
|
|
862
|
+
- [Implementation Plan](./MULTI_MODEL_ROUTER_PLAN.md)
|
|
863
|
+
- [Provider Setup Guides](./providers/)
|
|
864
|
+
- [Troubleshooting Guide](./TROUBLESHOOTING.md)
|
|
865
|
+
- [API Documentation](./API.md)
|