Overview
AI Assistant is a web-based chat interface that allows users to interact with AI models through text and voice input. The application is hosted at ai.shieldstack.dev and provides a modern, responsive interface for AI-powered conversations.
Key Information:
URL: https://ai.shieldstack.dev
Server Location: /var/www/ai
SSL Certificate: Let's Encrypt (Auto-renewing)
Web Server: Nginx
Date Deployed: October 14, 2025
Features
1. Text Chat Interface
A modern, responsive chat interface with real-time message streaming and markdown support.
2. Voice Input (Speech-to-Text)
Click the microphone button to speak your questions. The application uses the browser's built-in Web Speech API to convert speech to text.
3. Configurable AI Backend
Supports multiple AI API formats:
OpenAI: Compatible with OpenAI API and similar endpoints
Anthropic: Native support for Claude API
Custom: Flexible format for other AI providers
4. Conversation History
The application maintains conversation context for coherent multi-turn dialogues.
5. Markdown Formatting
Supports formatted text, code blocks, and inline code for better readability.
Usage Guide
Getting Started
Navigate to https://ai.shieldstack.dev
Click the settings icon (gear) in the top right
Configure your AI API endpoint and credentials
Start chatting!
Using Text Input
Type your message in the text area at the bottom
Press Enter (or click the send button) to send
Wait for the AI to respond
Using Voice Input
Click the microphone button
Speak your question clearly
The speech will be automatically converted to text
The message will be sent automatically when you stop speaking
Note: Voice input requires a browser that supports the Web Speech API (Chrome, Edge, Safari). Make sure to allow microphone permissions when prompted.
Configuration
API Settings
To configure the AI backend, click the settings icon and fill in the following:
Setting
Description
Example
API Endpoint
The URL of your AI API
https://api.openai.com/v1/chat/completions
API Key
Your authentication key (optional)
sk-...
API Format
The API format to use
openai, anthropic, or custom
Model Name
The AI model to use
gpt-3.5-turbo, claude-3-opus, etc.
Default Configuration
The application comes pre-configured with the following defaults:
API Endpoint: https://qqnqlyiy8exjax-5000.proxy.runpod.net/v1/chat/completions
API Format: openai
Model: gpt-3.5-turbo
Security Note: API keys are stored in your browser's localStorage. Never share your API keys or use them on untrusted devices.
Technical Details
Directory Structure
/var/www/ai/
├── index.html # Main chat interface
├── assets/
│ ├── css/
│ │ └── style.css # Styling
│ └── js/
│ └── chat.js # Chat functionality
└── documents/
└── index.html # This documentation
Nginx Configuration
Config File: /etc/nginx/conf.d/ai.shieldstack.dev.conf
Key features:
SSL/TLS encryption with Let's Encrypt
HTTP to HTTPS redirect
Security headers (X-Frame-Options, CSP, etc.)
Static asset caching (1 year)
Directory listing for /documents
SSL Certificate
Provider
Let's Encrypt
Certificate Location
/etc/letsencrypt/live/ai.shieldstack.dev/
Expiration
January 12, 2026 (Auto-renews)
Renewal Method
Certbot automated renewal
Technology Stack
Frontend: HTML5, CSS3, JavaScript (Vanilla)
Web Server: Nginx
SSL: Let's Encrypt
Speech Recognition: Web Speech API
API Communication: Fetch API
Browser Compatibility
Feature
Chrome
Firefox
Safari
Edge
Text Chat
✓
✓
✓
✓
Voice Input
✓
✗
✓
✓
LocalStorage
✓
✓
✓
✓
Troubleshooting
Common Issues
1. "API request failed" Error
Cause: Incorrect API endpoint or authentication.
Solution:
Verify your API endpoint URL is correct
Check that your API key is valid
Ensure the API format matches your endpoint (openai, anthropic, custom)
Check browser console for detailed error messages
2. Microphone Not Working
Cause: Browser permissions or unsupported browser.
Solution:
Allow microphone access when prompted
Check browser settings → Site Settings → Microphone
Use Chrome, Edge, or Safari (Firefox doesn't support Web Speech API)
Ensure HTTPS is enabled (required for microphone access)
3. Slow Response Times
Cause: API server latency or network issues.
Solution:
Check your internet connection
Verify the API endpoint is responsive
Try a different AI model (smaller models are faster)
4. Settings Not Saving
Cause: Browser localStorage disabled or private browsing mode.
Solution:
Disable private/incognito mode
Enable localStorage in browser settings
Clear browser cache and cookies
Server-Side Issues
Nginx Not Starting
sudo systemctl status nginx
sudo nginx -t
sudo systemctl restart nginx
SSL Certificate Issues
# Test certificate
sudo certbot certificates
# Renew certificate manually
sudo certbot renew
# Force renewal
sudo certbot renew --force-renewal
Check Logs
# Nginx access log
sudo tail -f /var/log/nginx/ai.shieldstack.dev-access.log
# Nginx error log
sudo tail -f /var/log/nginx/ai.shieldstack.dev-error.log
Maintenance
Regular Tasks
SSL Certificate: Auto-renews via certbot (check monthly)
Nginx: Restart after config changes
Logs: Monitor and rotate as needed
Updates: Keep system packages updated
Backup Recommendations
Backup /var/www/ai/ directory
Backup /etc/nginx/conf.d/ai.shieldstack.dev.conf
Backup SSL certificates from /etc/letsencrypt/
File Permissions
sudo chown -R appsforte:appsforte /var/www/ai
sudo chmod -R 755 /var/www/ai
sudo chmod 644 /var/www/ai/index.html
Changelog
Version 1.0 - October 14, 2025
Initial deployment
Text and voice chat interface
Configurable AI backend support
SSL/HTTPS enabled
Responsive design
Comprehensive documentation
← Back to AI Assistant