xref: /plugin/dokullm/README.md (revision aa0fd8edffafd18a5a4092c22190e5301b24c887)
159036814SCostin Stroie# DokuLLM - LLM Integration Plugin for DokuWiki
259036814SCostin Stroie
359036814SCostin StroieA comprehensive DokuWiki plugin that integrates Large Language Model capabilities with semantic search through ChromaDB. This plugin enables advanced text processing directly within the DokuWiki editing environment while maintaining content in a vector database for intelligent content discovery.
459036814SCostin Stroie
559036814SCostin Stroie## Key Features
659036814SCostin Stroie
759036814SCostin Stroie### AI-Powered Text Processing
859036814SCostin Stroie- **Content Creation**: Generate reports and documents with AI assistance
959036814SCostin Stroie- **Text Comparison**: Highlight differences between document versions
1059036814SCostin Stroie- **Custom Prompts**: Process text with user-defined instructions
1159036814SCostin Stroie- **Template Integration**: Use predefined templates for consistent formatting
1259036814SCostin Stroie
1359036814SCostin Stroie### Semantic Search & Document Management
1459036814SCostin Stroie- **Vector Storage**: Store document embeddings in ChromaDB for semantic search
1559036814SCostin Stroie- **Intelligent Chunking**: Smart document splitting with metadata preservation
1659036814SCostin Stroie- **Update Optimization**: Timestamp-based checking to avoid reprocessing unchanged files
1759036814SCostin Stroie- **Direct Retrieval**: Access documents by ID with rich metadata extraction
1859036814SCostin Stroie
1959036814SCostin Stroie### DokuWiki Integration
2059036814SCostin Stroie- **Editor Toolbar**: Seamless integration with DokuWiki's editing interface
2159036814SCostin Stroie- **Page Templates**: Smart template handling with automatic metadata insertion
2259036814SCostin Stroie- **Copy Functionality**: Enhanced page duplication with template awareness
2359036814SCostin Stroie- **Context Management**: Provide examples and templates as processing context
2459036814SCostin Stroie
2559036814SCostin Stroie## Architecture
2659036814SCostin Stroie
2759036814SCostin StroieThe plugin consists of several key components:
2859036814SCostin Stroie- **Frontend**: JavaScript toolbar integrated into DokuWiki's editor
2959036814SCostin Stroie- **Backend**: PHP plugin handling AJAX requests and LLM communication
3059036814SCostin Stroie- **Database**: ChromaDB client for vector storage and semantic search
3159036814SCostin Stroie- **CLI Tools**: Command-line interface for batch document processing
3259036814SCostin Stroie
3359036814SCostin Stroie## Requirements
3459036814SCostin Stroie- DokuWiki installation
3559036814SCostin Stroie- PHP 7.4 or higher
3659036814SCostin Stroie- ChromaDB server
3759036814SCostin Stroie- Ollama for local embedding generation (optional)
3859036814SCostin Stroie- Access to LLM API (OpenAI-compatible)
3959036814SCostin Stroie
4059036814SCostin Stroie## Installation
4159036814SCostin Stroie1. Clone or download the plugin to your DokuWiki plugins directory
4259036814SCostin Stroie2. Configure the plugin settings in DokuWiki's configuration manager
4359036814SCostin Stroie3. Set up ChromaDB and Ollama services
44*aa0fd8edSCostin Stroie (aider)4. Configure connection settings through the DokuWiki admin interface
45*aa0fd8edSCostin Stroie (aider)
46*aa0fd8edSCostin Stroie (aider)Note: Configuration has been moved from the deprecated `config.php` to the standard DokuWiki configuration files (`conf/default.php` and `conf/metadata.php`).
4759036814SCostin Stroie
4859036814SCostin Stroie## Configuration
4959036814SCostin StroieThe plugin is configurable through multiple levels:
5059036814SCostin Stroie- DokuWiki plugin settings interface
5159036814SCostin Stroie- `config.php` for service endpoints
5259036814SCostin Stroie- `conf/default.php` for default values
5359036814SCostin Stroie- Language files for localization
5459036814SCostin Stroie
5559036814SCostin Stroie## License
5659036814SCostin StroieGPL 2.0
5759036814SCostin Stroie
5859036814SCostin Stroie## Author
5959036814SCostin StroieCostin Stroie <costinstroie@eridu.eu.org>
60