feat: Add default_enhance_level to config system
- Add default_enhance_level setting (default: 1 = SKILL.md only)
- --enhance flag now uses config default instead of hardcoded 1
- Show enhance level in config --show output
Users can change default via config file:
~/.config/skill-seekers/config.json
"ai_enhancement": {
"default_enhance_level": 2,
...
}
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -35,6 +35,7 @@ class ConfigManager:
|
|||||||
"resume": {"auto_save_interval_seconds": 60, "keep_progress_days": 7},
|
"resume": {"auto_save_interval_seconds": 60, "keep_progress_days": 7},
|
||||||
"api_keys": {"anthropic": None, "google": None, "openai": None},
|
"api_keys": {"anthropic": None, "google": None, "openai": None},
|
||||||
"ai_enhancement": {
|
"ai_enhancement": {
|
||||||
|
"default_enhance_level": 1, # Default AI enhancement level (0-3)
|
||||||
"local_batch_size": 20, # Patterns per Claude CLI call (default was 5)
|
"local_batch_size": 20, # Patterns per Claude CLI call (default was 5)
|
||||||
"local_parallel_workers": 3, # Concurrent Claude CLI calls
|
"local_parallel_workers": 3, # Concurrent Claude CLI calls
|
||||||
},
|
},
|
||||||
@@ -384,6 +385,19 @@ class ConfigManager:
|
|||||||
|
|
||||||
# AI Enhancement Settings
|
# AI Enhancement Settings
|
||||||
|
|
||||||
|
def get_default_enhance_level(self) -> int:
|
||||||
|
"""Get default AI enhancement level (0-3)."""
|
||||||
|
return self.config.get("ai_enhancement", {}).get("default_enhance_level", 1)
|
||||||
|
|
||||||
|
def set_default_enhance_level(self, level: int):
|
||||||
|
"""Set default AI enhancement level (0-3)."""
|
||||||
|
if level not in [0, 1, 2, 3]:
|
||||||
|
raise ValueError("enhance_level must be 0, 1, 2, or 3")
|
||||||
|
if "ai_enhancement" not in self.config:
|
||||||
|
self.config["ai_enhancement"] = {}
|
||||||
|
self.config["ai_enhancement"]["default_enhance_level"] = level
|
||||||
|
self.save_config()
|
||||||
|
|
||||||
def get_local_batch_size(self) -> int:
|
def get_local_batch_size(self) -> int:
|
||||||
"""Get batch size for LOCAL mode AI enhancement."""
|
"""Get batch size for LOCAL mode AI enhancement."""
|
||||||
return self.config.get("ai_enhancement", {}).get("local_batch_size", 20)
|
return self.config.get("ai_enhancement", {}).get("local_batch_size", 20)
|
||||||
@@ -472,7 +486,10 @@ class ConfigManager:
|
|||||||
print(f" • Keep progress for: {self.config['resume']['keep_progress_days']} days")
|
print(f" • Keep progress for: {self.config['resume']['keep_progress_days']} days")
|
||||||
|
|
||||||
# AI Enhancement settings
|
# AI Enhancement settings
|
||||||
print("\nAI Enhancement (LOCAL mode):")
|
level_names = {0: "off", 1: "SKILL.md only", 2: "standard", 3: "full"}
|
||||||
|
default_level = self.get_default_enhance_level()
|
||||||
|
print("\nAI Enhancement:")
|
||||||
|
print(f" • Default level: {default_level} ({level_names.get(default_level, 'unknown')})")
|
||||||
print(f" • Batch size: {self.get_local_batch_size()} patterns per call")
|
print(f" • Batch size: {self.get_local_batch_size()} patterns per call")
|
||||||
print(f" • Parallel workers: {self.get_local_parallel_workers()} concurrent calls")
|
print(f" • Parallel workers: {self.get_local_parallel_workers()} concurrent calls")
|
||||||
|
|
||||||
|
|||||||
@@ -572,13 +572,19 @@ def main(argv: list[str] | None = None) -> int:
|
|||||||
sys.argv.extend(["--depth", args.depth])
|
sys.argv.extend(["--depth", args.depth])
|
||||||
|
|
||||||
# Determine enhance_level (independent of --comprehensive)
|
# Determine enhance_level (independent of --comprehensive)
|
||||||
# Priority: explicit --enhance-level > --enhance (level 1) > --quick (level 0) > 0
|
# Priority: explicit --enhance-level > --enhance (uses config default) > --quick (level 0) > 0
|
||||||
if args.enhance_level is not None:
|
if args.enhance_level is not None:
|
||||||
enhance_level = args.enhance_level
|
enhance_level = args.enhance_level
|
||||||
elif args.quick:
|
elif args.quick:
|
||||||
enhance_level = 0 # Quick mode disables AI
|
enhance_level = 0 # Quick mode disables AI
|
||||||
elif args.enhance:
|
elif args.enhance:
|
||||||
enhance_level = 1 # --enhance defaults to level 1
|
# Use default from config (default: 1)
|
||||||
|
try:
|
||||||
|
from skill_seekers.cli.config_manager import get_config_manager
|
||||||
|
config = get_config_manager()
|
||||||
|
enhance_level = config.get_default_enhance_level()
|
||||||
|
except Exception:
|
||||||
|
enhance_level = 1 # Fallback to level 1
|
||||||
else:
|
else:
|
||||||
enhance_level = 0 # Default: no AI
|
enhance_level = 0 # Default: no AI
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user