尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證AAC application that uses AI and multi-layered context to generate dynamic and personal options
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗An open-source Augmentative and Alternative Communication (AAC) application powered by Google Gemini and deployed on Google Cloud Platform.
Bravo AAC helps individuals with communication differences express themselves using AI-generated word suggestions, pictogram symbol boards, and customizable communication pages. It supports scan-based access, multiple AAC board formats (Grid, Tap, Freestyle/Compose), and import from common AAC formats (Accent MTI, TouchChat).
| Layer | Technology |
|---|---|
| Backend | Python 3.12, FastAPI |
| LLM | Google Gemini (via google-generativeai) |
| Database | Firestore |
| Auth | Firebase Authentication |
| Storage | Google Cloud Storage |
| Deployment | Cloud Run (Docker), Cloud Build CI/CD |
| TTS | Google Cloud Text-to-Speech |
Clone the repo
git clone https://github.com/OSUBlakester/BravoGCPCopilot.git
cd BravoGCPCopilot
Create a virtual environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements-local.txt
Configure credentials
cp config.py.template config.py
# Edit config.py with your Firebase project credentials
Or create a .env file from the template:
cp .env.template .env
# Edit .env with your environment variables
Start the server
./restart-local.sh
The app will be available at http://localhost:8000.
See DEPLOYMENT.md for full multi-environment deployment instructions.
Automated deployments are configured via cloudbuild.yaml — merging to main triggers a Cloud Build pipeline that builds and deploys to Cloud Run.
These must be set in your Cloud Run service (or .env for local dev):
| Variable | Required | Description |
|---|---|---|
ENVIRONMENT | Yes | development, testing, or production |
GCP_PROJECT_ID | Yes | Your GCP project ID |
GEMINI_PRIMARY_MODEL | Yes | Primary Gemini model (e.g. gemini-2.5-flash-lite) |
GEMINI_FALLBACK_MODEL | Yes | Fallback Gemini model (e.g. gemini-1.5-flash-latest) |
GEMINI_FAST_WORDS_MODEL | No | Defaults to GEMINI_PRIMARY_MODEL |
FIREBASE_API_KEY_* | Yes | Firebase API key for your environment suffix |
FIREBASE_AUTH_DOMAIN_* | Yes | Firebase auth domain |
FIREBASE_PROJECT_ID_* | Yes | Firebase project ID |
FIREBASE_STORAGE_BUCKET_* | Yes | Firebase storage bucket |
GOOGLE_API_KEY | Yes | Gemini API key (via Secret Manager recommended) |
SERVICE_ACCOUNT_KEY_PATH | Yes | Path to GCP service account JSON |
EMAIL_FEATURE_ENABLED | No | Set true to enable Gmail integration |
GOOGLE_OAUTH_CLIENT_ID | If email enabled | OAuth client ID |
GOOGLE_OAUTH_CLIENT_SECRET | If email enabled | OAuth client secret |
EMAIL_OAUTH_STATE_SECRET | If email enabled | Random secret for OAuth state |
EMAIL_TOKEN_ENCRYPTION_KEY | If email enabled | Fernet key for token encryption |
See ENVIRONMENT_VARIABLES.md for full details and GCP Console/CLI setup instructions.
Bravo supports importing communication boards from:
accent_mti_parser.py and accent_bravo_mapper.pytouchchat_ce_parser.pySee MTI_MIGRATION_PROCESS.md for the migration workflow.
See CONTRIBUTING.md for branching workflow and contribution guidelines.
Apache License 2.0 — see LICENSE for details.