bodhi-sdk-react-integration
Ajouter un chat LLM local aux applications React
Les utilisateurs doivent intégrer des capacités LLM locales dans les applications React. Cette compétence fournit des instructions étape par étape pour installer bodhi-js-sdk, configurer l'authentification OAuth, et construire des interfaces de chat en streaming avec l'écosystème Bodhi Browser.
下載技能 ZIP
在 Claude 中上傳
前往 設定 → 功能 → 技能 → 上傳技能
開啟並開始使用
測試它
正在使用「bodhi-sdk-react-integration」。 Add bodhi-js-sdk to my React+Vite project
預期結果:
- 1. Run: npm install @bodhiapp/bodhi-js-react
- 2. Wrap App.tsx with BodhiProvider using your OAuth client ID
- 3. Create Chat.tsx using useBodhi hook for client access
- 4. Implement streaming chat with for await loop over chunks
- 5. Run npm run dev and test the authentication flow
正在使用「bodhi-sdk-react-integration」。 Configure OAuth for development and production
預期結果:
- Development: Use auth server at https://main-id.getbodhi.app/realms/bodhi with localhost redirect URIs
- Production: Use auth server at https://id.getbodhi.app/realms/bodhi with real domain redirect URIs
- Use environment variables VITE_BODHI_CLIENT_ID and VITE_BODHI_AUTH_SERVER for configuration
- BodhiProvider handles OAuth 2.0 + PKCE flow automatically
正在使用「bodhi-sdk-react-integration」。 Debug connection issues
預期結果:
- Check isExtension and isServerReady using useBodhi hook
- Verify Bodhi App backend is running at http://localhost:1135
- Extension mode requires Bodhi Browser extension installed
- Direct mode fallback used when extension is not detected
- Review console logs prefixed with [Bodhi/Web] for debugging
安全審計
安全Documentation-only skill providing step-by-step guidance for integrating bodhi-js-sdk into React applications. All 438 static findings are false positives: the scanner misinterprets markdown code block delimiters (triple backticks) as Ruby shell backtick execution, legitimate Bodhi SDK endpoints as hardcoded network targets, and standard Vite environment variable patterns as sensitive data access. No executable code exists - only markdown documentation files (.md) with code examples for user reference.
風險因素
⚙️ 外部命令 (288)
🌐 網路存取 (71)
品質評分
你能建構什麼
Construire un chat LLM local
Ajouter une interface de chat en streaming à l'application React+Vite utilisant le package bodhi-js-react
Déployer sur GitHub Pages
Configurer basePath et OAuth pour le déploiement de site statique avec des domaines personnalisés
Dépanner l'intégration
Diagnostiquer et résoudre les problèmes de connexion, d'authentification et de streaming en production
試試這些提示
Ajouter bodhi-js-sdk à mon projet React+Vite. Installer le package, envelopper mon application avec BodhiProvider en utilisant le client ID du portail développeur, et créer un composant de chat simple.
Configurer mon application React avec bodhi-integrated pour GitHub Pages. Définir le basePath correct dans vite.config.ts et BodhiProvider, ajouter la redirection 404.html, et configurer l'URI de redirection OAuth.
Configurer l'authentification OAuth pour bodhi-js-sdk. Configurer l'environnement de dev avec le serveur d'auth localhost et l'environnement de prod avec le serveur d'auth de production utilisant les variables d'environnement.
Créer un composant de chat en streaming complet utilisant le hook useBodhi. Inclure la sélection de modèle, la boucle de streaming AsyncGenerator, les états de chargement, la gestion d'erreurs, et le support des conversations multi-tours.
最佳實務
- Utiliser les variables d'environnement pour les IDs de clients OAuth et ne jamais engager d'identifiants dans le contrôle de version
- Vérifier isOverallReady et isAuthenticated avant d'effectuer des appels API pour éviter les erreurs
- Implémenter une gestion d'erreurs appropriée avec try/catch autour des requêtes en streaming et des opérations async
避免
- Coder en dur les IDs de clients OAuth directement dans le code source au lieu d'utiliser des variables d'environnement
- Faire des appels API avant que le client soit prêt ou que l'utilisateur soit authentifié
- Ne pas gérer les erreurs de streaming ou les échecs de connexion de manière élégante dans l'interface utilisateur