Browse documentation

🧭 Start Here

Blackcap Overview ✨ Blackcap Feature Catalog 🧱 Technology, Administration, and Reliability Installation First Run

🚀 Deploy Blackcap

Platform Stacks and Raspberry Pi Hardware Raspberry Pi Deployment Raspberry Pi Client Services GCP Deployment Application Updates Environment Variables and Secrets Reverse Proxy and TLS Background Jobs and Schedules

🛠️ Administer Blackcap

Organizations Users, Permissions, and Authentication Configuration Workspace Backups and Restore Database Administration Regression Testing Performance and Job Status Audit, Access Activity, and Logging GeoIP and Access Location Data Retention and Purge Support Chat Administration Support Requests API Tester and Postman Instance Reporting

🍽️ Use Recipes

Recipes and the Recipe Library Recipe Import and Discovery Recipe Editing and Cache Artifacts Recipe Sharing Social Recipe Import AI Recipe Image Generation

📅 Plan Meals

Meal Planner

🛒 Use Shopping Lists

Shopping Lists and Shop a List External and Household Shopping 🧩 Chrome Extension Shop With

🧺 Manage Kitchen Inventory

🧺 Kitchen Inventory

🖥️ Use Displays

Displays and Connections Assigning and Scheduling Display Content Remote Pi Client E-Ink Rendering Menu Refresh and Rendering Noun Project Footer Images

🧑‍🍳 Cook with Let’s Cook

🧑‍🍳 Let’s Cook 🧑‍🍳 Let’s Cook Controls and Timers

🤖 Use and Administer AI

🤖 AI in Blackcap 🤖 AI Providers and Connections 🤖 AI Seeds and Usage Support Chat

🧩 Use the Chrome Extension

🧩 Blackcap Chrome Extension 🧩 Chrome Extension Recipe Capture 🧩 Chrome Extension Shop With 🧩 Chrome Extension Release and Privacy

🎮 Play Games

🎮 Games and Trivia

🔌 Integrations

Email Integration Cloud Storage Integrations Voice Assistants Shop With Integrations Authentication Providers

⚙️ Develop Blackcap

Application Architecture Database Service and Data Access SQLite and PostgreSQL Database Migrations Background Job Architecture Testing API Architecture Security and Organization Scoping UI, Icons, and Documentation Assets Blackcap-Safe Emoji Support Chat Architecture Extending Support Chat Support Chat Model Benchmark Documentation Standards Terminology

⚠️ Troubleshoot Blackcap

⚠️ Troubleshooting Deployment Troubleshooting Display Troubleshooting Recipe Import Troubleshooting 🤖 AI Troubleshooting Backup Troubleshooting Database Troubleshooting Diagnostic Organization Clones Support Chat

Extending Support Chat

Audience: Developer, System Admin Related: Support Chat Architecture · Documentation Standards · Testing

Extend Support Chat by adding documentation and deterministic metadata before adding provider-specific intelligence.

Add or improve suggestions

Initial chips come from support_suggestions_service, using page/feature metadata and a small registry. Do not call an AI model simply to render the opening suggestions. Keep the list short and page specific.

Provider-returned follow-ups are optional and limited by the structured response contract. They must stay within Blackcap support scope.

Improve retrieval

Prefer improving canonical headings, feature terminology, tags, route weighting, and lexical ranking first. If a future benchmark demonstrates that semantic embeddings materially improve Blackcap-specific retrieval, add them behind the provider-independent retrieval service, generate them only when documentation changes, and preserve SQLite/PostgreSQL parity. Do not make a vector database a prerequisite without measured need.

Add provider support

Implement the normalized generate_text adapter contract rather than adding provider logic to Support Chat routes. Provider adapters own request syntax, structured output, timeout, usage extraction, and normalized failures. Support Chat owns Blackcap grounding, context, trusted source resolution, lifecycle, and escalation.

Testing additions

New behavior should include deterministic tests for retrieval, audience filtering, source URL resolution, context redaction, idempotency, lifecycle/cleanup, AI Usage correlation, transcript permissions, transcript email recipient enforcement, and provider parity. Live-provider evaluation is optional for routine regression and should be run separately with explicit configured credentials.

On this page