Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Plan in-app AI chat and Fix It assistant

Abierto
#2,334 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
csharp
Área
api, backend

Línea de trabajo

This is a broad foundation plan and does not name implementation files. Start by reading the recommended first implementation slice and checking the existing plan, usage-tracking, and backend API patterns; the proposed conversation endpoints are listed in Phase 3. Done means the first read-only foundation slice has plan limits, persistent usage tracking, limit enforcement, a configurable provider abstraction, and minimal admin/system visibility.

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

Descripción

Goal

Add an in-app AI assistant for Exceptionless that lets users ask project questions in plain English and powers a Fix It / Explain button on events and stacks.

The in-app assistant should reuse the same core capabilities as the hosted MCP server, but it should be implemented as a first-party backend feature rather than calling MCP over HTTP from the app.

Product rules

  • AI is available only on selected paid plans.
  • Usage is token-based because provider billing is token-based.
  • Start with included monthly token budgets only.
  • Do not support overage billing in v1.
  • Track provider cost internally from day one.
  • Start read-only; any write actions must require explicit user confirmation.

Initial plan fields:

  • ai_enabled
  • ai_monthly_token_limit
  • ai_max_tokens_per_request
  • ai_max_tool_calls_per_request
  • ai_max_context_bytes
  • ai_allowed_models
  • ai_overage_enabled = false

Phase 1: Shared AI tool layer

Extract reusable backend tool logic so MCP and in-app AI use the same permission checks, validation, result shaping, and truncation behavior.

Suggested services:

  • AiToolCatalog
  • AiToolExecutor
  • AiContextBuilder
  • AiUsageTracker
  • AiPlanLimitService

The in-app chat should call shared internal services directly. It should not call /mcp over HTTP.

Phase 2: Usage metering and limits

Add persistent usage tracking per organization.

Track:

  • organization id
  • user id
  • operation: chat, fix_it, explain_event, explain_stack
  • model
  • input tokens
  • output tokens
  • total tokens
  • estimated provider cost
  • created date / month bucket

Enforce before and during requests:

  • plan allows AI
  • monthly token budget remaining
  • per-request max token cap
  • max tool calls
  • max context size

Use a reservation or capped request budget so a single request cannot materially overspend the remaining monthly allowance.

Phase 3: Backend chat API

Add API endpoints such as:

  • POST /api/v2/ai/conversations
  • GET /api/v2/ai/conversations
  • GET /api/v2/ai/conversations/{id}
  • POST /api/v2/ai/conversations/{id}/messages
  • optional streaming endpoint for assistant responses

The backend owns:

  • permission checks
  • plan checks
  • usage reservation
  • model calls
  • tool calls
  • persisted conversation history

Phase 4: Chat UI

Add a project-scoped AI chat surface in the app.

Potential entry points:

  • Account AI Tools page
  • project settings
  • client setup page
  • profile menu
  • later: sidebar/global command menu

UI should show:

  • current project / organization context
  • token usage this month
  • remaining token budget
  • limit reached state
  • conversation history

Phase 5: Fix It / Explain buttons

Add Fix It / Explain buttons on stack and event detail pages.

Clicking starts a conversation with preloaded context:

  • project
  • stack/event id
  • stack trace
  • request info
  • environment
  • recent occurrences
  • version/release info if available
  • related stacks/events if useful

Assistant response should be structured:

  • likely cause
  • evidence
  • suggested fix
  • assumptions
  • next debugging steps
  • related Exceptionless links

Phase 6: Confirmed write actions later

After read-only chat is useful, add confirmed write actions:

  • mark fixed in version
  • snooze
  • mark future events critical
  • add reference link

The assistant may propose an action, but the UI should execute it only after explicit user confirmation. All write actions should be audited.

Phase 7: Overage billing later

After real usage data exists, add pay-as-you-go.

Add:

  • ai_overage_enabled
  • ai_monthly_spend_limit_cents
  • ai_overage_price_per_million_tokens
  • internal provider cost tracking
  • markup calculation

User options:

  • stop at included token limit
  • allow overage up to a monthly cap

Recommended first implementation slice

Start with foundation work only:

  1. Add plan AI limit fields.
  2. Add AI usage tracking.
  3. Add backend limit enforcement service.
  4. Add provider abstraction, with model calls behind config/feature flag.
  5. Keep the first slice read-only.
  6. Add minimal admin/system visibility for usage and limits.

A later PR can add the first user-facing read-only chat and Fix It experience.

Lenguaje dominante
C#
Estrellas
2.5k
Forks
508
Merge medio
2 d 17 h
PR fusionados (30 d)
40

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de exceptionless/Exceptionless

Todos los issues de exceptionless/Exceptionless

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.