Vim Intelligence Bridge es un plugin para Vim que integra capacidades de inteligencia artificial en tu flujo de trabajo de desarrollo (extendible a cualquier otro ámbito). Diseñado para trabajar con Ollama localmente (prioriza la privacidad), también ofrece soporte para la API de Groq, mejorando la productividad y la experiencia de codificación.
Si usas vim-plug, agrega esto a tu archivo de configuración de Vim (.vimrc
):
Plug 'pepo-ec/vim-intelligence-bridge'
Luego, ejecuta :PlugInstall
en Vim.
Clona el repositorio en tu directorio de plugins de Vim:
git clone https://github.com/pepo-ec/vim-intelligence-bridge.git ~/.vim/pack/plugins/start/vim-intelligence-bridge
Crea un archivo .env
en el directorio ~/.vim/plugged/vim-intelligence-bridge/
para las claves API (si usas Groq):
Crea un archivo config.env
en el mismo directorio para las configuraciones no secretas:
OLLAMA_MODEL=llama3.1
GROQ_MODEL=llama-3.1-70b-versatile
Ajusta los valores en config.env
según tus preferencias.
:IntelligenceBridge
<leader>ib
Ejemplo de uso:
Selecciona un bloque de código en modo visual.
Presiona <leader>ib
o ejecuta :IntelligenceBridge
.
Ingresa tu consulta cuando se te solicite. 3.1. ollama/code/laravel/devel Este comando enviará el contexto hacia Ollama (Es más lento pero lo elijo para mantener mi privacidad) 3.2. groq/code/laravel/devel Este comando enviará el contexto a Groq que hace un excelente trabajo de manera gratuita y extremadamente rápido
El plugin procesará tu consulta y el código seleccionado usando Ollama (o Groq si está configurado), y mostrará los resultados.
4.1 Definición del contexto. Esta es la manera que se delimita el alcance del LLM
code/laravel/devel Cuando se ha usado una de las variantes devel los requerimientos son bloques que están delimitados por las palabras clave inicio_requerimiento y fin_requerimiento, por ejemplo:
El código con el requrimiento podría ser algo similar a lo siguiente:
public function update(Request $request, $id) { //inicio_requerimiento // En este segmento quiero que agregues el código más común que en Laravel sirva para actualizar un modelo User //fin_requerimiento }
Luego de invocar al plugin (uso), la respuesta esperada sería algo similar a lo siguiente:
public function update(Request $request, $id) { $user = User::find($id); if ($request->input('password')) { $user->password = bcrypt($request->input('password')); } $user->name = $request->input('name'); $user->email = $request->input('email'); $user->save(); return redirect()->route('users.index')->with('success', 'Usuario actualizado correctamente'); }
Puedes personalizar el comportamiento del plugin editando tu config.env
. Ejemplo:
OLLAMA_MODEL=codellama
GROQ_MODEL=llama-3.1-70b-versatile
APIs y Plataformas Utilizadas
Las contribuciones son bienvenidas! Por favor, lee CONTRIBUTING.md para detalles sobre nuestro código de conducta y el proceso para enviarnos pull requests.
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE.md para más detalles.
Si encuentras algún problema o tienes alguna sugerencia, por favor abre un issue en el rastreador de problemas de GitHub.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4