Skip to content

Releases: oop7/OrChat

OrChat v1.2.9

30 Jul 13:56
Compare
Choose a tag to compare

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

25 Jul 18:41
Compare
Choose a tag to compare

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

06 Jul 11:26
a256de3
Compare
Choose a tag to compare

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 for exit 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 from if blocks
  • Pylint Compliance: Applied various fixes based on pylint recommendations to improve code quality
  • Function Naming: Renamed the format function to fmt to avoid conflicts with Python's built-in format 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

11 May 19:04
Compare
Choose a tag to compare

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

19 Mar 10:49
8669799
Compare
Choose a tag to compare

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