Recebi um comentário interessante para considerar no futuro:
Muito interessante. Seria legal ter um plugin pra neovim.
No AkitaLLM existem exemplos de plugins e toda a estrutura para criar novos. O sistema é baseado em um modelo híbrido:
- Plugins internos: ficam na pasta
akita/plugins/.
- Plugins externos: pacotes Python instalados via
pip que usam entry_points.
Como criar um plugin para AkitaLLM
- Interface:
- Herde de
AkitaPlugin e implemente os métodos obrigatórios (name, description, get_tools).
- Exemplo básico:
from akita.core.plugins import AkitaPlugin
from typing import List, Dict, Any
class MeuPluginNeovim(AkitaPlugin):
@property
def name(self) -> str:
return "neovim_tool"
@property
def description(self) -> str:
return "Plugin para integração com Neovim."
def get_tools(self) -> List[Dict[str, Any]]:
return [
{
"name": "neovim_example",
"description": "Exemplo de ferramenta para Neovim.",
"parameters": {},
"func": lambda: "Resultado do plugin Neovim"
}
]
- Registro:
- Para plugins externos, registre no
pyproject.toml:
[project.entry-points."akitallm.plugins"]
neovim = "seu_pacote.modulo:MeuPluginNeovim"
- Descoberta:
- O AkitaLLM escaneia
akita/plugins/ e plugins instalados via Python (entry point akitallm.plugins).
- Para testar se o plugin foi carregado:
from akita.core.plugins import PluginManager
pm = PluginManager()
pm.discover_all()
print(pm.plugins.keys())
- Documentação e exemplos:
Integração com Neovim
- A comunicação pode ser feita via plugin Python para Neovim, usando
pynvim (https://github.com/neovim/pynvim), ou scripts que utilizam AkitaLLM como backend.
- Tools podem expor APIs para comandos de Neovim, scripts, ou integração direta.
Recomendações
- Prioridade mínima, sugerido avaliar juntamente com evoluções do ecossistema AkitaLLM.
- Esse issue serve como referência para quem quiser iniciar ou propor propostas detalhadas de integração.
Dúvidas, ideias ou rascunhos podem ser anexados aqui à medida que novas informações surgirem.
Recebi um comentário interessante para considerar no futuro:
No AkitaLLM existem exemplos de plugins e toda a estrutura para criar novos. O sistema é baseado em um modelo híbrido:
akita/plugins/.pipque usamentry_points.Como criar um plugin para AkitaLLM
AkitaPlugine implemente os métodos obrigatórios (name,description,get_tools).pyproject.toml:akita/plugins/e plugins instalados via Python (entry pointakitallm.plugins).PLUGINS.mdedocs/plugins.md.Integração com Neovim
pynvim(https://github.com/neovim/pynvim), ou scripts que utilizam AkitaLLM como backend.Recomendações