Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spike: Kyma Companion UI Implementation in Kyma Dashboard #2849

Closed
valentinvieriu opened this issue Mar 20, 2024 · 1 comment · May be fixed by #2861
Closed

Spike: Kyma Companion UI Implementation in Kyma Dashboard #2849

valentinvieriu opened this issue Mar 20, 2024 · 1 comment · May be fixed by #2861
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@valentinvieriu
Copy link
Contributor

valentinvieriu commented Mar 20, 2024

Description

The Kyma Companion UI aims to enhance user interaction within the Kyma Dashboard by integrating a chat interface that provides context-sensitive help and general assistance. Leveraging design recommendations from a Figma file, this spike seeks to explore the feasibility, challenges, and optimal architecture for implementing the UI, ensuring seamless integration with backend services using the OPEN AI API format.

Goal

  • Assess the practicality of implementing the Kyma Companion UI as per Figma design specifications.
  • Identify challenges in UI development and interaction with the backend.
  • Determine the best architecture for backend communication, focusing on compatibility with the OPEN AI API format.
  • Prototype context-sensitive and menu-triggered chat interface functionalities.

Scope

Included

  • Analysis of the Figma design file for UI requirements.
  • Evaluation of frontend technologies for implementing the chat interface.
  • Investigation into backend communication strategies, emphasizing the OPEN AI API format.
  • Prototyping key components of the UI, including contextual triggering and markdown support in chat messages.

Excluded

  • Full-scale development of the Kyma Companion UI.
  • Integration with other systems outside the Kyma ecosystem.
  • Detailed user experience (UX) beyond the scope of the initial design recommendations.

Acceptance Criteria

  • Demonstration of a viable prototype that aligns with the Figma design recommendations.
  • Identification of major challenges in UI development and backend integration.
  • A proposed architecture for communicating with the backend using the OPEN AI API format.
  • A set of recommendations for addressing identified challenges and proceeding with development.

Time-box

This spike is allocated 4 weeks, allowing for thorough investigation and prototyping.

Expected Outcome

  • A prototype of the Kyma Companion UI demonstrating feasibility and design alignment.
  • The prototype runs on Kyma AI Force Cluster and connects with the Kyma Companion Module
  • A comprehensive report detailing:
    • The feasibility of the UI implementation.
    • Identified challenges and potential solutions.
    • Recommended architecture for backend communication.
    • Suggestions for next steps in development based on the spike findings.

Suggested Diagram for communications with Kyma Companion Module

sequenceDiagram
    participant U as User
    participant KCF as Kyma Companion Frontend
    participant KCM as Kyma Companion Module

    Note over U,KCF: User is viewing specific cluster resources
    U->>+KCF: Opens Kyma Companion App
    KCF->>+KCM: GET /initial-questions {context}
    Note over KCM: Context is current user view/resources
    KCM-->>-KCF: Returns initial questions based on context
    U->>+KCF: Selects a question
    Note over KCF: User interaction triggers query
    KCF->>+KCM: POST /chat {selected question}
    KCM-->>-KCF: Responds to user's query
    Note over KCF,KCM: Immediate follow-up action
    KCF->>+KCM: GET /follow-up-questions
    Note over KCM: Suggests next possible questions
    KCM-->>-KCF: Provides follow-up questions

Loading

Links

image
image
image
image
image
image

image

@valentinvieriu valentinvieriu added the kind/feature Categorizes issue or PR as related to a new feature. label Mar 20, 2024
@chriskari chriskari linked a pull request Mar 27, 2024 that will close this issue
@chriskari
Copy link
Contributor

chriskari commented Apr 8, 2024

  • error handling on first prompt should give the option to retry
  • add UI elements for streaming
  • add fullscreen mode
  • add session_id to api-calls
  • initial-suggestions-API-calls should depend on current resourceType, resourceName, namespace
  • close assistant on pageType changes
  • adjust dark-mode and other themes
  • handle token-exceeded-error
  • fix two-chunks-at-once-error
  • markdown-formatting: links
  • keep assistant open on edit of resource
  • use inner-cluster-API endpoints
  • fix unique-key-warnings for chat-list
  • improve responsiveness of bubbles?
  • markdown-formatting: lists ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants