Aperçu
Workflow d'exécution pour tout agent de codage (Cursor, Claude Code, Codex, OpenCode) : avant que l'agent ne suggère une correction, il interroge Scavio avec site:github.com/[pkg]/issues plus la chaîne d'erreur, affiche les 3 premières issues ouvertes/fermées et fonde la suggestion sur l'activité réelle du projet.
Déclencheur
Chaque appel d'outil d'agent où l'utilisateur signale une erreur ou pose une question sur une dépendance
Planification
Lors de l'appel d'outil d'agent
Étapes du workflow
Extraire le package et l'erreur
À partir du message de l'utilisateur ou de la trace de pile, extraire le nom du package et l'empreinte de l'erreur.
Requête SERP GitHub ciblée
Construire `site:github.com/<owner>/<pkg>/issues <error>` et POST sur Scavio.
Classer par actualité et réactions
Analyser les 3 premiers résultats ; privilégier les issues ouvertes avec activité récente.
Inclure dans le contexte de l'agent
Injecter le titre de l'issue, l'URL et le commentaire principal dans le prochain tour du LLM.
Suggérer une correction fondée
L'agent fait référence au fil de discussion réel de l'issue dans sa réponse.
Implémentation Python
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": API_KEY}
def issue_context(owner, pkg, error):
q = f'site:github.com/{owner}/{pkg}/issues {error}'
r = requests.post("https://api.scavio.dev/api/v1/search",
headers=H, json={"query": q}).json()
return r.get("organic_results", [])[:3]
print(issue_context("langchain-ai", "langchain", "ToolInvocation deprecated"))Implémentation JavaScript
const H = { "x-api-key": process.env.SCAVIO_API_KEY, "content-type": "application/json" };
async function issueContext(owner, pkg, error) {
const q = `site:github.com/${owner}/${pkg}/issues ${error}`;
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H, body: JSON.stringify({ query: q })
}).then(r => r.json());
return (r.organic_results || []).slice(0, 3);
}Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA