Plan in-app AI chat and Fix It assistant
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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_enabledai_monthly_token_limitai_max_tokens_per_requestai_max_tool_calls_per_requestai_max_context_bytesai_allowed_modelsai_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:
AiToolCatalogAiToolExecutorAiContextBuilderAiUsageTrackerAiPlanLimitService
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/conversationsGET /api/v2/ai/conversationsGET /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_enabledai_monthly_spend_limit_centsai_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:
- Add plan AI limit fields.
- Add AI usage tracking.
- Add backend limit enforcement service.
- Add provider abstraction, with model calls behind config/feature flag.
- Keep the first slice read-only.
- 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.
- Ngôn ngữ chính
- C#
- Star
- 2.5k
- Fork
- 508
- Merge trung bình
- 2 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 40
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của exceptionless/Exceptionless
-
bug documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
exceptionless/Exceptionless#2707 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
exceptionless/Exceptionless#2706 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
exceptionless/Exceptionless#2705 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
exceptionless/Exceptionless#2704 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
exceptionless/Exceptionless#2703 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của exceptionless/Exceptionless
Issue tương tự
-
Add dependency list in documentsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
Maintainer thường phản hồi trong vòng 3 ngày
-
Add 'upm' tag on githubĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug mac アプリ: コード アプリ: チャット 優先: 中 要トリアージ
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
yksr-melt/Meltype#1346 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Collect corrected translations in the app, with no GitHub account and the least possible frictionĐang mởlocalization medium ui
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
hexide-io/HexIDE#2819 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày