**Motivations:** - Clone or load repos under /home/ncantu/code with AnythingLLM workspace ensure/create from the editor **Root causes:** - N/A (new capability) **Correctifs:** - N/A **Evolutions:** - services/repos-devtools-server: POST /repos-clone, GET /repos-list, POST /repos-load (Bearer REPOS_DEVTOOLS_TOKEN) - Extension: Webview panel, slash commands, workspaceEnsure + POST /api/v1/workspace/new - Docs: feature note and index links **Pages affectées:** - services/repos-devtools-server/* - extensions/anythingllm-workspaces/* - docs/README.md - docs/features/repos-devtools-server-and-dev-panel.md - docs/features/anythingllm-vscode-extension.md
35 lines
1.9 KiB
Markdown
35 lines
1.9 KiB
Markdown
# repos-devtools-server + panneau « Dev tools » (extension AnythingLLM)
|
||
|
||
**Author:** 4NK
|
||
|
||
## Objectif
|
||
|
||
Sur l’hôte qui porte les clones (ex. `192.168.1.164`, racine `/home/ncantu/code`) :
|
||
|
||
- exposer une **API HTTP locale** (git clone branche `test`, liste des dépôts, résolution de chemin) ;
|
||
- depuis l’extension **AnythingLLM Workspaces**, fournir un **panneau Webview** pour saisir des commandes texte et afficher la réponse ;
|
||
- enchaîner avec l’**API développeur AnythingLLM** pour **vérifier / créer** un workspace dont le nom (ou slug) correspond au dépôt.
|
||
|
||
## Impacts
|
||
|
||
- Nouveau service : `services/repos-devtools-server/` (Node 20+, écoute `127.0.0.1`, Bearer obligatoire via `REPOS_DEVTOOLS_TOKEN`).
|
||
- Extension version **0.2.0** : réglages `anythingllm.reposApiBaseUrl`, `anythingllm.reposApiToken`, commande **AnythingLLM: Dev tools panel**, fichiers `media/devTools.js`, logique `workspaceEnsure`, `POST /api/v1/workspace/new`.
|
||
|
||
## Modifications
|
||
|
||
- Serveur : `POST /repos-clone`, `GET /repos-list`, `POST /repos-load`.
|
||
- Extension : parseur de lignes, client HTTP repos, `ensureWorkspaceForRepoName`, panneau Webview.
|
||
|
||
## Modalités de déploiement
|
||
|
||
1. Sur la machine des clones : définir `REPOS_DEVTOOLS_TOKEN`, optionnellement `REPOS_DEVTOOLS_ROOT`, `npm run build && npm start` (voir `services/repos-devtools-server/README.md`).
|
||
2. Dans Cursor / VS Code (même hôte ou tunnel vers `:37140`) : renseigner `anythingllm.reposApiBaseUrl` et `anythingllm.reposApiToken`.
|
||
3. Recompiler / réinstaller l’extension (`.vsix` ou workspace dev).
|
||
|
||
## Modalités d’analyse
|
||
|
||
- Erreur **401** sur l’API repos : token extension ≠ `REPOS_DEVTOOLS_TOKEN`.
|
||
- Erreur **403** AnythingLLM : clé API application (pas secret nginx Ollama).
|
||
- **409** clone : répertoire cible déjà présent sous `REPOS_DEVTOOLS_ROOT`.
|
||
- **git clone** échoue si la branche `test` n’existe pas sur le remote (comportement git nominal).
|