From fe5df4680b4b1eafcc09ffc952443ff0c973deb2 Mon Sep 17 00:00:00 2001 From: Spencer Martin Date: Fri, 8 May 2026 10:02:57 +0200 Subject: [PATCH] docs: translate README to French Co-Authored-By: Claude Sonnet 4.6 --- README.md | 715 +++++++++++++++++++++++++++--------------------------- 1 file changed, 358 insertions(+), 357 deletions(-) diff --git a/README.md b/README.md index 9615732..5b6e75d 100644 --- a/README.md +++ b/README.md @@ -1,208 +1,209 @@ -# 🧠 Brian - Your Personal Knowledge Base -Screenshot 2026-02-20 at 4 30 00 PM +# 🧠 Brian - Votre Base de Connaissances Personnelle +Screenshot 2026-02-20 at 4 30 00 PM -> A play on "brain" - Brian is your intelligent knowledge repository with vector-based similarity search, beautiful graph visualization, and seamless Goose integration. Because I cannot spell 9/10 times and I make this mistake all the time now you can too! -Screenshot 2026-02-19 at 3 35 51 PM +> Un jeu de mots sur "brain" (cerveau) - Brian est votre rĂ©fĂ©rentiel de connaissances intelligent avec recherche de similaritĂ© vectorielle, visualisation graphique Ă©lĂ©gante et intĂ©gration transparente avec Goose. Parce que je fais des fautes d'orthographe 9 fois sur 10 et que je fais cette erreur tout le temps, maintenant vous pouvez aussi ! +Screenshot 2026-02-19 at 3 35 51 PM -Screenshot 2026-02-19 at 3 36 05 PM +Screenshot 2026-02-19 at 3 36 05 PM -## ✹ Features +## ✹ FonctionnalitĂ©s -### Core Knowledge Management -- **📚 Knowledge Items**: Store links, notes, code snippets, and papers -- **🔍 Smart Search**: Full-text search with FTS5 + TF-IDF vector similarity -- **đŸ·ïž Tagging System**: Organize items with tags for easy filtering -- **🔗 Link Previews**: Automatic metadata extraction from URLs -- **📄 Google Docs Support**: Seamless integration with Google Drive documents +### Gestion des Connaissances -Screenshot 2026-02-04 at 12 32 03 PM +- **📚 ÉlĂ©ments de Connaissance**: Stockez des liens, notes, extraits de code et articles +- **🔍 Recherche Intelligente**: Recherche plein texte avec FTS5 + similaritĂ© vectorielle TF-IDF +- **đŸ·ïž SystĂšme de Tags**: Organisez les Ă©lĂ©ments avec des tags pour un filtrage facile +- **🔗 Aperçus de Liens**: Extraction automatique des mĂ©tadonnĂ©es depuis les URLs +- **📄 Support Google Docs**: IntĂ©gration transparente avec les documents Google Drive +Screenshot 2026-02-04 at 12 32 03 PM -### Multi-Project Knowledge Bases -- **đŸ—‚ïž Multiple Projects**: Organize knowledge into separate project spaces -Screenshot 2026-02-04 at 12 31 45 PM +### Bases de Connaissances Multi-Projets +- **đŸ—‚ïž Projets Multiples**: Organisez les connaissances dans des espaces de projet sĂ©parĂ©s +Screenshot 2026-02-04 at 12 31 45 PM -### Graph Visualization -- **đŸ•žïž Force-Directed Graph**: Interactive D3.js visualization showing connections -- **🎹 Theme Highlighting**: Hover over tags to see themed connections with colored drop shadows -- **🔍 Semantic Zoom**: Smooth transitions between project, region, and item views -- **🌌 Knowledge Universe**: Zoom out to see all projects as "galaxies" in a unified space -- **📍 Knowledge Regions**: Group related items with visual boundaries -Screenshot 2026-02-04 at 12 31 10 PM +### Visualisation Graphique +- **đŸ•žïž Graphe Ă  Forces DirigĂ©es**: Visualisation interactive D3.js montrant les connexions +- **🎹 Mise en Évidence par ThĂšme**: Survolez les tags pour voir les connexions thĂ©matiques avec des ombres colorĂ©es +- **🔍 Zoom SĂ©mantique**: Transitions fluides entre les vues projet, rĂ©gion et Ă©lĂ©ment +- **🌌 Univers de Connaissances**: DĂ©zoomez pour voir tous les projets comme des "galaxies" dans un espace unifiĂ© +- **📍 RĂ©gions de Connaissances**: Regroupez les Ă©lĂ©ments liĂ©s avec des dĂ©limitations visuelles -### Hierarchical Zoom (Knowledge Universe) -- **🔭 Multi-Scale View**: Seamlessly zoom from individual items to entire knowledge universe -- **đŸȘ Project Hulls**: Visual boundaries around project clusters when zoomed out -- **✹ Semantic Rendering**: Labels, nodes, and links adapt based on zoom level -- **📊 Zoom Indicator**: Real-time display of zoom level and current semantic view +Screenshot 2026-02-04 at 12 31 10 PM +### Zoom HiĂ©rarchique (Univers de Connaissances) +- **🔭 Vue Multi-Échelle**: Zoomez de maniĂšre fluide des Ă©lĂ©ments individuels Ă  l'univers de connaissances entier +- **đŸȘ Enveloppes de Projet**: DĂ©limitations visuelles autour des clusters de projets lors du dĂ©zoom +- **✹ Rendu SĂ©mantique**: Les Ă©tiquettes, nƓuds et liens s'adaptent selon le niveau de zoom +- **📊 Indicateur de Zoom**: Affichage en temps rĂ©el du niveau de zoom et de la vue sĂ©mantique actuelle -### AI Integration -- **đŸ€– Goose Integration**: Use Brian directly from Goose AI assistant via MCP -- **🧭 Region Profiles**: Configure AI behavior per knowledge region -- **💡 Smart Context**: Get relevant knowledge context for any topic -Screenshot 2026-02-04 at 12 32 30 PM +### IntĂ©gration IA +- **đŸ€– IntĂ©gration Goose**: Utilisez Brian directement depuis l'assistant IA Goose via MCP +- **🧭 Profils de RĂ©gion**: Configurez le comportement de l'IA par rĂ©gion de connaissances +- **💡 Contexte Intelligent**: Obtenez un contexte de connaissances pertinent pour n'importe quel sujet +Screenshot 2026-02-04 at 12 32 30 PM -## 🚀 Quick Start -### Prerequisites +## 🚀 DĂ©marrage Rapide -- **Python 3.8+** - [Download](https://www.python.org/downloads/) -- **Node.js 16+** - [Download](https://nodejs.org/) -- **pnpm** - [Install](https://pnpm.io/installation) (`npm install -g pnpm`) -- **Goose** (optional) - For AI assistant integration - https://github.com/block/goose +### PrĂ©requis -### One-Command Installation +- **Python 3.8+** - [TĂ©lĂ©charger](https://www.python.org/downloads/) +- **Node.js 16+** - [TĂ©lĂ©charger](https://nodejs.org/) +- **pnpm** - [Installer](https://pnpm.io/installation) (`npm install -g pnpm`) +- **Goose** (optionnel) - Pour l'intĂ©gration avec l'assistant IA - https://github.com/block/goose + +### Installation en Une Commande ```bash -# Clone the repository +# Cloner le dĂ©pĂŽt git clone https://github.com/yourusername/brian.git cd brian -# Run the setup script +# Lancer le script d'installation ./setup.sh ``` -That's it! The setup script will: -- ✅ Install all Python dependencies -- ✅ Install all frontend dependencies -- ✅ Create the Brian data directory -- ✅ Configure the Goose extension automatically -- ✅ Create convenient start/stop scripts +C'est tout ! Le script d'installation va : +- ✅ Installer toutes les dĂ©pendances Python +- ✅ Installer toutes les dĂ©pendances frontend +- ✅ CrĂ©er le rĂ©pertoire de donnĂ©es Brian +- ✅ Configurer l'extension Goose automatiquement +- ✅ CrĂ©er des scripts de dĂ©marrage/arrĂȘt pratiques -### Start Brian +### DĂ©marrer Brian ```bash ./start.sh ``` -This starts both the backend (port 8080) and frontend (port 5173) servers. +Cela dĂ©marre Ă  la fois le backend (port 8080) et le frontend (port 5173). -Open your browser to: **http://localhost:5173** +Ouvrez votre navigateur sur : **http://localhost:5173** -### Stop Brian +### ArrĂȘter Brian ```bash ./stop.sh ``` -## 📖 Usage +## 📖 Utilisation -### Adding Knowledge Items +### Ajouter des ÉlĂ©ments de Connaissance -**Via Web UI:** -1. Open http://localhost:5173 -2. Click the "+" button -3. Choose item type (link, note, snippet, paper) -4. Fill in the details and add tags -5. Save! +**Via l'Interface Web :** +1. Ouvrez http://localhost:5173 +2. Cliquez sur le bouton "+" +3. Choisissez le type d'Ă©lĂ©ment (lien, note, extrait, article) +4. Remplissez les dĂ©tails et ajoutez des tags +5. Enregistrez ! -**Via Goose:** +**Via Goose :** ``` -You: Add this link to Brian: https://example.com with tags "ai, research" -Goose: ✓ Added to your knowledge base! +Vous : Ajoute ce lien Ă  Brian : https://example.com avec les tags "ia, recherche" +Goose : ✓ AjoutĂ© Ă  votre base de connaissances ! ``` -### Managing Projects +### GĂ©rer les Projets -**Creating a Project:** -1. Click the Project Selector at the top center -2. Click "New Project" -3. Enter name, description, choose an icon and color -4. Click Create +**CrĂ©er un Projet :** +1. Cliquez sur le SĂ©lecteur de Projet en haut au centre +2. Cliquez sur "Nouveau Projet" +3. Entrez le nom, la description, choisissez une icĂŽne et une couleur +4. Cliquez sur CrĂ©er -**Switching Projects:** -- Click the Project Selector and choose a project -- Select "All Projects" to view everything across all knowledge bases +**Changer de Projet :** +- Cliquez sur le SĂ©lecteur de Projet et choisissez un projet +- SĂ©lectionnez "Tous les Projets" pour tout voir Ă  travers toutes les bases de connaissances -**Editing Projects:** -- Hover over a project in the selector and click the edit (pencil) icon -- Change the name, description, icon, or color +**Modifier des Projets :** +- Survolez un projet dans le sĂ©lecteur et cliquez sur l'icĂŽne de modification (crayon) +- Changez le nom, la description, l'icĂŽne ou la couleur -### Graph Visualization +### Visualisation Graphique -The graph view shows connections between items based on content similarity: +La vue graphique montre les connexions entre les Ă©lĂ©ments basĂ©es sur la similaritĂ© de contenu : -- **Node Colors**: Blue (links), Green (notes), Amber (snippets), Purple (papers) -- **Line Thickness**: Indicates similarity strength -- **Theme Highlighting**: Hover over tags to see themed connections -- **Node Details**: Click any node to see full details in a bottom sheet -- **Zoom & Pan**: Scroll to zoom, drag to pan -- **Drag Nodes**: Reposition nodes by dragging +- **Couleurs des NƓuds**: Bleu (liens), Vert (notes), Ambre (extraits), Violet (articles) +- **Épaisseur des Lignes**: Indique la force de similaritĂ© +- **Mise en Évidence par ThĂšme**: Survolez les tags pour voir les connexions thĂ©matiques +- **DĂ©tails du NƓud**: Cliquez sur n'importe quel nƓud pour voir les dĂ©tails complets dans une feuille infĂ©rieure +- **Zoom & DĂ©placement**: DĂ©filez pour zoomer, faites glisser pour dĂ©placer +- **DĂ©placer les NƓuds**: Repositionnez les nƓuds en les faisant glisser -### Knowledge Universe (Hierarchical Zoom) +### Univers de Connaissances (Zoom HiĂ©rarchique) -When viewing "All Projects", you can explore your entire knowledge universe: +Lors de l'affichage de "Tous les Projets", vous pouvez explorer tout votre univers de connaissances : -1. **Zoom Out** (scale < 0.3): See all projects as distinct clusters with hull boundaries -2. **Mid Zoom** (scale 0.3-0.5): See knowledge regions within projects -3. **Zoom In** (scale > 0.5): See individual items with full labels +1. **DĂ©zoomer** (Ă©chelle < 0.3) : Voir tous les projets comme des clusters distincts avec dĂ©limitations +2. **Zoom Moyen** (Ă©chelle 0.3-0.5) : Voir les rĂ©gions de connaissances au sein des projets +3. **Zoomer** (Ă©chelle > 0.5) : Voir les Ă©lĂ©ments individuels avec des Ă©tiquettes complĂštes -The zoom indicator in the bottom-left shows your current zoom level and semantic view. +L'indicateur de zoom en bas Ă  gauche montre votre niveau de zoom actuel et la vue sĂ©mantique. -### Knowledge Regions +### RĂ©gions de Connaissances -Regions help organize related items within a project: +Les rĂ©gions aident Ă  organiser les Ă©lĂ©ments liĂ©s au sein d'un projet : -1. Click the Regions button in the toolbar -2. Create a new region with a name and color -3. Add items to regions by selecting them in the graph -4. Regions appear as visual boundaries in the graph view +1. Cliquez sur le bouton RĂ©gions dans la barre d'outils +2. CrĂ©ez une nouvelle rĂ©gion avec un nom et une couleur +3. Ajoutez des Ă©lĂ©ments aux rĂ©gions en les sĂ©lectionnant dans le graphe +4. Les rĂ©gions apparaissent comme des dĂ©limitations visuelles dans la vue graphique -### Searching +### Recherche -**Via Web UI:** -- Use the search bar at the top -- Results show both exact matches and similar items -- Filter by type, tags, or project +**Via l'Interface Web :** +- Utilisez la barre de recherche en haut +- Les rĂ©sultats montrent les correspondances exactes et les Ă©lĂ©ments similaires +- Filtrez par type, tags ou projet -**Via Goose:** +**Via Goose :** ``` -You: Search Brian for "machine learning" -Goose: Found 5 items related to machine learning... +Vous : Recherche dans Brian "apprentissage automatique" +Goose : 5 Ă©lĂ©ments trouvĂ©s liĂ©s Ă  l'apprentissage automatique... ``` ## 🔧 Configuration -### Environment Variables +### Variables d'Environnement -Create a `.env` file in the project root: +CrĂ©ez un fichier `.env` Ă  la racine du projet : ```bash -# Database location +# Emplacement de la base de donnĂ©es BRIAN_DB_PATH=~/.brian/brian.db -# API server +# Serveur API BRIAN_HOST=127.0.0.1 BRIAN_PORT=8080 BRIAN_DEBUG=false -# Frontend (optional) -VITE_PORT=5173 # Frontend dev server port (auto-fallback if busy) -VITE_API_URL=http://127.0.0.1:8080 # Backend API URL for proxy +# Frontend (optionnel) +VITE_PORT=5173 # Port du serveur de dĂ©veloppement frontend (repli automatique si occupĂ©) +VITE_API_URL=http://127.0.0.1:8080 # URL de l'API backend pour le proxy ``` -**Dynamic Port Configuration:** -- If `VITE_PORT` is busy, the frontend will automatically use the next available port -- Useful when running multiple instances or when ports are occupied +**Configuration Dynamique des Ports :** +- Si `VITE_PORT` est occupĂ©, le frontend utilisera automatiquement le prochain port disponible +- Utile lors de l'exĂ©cution de plusieurs instances ou lorsque des ports sont occupĂ©s -### Goose Integration +### IntĂ©gration Goose -The setup script automatically configures Goose. The configuration is added to `~/.config/goose/config.yaml`: +Le script d'installation configure Goose automatiquement. La configuration est ajoutĂ©e Ă  `~/.config/goose/config.yaml` : ```yaml extensions: brian: provider: mcp config: - command: "/path/to/brian/venv/bin/python" + command: "/chemin/vers/brian/venv/bin/python" args: - "-m" - "brian_mcp.server" @@ -210,413 +211,413 @@ extensions: BRIAN_DB_PATH: "~/.brian/brian.db" ``` -**After setup, restart Goose to load the Brian extension.** +**AprĂšs l'installation, redĂ©marrez Goose pour charger l'extension Brian.** -## đŸ› ïž Development +## đŸ› ïž DĂ©veloppement -### Manual Setup +### Installation Manuelle -If you prefer manual installation: +Si vous prĂ©fĂ©rez une installation manuelle : ```bash -# Backend setup +# Configuration du backend python3 -m venv venv source venv/bin/activate pip install -e . -# Frontend setup +# Configuration du frontend cd frontend pnpm install -# Start backend +# DĂ©marrer le backend python -m brian.main -# Start frontend (in another terminal) +# DĂ©marrer le frontend (dans un autre terminal) cd frontend pnpm dev ``` -### Project Structure +### Structure du Projet ``` brian/ -├── brian/ # Backend Python package -│ ├── api/ # FastAPI routes -│ ├── database/ # SQLite database layer -│ │ ├── migrations.py # Database migrations -│ │ ├── repository.py # Data access layer -│ │ └── schema.py # Database schema -│ ├── models/ # Data models +├── brian/ # Package Python backend +│ ├── api/ # Routes FastAPI +│ ├── database/ # Couche de base de donnĂ©es SQLite +│ │ ├── migrations.py # Migrations de base de donnĂ©es +│ │ ├── repository.py # Couche d'accĂšs aux donnĂ©es +│ │ └── schema.py # SchĂ©ma de base de donnĂ©es +│ ├── models/ # ModĂšles de donnĂ©es │ │ └── knowledge_item.py -│ └── services/ # Business logic -│ ├── similarity.py # Similarity calculations -│ └── clustering.py # Item clustering -├── brian_mcp/ # MCP server for Goose integration -├── frontend/ # React frontend +│ └── services/ # Logique mĂ©tier +│ ├── similarity.py # Calculs de similaritĂ© +│ └── clustering.py # Clustering d'Ă©lĂ©ments +├── brian_mcp/ # Serveur MCP pour l'intĂ©gration Goose +├── frontend/ # Frontend React │ └── src/ -│ ├── components/ # React components -│ │ ├── SimilarityGraph.jsx # Main graph visualization -│ │ ├── ProjectSelector.jsx # Project management UI -│ │ ├── ProjectPill.jsx # Project indicator component -│ │ ├── Timeline.jsx # Chronological view -│ │ ├── InfinitePinboard.jsx # Spatial canvas -│ │ ├── RegionEditDialog.jsx # Region management -│ │ └── Settings.jsx # App settings -│ ├── contexts/ # React contexts +│ ├── components/ # Composants React +│ │ ├── SimilarityGraph.jsx # Visualisation graphique principale +│ │ ├── ProjectSelector.jsx # Interface de gestion des projets +│ │ ├── ProjectPill.jsx # Composant indicateur de projet +│ │ ├── Timeline.jsx # Vue chronologique +│ │ ├── InfinitePinboard.jsx # Canevas spatial +│ │ ├── RegionEditDialog.jsx # Gestion des rĂ©gions +│ │ └── Settings.jsx # ParamĂštres de l'application +│ ├── contexts/ # Contextes React │ │ └── SettingsContext.jsx -│ ├── store/ # State management -│ │ └── useStore.js # Zustand store -│ └── lib/ # Utilities -├── setup.sh # One-command installation -├── start.sh # Start both servers -└── stop.sh # Stop both servers +│ ├── store/ # Gestion d'Ă©tat +│ │ └── useStore.js # Store Zustand +│ └── lib/ # Utilitaires +├── setup.sh # Installation en une commande +├── start.sh # DĂ©marrer les deux serveurs +└── stop.sh # ArrĂȘter les deux serveurs ``` -### Running Tests +### ExĂ©cuter les Tests ```bash -# Activate virtual environment +# Activer l'environnement virtuel source venv/bin/activate -# Run Python tests +# ExĂ©cuter les tests Python pytest -# Test MCP server +# Tester le serveur MCP python test_mcp_simple.py -# Test search functionality +# Tester la fonctionnalitĂ© de recherche python test_search_fix.py ``` -## 🎹 UI Features - -### Project Selector -- Large pill-shaped button at top center -- Shows current project with icon, name, and item count -- "All Projects" mode shows universe icon with total counts -- Dropdown with all projects, create new, and edit options -- 25+ Lucide icons to choose from - -### Timeline View -- Chronological display of all items -- Grouped by date -- Project pills showing item origin -- Theme lines connecting related items -- Smooth animations - -### Graph View -- Force-directed layout with D3.js -- Real-time similarity calculations -- Interactive node selection -- Theme-based filtering with drop shadows -- Bottom sheet for detailed view with project pills -- Pulsing animation on selected nodes -- **Hierarchical zoom** with semantic rendering -- **Project hulls** when viewing all projects -- **Zoom indicator** showing current level +## 🎹 FonctionnalitĂ©s de l'Interface + +### SĂ©lecteur de Projet +- Grand bouton en forme de pilule en haut au centre +- Affiche le projet actuel avec icĂŽne, nom et nombre d'Ă©lĂ©ments +- Le mode "Tous les Projets" affiche l'icĂŽne univers avec les totaux +- Menu dĂ©roulant avec tous les projets, crĂ©er nouveau et options de modification +- Plus de 25 icĂŽnes Lucide au choix + +### Vue Chronologique +- Affichage chronologique de tous les Ă©lĂ©ments +- GroupĂ©s par date +- Pilules de projet montrant l'origine de l'Ă©lĂ©ment +- Lignes thĂ©matiques reliant les Ă©lĂ©ments liĂ©s +- Animations fluides + +### Vue Graphique +- Disposition Ă  forces dirigĂ©es avec D3.js +- Calculs de similaritĂ© en temps rĂ©el +- SĂ©lection interactive des nƓuds +- Filtrage par thĂšme avec ombres portĂ©es +- Feuille infĂ©rieure pour vue dĂ©taillĂ©e avec pilules de projet +- Animation pulsante sur les nƓuds sĂ©lectionnĂ©s +- **Zoom hiĂ©rarchique** avec rendu sĂ©mantique +- **Enveloppes de projet** lors de l'affichage de tous les projets +- **Indicateur de zoom** montrant le niveau actuel ### Navigation -- Circular icon buttons matching modern UI patterns -- Smooth transitions between views -- Responsive design -- Keyboard shortcuts (coming soon) +- Boutons icĂŽnes circulaires correspondant aux modĂšles d'interface modernes +- Transitions fluides entre les vues +- Design responsive +- Raccourcis clavier (Ă  venir) -## 🔌 Goose MCP Tools +## 🔌 Outils MCP Goose -When integrated with Goose, Brian provides these tools: +Lors de l'intĂ©gration avec Goose, Brian fournit ces outils : -### Knowledge Management +### Gestion des Connaissances #### `create_knowledge_item` -Add new items to your knowledge base. +Ajouter de nouveaux Ă©lĂ©ments Ă  votre base de connaissances. ``` -Parameters: -- title: Item title -- content: Main content -- item_type: link, note, snippet, or paper -- url: Optional URL -- tags: Optional list of tags -- project_id: Optional project to add to +ParamĂštres : +- title: Titre de l'Ă©lĂ©ment +- content: Contenu principal +- item_type: lien, note, extrait ou article +- url: URL optionnelle +- tags: Liste de tags optionnelle +- project_id: Projet optionnel oĂč ajouter ``` #### `search_knowledge` -Search your knowledge base with full-text and similarity search. +Recherchez dans votre base de connaissances avec la recherche plein texte et par similaritĂ©. ``` -Parameters: -- query: Search query -- limit: Max results (default: 10) -- project_id: Optional project filter +ParamĂštres : +- query: RequĂȘte de recherche +- limit: Nombre maximum de rĂ©sultats (dĂ©faut : 10) +- project_id: Filtre de projet optionnel ``` #### `find_similar_items` -Find items similar to a given item. +Trouvez des Ă©lĂ©ments similaires Ă  un Ă©lĂ©ment donnĂ©. ``` -Parameters: -- item_id: UUID of the reference item -- limit: Max results (default: 5) +ParamĂštres : +- item_id: UUID de l'Ă©lĂ©ment de rĂ©fĂ©rence +- limit: Nombre maximum de rĂ©sultats (dĂ©faut : 5) ``` #### `get_item_details` -Get full details of a specific item. +Obtenez les dĂ©tails complets d'un Ă©lĂ©ment spĂ©cifique. ``` -Parameters: -- item_id: UUID of the item +ParamĂštres : +- item_id: UUID de l'Ă©lĂ©ment ``` #### `update_knowledge_item` -Update an existing knowledge item's content, tags, or other properties. +Mettez Ă  jour le contenu, les tags ou d'autres propriĂ©tĂ©s d'un Ă©lĂ©ment de connaissance existant. ``` -Parameters: -- item_id: UUID of the item to update -- title: Optional new title -- content: Optional new content -- tags: Optional new tags list -- url: Optional new URL +ParamĂštres : +- item_id: UUID de l'Ă©lĂ©ment Ă  mettre Ă  jour +- title: Nouveau titre optionnel +- content: Nouveau contenu optionnel +- tags: Nouvelle liste de tags optionnelle +- url: Nouvelle URL optionnelle ``` #### `delete_knowledge_item` -Delete a knowledge item from the database. This action cannot be undone. +Supprimez un Ă©lĂ©ment de connaissance de la base de donnĂ©es. Cette action est irrĂ©versible. ``` -Parameters: -- item_id: UUID of the item to delete +ParamĂštres : +- item_id: UUID de l'Ă©lĂ©ment Ă  supprimer ``` -### Project Management +### Gestion des Projets #### `list_projects` -List all knowledge base projects. +Lister tous les projets de base de connaissances. #### `create_project` -Create a new knowledge base project. +CrĂ©er un nouveau projet de base de connaissances. ``` -Parameters: -- name: Project name -- description: Optional description -- icon: Optional emoji icon -- color: Optional hex color +ParamĂštres : +- name: Nom du projet +- description: Description optionnelle +- icon: IcĂŽne emoji optionnelle +- color: Couleur hexadĂ©cimale optionnelle ``` #### `switch_project` -Switch the default project for new items. +Changer le projet par dĂ©faut pour les nouveaux Ă©lĂ©ments. ``` -Parameters: -- project_id: UUID of the project +ParamĂštres : +- project_id: UUID du projet ``` #### `get_project_context` -Get knowledge context from a specific project. +Obtenir le contexte de connaissances d'un projet spĂ©cifique. ``` -Parameters: -- project_id: Optional project ID -- query: Optional query to filter items -- limit: Max items (default: 20) +ParamĂštres : +- project_id: ID de projet optionnel +- query: RequĂȘte optionnelle pour filtrer les Ă©lĂ©ments +- limit: Nombre maximum d'Ă©lĂ©ments (dĂ©faut : 20) ``` -### Region Management +### Gestion des RĂ©gions #### `list_regions` -List all knowledge regions. +Lister toutes les rĂ©gions de connaissances. #### `create_region` -Create a new knowledge region. +CrĂ©er une nouvelle rĂ©gion de connaissances. ``` -Parameters: -- name: Region name -- description: Optional description -- color: Optional hex color -- item_ids: Optional items to include +ParamĂštres : +- name: Nom de la rĂ©gion +- description: Description optionnelle +- color: Couleur hexadĂ©cimale optionnelle +- item_ids: ÉlĂ©ments optionnels Ă  inclure ``` #### `get_region_context` -Get knowledge context from a specific region. +Obtenir le contexte de connaissances d'une rĂ©gion spĂ©cifique. ``` -Parameters: -- region_id: UUID of the region -- query: Optional query to filter items +ParamĂštres : +- region_id: UUID de la rĂ©gion +- query: RequĂȘte optionnelle pour filtrer les Ă©lĂ©ments ``` -### Context & Intelligence +### Contexte & Intelligence #### `get_knowledge_context` -Get relevant knowledge items for a topic. +Obtenir des Ă©lĂ©ments de connaissance pertinents pour un sujet. ``` -Parameters: -- topic: Topic to get context for -- limit: Max items (default: 5) +ParamĂštres : +- topic: Sujet pour lequel obtenir le contexte +- limit: Nombre maximum d'Ă©lĂ©ments (dĂ©faut : 5) ``` #### `suggest_regions` -Suggest relevant regions for a query. +SuggĂ©rer des rĂ©gions pertinentes pour une requĂȘte. ``` -Parameters: -- query: Query to find relevant regions -- limit: Max regions (default: 3) +ParamĂštres : +- query: RequĂȘte pour trouver des rĂ©gions pertinentes +- limit: Nombre maximum de rĂ©gions (dĂ©faut : 3) ``` #### `debug_item_connections` -Debug similarity connections for an item. +DĂ©boguer les connexions de similaritĂ© pour un Ă©lĂ©ment. ``` -Parameters: -- item_id: UUID of the item to debug +ParamĂštres : +- item_id: UUID de l'Ă©lĂ©ment Ă  dĂ©boguer ``` -### Connection Management +### Gestion des Connexions -Explicit connections between knowledge items for the graph and relationship tracking. +Connexions explicites entre les Ă©lĂ©ments de connaissance pour le graphe et le suivi des relations. #### `create_connection` -Create an explicit connection between two items. +CrĂ©er une connexion explicite entre deux Ă©lĂ©ments. ``` -Parameters: -- source_item_id: UUID of the source item -- target_item_id: UUID of the target item -- connection_type: Optional - related, references, extracted_from, inspired_by, etc. -- strength: Optional - 0.0 to 1.0 (default: 1.0) -- notes: Optional notes about the connection +ParamĂštres : +- source_item_id: UUID de l'Ă©lĂ©ment source +- target_item_id: UUID de l'Ă©lĂ©ment cible +- connection_type: Optionnel - liĂ©, rĂ©fĂ©rences, extrait_de, inspirĂ©_par, etc. +- strength: Optionnel - 0.0 Ă  1.0 (dĂ©faut : 1.0) +- notes: Notes optionnelles sur la connexion ``` #### `get_item_connections` -Get all explicit connections for an item. +Obtenir toutes les connexions explicites pour un Ă©lĂ©ment. ``` -Parameters: -- item_id: UUID of the item +ParamĂštres : +- item_id: UUID de l'Ă©lĂ©ment ``` #### `update_connection` -Update an existing connection. +Mettre Ă  jour une connexion existante. ``` -Parameters: -- connection_id: ID of the connection to update -- connection_type: Optional new type -- strength: Optional new strength 0.0-1.0 -- notes: Optional new notes +ParamĂštres : +- connection_id: ID de la connexion Ă  mettre Ă  jour +- connection_type: Nouveau type optionnel +- strength: Nouvelle force optionnelle 0.0-1.0 +- notes: Nouvelles notes optionnelles ``` #### `delete_connection` -Delete an explicit connection between items. +Supprimer une connexion explicite entre des Ă©lĂ©ments. ``` -Parameters: -- connection_id: ID of the connection to delete +ParamĂštres : +- connection_id: ID de la connexion Ă  supprimer ``` -## 📊 Similarity Algorithm +## 📊 Algorithme de SimilaritĂ© -Brian uses a hybrid approach for finding connections: +Brian utilise une approche hybride pour trouver des connexions : -1. **TF-IDF Vectorization**: Converts text to numerical vectors -2. **Cosine Similarity**: Measures angle between vectors -3. **Threshold Filtering**: Only shows connections above 0.15 similarity -4. **Global IDF Scores**: Pre-computed for all documents -5. **Project-Aware**: Can filter connections by project +1. **Vectorisation TF-IDF**: Convertit le texte en vecteurs numĂ©riques +2. **SimilaritĂ© Cosinus**: Mesure l'angle entre les vecteurs +3. **Filtrage par Seuil**: Affiche uniquement les connexions au-dessus d'une similaritĂ© de 0.15 +4. **Scores IDF Globaux**: PrĂ©-calculĂ©s pour tous les documents +5. **Sensible aux Projets**: Peut filtrer les connexions par projet -This creates meaningful connections between related items without manual linking. +Cela crĂ©e des connexions significatives entre les Ă©lĂ©ments liĂ©s sans liaison manuelle. -## 🐛 Troubleshooting +## 🐛 DĂ©pannage -### Backend won't start +### Le backend ne dĂ©marre pas ```bash -# Check if port 8080 is in use +# VĂ©rifiez si le port 8080 est utilisĂ© lsof -i :8080 -# Check logs +# VĂ©rifiez les logs tail -f backend.log ``` -### Frontend won't start +### Le frontend ne dĂ©marre pas ```bash -# Check if port 5173 is in use +# VĂ©rifiez si le port 5173 est utilisĂ© lsof -i :5173 -# Check logs +# VĂ©rifiez les logs tail -f frontend.log -# Reinstall dependencies +# RĂ©installez les dĂ©pendances cd frontend && pnpm install ``` -### Goose doesn't see Brian extension +### Goose ne voit pas l'extension Brian ```bash -# Verify config +# VĂ©rifiez la configuration cat ~/.config/goose/config.yaml -# Check Python path is correct -which python # Should be inside brian/venv/bin/ +# VĂ©rifiez que le chemin Python est correct +which python # Devrait ĂȘtre dans brian/venv/bin/ -# Restart Goose +# RedĂ©marrez Goose ``` -### Database issues +### ProblĂšmes de base de donnĂ©es ```bash -# Check database exists +# VĂ©rifiez que la base de donnĂ©es existe ls -la ~/.brian/brian.db -# Reset database (WARNING: deletes all data) +# RĂ©initialiser la base de donnĂ©es (ATTENTION : supprime toutes les donnĂ©es) rm ~/.brian/brian.db -# Restart backend to recreate +# RedĂ©marrez le backend pour recrĂ©er ``` -### Graph not showing project hulls -- Ensure you're in "All Projects" mode (click Project Selector → All Projects) -- Zoom out significantly (scale < 0.4) to see project boundaries -- Check that you have items in multiple projects +### Le graphe n'affiche pas les enveloppes de projet +- Assurez-vous d'ĂȘtre en mode "Tous les Projets" (cliquez sur SĂ©lecteur de Projet → Tous les Projets) +- DĂ©zoomez significativement (Ă©chelle < 0.4) pour voir les dĂ©limitations de projet +- VĂ©rifiez que vous avez des Ă©lĂ©ments dans plusieurs projets -## đŸ€ Contributing +## đŸ€ Contribuer -Contributions are welcome! Please feel free to submit a Pull Request. +Les contributions sont les bienvenues ! N'hĂ©sitez pas Ă  soumettre une Pull Request. -1. Fork the repository -2. Create your feature branch (`git checkout -b feature/AmazingFeature`) -3. Commit your changes (`git commit -m 'Add some AmazingFeature'`) -4. Push to the branch (`git push origin feature/AmazingFeature`) -5. Open a Pull Request +1. Forkez le dĂ©pĂŽt +2. CrĂ©ez votre branche de fonctionnalitĂ© (`git checkout -b feature/FonctionnaliteIncroyable`) +3. Committez vos modifications (`git commit -m 'Ajouter une fonctionnalitĂ© incroyable'`) +4. Poussez vers la branche (`git push origin feature/FonctionnaliteIncroyable`) +5. Ouvrez une Pull Request -## 📝 License +## 📝 Licence -This project is licensed under the MIT License - see the LICENSE file for details. +Ce projet est sous licence MIT - consultez le fichier LICENSE pour plus de dĂ©tails. -## 🙏 Acknowledgments +## 🙏 Remerciements -- Built with [FastAPI](https://fastapi.tiangolo.com/) -- Frontend powered by [React](https://react.dev/) and [Vite](https://vitejs.dev/) -- Graph visualization with [D3.js](https://d3js.org/) -- UI components from [shadcn/ui](https://ui.shadcn.com/) -- Icons from [Lucide](https://lucide.dev/) -- State management with [Zustand](https://zustand-demo.pmnd.rs/) -- Animations with [Framer Motion](https://www.framer.com/motion/) -- Goose integration via [MCP](https://modelcontextprotocol.io/) +- Construit avec [FastAPI](https://fastapi.tiangolo.com/) +- Frontend propulsĂ© par [React](https://react.dev/) et [Vite](https://vitejs.dev/) +- Visualisation graphique avec [D3.js](https://d3js.org/) +- Composants UI de [shadcn/ui](https://ui.shadcn.com/) +- IcĂŽnes de [Lucide](https://lucide.dev/) +- Gestion d'Ă©tat avec [Zustand](https://zustand-demo.pmnd.rs/) +- Animations avec [Framer Motion](https://www.framer.com/motion/) +- IntĂ©gration Goose via [MCP](https://modelcontextprotocol.io/) ## 📚 Documentation -- [Quick Start Guide](QUICKSTART.md) -- [Commands Reference](COMMANDS.md) -- [Google Drive Integration](GOOGLE_DRIVE_INTEGRATION.md) -- [Graph Visualization Guide](GRAPH_VISUALIZATION_EXPLAINED.md) -- [Theme Filtering](THEME_FILTERING.md) - -## đŸ—ș Roadmap - -### Recently Completed -- ✅ Multi-project knowledge bases -- ✅ Project selector with custom icons -- ✅ Hierarchical zoom (Knowledge Universe) -- ✅ Project hulls and semantic zoom -- ✅ All Projects view -- ✅ Project pills in Timeline and Graph -- ✅ Dynamic port configuration (VITE_PORT, VITE_API_URL env vars) -- ✅ Automatic project assignment for new regions -- ✅ Fixed Universe Mode initial load issues -- ✅ Fixed region persistence across project views - -### Coming Soon -- 🔜 Zoom slider control -- 🔜 Preset zoom buttons (All / Project / Items) -- 🔜 Breadcrumb navigation -- 🔜 Keyboard shortcuts for navigation -- 🔜 Image upload with LLM interpretation -- 🔜 Standardized card components +- [Guide de DĂ©marrage Rapide](QUICKSTART.md) +- [RĂ©fĂ©rence des Commandes](COMMANDS.md) +- [IntĂ©gration Google Drive](GOOGLE_DRIVE_INTEGRATION.md) +- [Guide de Visualisation Graphique](GRAPH_VISUALIZATION_EXPLAINED.md) +- [Filtrage par ThĂšme](THEME_FILTERING.md) + +## đŸ—ș Feuille de Route + +### RĂ©cemment ComplĂ©tĂ© +- ✅ Bases de connaissances multi-projets +- ✅ SĂ©lecteur de projet avec icĂŽnes personnalisĂ©es +- ✅ Zoom hiĂ©rarchique (Univers de Connaissances) +- ✅ Enveloppes de projet et zoom sĂ©mantique +- ✅ Vue Tous les Projets +- ✅ Pilules de projet dans la Chronologie et le Graphe +- ✅ Configuration dynamique des ports (variables d'environnement VITE_PORT, VITE_API_URL) +- ✅ Attribution automatique de projet pour les nouvelles rĂ©gions +- ✅ Correction des problĂšmes de chargement initial en Mode Univers +- ✅ Correction de la persistance des rĂ©gions entre les vues de projet + +### À Venir +- 🔜 ContrĂŽle de curseur de zoom +- 🔜 Boutons de zoom prĂ©dĂ©finis (Tout / Projet / ÉlĂ©ments) +- 🔜 Navigation par fil d'Ariane +- 🔜 Raccourcis clavier pour la navigation +- 🔜 TĂ©lĂ©chargement d'images avec interprĂ©tation LLM +- 🔜 Composants de carte standardisĂ©s --- -**Made with 🧠 and ❀** +**Fait avec 🧠 et ❀** -*A play on "brain" - because your knowledge deserves a smart home.* +*Un jeu de mots sur "brain" - parce que vos connaissances mĂ©ritent un foyer intelligent.*