OrChat v1.3.1
What's New in OrChat 1.3.1
✨ New Features
- Auto-Update System: Added automatic update checking at startup - OrChat now checks for new versions via pip and prompts users to update, making it easier to stay current with new releases. (#18)
- Multi-line Input Support: Implemented multi-line message support using
Esc+Enter
key combination, allowing users to compose longer, multi-paragraph messages with visual feedback. (#15) - Smart File Picker: Replaced
/attach
and/upload
commands with a modern#
file picker that provides intelligent auto-completion, file browsing, and can be used anywhere in your message (e.g.,analyze #config.py and tell me what it does
).
🎨 UI/UX Improvements
- Interactive File Browser: The new file picker displays files with appropriate icons (🐍 Python, 📄 Text, 🖼️ Images), file sizes, and directory navigation with a clean popup interface.
- Enhanced Input Experience: Multi-line mode shows
[Multi-line]
status indicator and provides seamless toggling between single and multi-line input modes. - Improved File Attachment Flow: Natural language file attachment - users can now write
"examine #test.py and check for errors please"
instead of separate commands.
🛠️ Technical Improvements
- Accurate Token Counting: Fixed token counting inaccuracies by using OpenRouter API's actual usage data instead of local tiktoken estimates, providing precise counts for attachments, system prompts, and thinking content. (#13)
- Code Refactoring: Comprehensive optimization of main.py reduced codebase by 264 lines (8.7% improvement) while maintaining full functionality and improving maintainability.
- Enhanced Security: Added robust file validation, improved error handling, and implemented better configuration management with type hints throughout.
🐛 Bug Fixes
- Free Model Pricing: Fixed cost calculation bug where free models (ending with
:free
) were incorrectly showing monetary costs instead of displaying "FREE". - Command Cleanup: Removed non-functional
/compress
command that was causing "Unknown command" errors. - File Picker Context: Fixed issue where typing additional text after filename (e.g.,
#file.py carefully
) wasn't working correctly - now properly separates filename from additional message context. - Multi-position File Picker: File picker now works anywhere in your message, not just at the beginning of prompts.
🔧 Performance Enhancements
- Optimized Imports: Reorganized and streamlined imports for faster startup times.
- Improved Memory Usage: Enhanced class structures and reduced code duplication for better resource utilization.
- Better Error Handling: Added comprehensive error handling with graceful fallbacks throughout the application.
🙏 Thanks
- Special thanks to @e-ndorfin for reporting the token counting bug that led to the API usage integration improvement.
⬆️ Updating
To upgrade to this version from a previous one installed via pip, run:
pip install --upgrade orchat
Note: OrChat now includes automatic update checking, so you'll be notified when future updates are available!