- Enhanced logging in agent loop for better debugging
- Added workaround for litellm's os.getcwd() issue when directory is deleted
- Improved tool result logging and iteration tracking
- Merged latest 166 commits from origin/main
- Resolved conflicts in .gitignore, commands.py, schema.py, providers/__init__.py, and registry.py
- Kept both local providers (Ollama, AirLLM) and new providers from main
- Preserved transformers 4.39.3 compatibility fixes
- Combined error handling improvements with new features
- Add DuckDuckGo search fallback when Brave API key is not available
- Web search now works without requiring an API key
- Falls back to DuckDuckGo if BRAVE_API_KEY is not set
- Maintains backward compatibility with Brave API when key is provided
- Improve error handling in agent CLI command
- Better exception handling with traceback display
- Prevents crashes from showing incomplete error messages
- Improves debugging experience
- Fix RoPE scaling compatibility: automatically convert unsupported 'llama3' type to 'linear' for local models
- Patch LlamaSdpaAttention to filter out position_embeddings argument that AirLLM passes but transformers 4.39.3 doesn't accept
- Add better error handling with specific guidance for compatibility issues
- Fix config file modification for local models with unsupported rope_scaling types
- Improve error messages to help diagnose transformers version compatibility issues
These fixes allow nanobot to work with transformers 4.39.3 and AirLLM.
- Remove Qwen/DashScope provider and all Qwen-specific code
- Remove gateway providers (OpenRouter, AiHubMix)
- Remove cloud providers (Anthropic, OpenAI, Gemini, Zhipu, Moonshot, MiniMax, Groq)
- Update default model from Platypus to llama3.2
- Remove Platypus references throughout codebase
- Add AirLLM provider support with local model path support
- Update setup scripts to only show Llama models
- Clean up provider registry and config schema