proagents 1.6.17 → 1.6.18
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/settings.local.json +169 -0
- package/COMMANDS.md +595 -0
- package/README.md +13 -23
- package/package.json +2 -7
- package/.proagents/ai-models/README.md +0 -141
- package/.proagents/ai-models/cost-management.md +0 -362
- package/.proagents/ai-models/fallbacks.md +0 -342
- package/.proagents/ai-models/model-config.md +0 -318
- package/.proagents/ai-models/task-routing.md +0 -503
- package/.proagents/ai-training/README.md +0 -155
- package/.proagents/ai-training/continuous-learning.md +0 -413
- package/.proagents/ai-training/domain-knowledge.md +0 -378
- package/.proagents/ai-training/pattern-learning.md +0 -455
- package/.proagents/ai-training/training-data.md +0 -337
- package/.proagents/ai-training/user-preferences.md +0 -346
- package/.proagents/approval-workflows/README.md +0 -146
- package/.proagents/approval-workflows/approval-config.md +0 -332
- package/.proagents/approval-workflows/approval-stages.md +0 -503
- package/.proagents/approval-workflows/emergency-bypass.md +0 -351
- package/.proagents/approval-workflows/examples.md +0 -859
- package/.proagents/approval-workflows/notifications.md +0 -320
- package/.proagents/compliance/README.md +0 -206
- package/.proagents/compliance/access-control.md +0 -310
- package/.proagents/compliance/audit-logging.md +0 -444
- package/.proagents/compliance/compliance-frameworks.md +0 -429
- package/.proagents/compliance/reports.md +0 -491
- package/.proagents/compliance/retention-policies.md +0 -454
- package/.proagents/config-versioning/README.md +0 -120
- package/.proagents/config-versioning/changelog.md +0 -300
- package/.proagents/config-versioning/rollback.md +0 -283
- package/.proagents/config-versioning/versioning.md +0 -330
- package/.proagents/contract-testing/README.md +0 -223
- package/.proagents/contract-testing/contract-testing.md +0 -614
- package/.proagents/contract-testing/pact-integration.md +0 -507
- package/.proagents/contract-testing/schema-validation.md +0 -565
- package/.proagents/dependency-management/README.md +0 -140
- package/.proagents/dependency-management/automation.md +0 -363
- package/.proagents/dependency-management/compatibility.md +0 -319
- package/.proagents/dependency-management/security-scanning.md +0 -413
- package/.proagents/dependency-management/update-policies.md +0 -374
- package/.proagents/disaster-recovery/README.md +0 -247
- package/.proagents/disaster-recovery/automation.md +0 -366
- package/.proagents/disaster-recovery/backup-recovery.md +0 -571
- package/.proagents/disaster-recovery/incident-response.md +0 -565
- package/.proagents/disaster-recovery/rollback-procedures.md +0 -499
- package/.proagents/disaster-recovery/runbooks.md +0 -603
- package/.proagents/disaster-recovery/scenarios.md +0 -892
- package/.proagents/disaster-recovery/testing.md +0 -438
- package/.proagents/environments/README.md +0 -244
- package/.proagents/environments/configuration.md +0 -437
- package/.proagents/environments/promotion.md +0 -434
- package/.proagents/environments/setup.md +0 -420
- package/.proagents/examples/README.md +0 -55
- package/.proagents/examples/backend-nodejs/README.md +0 -188
- package/.proagents/examples/backend-nodejs/complete-conversation.md +0 -601
- package/.proagents/examples/backend-nodejs/proagents.config.yaml +0 -415
- package/.proagents/examples/backend-nodejs/workflow-example.md +0 -909
- package/.proagents/examples/fullstack-nextjs/README.md +0 -155
- package/.proagents/examples/fullstack-nextjs/complete-conversation.md +0 -604
- package/.proagents/examples/fullstack-nextjs/proagents.config.yaml +0 -287
- package/.proagents/examples/fullstack-nextjs/workflow-example.md +0 -553
- package/.proagents/examples/mobile-react-native/README.md +0 -171
- package/.proagents/examples/mobile-react-native/complete-conversation.md +0 -825
- package/.proagents/examples/mobile-react-native/proagents.config.yaml +0 -330
- package/.proagents/examples/mobile-react-native/workflow-example.md +0 -723
- package/.proagents/examples/web-frontend-react/README.md +0 -125
- package/.proagents/examples/web-frontend-react/complete-conversation.md +0 -556
- package/.proagents/examples/web-frontend-react/proagents.config.yaml +0 -183
- package/.proagents/examples/web-frontend-react/workflow-example.md +0 -603
- package/.proagents/existing-projects/README.md +0 -65
- package/.proagents/existing-projects/challenges.md +0 -861
- package/.proagents/existing-projects/coexistence-mode.md +0 -483
- package/.proagents/existing-projects/compatibility-assessment.md +0 -541
- package/.proagents/existing-projects/gradual-adoption.md +0 -515
- package/.proagents/existing-projects/migration-strategies.md +0 -788
- package/.proagents/existing-projects/pattern-reconciliation.md +0 -489
- package/.proagents/existing-projects/team-onboarding.md +0 -617
- package/.proagents/existing-projects/technical-debt-handling.md +0 -644
- package/.proagents/feature-flags/README.md +0 -263
- package/.proagents/feature-flags/ab-testing.md +0 -413
- package/.proagents/feature-flags/configuration.md +0 -420
- package/.proagents/feature-flags/kill-switches.md +0 -444
- package/.proagents/feature-flags/rollout-strategies.md +0 -392
- package/.proagents/history.log +0 -12
- package/.proagents/i18n/README.md +0 -133
- package/.proagents/i18n/extraction.md +0 -433
- package/.proagents/i18n/tms-integration.md +0 -332
- package/.proagents/i18n/translation-workflow.md +0 -413
- package/.proagents/i18n/validation.md +0 -355
- package/.proagents/logging/README.md +0 -276
- package/.proagents/logging/aggregation.md +0 -475
- package/.proagents/logging/log-levels.md +0 -376
- package/.proagents/logging/sensitive-data.md +0 -423
- package/.proagents/logging/structured-logging.md +0 -406
- package/.proagents/metrics/README.md +0 -69
- package/.proagents/metrics/code-quality-kpis.md +0 -461
- package/.proagents/metrics/deployment-metrics.md +0 -517
- package/.proagents/metrics/developer-productivity.md +0 -368
- package/.proagents/metrics/learning-effectiveness.md +0 -478
- package/.proagents/migrations/README.md +0 -77
- package/.proagents/migrations/from-claude-projects.md +0 -313
- package/.proagents/migrations/from-cursor-rules.md +0 -345
- package/.proagents/migrations/from-custom-workflows.md +0 -410
- package/.proagents/monitoring/README.md +0 -308
- package/.proagents/monitoring/alerting.md +0 -449
- package/.proagents/monitoring/dashboards.md +0 -454
- package/.proagents/monitoring/health-checks.md +0 -436
- package/.proagents/monitoring/metrics.md +0 -434
- package/.proagents/multi-project/README.md +0 -170
- package/.proagents/multi-project/coordinated-deploy.md +0 -510
- package/.proagents/multi-project/cross-project-deps.md +0 -395
- package/.proagents/multi-project/unified-changelog.md +0 -477
- package/.proagents/multi-project/walkthroughs/monorepo-setup.md +0 -787
- package/.proagents/multi-project/workspace-config.md +0 -408
- package/.proagents/notifications/README.md +0 -151
- package/.proagents/notifications/channels.md +0 -457
- package/.proagents/notifications/preferences.md +0 -415
- package/.proagents/notifications/routing.md +0 -449
- package/.proagents/notifications/scheduling.md +0 -425
- package/.proagents/notifications/templates.md +0 -446
- package/.proagents/offline-mode/README.md +0 -145
- package/.proagents/offline-mode/caching.md +0 -344
- package/.proagents/offline-mode/offline-operations.md +0 -312
- package/.proagents/offline-mode/queue-specifications.md +0 -679
- package/.proagents/offline-mode/sync.md +0 -475
- package/.proagents/parallel-features/README.md +0 -85
- package/.proagents/parallel-features/conflict-detection.md +0 -226
- package/.proagents/parallel-features/dependency-management.md +0 -392
- package/.proagents/parallel-features/merge-coordination.md +0 -506
- package/.proagents/parallel-features/tracking-system.md +0 -416
- package/.proagents/performance/README.md +0 -59
- package/.proagents/performance/bundle-analysis.md +0 -375
- package/.proagents/performance/load-testing.md +0 -563
- package/.proagents/performance/runtime-metrics.md +0 -489
- package/.proagents/performance/web-vitals.md +0 -425
- package/.proagents/plugins/README.md +0 -139
- package/.proagents/plugins/creating-plugins.md +0 -504
- package/.proagents/plugins/plugin-api.md +0 -467
- package/.proagents/plugins/plugin-registry.md +0 -276
- package/.proagents/reporting/README.md +0 -158
- package/.proagents/reporting/dashboards.md +0 -366
- package/.proagents/reporting/exports.md +0 -524
- package/.proagents/reporting/quality-metrics.md +0 -385
- package/.proagents/reporting/templates/README.md +0 -56
- package/.proagents/reporting/templates/dashboard-config.json +0 -187
- package/.proagents/reporting/templates/metrics-queries.md +0 -427
- package/.proagents/reporting/templates/react-dashboard.tsx +0 -544
- package/.proagents/reporting/templates/widgets.md +0 -451
- package/.proagents/reporting/velocity-metrics.md +0 -340
- package/.proagents/reverse-engineering/README.md +0 -151
- package/.proagents/reverse-engineering/architecture-extraction.md +0 -325
- package/.proagents/reverse-engineering/code-analysis.md +0 -377
- package/.proagents/reverse-engineering/dependency-mapping.md +0 -567
- package/.proagents/reverse-engineering/diagram-generation.md +0 -586
- package/.proagents/reverse-engineering/documentation-generation.md +0 -468
- package/.proagents/reverse-engineering/pattern-detection.md +0 -569
- package/.proagents/reverse-engineering/quality-assessment.md +0 -733
- package/.proagents/secrets/README.md +0 -278
- package/.proagents/secrets/access-control.md +0 -443
- package/.proagents/secrets/rotation.md +0 -403
- package/.proagents/secrets/scanning.md +0 -487
- package/.proagents/secrets/storage.md +0 -394
- package/.proagents/webhooks/README.md +0 -126
- package/.proagents/webhooks/endpoints.md +0 -298
- package/.proagents/webhooks/events.md +0 -316
- package/.proagents/webhooks/payloads.md +0 -325
- package/.proagents/webhooks/reliability.md +0 -363
- package/.proagents/webhooks/security.md +0 -380
|
@@ -1,342 +0,0 @@
|
|
|
1
|
-
# AI Model Fallbacks
|
|
2
|
-
|
|
3
|
-
Configure fallback strategies when primary AI models are unavailable.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Fallback Chain
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
11
|
-
│ Fallback Chain │
|
|
12
|
-
├─────────────────────────────────────────────────────────────┤
|
|
13
|
-
│ │
|
|
14
|
-
│ Request ──▶ Primary Model │
|
|
15
|
-
│ │ │
|
|
16
|
-
│ [Available?] │
|
|
17
|
-
│ / \ │
|
|
18
|
-
│ Yes No │
|
|
19
|
-
│ │ │ │
|
|
20
|
-
│ ▼ ▼ │
|
|
21
|
-
│ Process Secondary Model │
|
|
22
|
-
│ │ │
|
|
23
|
-
│ [Available?] │
|
|
24
|
-
│ / \ │
|
|
25
|
-
│ Yes No │
|
|
26
|
-
│ │ │ │
|
|
27
|
-
│ ▼ ▼ │
|
|
28
|
-
│ Process Tertiary Model │
|
|
29
|
-
│ │ │
|
|
30
|
-
│ [Continue...] │
|
|
31
|
-
│ │
|
|
32
|
-
└─────────────────────────────────────────────────────────────┘
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Configuration
|
|
38
|
-
|
|
39
|
-
### Fallback Chain Setup
|
|
40
|
-
|
|
41
|
-
```yaml
|
|
42
|
-
ai:
|
|
43
|
-
fallbacks:
|
|
44
|
-
enabled: true
|
|
45
|
-
|
|
46
|
-
# Primary chain
|
|
47
|
-
chain:
|
|
48
|
-
- model: "claude-3-opus"
|
|
49
|
-
provider: "anthropic"
|
|
50
|
-
- model: "gpt-4-turbo"
|
|
51
|
-
provider: "openai"
|
|
52
|
-
- model: "claude-3-sonnet"
|
|
53
|
-
provider: "anthropic"
|
|
54
|
-
- model: "gpt-4"
|
|
55
|
-
provider: "openai"
|
|
56
|
-
- model: "claude-3-haiku"
|
|
57
|
-
provider: "anthropic"
|
|
58
|
-
|
|
59
|
-
# When to trigger fallback
|
|
60
|
-
triggers:
|
|
61
|
-
- "rate_limit"
|
|
62
|
-
- "timeout"
|
|
63
|
-
- "service_unavailable"
|
|
64
|
-
- "model_overloaded"
|
|
65
|
-
- "quota_exceeded"
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Provider-Specific Settings
|
|
69
|
-
|
|
70
|
-
```yaml
|
|
71
|
-
ai:
|
|
72
|
-
providers:
|
|
73
|
-
anthropic:
|
|
74
|
-
api_key_env: "ANTHROPIC_API_KEY"
|
|
75
|
-
timeout: 30000
|
|
76
|
-
max_retries: 2
|
|
77
|
-
|
|
78
|
-
openai:
|
|
79
|
-
api_key_env: "OPENAI_API_KEY"
|
|
80
|
-
timeout: 30000
|
|
81
|
-
max_retries: 2
|
|
82
|
-
|
|
83
|
-
google:
|
|
84
|
-
api_key_env: "GOOGLE_AI_KEY"
|
|
85
|
-
timeout: 30000
|
|
86
|
-
max_retries: 2
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Fallback Triggers
|
|
92
|
-
|
|
93
|
-
### Automatic Triggers
|
|
94
|
-
|
|
95
|
-
| Trigger | Description | Action |
|
|
96
|
-
|---------|-------------|--------|
|
|
97
|
-
| `rate_limit` | API rate limit hit | Immediate fallback |
|
|
98
|
-
| `timeout` | Request timed out | Retry then fallback |
|
|
99
|
-
| `service_unavailable` | 503 error | Immediate fallback |
|
|
100
|
-
| `model_overloaded` | Model capacity | Immediate fallback |
|
|
101
|
-
| `quota_exceeded` | Billing limit | Fallback + alert |
|
|
102
|
-
| `error_5xx` | Server errors | Retry then fallback |
|
|
103
|
-
|
|
104
|
-
### Configuration
|
|
105
|
-
|
|
106
|
-
```yaml
|
|
107
|
-
ai:
|
|
108
|
-
fallbacks:
|
|
109
|
-
triggers:
|
|
110
|
-
rate_limit:
|
|
111
|
-
action: "immediate_fallback"
|
|
112
|
-
notify: false
|
|
113
|
-
|
|
114
|
-
timeout:
|
|
115
|
-
threshold: 30000 # ms
|
|
116
|
-
retry_count: 1
|
|
117
|
-
action: "retry_then_fallback"
|
|
118
|
-
|
|
119
|
-
quota_exceeded:
|
|
120
|
-
action: "fallback_and_alert"
|
|
121
|
-
alert_channel: "slack:#ai-alerts"
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## Retry Logic
|
|
127
|
-
|
|
128
|
-
### Retry Configuration
|
|
129
|
-
|
|
130
|
-
```yaml
|
|
131
|
-
ai:
|
|
132
|
-
fallbacks:
|
|
133
|
-
retry:
|
|
134
|
-
enabled: true
|
|
135
|
-
max_attempts: 3
|
|
136
|
-
|
|
137
|
-
# Backoff strategy
|
|
138
|
-
backoff:
|
|
139
|
-
type: "exponential" # exponential, linear, fixed
|
|
140
|
-
initial_delay: 1000 # ms
|
|
141
|
-
max_delay: 10000 # ms
|
|
142
|
-
multiplier: 2
|
|
143
|
-
|
|
144
|
-
# Retry conditions
|
|
145
|
-
retry_on:
|
|
146
|
-
- "timeout"
|
|
147
|
-
- "error_5xx"
|
|
148
|
-
- "network_error"
|
|
149
|
-
|
|
150
|
-
# Don't retry these
|
|
151
|
-
no_retry:
|
|
152
|
-
- "rate_limit"
|
|
153
|
-
- "invalid_request"
|
|
154
|
-
- "auth_error"
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### Retry Flow
|
|
158
|
-
|
|
159
|
-
```
|
|
160
|
-
Request Failed
|
|
161
|
-
│
|
|
162
|
-
▼
|
|
163
|
-
[Retryable Error?]
|
|
164
|
-
│
|
|
165
|
-
Yes ──▶ Wait (backoff) ──▶ Retry
|
|
166
|
-
│ │
|
|
167
|
-
│ [Max Attempts?]
|
|
168
|
-
│ │
|
|
169
|
-
│ Yes ──▶ Fallback to Next Model
|
|
170
|
-
│ │
|
|
171
|
-
│ No ──▶ Retry Again
|
|
172
|
-
│
|
|
173
|
-
No ──▶ Fallback Immediately
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
## Graceful Degradation
|
|
179
|
-
|
|
180
|
-
### Quality Tiers
|
|
181
|
-
|
|
182
|
-
```yaml
|
|
183
|
-
ai:
|
|
184
|
-
fallbacks:
|
|
185
|
-
degradation:
|
|
186
|
-
# Define quality tiers
|
|
187
|
-
tiers:
|
|
188
|
-
premium:
|
|
189
|
-
models: ["claude-3-opus", "gpt-4-turbo"]
|
|
190
|
-
features: ["full"]
|
|
191
|
-
|
|
192
|
-
standard:
|
|
193
|
-
models: ["claude-3-sonnet", "gpt-4"]
|
|
194
|
-
features: ["full"]
|
|
195
|
-
|
|
196
|
-
basic:
|
|
197
|
-
models: ["claude-3-haiku", "gpt-3.5-turbo"]
|
|
198
|
-
features: ["limited"]
|
|
199
|
-
disabled:
|
|
200
|
-
- "complex_analysis"
|
|
201
|
-
- "large_context"
|
|
202
|
-
|
|
203
|
-
# Notify on degradation
|
|
204
|
-
notify_on_degradation: true
|
|
205
|
-
notification_channel: "slack:#ai-status"
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### Feature Limitations
|
|
209
|
-
|
|
210
|
-
```yaml
|
|
211
|
-
ai:
|
|
212
|
-
fallbacks:
|
|
213
|
-
degradation:
|
|
214
|
-
feature_fallbacks:
|
|
215
|
-
# If complex analysis unavailable
|
|
216
|
-
complex_analysis:
|
|
217
|
-
fallback_to: "basic_analysis"
|
|
218
|
-
notify: true
|
|
219
|
-
|
|
220
|
-
# If large context unavailable
|
|
221
|
-
large_context:
|
|
222
|
-
fallback_to: "chunked_processing"
|
|
223
|
-
max_chunk_size: 4000
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
|
|
228
|
-
## Health Monitoring
|
|
229
|
-
|
|
230
|
-
### Provider Health Checks
|
|
231
|
-
|
|
232
|
-
```yaml
|
|
233
|
-
ai:
|
|
234
|
-
health:
|
|
235
|
-
enabled: true
|
|
236
|
-
check_interval: "60s"
|
|
237
|
-
|
|
238
|
-
checks:
|
|
239
|
-
anthropic:
|
|
240
|
-
endpoint: "https://api.anthropic.com/health"
|
|
241
|
-
timeout: 5000
|
|
242
|
-
|
|
243
|
-
openai:
|
|
244
|
-
endpoint: "https://api.openai.com/v1/models"
|
|
245
|
-
timeout: 5000
|
|
246
|
-
|
|
247
|
-
# Pre-emptive fallback
|
|
248
|
-
preemptive:
|
|
249
|
-
enabled: true
|
|
250
|
-
unhealthy_threshold: 3 # consecutive failures
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
### Health Dashboard
|
|
254
|
-
|
|
255
|
-
```
|
|
256
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
257
|
-
│ AI Provider Health │
|
|
258
|
-
├─────────────────────────────────────────────────────────────┤
|
|
259
|
-
│ │
|
|
260
|
-
│ Anthropic │
|
|
261
|
-
│ ├── claude-3-opus: ✅ Healthy (45ms) │
|
|
262
|
-
│ ├── claude-3-sonnet: ✅ Healthy (32ms) │
|
|
263
|
-
│ └── claude-3-haiku: ✅ Healthy (28ms) │
|
|
264
|
-
│ │
|
|
265
|
-
│ OpenAI │
|
|
266
|
-
│ ├── gpt-4-turbo: ✅ Healthy (120ms) │
|
|
267
|
-
│ ├── gpt-4: ⚠️ Degraded (850ms) │
|
|
268
|
-
│ └── gpt-3.5-turbo: ✅ Healthy (95ms) │
|
|
269
|
-
│ │
|
|
270
|
-
│ Current Routing: claude-3-opus (primary) │
|
|
271
|
-
│ Fallback Ready: gpt-4-turbo │
|
|
272
|
-
│ │
|
|
273
|
-
└─────────────────────────────────────────────────────────────┘
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
---
|
|
277
|
-
|
|
278
|
-
## Fallback Logging
|
|
279
|
-
|
|
280
|
-
### Log Events
|
|
281
|
-
|
|
282
|
-
```yaml
|
|
283
|
-
ai:
|
|
284
|
-
fallbacks:
|
|
285
|
-
logging:
|
|
286
|
-
enabled: true
|
|
287
|
-
|
|
288
|
-
log_events:
|
|
289
|
-
- "fallback_triggered"
|
|
290
|
-
- "retry_attempt"
|
|
291
|
-
- "provider_switch"
|
|
292
|
-
- "degradation_activated"
|
|
293
|
-
|
|
294
|
-
include:
|
|
295
|
-
- "original_model"
|
|
296
|
-
- "fallback_model"
|
|
297
|
-
- "trigger_reason"
|
|
298
|
-
- "latency"
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
### Log Example
|
|
302
|
-
|
|
303
|
-
```json
|
|
304
|
-
{
|
|
305
|
-
"event": "fallback_triggered",
|
|
306
|
-
"timestamp": "2024-01-15T10:30:00Z",
|
|
307
|
-
"original_model": "claude-3-opus",
|
|
308
|
-
"fallback_model": "gpt-4-turbo",
|
|
309
|
-
"trigger": "rate_limit",
|
|
310
|
-
"retry_attempts": 0,
|
|
311
|
-
"latency_impact": "+150ms"
|
|
312
|
-
}
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
---
|
|
316
|
-
|
|
317
|
-
## Commands
|
|
318
|
-
|
|
319
|
-
```bash
|
|
320
|
-
# Check fallback status
|
|
321
|
-
proagents ai fallback-status
|
|
322
|
-
|
|
323
|
-
# Test fallback chain
|
|
324
|
-
proagents ai test-fallback
|
|
325
|
-
|
|
326
|
-
# Force fallback (for testing)
|
|
327
|
-
proagents ai use-fallback --model gpt-4
|
|
328
|
-
|
|
329
|
-
# View fallback history
|
|
330
|
-
proagents ai fallback-history --last 24h
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
---
|
|
334
|
-
|
|
335
|
-
## Best Practices
|
|
336
|
-
|
|
337
|
-
1. **Multiple Providers**: Use models from different providers
|
|
338
|
-
2. **Similar Capabilities**: Fallback models should have similar features
|
|
339
|
-
3. **Monitor Costs**: Track cost differences between models
|
|
340
|
-
4. **Test Regularly**: Periodically test fallback chain
|
|
341
|
-
5. **Alert on Fallback**: Know when primary is unavailable
|
|
342
|
-
6. **Graceful Degradation**: Plan for reduced capabilities
|
|
@@ -1,318 +0,0 @@
|
|
|
1
|
-
# Model Configuration
|
|
2
|
-
|
|
3
|
-
Configure AI models and providers for your workflow.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Provider Setup
|
|
8
|
-
|
|
9
|
-
### Anthropic (Claude)
|
|
10
|
-
|
|
11
|
-
```yaml
|
|
12
|
-
ai:
|
|
13
|
-
providers:
|
|
14
|
-
anthropic:
|
|
15
|
-
api_key: "${ANTHROPIC_API_KEY}"
|
|
16
|
-
base_url: "https://api.anthropic.com" # Optional
|
|
17
|
-
|
|
18
|
-
models:
|
|
19
|
-
claude-3-opus:
|
|
20
|
-
max_tokens: 4096
|
|
21
|
-
temperature: 0.7
|
|
22
|
-
context_window: 200000
|
|
23
|
-
|
|
24
|
-
claude-3-sonnet:
|
|
25
|
-
max_tokens: 4096
|
|
26
|
-
temperature: 0.7
|
|
27
|
-
context_window: 200000
|
|
28
|
-
|
|
29
|
-
claude-3-haiku:
|
|
30
|
-
max_tokens: 4096
|
|
31
|
-
temperature: 0.7
|
|
32
|
-
context_window: 200000
|
|
33
|
-
|
|
34
|
-
rate_limits:
|
|
35
|
-
requests_per_minute: 50
|
|
36
|
-
tokens_per_minute: 100000
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### OpenAI (GPT)
|
|
40
|
-
|
|
41
|
-
```yaml
|
|
42
|
-
ai:
|
|
43
|
-
providers:
|
|
44
|
-
openai:
|
|
45
|
-
api_key: "${OPENAI_API_KEY}"
|
|
46
|
-
organization: "${OPENAI_ORG}" # Optional
|
|
47
|
-
|
|
48
|
-
models:
|
|
49
|
-
gpt-4-turbo:
|
|
50
|
-
max_tokens: 4096
|
|
51
|
-
temperature: 0.7
|
|
52
|
-
context_window: 128000
|
|
53
|
-
|
|
54
|
-
gpt-4:
|
|
55
|
-
max_tokens: 8192
|
|
56
|
-
temperature: 0.7
|
|
57
|
-
context_window: 8192
|
|
58
|
-
|
|
59
|
-
gpt-3.5-turbo:
|
|
60
|
-
max_tokens: 4096
|
|
61
|
-
temperature: 0.7
|
|
62
|
-
context_window: 16384
|
|
63
|
-
|
|
64
|
-
rate_limits:
|
|
65
|
-
requests_per_minute: 60
|
|
66
|
-
tokens_per_minute: 90000
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### Google (Gemini)
|
|
70
|
-
|
|
71
|
-
```yaml
|
|
72
|
-
ai:
|
|
73
|
-
providers:
|
|
74
|
-
google:
|
|
75
|
-
api_key: "${GOOGLE_API_KEY}"
|
|
76
|
-
project_id: "${GOOGLE_PROJECT}" # For Vertex AI
|
|
77
|
-
|
|
78
|
-
models:
|
|
79
|
-
gemini-pro:
|
|
80
|
-
max_tokens: 2048
|
|
81
|
-
temperature: 0.7
|
|
82
|
-
context_window: 32000
|
|
83
|
-
|
|
84
|
-
gemini-ultra:
|
|
85
|
-
max_tokens: 8192
|
|
86
|
-
temperature: 0.7
|
|
87
|
-
context_window: 32000
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### Local Models (Ollama)
|
|
91
|
-
|
|
92
|
-
```yaml
|
|
93
|
-
ai:
|
|
94
|
-
providers:
|
|
95
|
-
ollama:
|
|
96
|
-
base_url: "http://localhost:11434"
|
|
97
|
-
|
|
98
|
-
models:
|
|
99
|
-
llama2:
|
|
100
|
-
context_window: 4096
|
|
101
|
-
temperature: 0.7
|
|
102
|
-
|
|
103
|
-
codellama:
|
|
104
|
-
context_window: 16384
|
|
105
|
-
temperature: 0.5
|
|
106
|
-
|
|
107
|
-
mistral:
|
|
108
|
-
context_window: 8192
|
|
109
|
-
temperature: 0.7
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## Model Selection
|
|
115
|
-
|
|
116
|
-
### Default Model
|
|
117
|
-
|
|
118
|
-
```yaml
|
|
119
|
-
ai:
|
|
120
|
-
default_provider: "anthropic"
|
|
121
|
-
default_model: "claude-3-sonnet"
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
### Per-Task Models
|
|
125
|
-
|
|
126
|
-
```yaml
|
|
127
|
-
ai:
|
|
128
|
-
task_routing:
|
|
129
|
-
# Complex analysis
|
|
130
|
-
code_analysis:
|
|
131
|
-
model: "claude-3-opus"
|
|
132
|
-
reason: "Best for deep code understanding"
|
|
133
|
-
|
|
134
|
-
# Code generation
|
|
135
|
-
code_generation:
|
|
136
|
-
model: "claude-3-sonnet"
|
|
137
|
-
reason: "Good balance of speed and quality"
|
|
138
|
-
|
|
139
|
-
# Quick tasks
|
|
140
|
-
quick_tasks:
|
|
141
|
-
model: "claude-3-haiku"
|
|
142
|
-
reason: "Fast for simple tasks"
|
|
143
|
-
|
|
144
|
-
# Documentation
|
|
145
|
-
documentation:
|
|
146
|
-
model: "gpt-4"
|
|
147
|
-
reason: "Good at technical writing"
|
|
148
|
-
|
|
149
|
-
# Tests
|
|
150
|
-
test_generation:
|
|
151
|
-
model: "claude-3-sonnet"
|
|
152
|
-
reason: "Understands code context well"
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
## Model Parameters
|
|
158
|
-
|
|
159
|
-
### Temperature
|
|
160
|
-
|
|
161
|
-
Controls randomness/creativity:
|
|
162
|
-
|
|
163
|
-
```yaml
|
|
164
|
-
models:
|
|
165
|
-
# Creative tasks (docs, names)
|
|
166
|
-
creative:
|
|
167
|
-
temperature: 0.9
|
|
168
|
-
|
|
169
|
-
# Balanced tasks (code)
|
|
170
|
-
balanced:
|
|
171
|
-
temperature: 0.7
|
|
172
|
-
|
|
173
|
-
# Deterministic tasks (analysis)
|
|
174
|
-
precise:
|
|
175
|
-
temperature: 0.3
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
### Max Tokens
|
|
179
|
-
|
|
180
|
-
Control response length:
|
|
181
|
-
|
|
182
|
-
```yaml
|
|
183
|
-
models:
|
|
184
|
-
# Short responses
|
|
185
|
-
short:
|
|
186
|
-
max_tokens: 1024
|
|
187
|
-
|
|
188
|
-
# Standard responses
|
|
189
|
-
standard:
|
|
190
|
-
max_tokens: 4096
|
|
191
|
-
|
|
192
|
-
# Long responses
|
|
193
|
-
long:
|
|
194
|
-
max_tokens: 8192
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
### System Prompts
|
|
198
|
-
|
|
199
|
-
```yaml
|
|
200
|
-
ai:
|
|
201
|
-
system_prompts:
|
|
202
|
-
code_analysis: |
|
|
203
|
-
You are an expert code analyst. Analyze the provided code
|
|
204
|
-
for patterns, issues, and improvements.
|
|
205
|
-
|
|
206
|
-
code_generation: |
|
|
207
|
-
You are a senior developer. Write clean, well-documented
|
|
208
|
-
code following the project's conventions.
|
|
209
|
-
|
|
210
|
-
documentation: |
|
|
211
|
-
You are a technical writer. Write clear, concise
|
|
212
|
-
documentation for developers.
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
## Model Comparison
|
|
218
|
-
|
|
219
|
-
### Claude Models
|
|
220
|
-
|
|
221
|
-
| Model | Speed | Quality | Cost | Best For |
|
|
222
|
-
|-------|-------|---------|------|----------|
|
|
223
|
-
| Opus | Slow | Excellent | $$$ | Complex analysis |
|
|
224
|
-
| Sonnet | Medium | Very Good | $$ | General development |
|
|
225
|
-
| Haiku | Fast | Good | $ | Quick tasks |
|
|
226
|
-
|
|
227
|
-
### OpenAI Models
|
|
228
|
-
|
|
229
|
-
| Model | Speed | Quality | Cost | Best For |
|
|
230
|
-
|-------|-------|---------|------|----------|
|
|
231
|
-
| GPT-4 Turbo | Fast | Excellent | $$ | Large context tasks |
|
|
232
|
-
| GPT-4 | Medium | Excellent | $$$ | Complex reasoning |
|
|
233
|
-
| GPT-3.5 | Fast | Good | $ | Simple tasks |
|
|
234
|
-
|
|
235
|
-
### Selection Guide
|
|
236
|
-
|
|
237
|
-
```
|
|
238
|
-
Task Complexity → Model Selection
|
|
239
|
-
|
|
240
|
-
Simple (config, typos) → Haiku / GPT-3.5
|
|
241
|
-
Medium (bug fixes, small) → Sonnet / GPT-4 Turbo
|
|
242
|
-
Complex (architecture) → Opus / GPT-4
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
---
|
|
246
|
-
|
|
247
|
-
## Testing Models
|
|
248
|
-
|
|
249
|
-
### Connectivity Test
|
|
250
|
-
|
|
251
|
-
```bash
|
|
252
|
-
# Test all configured providers
|
|
253
|
-
proagents ai test
|
|
254
|
-
|
|
255
|
-
# Test specific provider
|
|
256
|
-
proagents ai test --provider anthropic
|
|
257
|
-
|
|
258
|
-
# Test specific model
|
|
259
|
-
proagents ai test --model claude-3-opus
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
### Output
|
|
263
|
-
|
|
264
|
-
```
|
|
265
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
266
|
-
│ AI Model Test Results │
|
|
267
|
-
├─────────────────────────────────────────────────────────────┤
|
|
268
|
-
│ │
|
|
269
|
-
│ Anthropic: │
|
|
270
|
-
│ ├── claude-3-opus: ✅ Connected (latency: 450ms) │
|
|
271
|
-
│ ├── claude-3-sonnet: ✅ Connected (latency: 280ms) │
|
|
272
|
-
│ └── claude-3-haiku: ✅ Connected (latency: 120ms) │
|
|
273
|
-
│ │
|
|
274
|
-
│ OpenAI: │
|
|
275
|
-
│ ├── gpt-4-turbo: ✅ Connected (latency: 380ms) │
|
|
276
|
-
│ ├── gpt-4: ✅ Connected (latency: 520ms) │
|
|
277
|
-
│ └── gpt-3.5-turbo: ✅ Connected (latency: 150ms) │
|
|
278
|
-
│ │
|
|
279
|
-
│ Google: │
|
|
280
|
-
│ └── gemini-pro: ❌ API key invalid │
|
|
281
|
-
│ │
|
|
282
|
-
└─────────────────────────────────────────────────────────────┘
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
---
|
|
286
|
-
|
|
287
|
-
## Environment Variables
|
|
288
|
-
|
|
289
|
-
| Variable | Description |
|
|
290
|
-
|----------|-------------|
|
|
291
|
-
| `ANTHROPIC_API_KEY` | Anthropic API key |
|
|
292
|
-
| `OPENAI_API_KEY` | OpenAI API key |
|
|
293
|
-
| `OPENAI_ORG` | OpenAI organization ID |
|
|
294
|
-
| `GOOGLE_API_KEY` | Google AI API key |
|
|
295
|
-
| `PROAGENTS_DEFAULT_MODEL` | Override default model |
|
|
296
|
-
|
|
297
|
-
### Secure Key Storage
|
|
298
|
-
|
|
299
|
-
```bash
|
|
300
|
-
# Use system keychain
|
|
301
|
-
proagents ai config --set-key anthropic --secure
|
|
302
|
-
|
|
303
|
-
# Use environment file
|
|
304
|
-
# .env.local (gitignored)
|
|
305
|
-
ANTHROPIC_API_KEY=sk-ant-...
|
|
306
|
-
OPENAI_API_KEY=sk-...
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
---
|
|
310
|
-
|
|
311
|
-
## Best Practices
|
|
312
|
-
|
|
313
|
-
1. **Start with Sonnet/GPT-4**: Good balance for most tasks
|
|
314
|
-
2. **Use Haiku for Speed**: Quick operations, simple fixes
|
|
315
|
-
3. **Reserve Opus for Complex**: Deep analysis, architecture
|
|
316
|
-
4. **Set Cost Limits**: Prevent unexpected charges
|
|
317
|
-
5. **Test Regularly**: Ensure API keys are valid
|
|
318
|
-
6. **Use Environment Variables**: Never commit API keys
|