计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
firebase-ai-logic【效率与协作】Integrate Firebase AI Logic (Gemini in Firebase) for intelligent app features. Use when adding AI capabilities to Firebase apps, implementing generative AI features, or setting up Firebase AI SDK. Handles Firebase AI SDK setup, prompt engineering, and AI-powered features.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
# Install Firebase CLI
npm install -g firebase-tools
# Login
firebase login
# Initialize project
firebase init
In Firebase Console:
Web (JavaScript):
npm install firebase @anthropic-ai/sdk
Initialization code:
import { initializeApp } from 'firebase/app';
import { getAI, getGenerativeModel } from 'firebase/ai';
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT.firebaseapp.com",
projectId: "YOUR_PROJECT_ID",
};
const app = initializeApp(firebaseConfig);
const ai = getAI(app);
const model = getGenerativeModel(ai, { model: "gemini-2.0-flash" });
Text generation:
async function generateContent(prompt: string) {
const result = await model.generateContent(prompt);
return result.response.text();
}
// Example usage
const response = await generateContent("Explain the key features of Firebase.");
console.log(response);
Streaming response:
async function streamContent(prompt: string) {
const result = await model.generateContentStream(prompt);
for await (const chunk of result.stream) {
const text = chunk.text();
console.log(text);
}
}
Multimodal (image + text):
async function analyzeImage(imageUrl: string, prompt: string) {
const imagePart = {
inlineData: {
data: await fetchImageAsBase64(imageUrl),
mimeType: "image/jpeg"
}
};
const result = await model.generateContent([prompt, imagePart]);
return result.response.text();
}
Firebase Security Rules:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// Protect AI request logs
match /ai_logs/{logId} {
allow read: if request.auth != null && request.auth.uid == resource.data.userId;
allow create: if request.auth != null;
}
}
}
project/
├── src/
│ ├── ai/
│ │ ├── client.ts # Initialize AI client
│ │ ├── prompts.ts # Prompt templates
│ │ └── handlers.ts # AI handlers
│ └── firebase/
│ └── config.ts # Firebase config
├── firebase.json
└── .env.local # API key (gitignored)