AOSSIE-Org / AOSSIE-Org/SkillBot

Proposal: Modularizing SkillBot & Adding Support for Flexible AI Backends

Abierto
#31 0 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Python
Estrellas
6
Forks
3
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Hi there!

I’ve been reviewing the SkillBot codebase and really love what the bot does for automating contributor onboarding and GitHub issue creation!

While looking through the current implementation (`bot.py` and `repo_router.py`), I noticed a few areas where we could make the bot much more flexible, faster, and easier to maintain:

### 1. Hardcoded to Local Ollama
Currently, the AI requests are directly tied to a local Ollama instance (`http://localhost:11434`). If a maintainer wants to deploy SkillBot using OpenAI, Anthropic Claude, or a remote server endpoint, it requires editing core code. Adding a simple provider setting would let us easily switch or configure AI backends.

### 2. File Logging Slowdowns (`gap_log.json`)
Whenever SkillBot records a knowledge gap, it reads the entire `gap_log.json` file into memory and rewrites the whole file synchronously. As the log file grows, this can freeze the bot's response loop. Switching to a lightweight async append format (like `.jsonl`) will keep logging fast O(1) and non-blocking.

### 3. Large Monolithic Files (`bot.py`)
`bot.py` is over 700 lines long and handles Discord messages, AI prompts, file loading, gap logging, and GitHub API calls all in one place. Splitting this into clear, single-purpose helper modules (e.g., `discord_bot.py`, `ai_provider.py`, `github_service.py`) will make testing and adding new features much simpler.

---

### Proposed Overview of the Plan
* **Modular structure:** Separate Discord event handling, AI service calls, and GitHub API integrations.
* **Flexible AI Providers:** Introduce a clean interface for AI providers so we can easily swap between Ollama, OpenAI, or other models.
* **Fast Async Logging:** Update `gap_log.json` to an async append log to prevent event-loop freezing.

If the maintainers are open to this direction, I'd love to put together a full proposal / draft PR to work on this!

Looking forward to hearing your thoughts!

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start by reading bot.py and repo_router.py, then trace the Ollama endpoint and the gap_log.json read/write path. This proposal is ready only after maintainers agree on scope and architecture; done would mean separated Discord, AI, and GitHub responsibilities, configurable AI providers, and non-blocking append-style gap logging.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
github, ollama, python
Área
ai, backend, devtools, performance
Tipo de issue
Refactorización
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Tranquilo
Claridad
Necesita aclaración
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.