Costruire un agente di coding AI locale sicuro con Node.js

Gli agenti AI sembrano complessi. Non lo sono.

Un agente è semplicemente un LLM collegato a un ciclo, a degli strumenti e a regole di sicurezza.

Ho costruito un agente di coding locale utilizzando Node.js e Mistral tramite Ollama. Non sono necessarie chiavi API a pagamento. Tutto viene eseguito sulla tua macchina.

L'agente ti aiuta a comprendere i tuoi progetti JavaScript. Può: • Elencare i file del progetto • Leggere i file del progetto • Cercare testo • Spiegare il codice • Trovare bug • Proporre modifiche al codice

Il principio fondamentale è la sicurezza. L'agente può ispezionare i file, ma non può modificarli. Restituisce solo una proposta di patch da revisionare. Questo mantiene un essere umano nel ciclo di controllo (human in the loop).

Come funziona l'agente: Una normale chatbot segue un percorso semplice: L'utente pone una domanda -> Il modello risponde

Un agente segue un ciclo: L'utente pone una domanda -> Il modello decide quale strumento usare -> JavaScript esegue lo strumento -> Il modello vede il risultato -> Il modello risponde

Pattern chiave utilizzati in questo progetto: • Agent loop: Il processo si ripete finché il modello non fornisce una risposta finale. • Tool calling: Il modello richiede funzioni JavaScript specifiche. • Tool allowlist: Vengono eseguiti solo gli strumenti approvati. • System prompt: Le regole dicono al modello come comportarsi. • JSON action protocol: Il modello risponde con dati strutturati. • Safety boundary: L'accesso ai file rimane all'interno della root del progetto.

La sicurezza è la priorità. Ho utilizzato una funzione chiamata safeResolve per prevenire il path traversal. Ciò garantisce che l'agente non possa accedere a file al di fuori della cartella del progetto. Ho anche impostato dei limiti alle dimensioni dei file per proteggere il contesto del modello.

La struttura del progetto: • src/cli.js: Il punto di ingresso da terminale. • src/agent.js: Il ciclo principale e l'instradamento degli strumenti. • src/ollama.js: Il client API locale. • src/tools.js: Strumenti sicuri per il file system. • test/tools.test.js: Test di sicurezza e comportamento.

Puoi eseguire questo progetto con Node.js e Ollama. Usa Mistral o prova modelli specifici per il coding come Qwen2.5-Coder o DeepSeek-Coder per risultati migliori.

Costruisci strumenti utili. Mantienili circoscritti. Lascia che sia il tuo codice a imporre i confini di sicurezza.

Fonte: https://dev.to/gaurav101/building-a-safe-local-ai-coding-agent-with-nodejs-46ol