Releases: oop7/OrChat
OrChat v1.2.9
Changelog
✨ New Features
- Command History: Added the ability to navigate through previous commands by pressing the "up" arrow key. (#9)
- Markdown Output: Implemented support for displaying markdown formatting (bolding, code snippets, etc.) in the output. (#10)
🎨 UI/UX Improvements
- Enhanced Markdown Formatting: Improved how thinking and normal content are formatted and displayed using native Rich markdown. (#11)
- Improved Auto-completion: Enhancements have been made to the auto-completion feature for a smoother user experience.
🛠️ Technical Improvements
- Dynamic Max Token Management: Switched to using dynamic max tokens based on the model rather than a hardcoded value. (#14)
🐛 Bug Fixes
- Max Tokens Issue: Resolved an issue where max tokens were hardcoded, improving token management. (#12)
- Pricing Calculation Fix: Corrected pricing calculations by removing unnecessary division by 1000 and adjusting for
price/1k
token calculations, also refined decimal places. (#16)
🙏 Thanks
- All features and bug fixes in this release were contributed by @e-ndorfin.
⬆️ Updating
To upgrade to this version from a previous one installed via pip, run:
pip install --upgrade orchat
OrChat v1.2.5
Changelog
✨ New Features
- Dynamic Model Retrieval: Implemented dynamic retrieval for category models, price models, and thinking models (#4) - thanks to @Hyphonic
- Enhanced Model Support: Added dynamic retrieval for models that support image/file processing and tool/function calling
- Auto Thinking Mode: Automatically enables thinking mode when selecting models with reasoning support
- Command Auto-completion: Introduced auto-completion for commands using prompt_toolkit (ensure requirements.txt is updated)
- Pricing Display: Added "Pricing" information in active chat sessions
- Total Cost Tracking: Added total cost display in "Token Statistics"
- Token Output: Added total tokens to output (#5) - thanks to @e-ndorfin for this contribution!
🎨 UI/UX Improvements
- New Query Input UI: Redesigned user input interface for better user experience
- Improved API Error Handling: Enhanced user experience when incorrect API keys are entered by prompting for re-entry
- Enhanced Error Messages: Added user-friendly dialog for 402 errors from OpenRouter API (insufficient account credit)
🛠️ Technical Improvements
- Fallback Support: Added fallback mechanism when fzf is not installed
- Code Cleanup: Removed dead/unused code
- Documentation: Added collapsible sections to README file for better organization
🐛 Bug Fixes
- Improved error handling for various API scenarios
- Enhanced stability and reliability
⬆️ Updating
To upgrade to this version from a previous one installed via pip, run:
pip install --upgrade orchat
OrChat v1.2.1
OrChat Release Notes
🎉 What's New
We are thrilled to announce a series of enhancements and fixes, many of which come courtesy of our first-time contributor, @deese! A huge thank you for their valuable contributions.
✨ New Features
🔍 Enhanced Model Selection
- FZF Integration: Powerful fuzzy search for model selection when fzf is installed
- Model List Pager: Introduced a pager to the model list for easier navigation of larger sets of models
- Better Model Compatibility: Improved handling of models that don't support system messages (like Gemma variants)
📁 Improved File Handling
- Flexible Command Usage:
/upload
and/attach
commands can now be used anywhere in your message, not just at the beginning - Quoted Path Support: Added support for quoted file paths (handles spaces in paths)
- Better Error Messages: Improved error messages when file paths are incorrect with usage examples
- File Processing Status: Added file processing status messages and content previews
🌍 Enhanced Environment Support
- System Environment Variables: Enhanced environment variable handling by supporting system/user environment variables
- Reduced
.env
Dependency: Removing strict reliance on.env
files for configuration
🔒 Security Enhancements
- API Key Encryption: Implemented cryptography-based encryption for API keys to enhance security
- Invisible Key Storage: API keys are now stored in an encrypted format and remain invisible during runtime
- Image Size Limitations: Added file size restrictions for uploaded images to prevent resource abuse and improve performance
🚀 User Experience Improvements
- Quit Alias: Added
quit
as an alias forexit
for improved convenience - Better Help Text: Clarified that
/upload
and/attach
can be used anywhere in a message with filepath parameter information - Streamlined Plugin System: Removed the plugin system for better stability
🐛 Bug Fixes
API Error Fixes
- Gemma Model Support: Resolved the "API Error (400): Provider returned error" issue by handling models (e.g.,
google/gemma-3n-e4b-it:free
) that don't support system messages - Message Conversion: Adjusted conversation history cleaning logic to convert unsupported system messages into user messages with instruction prefixes
- Better API Error Handling: Improved error handling for API requests, including better debugging and error messages
Command Parsing Fixes
- Command Detection: Modified the command parsing logic to detect
/upload
and/attach
commands anywhere in the input - Path Handling: Added whitespace trimming for file paths and improved error messages with helpful tips
🔧 Code Quality Improvements
Codebase Refinements
- Import Cleanup: Removed unused and duplicated imports
- Logic Streamlining: Streamlined conditional logic by eliminating unnecessary
else
statements when returning values fromif
blocks - Pylint Compliance: Applied various fixes based on
pylint
recommendations to improve code quality - Function Naming: Renamed the
format
function tofmt
to avoid conflicts with Python's built-informat
function
Testing and Validation
- Model Validation: Verified the validity of model names using dedicated scripts
- API Compatibility: Tested streaming and non-streaming API calls to ensure compatibility with the OpenRouter API
- Code Cleanup: Cleaned up temporary test scripts and debug code after resolving issues
⬆️ Updating
To upgrade to this version from a previous one installed via pip, run:
pip install --upgrade orchat
🙏 Special Thanks
A huge thank you to @deese for their valuable first-time contributions to the project!
OrChat v1.2.0
OrChat v1.2.0
🐛 Bug Fixes
- Fixed a
SyntaxError
that occurred due to an unescaped backslash within an f-string expression. A big thank you to @joshua1955 for identifying and contributing the fix! (#1) - Resolved an issue where the system instruction option was incorrectly displayed twice in the UI.
✨ Improvements
- Enhanced the "thinking mode" for more responsive and intuitive behavior.
- Improved overall error handling throughout the application, leading to a more robust experience.
⬆️ Updating
To upgrade to this version from a previous one installed via pip, run:
pip install --upgrade orchat
OrChat v1.0.0
OrChat v1.0.0 - First Public Release: Your Universal AI Chat CLI is Here! 🚀
We're thrilled to announce the first public release of OrChat, version 1.0.0! 🎉 OrChat is a powerful and versatile command-line interface designed to let you seamlessly chat with a wide range of AI models available through OpenRouter.
This initial release brings you a robust and feature-rich experience right in your terminal, empowering you to interact with cutting-edge AI models like never before. Whether you need creative writing assistance, coding help, data analysis insights, or just a friendly chat, OrChat has you covered.
What's New in v1.0.0?
This inaugural release packs a punch with a comprehensive set of features designed for both casual and power users:
- Universal AI Model Access: Connect to any model available on OpenRouter, giving you unparalleled choice and flexibility. Explore the capabilities of models from leading AI providers all in one place.
- Interactive Streaming Chat: Experience natural and engaging conversations with real-time, streaming responses. No more waiting – see the AI's thoughts unfold as they're generated!
- Rich Terminal Output: Enjoy beautifully rendered Markdown, code blocks with syntax highlighting, tables, and more directly in your terminal thanks to Rich integration.
- Token & Performance Tracking: Keep an eye on your token usage and response times to optimize your interactions and manage costs effectively.
- Multimodal Capabilities: Go beyond text! Share images and various file types with supported AI models for richer, more context-aware conversations.
- Smart Thinking Mode: Peek behind the curtain and see the AI's reasoning process before it delivers the final answer. Gain a deeper understanding of how AI works.
- Plugin System: Extend OrChat's functionality to suit your specific needs with a simple and powerful plugin system.
- Flexible Export Options: Save your valuable conversations in Markdown, HTML, JSON, TXT, or even PDF formats for easy archiving and sharing.
- Intelligent Context Management: OrChat automatically handles conversation history, ensuring you stay within token limits without losing context.
- Customizable Themes: Personalize your chat experience with a selection of themes to match your style and terminal environment.
- File Attachment Support: Effortlessly share files directly with the AI using simple commands for analysis and processing.
Get Started Today!
Ready to dive in? Installation is quick and easy:
pip install orchat