{"id":30176273,"url":"https://github.com/opf/openproject-haystack","last_synced_at":"2025-08-12T02:45:04.706Z","repository":{"id":304675913,"uuid":"1019391360","full_name":"opf/openproject-haystack","owner":"opf","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-30T07:49:36.000Z","size":16676,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-08T13:53:13.481Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-14T08:57:28.000Z","updated_at":"2025-07-18T11:43:27.000Z","dependencies_parsed_at":"2025-07-14T18:33:48.395Z","dependency_job_id":"31190b40-10f1-4057-8b5d-167b0f298524","html_url":"https://github.com/opf/openproject-haystack","commit_stats":null,"previous_names":["opf/openproject-haystack"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/opf/openproject-haystack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opf%2Fopenproject-haystack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opf%2Fopenproject-haystack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opf%2Fopenproject-haystack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opf%2Fopenproject-haystack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opf","download_url":"https://codeload.github.com/opf/openproject-haystack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opf%2Fopenproject-haystack/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269991472,"owners_count":24509009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-12T02:45:00.040Z","updated_at":"2025-08-12T02:45:04.644Z","avatar_url":"https://github.com/opf.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenProject Haystack\n## AI-Powered Project Management\n\n[![OpenProject](https://img.shields.io/badge/OpenProject-Compatible-blue.svg)](https://www.openproject.org/)\n[![AI](https://img.shields.io/badge/AI-Powered-green.svg)](https://github.com/deepset-ai/haystack)\n[![Docker](https://img.shields.io/badge/Docker-Ready-blue.svg)](https://www.docker.com/)\n[![GDPR](https://img.shields.io/badge/GDPR-Compliant-green.svg)](https://gdpr.eu/)\n\n---\n\n## Table of Contents\n\n- [🎯 Executive Summary](#-executive-summary)\n- [🔒 Responsible AI Principles](#-responsible-ai-principles)\n- [🏗️ System Architecture](#️-system-architecture)\n- [⚡ Quick Start](#-quick-start)\n- [🔧 Technical Documentation](#-technical-documentation)\n- [📚 Detailed Documentation](#-detailed-documentation)\n\n---\n\n## 🎯 Executive Summary\n\nOpenProject Haystack is an AI-powered project management enhancement system that delivers automated compliance, proactive risk management, and data-driven decision support. The system transforms traditional project management workflows into intelligent, automated processes that ensure PMFlex compliance while significantly reducing manual overhead.\n\n### Key Business Benefits\n\n| Capability | Traditional Approach | Our AI Solution | Business Impact |\n|------------|---------------------|-----------------|-----------------|\n| **Status Reports** | 4-8 hours manual work | 2 minutes automated | **80% time savings** |\n| **Issue Detection** | Reactive (after problems occur) | Predictive (2-4 weeks early) | **40% reduction in overruns** |\n| **Compliance** | Manual review and correction | Automatic PMFlex adherence | **95% reduction in audit issues** |\n| **Quality** | Inconsistent, human error prone | AI-powered, standardized | **90% reduction in review time** |\n\n### Strategic Value Propositions\n\n- **🎯 100% PMFlex Compliance**: Automatic adherence to German federal project management standards\n- **📈 Proactive Risk Management**: Early detection of project health issues before they become critical\n- **💼 Data-Driven Decision Support**: Real-time project health analytics and predictive insights\n- **⚡ Operational Efficiency**: 80% time savings through automated report generation and workflows\n\n**📈 [View Complete Executive Summary](./EXECUTIVE_SUMMARY.md)** - Full business case, ROI analysis, and strategic benefits\n\n---\n\n## 🔒 Responsible AI Principles\n\nOpenProject Haystack follows strict ethical AI guidelines to ensure responsible deployment in government environments:\n\n### Core Principles\n\n**🏠 Self-Hosting \u0026 Data Sovereignty**\n- All AI models run locally on your infrastructure\n- Complete control over data processing and storage\n- No external data transmission or cloud dependencies\n- Minimizes security risks and ensures compliance\n\n**👤 Human Decision Authority**\n- AI serves as decision support, never autonomous decision-making\n- Transparent recommendations with clear explanations\n- Human oversight required for all critical decisions\n- Clear accountability chains maintained\n\n**🔐 Privacy \u0026 GDPR Compliance**\n- Strict data isolation between projects and tenants\n- Minimal data collection principles\n- Automated data deletion routines\n- Complete audit trails and documentation\n\n**🌱 Sustainability \u0026 Ethics**\n- Energy-efficient model selection\n- Ethical training data sourcing\n- Regular bias testing and mitigation\n- Cultural fairness and inclusivity\n\n**🔒 [Read Full AI Governance Guidelines](./LEITFADEN_VERANTWORTUNGSVOLLE_KI_OPENPROJECT.md)** - Comprehensive AI governance and compliance framework\n\n---\n\n## 🏗️ System Architecture\n\n### Complete System Overview\n\n```mermaid\ngraph TB\n    %% External Systems\n    OP[🏢 OpenProject Instance\u003cbr/\u003eProject Data Source]\n    USER[👤 Project Manager\u003cbr/\u003eEnd User]\n    \n    %% PMFlex Knowledge Base\n    PM[📚 PMFlex.one\u003cbr/\u003eGerman Federal Standards\u003cbr/\u003e• Handbooks\u003cbr/\u003e• Templates\u003cbr/\u003e• Guidelines]\n    \n    %% Haystack System Core\n    subgraph \"🤖 OpenProject Haystack System\"\n        API[🔌 API Layer\u003cbr/\u003eFastAPI Application\u003cbr/\u003e• OpenAI Compatible\u003cbr/\u003e• Project Endpoints]\n        \n        subgraph \"🧠 AI Intelligence Core\"\n            RAG[🔍 RAG Pipeline\u003cbr/\u003eDocument Retrieval\u003cbr/\u003e• Vector Store\u003cbr/\u003e• Context Enhancement]\n            LLM[⚡ Ollama LLM\u003cbr/\u003eGerman Language\u003cbr/\u003e• Report Generation\u003cbr/\u003e• Hint Creation]\n        end\n        \n        subgraph \"📊 Analysis Engine\"\n            ANALYZER[🔬 Project Analyzer\u003cbr/\u003e• 10 Health Checks\u003cbr/\u003e• Risk Assessment\u003cbr/\u003e• Performance Metrics]\n        end\n    end\n    \n    %% Data Flow\n    USER --\u003e API\n    API --\u003e OP\n    OP --\u003e ANALYZER\n    ANALYZER --\u003e RAG\n    PM --\u003e RAG\n    RAG --\u003e LLM\n    LLM --\u003e API\n    API --\u003e USER\n    \n    %% Styling\n    classDef external fill:#e3f2fd,stroke:#1976d2,stroke-width:2px\n    classDef knowledge fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px\n    classDef core fill:#e8f5e8,stroke:#388e3c,stroke-width:2px\n    classDef ai fill:#fff3e0,stroke:#f57c00,stroke-width:2px\n    classDef analysis fill:#fce4ec,stroke:#c2185b,stroke-width:2px\n    \n    class OP,USER external\n    class PM knowledge\n    class API core\n    class RAG,LLM ai\n    class ANALYZER analysis\n```\n\n### Key Components\n\n| Component | Primary Function | Business Value |\n|-----------|------------------|----------------|\n| **PMFlex.one** | German federal compliance standards | Ensures 100% regulatory adherence |\n| **API Layer** | Interface for all system interactions | Seamless integration with existing tools |\n| **RAG System** | Context-aware document retrieval | Intelligent, compliance-driven responses |\n| **Ollama LLM** | German language AI generation | Professional, accurate content creation |\n| **Analysis Engine** | Real-time project health monitoring | Proactive risk identification and management |\n\n### Smart Report Generation Workflow\n\n```mermaid\nflowchart LR\n    A[Project Manager Request] --\u003e B[🔄 Automated Data Collection]\n    B --\u003e C[📊 AI Analysis \u0026 Insights]\n    C --\u003e D[📋 PMFlex Standards Integration]\n    D --\u003e E[📄 Professional German Report]\n    \n    B1[⏱️ 15 minutes] --\u003e B\n    C1[🎯 100% Accuracy] --\u003e C\n    D1[✅ Full Compliance] --\u003e D\n    E1[📈 Executive Ready] --\u003e E\n    \n    style A fill:#e3f2fd\n    style E fill:#c8e6c9\n    style B fill:#fff3e0\n    style C fill:#f3e5f5\n    style D fill:#e8f5e8\n```\n\n**🔄 [See Detailed Workflow Documentation](./WORKFLOW_DIAGRAMS_AND_SUMMARIES.md)** - Complete technical workflows and system diagrams\n\n---\n\n## ⚡ Quick Start\n\n### Development with Docker Compose\n\n```bash\n# Clone the repository\ngit clone https://github.com/opf/openproject-haystack.git\ncd openproject-haystack\n\n# Start the services (models will be automatically installed)\ndocker compose up --build\n\n# The API will be available at:\n# - Health check: http://localhost:8000/health\n# - API docs: http://localhost:8000/docs\n# - OpenAI compatible: http://localhost:8000/v1/chat/completions\n```\n\n### Core Capabilities\n\n**📊 Project Status Reports**\n```bash\ncurl -X POST \"http://localhost:8000/generate-project-status-report\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"project\": {\"id\": 1, \"type\": \"agile\"},\n    \"openproject\": {\n      \"base_url\": \"https://your-openproject.com\",\n      \"user_token\": \"your-api-key\"\n    }\n  }'\n```\n\n**💡 Project Management Hints**\n```bash\ncurl -X POST \"http://localhost:8000/project-management-hints\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"project\": {\"id\": 1, \"type\": \"agile\"},\n    \"openproject\": {\n      \"base_url\": \"https://your-openproject.com\",\n      \"user_token\": \"your-api-key\"\n    }\n  }'\n```\n\n**🤖 OpenAI-Compatible Chat**\n```bash\ncurl -X POST \"http://localhost:8000/v1/chat/completions\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"mistral:latest\",\n    \"messages\": [\n      {\"role\": \"user\", \"content\": \"Help me with project management\"}\n    ]\n  }'\n```\n\n---\n\n## 🔧 Technical Documentation\n\n### Stack \u0026 Architecture\n\n- **Python 3.11** - Modern Python with type hints\n- **FastAPI** - High-performance API framework\n- **Haystack AI** - Advanced NLP pipeline management\n- **Ollama** - Local LLM inference with German language support\n- **Docker \u0026 Docker Compose** - Reproducible deployment environments\n- **RAG System** - Context-aware document retrieval and enhancement\n\n### Project Structure\n\n```\nopenproject-haystack/\n├── README.md                    # This comprehensive documentation\n├── EXECUTIVE_SUMMARY.md         # Business case and strategic benefits\n├── LEITFADEN_VERANTWORTUNGSVOLLE_KI_OPENPROJECT.md  # AI governance\n├── WORKFLOW_DIAGRAMS_AND_SUMMARIES.md  # Technical workflows\n├── requirements.txt             # Python dependencies\n├── Dockerfile                   # Container configuration\n├── docker-compose.yml          # Multi-service orchestration\n├── config/\n│   └── settings.py             # Environment configuration\n├── src/\n│   ├── main.py                 # FastAPI application entry point\n│   ├── api/\n│   │   └── routes.py           # API endpoints (OpenAI + custom)\n│   ├── pipelines/\n│   │   ├── generation.py       # LLM generation pipelines\n│   │   └── rag_pipeline.py     # RAG system implementation\n│   ├── services/\n│   │   ├── openproject_client.py  # OpenProject API integration\n│   │   ├── document_processor.py  # Document processing\n│   │   └── vector_store.py     # Vector database management\n│   ├── models/\n│   │   └── schemas.py          # Pydantic models and schemas\n│   └── templates/\n│       └── report_templates.py # Report generation templates\n├── documents/\n│   └── pmflex/                 # PMFlex compliance documents\n└── tests/                      # Test suite\n```\n\n### API Endpoints\n\n#### Project Management Endpoints\n- `POST /generate-project-status-report` - Generate comprehensive project status reports\n- `POST /project-management-hints` - Get AI-powered project management recommendations\n- `GET /health` - System health check\n\n#### OpenAI-Compatible Endpoints\n- `POST /v1/chat/completions` - Chat completion (OpenAI-compatible)\n- `GET /v1/models` - List available models\n- `GET /v1/models/{model_id}` - Get specific model information\n\n#### RAG System Management\n- `POST /rag/initialize` - Initialize RAG system with PMFlex documents\n- `GET /rag/status` - Get RAG system status and statistics\n- `POST /rag/refresh` - Refresh document index\n- `POST /rag/search` - Search PMFlex documents\n\n### Configuration\n\nEnvironment variables for customization:\n\n```bash\n# Core Configuration\nOLLAMA_URL=http://ollama:11434\nOLLAMA_MODEL=mistral:latest\nAPI_HOST=0.0.0.0\nAPI_PORT=8000\n\n# Model Management\nMODELS_TO_PULL=mistral:latest,llama2:7b\nREQUIRED_MODELS=mistral:latest\n\n# Generation Parameters\nGENERATION_NUM_PREDICT=1000\nGENERATION_TEMPERATURE=0.7\n\n# Logging\nLOG_LEVEL=INFO\nLOG_FORMAT=%(asctime)s - %(name)s - %(levelname)s - %(message)s\n\n# RAG System\nRAG_CHUNK_SIZE=500\nRAG_CHUNK_OVERLAP=50\nRAG_MAX_CHUNKS=5\n```\n\n### Testing\n\n```bash\n# Test OpenAI API compatibility\npython test_openai_api.py\n\n# Test project status report generation\npython test_project_status_report.py\n\n# Test project management hints\npython test_project_hints.py\n\n# Test RAG system\npython test_haystack_api.py\n```\n\n### Integration Examples\n\n#### With OpenAI Python Client\n```python\nfrom openai import OpenAI\n\nclient = OpenAI(\n    base_url=\"http://localhost:8000/v1\",\n    api_key=\"dummy-key\"\n)\n\nresponse = client.chat.completions.create(\n    model=\"mistral:latest\",\n    messages=[\n        {\"role\": \"system\", \"content\": \"You are a project management assistant.\"},\n        {\"role\": \"user\", \"content\": \"How can I improve my project timeline?\"}\n    ]\n)\n```\n\n#### With LangChain\n```python\nfrom langchain.chat_models import ChatOpenAI\n\nllm = ChatOpenAI(\n    openai_api_base=\"http://localhost:8000/v1\",\n    openai_api_key=\"dummy-key\",\n    model_name=\"mistral:latest\"\n)\n```\n\n### Features\n\n- ✅ **AI-Powered Project Analysis**: 10 automated health checks and risk assessments\n- ✅ **PMFlex Compliance**: Automatic adherence to German federal standards\n- ✅ **German Language Support**: Native German report generation and hints\n- ✅ **OpenAI API Compatibility**: Drop-in replacement for OpenAI services\n- ✅ **Self-Hosted Security**: Complete data sovereignty and privacy\n- ✅ **RAG-Enhanced Context**: Intelligent document retrieval and context enhancement\n- ✅ **Real-Time Integration**: Live OpenProject data analysis\n- ✅ **Professional Reporting**: Executive-ready status reports and insights\n- ✅ **Predictive Analytics**: Early warning system for project issues\n- ✅ **Automated Workflows**: Streamlined project management processes\n\n---\n\n## 📚 Detailed Documentation\n\n### 📋 Core Documentation\n- **[Executive Summary](./EXECUTIVE_SUMMARY.md)** - Complete business case, ROI analysis, strategic benefits, and implementation roadmap\n- **[Responsible AI Guidelines](./LEITFADEN_VERANTWORTUNGSVOLLE_KI_OPENPROJECT.md)** - Comprehensive AI governance, ethical principles, and compliance framework\n- **[Workflow Diagrams \u0026 Summaries](./WORKFLOW_DIAGRAMS_AND_SUMMARIES.md)** - Technical workflows, system architecture, and detailed process documentation\n\n### 🔧 Technical Documentation\n- **[RAG System Documentation](./RAG_SYSTEM_README.md)** - RAG implementation details, document processing, and vector store management\n- **[Deployment Guide](./DEPLOYMENT_GUIDE.md)** - Production deployment instructions, scaling, and infrastructure requirements\n- **[Project Hints API](./PROJECT_HINTS_API.md)** - API documentation for project management hints and recommendations\n\n### 📊 Feature Documentation\n- **[BlockNote AI Integration](./BLOCKNOTE_AI_INTEGRATION.md)** - BlockNote editor integration and streaming capabilities\n- **[Hint Generation Enhancements](./HINT_GENERATION_ENHANCEMENTS.md)** - Advanced hint generation and optimization\n- **[Memory Requirements](./MEMORY_REQUIREMENTS.md)** - System requirements and performance optimization\n\n### 🧪 Testing \u0026 Development\n- **[Local Ollama Testing](./LOCAL_OLLAMA_TESTING.md)** - Local development and testing procedures\n- **[Mixtral Migration](./MIXTRAL_MIGRATION.md)** - Model migration and optimization guide\n- **[Embedding Persistence](./EMBEDDING_PERSISTENCE_README.md)** - Document embedding and persistence strategies\n\n---\n\n## 🚀 Getting Started by Role\n\n### 👔 For Executives\n1. Read the [Executive Summary](./EXECUTIVE_SUMMARY.md) for business benefits and ROI\n2. Review the [Responsible AI Guidelines](./LEITFADEN_VERANTWORTUNGSVOLLE_KI_OPENPROJECT.md) for governance\n3. Understand the strategic value proposition and competitive advantages\n\n### 🔒 For Compliance Teams\n1. Study the [Responsible AI Guidelines](./LEITFADEN_VERANTWORTUNGSVOLLE_KI_OPENPROJECT.md) for GDPR compliance\n2. Review data sovereignty and self-hosting principles\n3. Understand audit trails and documentation requirements\n\n### 👨‍💻 For Developers\n1. Follow the [Quick Start](#-quick-start) guide for immediate setup\n2. Explore the [Technical Documentation](#-technical-documentation) for implementation details\n3. Review the [API Endpoints](#api-endpoints) for integration options\n\n### 📊 For Project Managers\n1. Understand the core capabilities and business benefits\n2. Test the project status report and hints generation features\n3. Review the [Project Hints API](./PROJECT_HINTS_API.md) for practical usage\n\n---\n\n## 📞 Support \u0026 Community\n\n- **GitHub Issues**: Report bugs and request features\n- **Documentation**: Comprehensive guides and API documentation\n- **Community**: Join discussions and share experiences\n- **Enterprise Support**: Contact for enterprise deployment assistance\n\n---\n\n## 📜 License\n\nThis project is licensed under the GNU General Public License v3.0. See the [LICENSE](./LICENSE) file for details.\n\n---\n\n*OpenProject Haystack - Transforming project management through responsible AI innovation*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopf%2Fopenproject-haystack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopf%2Fopenproject-haystack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopf%2Fopenproject-haystack/lists"}