windsurf-memory-optimization
Version:
Memory optimization tools for Windsurf AI
68 lines (56 loc) • 2.06 kB
JavaScript
const fs = require('fs');
const path = require('path');
// Nội dung cấu hình mặc định
const config = `# Memory Settings
max_context_window = 128000
persistence_interval = 300s
context_retention = 72h
auto_anchor_threshold = 0.7
# Priority Anchors
file_patterns =
*.controller.js => priority=0.9
*-service.ts => priority=0.8
Dockerfile => priority=1.0
# Model Preferences
model_preference.default_model = claude-3.7-sonnet
model_preference.fallback_model = codeium-nexus
# Performance Settings
performance.disable_live_preview = true
performance.max_parallel_tasks = 2
performance.batch_completions = true
performance.optimize_memory = true
# Auto Management Settings
auto.scan_interval = 600s
auto.snapshot_interval = 3600s
auto.snapshot_retention = 7d`;
// Đường dẫn đến thư mục project
const projectRoot = process.cwd();
const configPath = path.join(projectRoot, '.windsurfrules');
// Kiểm tra và tạo file cấu hình nếu chưa tồn tại
if (!fs.existsSync(configPath)) {
console.log('Initializing Windsurf Memory configuration...');
fs.writeFileSync(configPath, config);
console.log('Configuration file created at:', configPath);
} else {
console.log('Configuration file already exists at:', configPath);
}
// Tạo thư mục snapshots nếu chưa tồn tại
const snapshotsDir = path.join(projectRoot, '.windsurf', 'snapshots');
if (!fs.existsSync(snapshotsDir)) {
fs.mkdirSync(snapshotsDir, { recursive: true });
console.log('Created snapshots directory at:', snapshotsDir);
}
// Tạo file cấu hình tối ưu
const optimizationConfig = `# Optimization Settings
disable_live_preview = true
max_parallel_tasks = 2
batch_completions = true
optimize_memory = true
# Memory Limits
max_file_size = 10000000
priority_retention = 48h`;
const optimizationPath = path.join(projectRoot, '.windsurf', 'config.ini');
if (!fs.existsSync(optimizationPath)) {
fs.writeFileSync(optimizationPath, optimizationConfig);
console.log('Created optimization configuration at:', optimizationPath);
}