AOSSIE-Org / AOSSIE-Org/SkillBot
Proposal: Modularizing SkillBot & Adding Support for Flexible AI Backends
- 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
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