AOSSIE-Org / AOSSIE-Org/SkillBot
Proposal: Modularizing SkillBot & Adding Support for Flexible AI Backends
- Langage dominant
- Python
- Étoiles
- 6
- Forks
- 3
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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!
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- github, ollama, python
- Domaine
- ai, backend, devtools, performance
- Type d'issue
- Refactorisation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Calme
- Clarté
- À clarifier
- Accessibilité débutants
- 30/100