Skip to content

Intégration Bear : Sauvegarde automatique des plans approuvés

Ce que vous apprendrez

Une fois l'intégration Bear activée, chaque fois que vous approuvez un plan, Plannotator l'enregistre automatiquement dans votre Bear, notamment :

  • Un titre généré automatiquement (extrait du plan)
  • Des tags intelligents (nom du projet, mots-clés, langage de programmation)
  • Le contenu complet du plan

Ainsi, vous pouvez gérer tous les plans approuvés en un seul endroit, facilitant la consultation ultérieure et la capitalisation des connaissances.

Le problème que vous rencontrez

Vous avez peut-être rencontré ces situations :

  • L'IA génère un excellent plan, mais vous souhaitez le sauvegarder pour référence future
  • Copier-coller manuellement les plans dans Bear est fastidieux
  • Les plans de différents projets sont mélangés, sans gestion par tags

Avec l'intégration Bear, ces problèmes sont résolus automatiquement.

Quand utiliser cette fonctionnalité

  • Vous utilisez Bear comme application de notes principale
  • Vous devez archiver les plans approuvés dans une base de connaissances
  • Vous souhaitez récupérer rapidement les plans historiques via des tags

À propos de Bear

Bear est une application de notes Markdown pour macOS, prenant en charge les tags, le chiffrement, la synchronisation et d'autres fonctionnalités. Si vous ne l'avez pas encore installée, visitez bear.app pour en savoir plus.

🎒 Prérequis

Concept clé

Le cœur de l'intégration Bear est le protocole x-callback-url :

  1. Dans l'interface UI de Plannotator, activez l'intégration Bear (stockée dans le localStorage du navigateur)
  2. Lors de l'approbation d'un plan, Plannotator envoie l'URL bear://x-callback-url/create
  3. Le système utilise la commande open pour ouvrir automatiquement Bear et créer une note
  4. Le contenu du plan, le titre et les tags sont automatiquement remplis

Points clés :

  • Aucune configuration de chemin de vault nécessaire (contrairement à Obsidian qui nécessite de spécifier un vault)
  • Génération intelligente de tags (maximum 7)
  • Sauvegarde automatique lors de l'approbation du plan

Différence avec Obsidian

L'intégration Bear est plus simple, ne nécessitant pas la configuration d'un chemin de vault, juste un interrupteur. Cependant, Obsidian permet de spécifier le dossier de sauvegarde et offre plus de personnalisation.

Tutoriel étape par étape

Étape 1 : Ouvrir les paramètres de Plannotator

Une fois que l'Agent IA a généré un plan et ouvert l'interface UI de Plannotator, cliquez sur le bouton ⚙️ Settings en haut à droite.

Ce que vous devriez voir : Le panneau des paramètres apparaît, contenant plusieurs options de configuration

Étape 2 : Activer l'intégration Bear

Dans le panneau des paramètres, trouvez la section Bear Notes et cliquez sur l'interrupteur.

Pourquoi L'interrupteur passe du gris (désactivé) au bleu (activé), tout en étant stocké dans le localStorage du navigateur.

Ce que vous devriez voir :

  • L'interrupteur Bear Notes devient bleu
  • Texte descriptif : "Auto-save approved plans to Bear"

Étape 3 : Approuver le plan

Une fois l'évaluation du plan terminée, cliquez sur le bouton Approve en bas.

Pourquoi Plannotator lit les paramètres Bear, et si activé, appelle le x-callback-url de Bear lors de l'approbation.

Ce que vous devriez voir :

  • L'application Bear s'ouvre automatiquement
  • Une fenêtre de nouvelle note apparaît
  • Le titre et le contenu sont déjà remplis
  • Les tags sont déjà générés (commençant par #)

Étape 4 : Consulter la note sauvegardée

Dans Bear, vérifiez la note nouvellement créée et confirmez :

  • Le titre est correct (provenant du H1 du plan)
  • Le contenu est complet (contient le texte complet du plan)
  • Les tags sont raisonnables (nom du projet, mots-clés, langage de programmation)

Ce que vous devriez voir : Une structure de note similaire à celle-ci :

markdown
## User Authentication

[Contenu complet du plan...]

#plannotator #myproject #authentication #typescript #api

Points de vérification ✅

  • [ ] L'interrupteur Bear Notes dans les paramètres est activé
  • [ ] Bear s'ouvre automatiquement après l'approbation du plan
  • [ ] Le titre de la note correspond au H1 du plan
  • [ ] La note contient le contenu complet du plan
  • [ ] Les tags incluent #plannotator et le nom du projet

Dépannage

Bear ne s'ouvre pas automatiquement

Cause : La commande système open a échoué, peut-être :

  • Bear n'est pas installé ou n'a pas été téléchargé depuis l'App Store
  • Le schéma d'URL de Bear a été détourné par une autre application

Solution :

  1. Confirmez que Bear est installé correctement
  2. Testez manuellement dans le terminal : open "bear://x-callback-url/create?title=test"

Les tags ne correspondent pas aux attentes

Cause : Les tags sont générés automatiquement selon les règles suivantes :

  • Obligatoire : #plannotator
  • Obligatoire : Nom du projet (extrait du nom du dépôt git ou du répertoire)
  • Optionnel : Maximum 3 mots-clés extraits du titre H1 (en excluant les mots vides)
  • Optionnel : Tags de langage de programmation extraits des blocs de code (en excluant json/yaml/markdown)
  • Maximum 7 tags

Solution :

  • Si les tags ne correspondent pas aux attentes, vous pouvez les modifier manuellement dans Bear
  • Si le nom du projet est incorrect, vérifiez la configuration du dépôt git ou le nom du répertoire

Approuvé mais non sauvegardé

Cause :

  • L'interrupteur Bear n'est pas activé (vérifiez les paramètres)
  • Erreur réseau ou Bear a expiré
  • Le contenu du plan est vide

Solution :

  1. Confirmez que l'interrupteur dans les paramètres est bleu (état activé)
  2. Vérifiez les journaux du terminal pour les erreurs ([Bear] Save failed:)
  3. Approuvez à nouveau le plan

Mécanisme de génération des tags

Plannotator génère intelligemment des tags pour vous permettre de récupérer rapidement les plans dans Bear. Voici les règles de génération des tags :

Source du tagExemplePriorité
Tag fixe#plannotatorObligatoire
Nom du projet#myproject, #plannotatorObligatoire
Mots-clés H1#authentication, #apiOptionnel (maximum 3)
Langage de programmation#typescript, #pythonOptionnel

Liste des mots vides (non utilisés comme tags) :

  • the, and, for, with, this, that, from, into
  • plan, implementation, overview, phase, step, steps

Exclusion de langages de programmation (non utilisés comme tags) :

  • json, yaml, yml, text, txt, markdown, md
Exemple : Processus de génération de tags

Supposons que le titre du plan soit "Implementation Plan: User Authentication System in TypeScript", et que les blocs de code contiennent Python et JSON :

  1. Tag fixe : #plannotator
  2. Nom du projet : #myproject (nom du dépôt git supposé)
  3. Mots-clés H1 :
    • implementation → Exclu (mot vide)
    • plan → Exclu (mot vide)
    • user → Conservé → #user
    • authentication → Conservé → #authentication
    • system → Conservé → #system
    • typescript → Conservé → #typescript
  4. Langages de programmation :
    • python → Conservé → #python
    • json → Exclu (liste d'exclusion)

Tags finaux : #plannotator #myproject #user #authentication #system #typescript #python (7 tags, limite atteinte)

Comparaison avec l'intégration Obsidian

FonctionnalitéIntégration BearIntégration Obsidian
Complexité de configurationSimple (seulement un interrupteur)Moyenne (nécessite de choisir le vault et le dossier)
StockageDans l'application BearChemin de vault spécifié
Nom de fichierGéré automatiquement par BearTitle - Jan 2, 2026 2-30pm.md
FrontmatterAucun (Bear ne le prend pas en charge)Oui (created, source, tags)
MultiplateformemacOS uniquementmacOS/Windows/Linux
x-callback-url✅ Utilisé❌ Écriture directe du fichier

Comment choisir

  • Si vous utilisez uniquement macOS et aimez Bear : l'intégration Bear est plus simple
  • Si vous avez besoin du multiplateforme ou de chemins de stockage personnalisés : l'intégration Obsidian est plus flexible
  • Si vous souhaitez utiliser les deux : vous pouvez les activer simultanément (l'approbation du plan sauvegardera dans les deux emplacements)

Résumé de la leçon

  • L'intégration Bear fonctionne via le protocole x-callback-url, configuration simple
  • Il suffit d'activer l'interrupteur dans les paramètres, aucun chemin à spécifier
  • Sauvegarde automatique dans Bear lors de l'approbation du plan
  • Génération intelligente de tags, incluant le nom du projet, les mots-clés, le langage de programmation (maximum 7)
  • Comparé à l'intégration Obsidian, Bear est plus simple mais offre moins de fonctionnalités

Aperçu de la prochaine leçon

Dans la prochaine leçon, nous apprendrons le Mode à distance/Devcontainer.

Vous découvrirez :

  • Comment utiliser Plannotator dans un environnement distant (SSH, devcontainer, WSL)
  • Configuration de ports fixes et de redirection de ports
  • Ouvrir le navigateur dans l'environnement distant pour consulter la page d'évaluation

Annexe : Référence du code source

Cliquez pour voir l'emplacement du code source

Dernière mise à jour : 2026-01-24

FonctionnalitéChemin du fichierLignes
Interface de configuration Bearpackages/server/integrations.ts18-20
Sauvegarde vers Bearpackages/server/integrations.ts234-257
Extraction des tagspackages/server/integrations.ts34-74
Extraction du titrepackages/server/integrations.ts94-105
Interface des paramètres Bearpackages/ui/utils/bear.ts15-17
Lecture des paramètres Bearpackages/ui/utils/bear.ts22-26
Sauvegarde des paramètres Bearpackages/ui/utils/bear.ts31-33
Composant UI des paramètrespackages/ui/components/Settings.tsx496-518
Appel de Bear lors de l'approbationpackages/editor/App.tsx512-514
Traitement Bear côté serveurpackages/server/index.ts250-257

Fonctions clés :

  • saveToBear(config: BearConfig) : Sauvegarde le plan dans Bear via x-callback-url
  • extractTags(markdown: string) : Extrait intelligemment les tags du contenu du plan (maximum 7)
  • extractTitle(markdown: string) : Extrait le titre de la note du titre H1 du plan
  • getBearSettings() : Lit les paramètres d'intégration Bear depuis le localStorage
  • saveBearSettings(settings) : Sauvegarde les paramètres d'intégration Bear dans le localStorage

Constantes clés :

  • STORAGE_KEY_ENABLED = 'plannotator-bear-enabled' : Nom de la clé des paramètres Bear dans le localStorage

Format de l'URL Bear :

typescript
bear://x-callback-url/create?title={title}&text={content}&open_note=no