Releases: athem135-source/PCBot
PCBot v3.4.0 - Platform Modernization & Deployment Excellence
PCBot v3.4.0 - Major Release 🚀
Platform Modernization & Deployment Excellence
This major release transforms PCBot into a production-ready, multi-platform application with professional deployment options, automated setup, and enhanced user experience.
🎯 Major Features
🎨 Enhanced User Interface
Mode Selector Landing Page
- User Mode: Clean interface showing only public features
- Shareable Widget Interface
- Mobile Site Access
- Admin Mode: Password-protected administrative tools
- Statistics Dashboard
- 300-Question Calibration Test
- Development Widget
- Admin Panel Access
- Server-Side Authentication: Password validation via
/admin/authenticateAPI - Session Management: Secure Flask sessions with no client-side password exposure
- Visual Indicators: Mode badge and easy mode switching
Animated Widget Interface
- Smooth Animations:
slideUp(0.3s) - Widget container openingfadeIn(0.3s) - Message appearancebounce(1.4s) - Typing indicator dotsbuttonPulse- Chat button effectsscaleIn- Modal transitions
- Backend Health Check: Automatic server availability verification with retry overlay
- Enhanced UX: Improved loading states and error handling
🚀 Multi-Platform Deployment
GitHub Pages Integration ✨ NEW
- Auto-Deployment: GitHub Actions workflow for automatic builds
- Live Site: https://athem135-source.github.io/PCBot/
- Features:
- Deploys on every push to
main - Free HTTPS and custom domain support
- Global CDN distribution
- DDoS protection
- Deploys on every push to
- Documentation: Complete setup guide in
deployment/GITHUB_PAGES.md
Netlify Deployment 📦
- Pre-Configured: Ready-to-deploy with
netlify.toml - Deployment Options:
- GitHub integration (auto-deploy)
- Netlify CLI
- Drag-and-drop deployment
- Features:
- Security headers (CSP, X-Frame-Options, HSTS)
- Asset caching (1-year immutable)
- SPA redirects
- Form handling ready
- Documentation: Full guide in
deployment/NETLIFY.md
Cloudflare Tunnel Enhancements 🌐
- Warning System: 5-tip user guide for tunnel connection issues
- Auto-Retry Instructions: Clear guidance when tunnel fails
- Quick Recovery: Copy-paste URL reminder
- Alternative Options: ngrok and cloud deployment suggestions
🔧 Installation & Setup Automation
Virtual Environment Auto-Setup
- One-Command Installation:
setup.bathandles everything - Automated Process (8 steps):
- ✅ Verify Python 3.10+ installation
- ✅ Create virtual environment (
.venv) - ✅ Install all Python packages in venv
- ✅ Check/install Node.js
- ✅ Install React dependencies
- ✅ Download and configure Qdrant
- ✅ Download Ollama and Mistral-7B model
- ✅ Run 30-second warmup (downloads embedding models)
Enhanced Launchers
run_widget_standalone.bat:- [1/5] Check and start Qdrant service
- [2/5] Check and start Ollama service
- [3/5] Activate virtual environment
- [4/5] Start Flask backend (8-second model warmup)
- [5/5] Open browser + Create Cloudflare tunnel
- Root-Level Access: Key files visible in project root for easy discovery
- Automatic Service Management: No manual service startup needed
Bug Fixes
- Embedding Model Error: Fixed "pip install sentence-transformers" error
- Root cause: Packages installed globally but not in venv
- Solution: Auto-created
.venvwith all dependencies - Result: Zero manual configuration required
📁 Professional Folder Structure
PCBot/
├── public/ # Static frontend files
│ ├── html/ # All HTML interfaces
│ │ ├── landing.html # Mode selector page
│ │ ├── widget-standalone.html
│ │ ├── widget-dev.html
│ │ └── mobile.html
│ └── assets/ # Images, CSS, JS
│ ├── uraan-pak.png
│ ├── 5Vs.png
│ └── favicon.ico
│
├── scripts/setup/ # Installation scripts
│ ├── setup.bat # Complete environment setup
│ └── run_widget_standalone.bat
│
├── deployment/ # Deployment documentation
│ ├── GITHUB_PAGES.md # GitHub Pages guide
│ └── NETLIFY.md # Netlify deployment guide
│
├── src/ # Python backend
│ ├── app.py # Streamlit app
│ ├── rag_langchain.py # RAG pipeline
│ └── widget_api.py # Flask REST API
│
├── frontend-widget/ # React widget source
│ ├── src/
│ ├── dist/ # Built widget
│ └── package.json
│
├── .github/workflows/ # CI/CD pipelines
│ └── deploy-pages.yml # GitHub Pages deployment
│
├── setup.bat # Root-level setup (copy)
├── run_widget_standalone.bat # Root-level launcher (copy)
├── QUICKSTART.md # Quick start guide
└── README.md # Updated documentation
Benefits:
- Clear separation of concerns
- Easy navigation for developers
- Deployment-ready structure
- Professional organization
🛡️ Security Enhancements
Authentication & Access Control
- Server-Side Validation: Admin password verified via Flask backend
- Session Management: Secure session cookies with httpOnly flag
- Mode Separation: Different capabilities for User vs Admin modes
- No Client Secrets: Zero passwords or API keys in JavaScript
Network Security
- HTTPS Everywhere:
- GitHub Pages: Built-in HTTPS
- Netlify: Automatic SSL
- Cloudflare: Encrypted tunnels
- CORS Configuration: Whitelist-based origin control
- Security Headers: CSP, X-Frame-Options, HSTS (Netlify)
- Input Validation: Enhanced API input sanitization
Deployment Security
| Platform | Security Features |
|---|---|
| GitHub Pages | HTTPS, DDoS protection, GitHub infrastructure |
| Netlify | CSP headers, X-Frame-Options, HSTS, automatic SSL |
| Cloudflare | Encrypted tunnels, temporary URLs, DDoS mitigation |
| Local | Virtual environment isolation, no external exposure |
📚 Documentation Improvements
New Guides
-
QUICKSTART.md:
- First-time setup (15-20 minutes)
- Daily use (30 seconds)
- File organization overview
- Troubleshooting section
-
GITHUB_PAGES.md:
- 3-step deployment process
- Backend hosting options (Railway, Render, Office Server)
- CORS configuration guide
- Custom domain setup
- Comparison: GitHub Pages vs Netlify
-
NETLIFY.md:
- GitHub integration setup
- CLI deployment commands
- Drag-and-drop deployment
- Backend deployment strategies
- Security header configuration
Updated README
- v3.4.0 feature highlights
- New deployment options section
- Updated system architecture
- Enhanced security documentation
- Revised quick start guide
- Updated version history
🔄 Breaking Changes
File Locations
- HTML Files: Moved from root to
public/html/ - Assets: Moved to
public/assets/ - Scripts: Organized in
scripts/setup/
Migration Guide
No migration needed for end users. For developers:
- Update any hardcoded paths to use new folder structure
- Use root-level
setup.batinstead ofscripts/setup/setup.bat - Update asset references to
public/assets/
📊 Technical Specifications
Updated Stack
| Component | Technology | Version/Config |
|---|---|---|
| Vector DB | Qdrant | 360+ chunks, auto-configured |
| Embeddings | sentence-transformers | all-MiniLM-L6-v2, auto-downloaded |
| Reranker | Cross-Encoder | ms-marco-MiniLM, 0.33 threshold |
| Primary LLM | Ollama (Mistral 7B) | Local, auto-warmup |
| Fallback LLM | Groq API (LLaMA 3.1 70B) | Cloud backup |
| Frontend | React 18.2 | TypeScript, Tailwind, animations |
| Backend | Flask + Waitress | WSGI, venv-isolated |
| Deployment | Multi-platform | GitHub Pages, Netlify, Cloudflare |
| Python Env | Virtual Environment | Auto-created .venv |
Performance Metrics (Unchanged)
- In-Scope Accuracy: 100% (300-question test)
- Numeric Accuracy: 100% (40 financial questions)
- Off-Scope Detection: 100% (40 off-topic questions)
- Source Citation: 94.3% (283/300 responses)
- Avg Response Time: 5.02s
🎬 Demo & Screenshots
Mode Selector Landing Page
- Choose User Mode for public access
- Choose Admin Mode for administrative tools
Animated Widget
- Smooth animations and transitions
- Real-time typing indicators
- Backend health monitoring
🚀 Quick Start
First-Time Setup (15-20 minutes)
# Just double-click this file:
setup.bat
# Automated process:
# ✅ Creates virtual environment
# ✅ Installs all dependencies
# ✅ Downloads Ollama + Mistral model
# ✅ Configures Qdrant
# ✅ Downloads embedding modelsDaily Use (30 seconds)
# Double-click to start:
run_widget_standalone.bat
# Starts everything automatically:
# [1/5] Qdrant service
# [2/5] Ollama service
# [3/5] Virtual environment
# [4/5] Flask backend
# [5/5] Browser + Cloudflare tunnelDeploy to GitHub Pages (5 minutes)
# 1. Enable GitHub Pages in repository settings
# Settings > Pages > Source: GitHub Actions
# 2. Push your code
git push origin main
# 3. Your site goes live at:
# https://athem135-source.github.io/PCBot/🐛 Bug Fixes
- Fixed "Embedding model not available" error via venv isolation
- Resolved widget-dev.html blank page issue
- Fixed Cloudflare tunne...
PCBot v3.3.8 - Branding Update
What's New in v3.3.8
Branding & UI Enhancements
- Added Uraan Pakistan and 5Es Framework logos to README
- Enhanced widget development page with official logos
- Improved mobile interface logo display (width-based sizing)
- Optimized logo positioning and spacing
Technical Improvements
- Enforced manual acronym definitions in system prompt (PAO = Principal Accounting Officer)
- Fixed acronym expansion to use exact definitions from Manual's abbreviation list
- Updated logo asset serving for development and production environments
Mobile Enhancements
- Logos now use width-based sizing (180-200px) for better visibility
- Optimized responsive layout for smaller screens (140-150px on mobile)
Government of Pakistan
Ministry of Planning, Development & Special Initiatives
PCBot v3.3.7 - Planning Commission Bot Rebrand
PCBot v3.3.7 - Planning Commission Bot Rebrand
What's Changed
- Rebranded from PDBOT to PCBot (Planning Commission Bot)
- Updated all user-facing elements:
- Mobile interface title and header
- Widget greeting and header
- Bot self-identification in responses
- System prompts for AI models
- About dialog in settings menu
- Added mobile tunnel script for external testing
- Added 200-question comprehensive test suite
- Minor bug fixes and improvements
Bot Identity
When asked, the bot now identifies as PCBot - the Planning Commission assistant for the Manual for Development Projects 2024.
Full Changelog
v3.3.6 - File Organization & Type Safety
File Organization & Type Safety
Changes
File Structure Improvements
- Created \ ests/results/\ folder for JSON test result files
- Created \ ests/reports/\ folder for Markdown report files
- Moved all test artifacts to their proper locations
- Batch files kept in root for easy access
Type Safety Fixes
- Added proper type annotations to fix Pylance/Pyright warnings
- Added \ yping\ module imports (\Dict, \List, \Any, \Optional, \Tuple)
- Replaced \defaultdict\ with explicitly typed dictionaries
- Fixed return type annotations
New Structure
\
tests/
results/ # JSON test result files
test_results_.json
reports/ # Markdown test reports
TEST_REPORT_.md
comprehensive_300_test.py
generate_report.py
...other test files
\\
Files Modified
- \ ests/comprehensive_300_test.py\ - Path updates + type hints
- \ ests/generate_report.py\ - Path updates + type hints
un_calibration_test.bat\ - Updated output paths
v3.3.5 - 300-Question AI Calibration Test Suite
300-Question AI Calibration Test Suite
Overview
This release introduces a comprehensive automated testing framework with 300 carefully crafted questions across 9 categories to validate accuracy, response quality, and safety boundaries.
Test Results: 92.7% Pass Rate (278/300)
| Category | Passed | Total | Accuracy |
|---|---|---|---|
| In-Scope Detailed | 50 | 50 | 100% |
| In-Scope Short | 50 | 50 | 100% |
| Numeric/Financial | 40 | 40 | 100% |
| Trap Questions | 30 | 30 | 100% |
| Trick Questions | 30 | 30 | 100% |
| Off-Scope | 40 | 40 | 100% |
| Greetings | 15 | 15 | 100% |
| Manual Sections | 20 | 20 | 100% |
| Red-Line Safety | 3 | 25 | 12% |
New Files
- \\ ests/comprehensive_300_test.py\\ - Full test suite
- \\ ests/generate_report.py\\ - Markdown report generator
- \
un_calibration_test.bat\\ - One-click test execution (Windows)
Improvements
- 15+ New Red-Line Patterns: Enhanced fraud/corruption detection
- Full Q&A Transparency: All 300 questions documented in README
- Collapsible Documentation: Easy navigation of test cases
Quick Start
\\�ash
Run the calibration test
run_calibration_test.bat
\\
Performance Metrics
- Average Response Time: 5.02 seconds
- Total Test Duration: ~25 minutes
- API Endpoint: POST /chat with {query, session_id}
v3.3.4 - Full Chat Image Export & Enhanced Downloads
What's New in v3.3.4
Enhanced Export Options
- Full Chat Image Export: Download entire conversation as PNG (captures complete chat history, not just visible area)
- Styled HTML Export: Professional chat interface design with full styling
- Text Export: Plain text format for easy sharing
Bug Fixes
- Fixed image download to capture full scrollable content
- Temporarily expands container before capture for complete screenshot
- Added jsconfig.json to fix html2canvas TypeScript/linting warnings
Version Updates
- All scripts and files updated to v3.3.4
- README.md updated with new features
- SECURITY.md version synced
Full Changelog: v3.3.3...v3.3.4
PDBOT v3.3.3 - Enhanced Download Options
PDBOT v3.3.3
Enhanced Download Options
New Download Features
Three ways to export your chat:
| Format | Extension | Description |
|---|---|---|
| ** Text** | .txt | Plain text, simple and lightweight |
| ** HTML** | .html | Styled chat interface - looks like the widget! |
| ** Image** | .png | Screenshot of entire chat as PNG |
HTML Export
The HTML export now generates a beautiful styled page that mirrors the PDBOT widget design:
- Gradient green header with logo
- User messages in green bubbles (right-aligned)
- Bot messages in white bubbles (left-aligned)
- Timestamps on each message
- Session metadata footer
- Print-friendly CSS
- Opens in any browser
Image Export
New feature: Download as Image (.png)
- High quality (2x scale for crisp text)
- Captures the entire chat conversation
- Perfect for sharing or documentation
- Uses html2canvas library
Technical Changes
- Added \exportChatAsHTML()\ function with full CSS styling
- Added \downloadAsImage()\ using html2canvas
- Updated SettingsMenu with 3 download options
- Added html2canvas as dependency
Quick Start
\\powershell
.\start_pdbot.bat
\\
PDBOT v3.3.3 | Government of Pakistan
PDBOT v3.3.2 - Documentation Overhaul & Precision RAG
PDBOT v3.3.2
Planning & Development Intelligent Assistant
Government of Pakistan | Ministry of Planning, Development & Special Initiatives
Verified Performance Metrics
| Metric | Score | Verification |
|---|---|---|
| In-Scope Accuracy | 95%+ | 38 Test Sessions |
| Numeric Accuracy | 100% | 20-Question Benchmark |
| Off-Scope Detection | 100% | Human + AI Verified |
| Red-Line Detection | 100% | Human + AI Verified |
| Hallucination Rate | 0% | Multi-Model Cross-Check |
| Source Citation | 100% | Every Response |
What's New in v3.3.2
Answer Quality Improvements
- 100-Word Limit: Expanded from 70 for complete answers
- Numeric Protection: Never cuts mid-number (e.g., 'Rs. 2,000 million')
- Sentence Boundary Respect: Truncation at complete sentences only
- 2-3 Sentence Answers: Balanced detail and conciseness
Documentation Overhaul
- Complete README rewrite with professional tables
- 20-question benchmark test results documented
- Verification methodology section added
- Version history and development timeline
Security Updates
- New Groq API protection documentation
- LLM security section with verification layers
- Updated deployment security checklist
- API endpoint security matrix
Verification Methodology
All responses verified using:
| Model | Purpose |
|---|---|
| Human Expert | Manual verification against PDF |
| Gemini 2.0 Flash | Cross-reference with source |
| ChatGPT-4o | Logical consistency |
| Claude Sonnet 4 | Citation accuracy |
| Grok 3 | Edge case testing |
Included in this Release
- Major RAG reconstruction (precision chunking)
- Dynamic value retrieval (no hardcoded values)
- Answer truncation fix
- All scripts updated to v3.3.2
- Professional documentation
Quick Start
\\powershell
Run the unified launcher
.\start_pdbot.bat
\\
38 Tests | 500+ Queries | 95%+ Accuracy | 100% Safety | 0% Hallucination
Verified by Human Experts + Multi-Model AI Cross-Validation
v2.5.0-patch4: Markdown Tables, Resizable Widget & Suggestions Fix
Widget UX Improvements
Markdown Table Rendering
- Comparison/difference queries now render as beautiful styled tables
- Green gradient headers with Pakistan government theme
- Hover effects for row highlighting
- Responsive with horizontal scroll on overflow
Resizable Widget
- Widget can now be resized by dragging any corner or edge
- Visual resize indicator in bottom-right corner
- Minimum size constraints to maintain usability
Suggestions Position Fixed
- Follow-up suggestions now appear AFTER the answer (not at the top)
- More natural conversation flow
- Questions stay visible after bot responds
Technical Changes
- Added
eact-markdown\ +
emark-gfm\ for GFM table support - ChatBubble component now uses ReactMarkdown for bot messages
- Added 80+ lines of CSS for markdown elements (tables, code, lists)
- Widget CSS now uses
esize: both\ property
Full Changelog: v2.5.0-patch3...v2.5.0-patch4
v2.5.0-patch3: Widget Fixes and Approval Limits Table
What's New in v2.5.0-patch3
Structured Response Tables
- Approval Limits Table: Queries like 'what are the approval limits' return formatted tables
- Comparison Tables: DDWP vs CDWP vs ECNEC with full comparison matrix
- PC Forms Comparison: All 5 PC proformas compared in table format
Widget Follow-up Questions (Fixed)
- Position Fixed: Suggested questions now appear AFTER bot response
- Visual Styling: Follow-up questions have distinct green styling
- Auto-update: Questions refresh based on conversation context
External Access Improvements
- Tunnel Password Helper: start_tunnel_lt.bat now shows your tunnel password
- Fixed URL: Access at https://pdbot-gop.loca.lt
- Auto-start: API starts automatically when launching tunnel
Bug Fixes
- Definition queries now also check for comparison/table templates
- Numeric queries get structured table responses
- Classifier priority fixed: comparison checked before definition
Full Changelog: v2.5.0-patch1...v2.5.0-patch3

