fix: add context window management to prevent runaway API costs
Implements critical safeguards for OpenRouter integration: - Context truncation: sliding window keeps max 20 messages (configurable) - Token limits: hard cap at 100k estimated tokens per request - Cost tracking: logs token usage and estimated cost per API call - High-usage warnings: alerts when single request exceeds 50k tokens New settings: - CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES (default: 20) - CLAUDE_MEM_OPENROUTER_MAX_TOKENS (default: 100000) Prevents exponential context growth that caused $300 runaway charges in initial testing. Context now automatically truncates to most recent messages within token budget, with detailed logging for monitoring. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -26,6 +26,8 @@ export interface SettingsDefaults {
|
||||
CLAUDE_MEM_OPENROUTER_MODEL: string;
|
||||
CLAUDE_MEM_OPENROUTER_SITE_URL: string;
|
||||
CLAUDE_MEM_OPENROUTER_APP_NAME: string;
|
||||
CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES: string;
|
||||
CLAUDE_MEM_OPENROUTER_MAX_TOKENS: string;
|
||||
// System Configuration
|
||||
CLAUDE_MEM_DATA_DIR: string;
|
||||
CLAUDE_MEM_LOG_LEVEL: string;
|
||||
@@ -68,6 +70,8 @@ export class SettingsDefaultsManager {
|
||||
CLAUDE_MEM_OPENROUTER_MODEL: 'anthropic/claude-3.5-sonnet', // Default OpenRouter model
|
||||
CLAUDE_MEM_OPENROUTER_SITE_URL: '', // Optional: for OpenRouter analytics
|
||||
CLAUDE_MEM_OPENROUTER_APP_NAME: 'claude-mem', // App name for OpenRouter analytics
|
||||
CLAUDE_MEM_OPENROUTER_MAX_CONTEXT_MESSAGES: '20', // Max messages in context window
|
||||
CLAUDE_MEM_OPENROUTER_MAX_TOKENS: '100000', // Max estimated tokens (~100k safety limit)
|
||||
// System Configuration
|
||||
CLAUDE_MEM_DATA_DIR: join(homedir(), '.claude-mem'),
|
||||
CLAUDE_MEM_LOG_LEVEL: 'INFO',
|
||||
|
||||
Reference in New Issue
Block a user