Opslane is een tool voor automatische bugdetectie en reparatie die JavaScript-applicaties analyseert door echte gebruikerssessies te volgen. In tegenstelling tot traditionele foutmeldingssystemen detecteert Opslane ook bugs die geen exception veroorzaken, zoals haperende UI-elementen.
De werking is verdeeld over vier componenten:
- Browser SDK: Legt sessies en fouten vast.
- Ingestion service: Groepeert en rankt bugs op basis van impact.
- Worker: Onderzoekt de oorzaak, schrijft een fix in een sandbox en opent een pull request.
- Dashboard: Biedt inzicht in issues en sessie-replays.
Het systeem is 'agent-first' en maakt gebruik van een MCP-server om integratie met coding agents te vergemakkelijken. Voor de AI-onderzoeken maakt Opslane gebruik van Anthropic, terwijl E2B wordt ingezet voor sandbox-verificatie en GitHub voor versiebeheer. De software is self-hostbaar via Docker Compose met Postgres en MinIO, en is gelicentieerd onder AGPL-3.0.
Opslane: Automatische bugdetectie en reparatie op basis van gebruikerssessies
Opslane detecteert gebruikersgerichte bugs en onderzoekt deze. Er wordt uitsluitend een Pull Request (PR) geopend als de oplossing geverifieerd kan worden.
Het systeem neemt elke sessie op. Dit betekent dat het niet alleen foutmeldingen ziet, maar ook bugs die geen exception veroorzaken: een knop die niets doet, formulieren waar gebruikers voortijdig mee stoppen of dropdown-menu's die sluiten voordat er een keuze is gemaakt. Elke bug wordt gerankt op basis van het aantal getroffen gebruikers. De belangrijkste problemen worden onderzocht, waarbij sommige fixes resulteren in PR's en andere uw aandacht vereisen om tot een oplossing te komen.
Principes
- Agent-first: Opslane is ontworpen om dashboard-moeheid te voorkomen. Het levert een MCP-server, waardoor uw coding agent de dagelijkse samenvatting kan ophalen, het onderzoek kan lezen en de bug direct vanuit de terminal kan oplossen.
- Product-lerend: Het systeem leert uw product kennen via de broncode en door te observeren hoe mensen de applicatie gebruiken. Dit zorgt voor betere context en nauwkeuriger onderzoek.
- Eenvoudige stack: De volledige stack bestaat uit één Docker Compose-bestand met Postgres en MinIO.
Hoe het werkt
Opslane bestaat uit vier componenten:
| Component | Functie |
| Browser SDK | Legt fouten en sessie-opnames vast in de browser van de gebruiker, met standaard ingeschakelde input-masking. |
| Ingestion service | Ontvangt data van de SDK, groepeert fouten en rankt deze op basis van het aantal getroffen gebruikers. |
| Worker | Onderzoekt problemen, schrijft en verifieert een fix in een sandbox en opent de pull request. |
| Dashboard | Webapplicatie voor het doorzoeken van issues, het bekijken van replays en het wijzigen van projectinstellingen. |
Het proces van detectie naar oplossing
Een fout doorloopt de volgende stappen:
- Capture: De SDK stuurt fouten en sessie-opnames naar de ingestion service. De installatie vereist slechts twee regels code.
- Group: Opslane koppelt geminificeerde stack traces terug naar echte bestandsnamen met behulp van uw source maps en groepeert alle voorkomens van dezelfde bug in één issue.
- Qualify: Opslane controleert hoeveel gebruikers de bug hebben ervaren en hoe recent dit is. Vervolgens analyseert het systeem uw repository om te bepalen of het om een echt productprobleem gaat. Alleen bugs die aan beide controles voldoen, worden onderzocht.
- Investigate: De worker cloneert uw repository en analyseert de code totdat de oorzaak is gevonden.
- Verify: De fix wordt uitgevoerd in een sandbox met uw build- en testproces. Alles wat voorheen slaagde, moet opnieuw slagen, en een tweede model beoordeelt de wijziging.
- Deliver: Een geverifieerde fix wordt een pull request. In andere gevallen wordt de reden vermeld en de actie die van u wordt verwacht. Een dagelijkse Slack-samenvatting meldt wat er is gebroken, wat is gefixt en waar uw input nodig is.
Infrastructuur en ondersteuning
Opslane maakt gebruik van drie externe diensten:
- Anthropic: Voor het onderzoek.
- E2B: Voor het uitvoeren van de sandbox.
- GitHub: Voor clones en pull requests.
De rest draait op uw eigen stack: Postgres voor de status en de job-queue, en S3-compatibele opslag voor sessie-opnames (MinIO in de gebundelde setup). Momenteel ondersteunt het systeem JavaScript-applicaties end-to-end.
Lokale installatie
Voorvereisten: Docker met Compose v2. Voor de eerste run zijn geen accounts of API-sleutels nodig.
git clone https://github.com/opslane/opslane.git
cd opslane
docker compose up -d --wait
curl http://localhost:8082/health
Dit start Postgres, MinIO, de ingestion API (die het dashboard serveert op http://localhost:8082) en de worker. Migraties worden automatisch uitgevoerd.
Testen met een project
Om een testproject te seeden en een fout te simuleren:
docker compose exec -T postgres psql -U opslane -d opslane < scripts/seed-e2e.sql
curl -X POST http://localhost:8082/api/v1/events \
-H 'Content-Type: application/json' \
-H 'X-API-Key: opslane_pk_mzxw6ytboi3damrrgi3tknzxgq_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopq' \
-d '{"timestamp":"2026-01-01T00:00:00Z","error":{"type":"ReferenceError","message":"demo is not defined","stack":"ReferenceError: demo is not defined\n at app.js:1:1"},"breadcrumbs":[],"context":{"url":"https://example.com","user_agent":"smoke test"},"sdk_version":"0.0.01"}'
Controleer het resultaat via de database:
docker compose exec -T postgres psql -U opslane -d opslane \
-c "SELECT status, reason_code, reason_message FROM error_groups ORDER BY created_at DESC LIMIT 1;"
Opslane vangt het event op, koppelt de stack trace aan uw bronbestanden en groepeert dit in een nieuw issue. Het systeem monitort het issue, maar zal een eenmalige fout die niet genoeg gebruikers heeft getroffen, niet direct onderzoeken.
Vereisten voor volledige functionaliteit (onderzoek en fix)
Voor het volledige proces van onderzoek naar fix zijn de volgende credentials nodig:
- Dashboard login: Een GitHub App of WorkOS voor cloud-deployments.
- Onderzoek:
ANTHROPICAPIKEY.
- Sandbox-verificatie:
E2BAPIKEY.
- Pull requests: GitHub-credentials met toegang tot de doelrepository.
Documentatie
- Self-host quickstart: Gedetailleerde handleiding voor lokale runs en het volledige pad van fout naar PR.
- Installatiegids: Hoe u de SDK aan uw applicatie toevoegt.
- Gidsen: Specifieke instructies voor React, Vue, vanilla JS, source maps, GitHub App, Slack-notificaties en privacy bij opnames.
- Werking van Opslane: Het proces van een browserfout naar een geverifieerde fix PR.
- Vertrouwen en datastroom: Informatie over welke data naar welke integratie gaat en wat er binnen uw eigen infrastructuur blijft.
- Referentie: Opties voor de SDK, HTTP-routes, omgevingsvariabelen en reason codes.
Community en Bijdragen
Community: U kunt lid worden van de Opslane Discord om vragen te stellen of de ontwikkeling te volgen.
Licentie:
- Opslane is gelicentieerd onder AGPL-3.0.
- De browser- en Python SDK's en de shared types zijn MIT, zodat deze in eigen applicaties kunnen worden gebruikt.
Bijdragen: Opslane bevindt zich in de pre-1.0 fase. Het contract voor POST /api/v1/events is stabiel en compatibel met oudere versies, maar andere interfaces kunnen nog wijzigen. Bugrapporten en feature-verzoeken zijn welkom via de issue tracker. Voor informatie over de development setup en code-conventies kunt u terecht in AGENTS.md.
Opslane: Automatische bugdetectie en reparatie op basis van gebruikerssessies
Opslane detecteert gebruikersgerichte bugs en onderzoekt deze. Er wordt uitsluitend een Pull Request (PR) geopend als de oplossing geverifieerd kan worden.
Het systeem neemt elke sessie op. Dit betekent dat het niet alleen foutmeldingen ziet, maar ook bugs die geen exception veroorzaken: een knop die niets doet, formulieren waar gebruikers voortijdig mee stoppen of dropdown-menu's die sluiten voordat er een keuze is gemaakt. Elke bug wordt gerankt op basis van het aantal getroffen gebruikers. De belangrijkste problemen worden onderzocht, waarbij sommige fixes resulteren in PR's en andere uw aandacht vereisen om tot een oplossing te komen.
Principes
- Agent-first: Opslane is ontworpen om dashboard-moeheid te voorkomen. Het levert een MCP-server, waardoor uw coding agent de dagelijkse samenvatting kan ophalen, het onderzoek kan lezen en de bug direct vanuit de terminal kan oplossen.
- Product-lerend: Het systeem leert uw product kennen via de broncode en door te observeren hoe mensen de applicatie gebruiken. Dit zorgt voor betere context en nauwkeuriger onderzoek.
- Eenvoudige stack: De volledige stack bestaat uit één Docker Compose-bestand met Postgres en MinIO.
Hoe het werkt
Opslane bestaat uit vier componenten:
| Component | Functie |
| Browser SDK | Legt fouten en sessie-opnames vast in de browser van de gebruiker, met standaard ingeschakelde input-masking. |
| Ingestion service | Ontvangt data van de SDK, groepeert fouten en rankt deze op basis van het aantal getroffen gebruikers. |
| Worker | Onderzoekt problemen, schrijft en verifieert een fix in een sandbox en opent de pull request. |
| Dashboard | Webapplicatie voor het doorzoeken van issues, het bekijken van replays en het wijzigen van projectinstellingen. |
Het proces van detectie naar oplossing
Een fout doorloopt de volgende stappen:
- Capture: De SDK stuurt fouten en sessie-opnames naar de ingestion service. De installatie vereist slechts twee regels code.
- Group: Opslane koppelt geminificeerde stack traces terug naar echte bestandsnamen met behulp van uw source maps en groepeert alle voorkomens van dezelfde bug in één issue.
- Qualify: Opslane controleert hoeveel gebruikers de bug hebben ervaren en hoe recent dit is. Vervolgens analyseert het systeem uw repository om te bepalen of het om een echt productprobleem gaat. Alleen bugs die aan beide controles voldoen, worden onderzocht.
- Investigate: De worker cloneert uw repository en analyseert de code totdat de oorzaak is gevonden.
- Verify: De fix wordt uitgevoerd in een sandbox met uw build- en testproces. Alles wat voorheen slaagde, moet opnieuw slagen, en een tweede model beoordeelt de wijziging.
- Deliver: Een geverifieerde fix wordt een pull request. In andere gevallen wordt de reden vermeld en de actie die van u wordt verwacht. Een dagelijkse Slack-samenvatting meldt wat er is gebroken, wat is gefixt en waar uw input nodig is.
Infrastructuur en ondersteuning
Opslane maakt gebruik van drie externe diensten:
- Anthropic: Voor het onderzoek.
- E2B: Voor het uitvoeren van de sandbox.
- GitHub: Voor clones en pull requests.
De rest draait op uw eigen stack: Postgres voor de status en de job-queue, en S3-compatibele opslag voor sessie-opnames (MinIO in de gebundelde setup). Momenteel ondersteunt het systeem JavaScript-applicaties end-to-end.
Lokale installatie
Voorvereisten: Docker met Compose v2. Voor de eerste run zijn geen accounts of API-sleutels nodig.
git clone https://github.com/opslane/opslane.git
cd opslane
docker compose up -d --wait
curl http://localhost:8082/health
Dit start Postgres, MinIO, de ingestion API (die het dashboard serveert op http://localhost:8082) en de worker. Migraties worden automatisch uitgevoerd.
Testen met een project
Om een testproject te seeden en een fout te simuleren:
docker compose exec -T postgres psql -U opslane -d opslane < scripts/seed-e2e.sql
curl -X POST http://localhost:8082/api/v1/events \
-H 'Content-Type: application/json' \
-H 'X-API-Key: opslane_pk_mzxw6ytboi3damrrgi3tknzxgq_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopq' \
-d '{"timestamp":"2026-01-01T00:00:00Z","error":{"type":"ReferenceError","message":"demo is not defined","stack":"ReferenceError: demo is not defined\n at app.js:1:1"},"breadcrumbs":[],"context":{"url":"https://example.com","user_agent":"smoke test"},"sdk_version":"0.0.01"}'
Controleer het resultaat via de database:
docker compose exec -T postgres psql -U opslane -d opslane \
-c "SELECT status, reason_code, reason_message FROM error_groups ORDER BY created_at DESC LIMIT 1;"
Opslane vangt het event op, koppelt de stack trace aan uw bronbestanden en groepeert dit in een nieuw issue. Het systeem monitort het issue, maar zal een eenmalige fout die niet genoeg gebruikers heeft getroffen, niet direct onderzoeken.
Vereisten voor volledige functionaliteit (onderzoek en fix)
Voor het volledige proces van onderzoek naar fix zijn de volgende credentials nodig:
- Dashboard login: Een GitHub App of WorkOS voor cloud-deployments.
- Onderzoek:
ANTHROPICAPIKEY.
- Sandbox-verificatie:
E2BAPIKEY.
- Pull requests: GitHub-credentials met toegang tot de doelrepository.
Documentatie
- Self-host quickstart: Gedetailleerde handleiding voor lokale runs en het volledige pad van fout naar PR.
- Installatiegids: Hoe u de SDK aan uw applicatie toevoegt.
- Gidsen: Specifieke instructies voor React, Vue, vanilla JS, source maps, GitHub App, Slack-notificaties en privacy bij opnames.
- Werking van Opslane: Het proces van een browserfout naar een geverifieerde fix PR.
- Vertrouwen en datastroom: Informatie over welke data naar welke integratie gaat en wat er binnen uw eigen infrastructuur blijft.
- Referentie: Opties voor de SDK, HTTP-routes, omgevingsvariabelen en reason codes.
Community en Bijdragen
Community: U kunt lid worden van de Opslane Discord om vragen te stellen of de ontwikkeling te volgen.
Licentie:
- Opslane is gelicentieerd onder AGPL-3.0.
- De browser- en Python SDK's en de shared types zijn MIT, zodat deze in eigen applicaties kunnen worden gebruikt.
Bijdragen: Opslane bevindt zich in de pre-1.0 fase. Het contract voor POST /api/v1/events is stabiel en compatibel met oudere versies, maar andere interfaces kunnen nog wijzigen. Bugrapporten en feature-verzoeken zijn welkom via de issue tracker. Voor informatie over de development setup en code-conventies kunt u terecht in AGENTS.md.