Skip to content

DeepShell Version 1.3.5!

Latest

Choose a tag to compare

@ashes00 ashes00 released this 08 Sep 15:15
· 2 commits to main since this release

πŸŽ‰ Overview

DeepShell 1.3.5 introduces a comprehensive set of interactive mode enhancements that transform the user experience. This release focuses on productivity, usability, and workflow improvements, making DeepShell more powerful and user-friendly than ever before.

✨ New Features

πŸ’Ύ Interactive Mode Save Command

Command: save [filename]

Transform your interactive sessions with the ability to save LLM responses directly to markdown files.

Usage Examples:

# Save with automatic filename prompt
> What are the benefits of using a CLI for LLM interaction?
[LLM provides detailed response with markdown formatting]

> save
Enter filename (.md extension will be added automatically): research-notes
Save successful!
File saved to: /home/user/Downloads/research-notes.md

# Save with direct filename
> Explain the concept of machine learning
[LLM provides detailed response]

> save ml-explanation
Save successful!
File saved to: /home/user/Downloads/ml-explanation.md

# Save with existing .md extension
> How do neural networks work?
[LLM provides detailed response]

> save neural-networks-guide.md
Save successful!
File saved to: /home/user/Downloads/neural-networks-guide.md

Key Features:

  • Auto .md extension: Automatically adds .md extension if not provided
  • File validation: Prevents invalid characters and empty filenames
  • Overwrite protection: Asks for confirmation before overwriting existing files
  • Smart directory: Saves to Downloads folder (falls back to home directory)
  • Raw markdown: Preserves exact formatting as received from the LLM
  • Error handling: Prevents conversion if no previous response exists

πŸ“ Interactive Mode Open Command

Command: open [filepath]

Process text files directly through the LLM with custom instructions, making file analysis seamless and powerful.

Usage Examples:

# Open file with custom instructions
> open /home/user/data.txt
Enter instructions for the LLM about this data: Please analyze this data and tell me if it's correct
[LLM processes the file content with your instructions]

# Open file with default analysis
> open ../documents/notes.md
Enter instructions for the LLM about this data: [Press Enter for default]
[LLM processes with "Please analyze this data"]

Key Features:

  • File validation: Checks if file exists, is readable, and is text-based
  • Size limit: Maximum 25MB file size to prevent memory issues
  • Path support: Both absolute and relative file paths
  • User instructions: Prompt for custom instructions on how to process the file
  • Default instructions: "Please analyze this data" if no instructions provided
  • Binary detection: Rejects non-text files (images, executables, etc.)
  • Error handling: Clear error messages for all failure cases

❓ Interactive Mode Help Command

Command: help

Access comprehensive help documentation directly from interactive mode with a professionally formatted command reference.

Features:

  • Comprehensive reference: Complete list of all interactive mode commands
  • Detailed descriptions: Usage information and examples for each command
  • Professional formatting: Clean, easy-to-read help menu
  • Usage tips: Best practices and guidance for interactive mode

πŸ”§ Technical Improvements

Enhanced Interactive Mode Interface

  • Simplified welcome message: Clean, focused interface with just essential information
  • Streamlined command structure: Intuitive command names and syntax
  • Improved error handling: Clear, actionable error messages for all scenarios
  • Better user experience: Reduced cognitive load with cleaner interface design

Robust File Processing

  • Memory management: Efficient handling of large files up to 25MB
  • Binary file detection: Smart detection of non-text files to prevent processing errors
  • Path resolution: Support for both absolute and relative file paths
  • Error recovery: Graceful handling of file access and permission issues

Command History Management

  • Separate history entries: User instructions and file content stored as separate history items
  • Accurate help documentation: Corrected information about conversation history persistence
  • Memory efficiency: Optimized storage and retrieval of conversation data

πŸ› Bug Fixes

Ollama Integration Fix

  • Fixed history bug: Ollama responses now properly added to conversation history
  • Consistent behavior: All LLM services (Ollama, Gemini, OpenRouter) now work identically with save command
  • Improved reliability: Eliminated "No previous response found" errors for Ollama users

Error Message Improvements

  • Accurate help text: Fixed misleading information about conversation history persistence
  • Clear error reporting: Better error messages for file processing failures
  • User guidance: More helpful error messages that guide users to solutions

πŸš€ Getting Started with New Features

Quick Start Guide

  1. Start interactive mode:
./deepshell -i
  1. Get help anytime:
> help
  1. Save important responses:
> save my-notes
  1. Process files with custom instructions:
> open /path/to/file.txt
Enter instructions for the LLM about this data: [your instructions]

Use Cases

  • Research documentation: Save important findings and explanations
  • Knowledge base building: Create markdown files for future reference
  • Content creation: Export formatted responses for articles or documentation
  • Learning materials: Save educational content for later review
  • File analysis: Process documents, code, or data files with custom instructions
  • Code review: Analyze source code files for bugs, improvements, or explanations
  • Document processing: Extract insights from text files, logs, or reports
  • Interactive help: Get comprehensive command reference anytime during sessions

πŸ”„ Migration Guide

From Version 1.3.1 to 1.3.5

  1. No configuration changes required - existing configurations work seamlessly
  2. New interactive commands available - use help to see all available commands
  3. Enhanced workflow - take advantage of save and open commands for better productivity
  4. Improved reliability - Ollama users will notice better consistency with other LLM services

Command Changes

  • Convert β†’ Save: The convert command has been renamed to save for better clarity
  • New commands: open and help commands are now available in interactive mode
  • Simplified interface: Cleaner welcome message focuses on essential information

πŸ“‹ Technical Details

Files Modified

  • interactive.c: Added save, open, and help command implementations
  • utils.c: Added file processing and help display functions
  • deepshell.h: Updated function declarations and version number
  • README.md: Comprehensive documentation updates

New Functions

  • save_response_to_file(): Saves LLM responses to markdown files
  • read_file_content(): Reads and validates text files
  • is_text_file(): Detects binary vs text files
  • display_interactive_help(): Shows comprehensive help menu
  • is_valid_filename(): Validates filenames for save command

Dependencies

  • No new dependencies required
  • All existing functionality preserved
  • Backward compatible with previous versions

🎯 Performance Improvements

  • Memory efficiency: Optimized file processing and memory management
  • Faster command processing: Streamlined interactive mode command handling
  • Reduced memory footprint: Better memory allocation and cleanup
  • Improved responsiveness: Faster file validation and error checking

πŸ”’ Security Considerations

  • File validation: Strict validation of file types and sizes
  • Path security: Safe handling of file paths and permissions
  • Memory protection: Bounds checking and overflow protection
  • Error isolation: Graceful handling of file system errors

πŸ“š Documentation Updates

  • README.md: Updated with comprehensive interactive mode documentation
  • Help system: Built-in help command with detailed usage information
  • Examples: Extensive examples for all new features
  • Use cases: Practical applications and workflow guidance

πŸŽ‰ What's Next

This release establishes a solid foundation for interactive mode productivity. Future releases will build upon these capabilities with additional features and enhancements.

πŸ™ Acknowledgments

Thank you to all users who provided feedback and suggestions that helped shape this release. Your input is invaluable in making DeepShell better for everyone.


**Happy Querying! πŸ€–βœ¨