Skip to content

Commit

Permalink
Merge pull request #20 from Codium-ai/docs/chat-history
Browse files Browse the repository at this point in the history
Create Chat History page and clear out Threads
  • Loading branch information
almog-lv authored Oct 15, 2024
2 parents 5c16165 + 50e8248 commit e773590
Show file tree
Hide file tree
Showing 15 changed files with 34 additions and 121 deletions.
23 changes: 23 additions & 0 deletions docs/chat/chat-history.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: Chat History
---

# :fontawesome-solid-comments: Chat History

## Overview
Codiumate Chat maintains a history of your 20 most recent conversations, allowing you to review past interactions, refresh your memory, or explore new topics. You can continue a past chat to dive deeper into a topic or request additional information.

## Using Chat History

1. **Initiate a Command:** Call a command by typing it in the chatbox.
2. **Continue the Conversation:** At the end of Codiumate's response, continue the conversation as long as you wish. Codiumate will maintain the context of your initial query, providing tailored responses to your follow-up questions.
3. **Start a new Conversation:** Click on the "New Chat" button on the top right of the chat interface to start a new conversation. Your current chat history will be cleared, and Codiumate will be ready to start a new conversation.
4. **Check your Chat History:** Next to the "New Chat" button, find the History button and click on it. The Chat History interface will open. You can see your latest 20 chats with Codiumate, switch to each one and continue the conversation if you wish.

Currently, your chat history wouldn't be saved between sessions, and will be deleted once you close VSCode. We are working on adding this feature in the future. Stay tuned!

## Examples

!!! example "Using Chat History"
![Chat History](https://www.qodo.ai/images/qodo-gen-gifs/ChatHistory.gif){width=700, loading=lazy}

2 changes: 1 addition & 1 deletion docs/chat/coding-agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ The Task Implementation Plan streamlines your coding process by breaking down co

- **Step 4: Review the Plan** - Take a moment to review the generated plan. Ensure it aligns with your project's needs and covers all aspects of the task.

- **Step 5: Adjust the Plan** - If you see areas for improvement or need to modify the plan, click on "Adjust the plan". You can ask for specific modifications inside the thread to refine the plan according to your needs.
- **Step 5: Adjust the Plan** - If you see areas for improvement or need to modify the plan, click on "Adjust the plan". You can ask for specific modifications during the conversation to refine the plan according to your needs.

- **Step 6: Create a Full Task Plan** - For a full detailed plan including time estimations, testing strategy, and more information, click on the "create a full task plan" button and read the full plan. This comprehensive plan will provide deeper insights and a broader strategy for accomplishing your task.

Expand Down
5 changes: 1 addition & 4 deletions docs/chat/commands/ask.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,12 @@ To use the `/ask` command, follow these steps:

2. **Initiate the Command**: Type `/ask` followed by your question in the chat interface. Qodo Gen will process your query and return a response tailored to the context of your selected mode and focus.

3. **Continue the Chat**: If you require further assistance or have additional questions, click the "continue this chat" button. This action creates a [thread](../threads.md), allowing for a more in-depth conversation regarding your query.
3. **Continue the Chat**: If you require further assistance or have additional questions, continue your conversation in the same chat. Codiumate will maintain the context of your initial query, providing tailored responses to your follow-up questions.

!!! success "Available in"
- [:fontawesome-solid-file-code: Current File focus](../focus/current-file.md)
- [:fontawesome-solid-code-compare: Git-Diff focus](../focus/git-diff.md)

!!! threads "Threads"
This command supports threading. [Read more about Threads](../threads.md).

### Current-File Examples

!!! example "Objective Clarification - Local Changes"
Expand Down
3 changes: 0 additions & 3 deletions docs/chat/commands/commit.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ To utilize the `/commit` command effectively, follow these steps:
!!! success "Available in"
- [:fontawesome-solid-code-compare: Git-Diff focus](../focus/git-diff.md)

!!! threads "Threads"
This command supports threading. [Read more about Threads](../threads.md).

!!! example "Commit message using Chat"
![commit-chat](./assets/commit-chat.gif){width=700, loading=lazy}

Expand Down
3 changes: 0 additions & 3 deletions docs/chat/commands/describe.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ To utilize the `/describe` command effectively, follow these steps:
!!! success "Available in"
- [:fontawesome-solid-code-compare: Git-Diff focus](../focus/git-diff.md)

!!! threads "Threads"
This command supports threading. [Read more about Threads](../threads.md).


!!! example "Features + Bug fixed PR Description"
### Command:
Expand Down
3 changes: 0 additions & 3 deletions docs/chat/commands/docstring.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ To use the `/docstring` command, follow these steps:
- [:fontawesome-solid-file-code: Current File focus](../focus/current-file.md)
- [:fontawesome-solid-code-compare: Git-Diff focus](../focus/git-diff.md)

!!! threads "Threads"
This command supports threading. [Read more about Threads](../threads.md).

!!! example "Docsctring for component (Current File Focus)"
### Commands:
`/docstring`
Expand Down
3 changes: 0 additions & 3 deletions docs/chat/commands/explain.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ Follow these steps to leverage the `/explain` command effectively:
!!! success "Available in"
- [:fontawesome-solid-file-code: Current File focus](../focus/current-file.md)

!!! threads "Threads"
This command supports threading. [Read more about Threads](../threads.md).


!!! example
### Command:
Expand Down
6 changes: 2 additions & 4 deletions docs/chat/commands/issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,12 @@ Follow these steps to efficiently utilize the `/issues` command:

3. **Review Identified Issues**: Qodo Gen presents a list of found issues, each tagged with its type (e.g., Security Concern, Potential Issue, Leftover Debugging Code, Misspelled Variable). Alongside each issue is a link to the relevant code and a comprehensive description of the problem, enabling you to quickly grasp and locate the concern.

4. **Start a Thread for Fixes**: If you wish to receive suggestions for fixing the identified issues, you can initiate a [thread](../threads.md) directly from the issues list. In this interactive discussion, ask Qodo Gen for specific advice on how to address each concern. Qodo Gen will provide tailored suggestions for resolving the problems, enhancing the security and quality of your code.
4. **Continue the Chat for Fixes**: If you wish to receive suggestions for fixing the identified issues, you can continue the chat directly from the issues list. Ask Qodo Gen for specific advice on how to address each concern. Qodo Gen will provide tailored suggestions for resolving the problems, enhancing the security and quality of your code.


!!! success "Available in"
- [:fontawesome-solid-code-compare: Git-Diff focus](../focus/git-diff.md)

!!! threads "Threads"
This command supports threading. [Read more about Threads](../threads.md).


!!! example
### Command:
Expand Down
21 changes: 3 additions & 18 deletions docs/chat/commands/quick-test.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# `/quick-test`

##Description
The `/quick-test` command initiates an iterative and interactive mode for generating test suites for your code. Unlike the comprehensive approach of the `/test-suite` command, `/quick-test` focuses on quickly producing a basic set of tests covering key behaviors. Users can fine-tune the generated tests through natural language chatting in a [thread](../threads.md), allowing for precise customization until the desired test suite is achieved.
The `/quick-test` command initiates an iterative and interactive mode for generating test suites for your code. Unlike the comprehensive approach of the `/test-suite` command, `/quick-test` focuses on quickly producing a basic set of tests covering key behaviors. Users can fine-tune the generated tests through a natural language chat, allowing for precise customization until the desired test suite is achieved.

##How to Use
To efficiently use the `/quick-test` command, follow these steps:
Expand All @@ -10,35 +10,20 @@ To efficiently use the `/quick-test` command, follow these steps:

2. **Select Your Secondary Focus**: Identify the code segment you wish to test. This selection is crucial for ensuring that the generated tests are relevant and targeted.

3. **Initiate the Command**: Type `/quick-test` in the chat interface. Qodo Gen then analyzes the selected code segment and generates a few behaviors, which are printed in the chat interface along with the initial test suite covering these behaviors. This quick generation aims to give you an immediate understanding of what aspects of the code are being tested. If you require additional behaviors to be tested, you can request more directly in the [thread](../threads.md). This initiates an iterative process where Qodo Gen and you collaboratively refine and expand the test suite to meet your needs fully.
3. **Initiate the Command**: Type `/quick-test` in the chat interface. Qodo Gen then analyzes the selected code segment and generates a few behaviors, which are printed in the chat interface along with the initial test suite covering these behaviors. This quick generation aims to give you an immediate understanding of what aspects of the code are being tested. If you require additional behaviors to be tested, you can request more directly in the current chat. Qodo Gen will maintain the context of your initial query, providing tailored responses to your follow-up questions.

4. **Refine the Test Suite**: Engage in a threaded conversation with Qodo Gen to specify adjustments to the test suite. This can include requests for testing additional behaviors, modifying existing tests, or clarifying the logic behind certain tests. Qodo Gen responds iteratively, refining the test suite according to your directions and feedback.
4. **Refine the Test Suite**: Engage in a conversation with Qodo Gen to specify adjustments to the test suite. This can include requests for testing additional behaviors, modifying existing tests, or clarifying the logic behind certain tests. Qodo Gen responds iteratively, refining the test suite according to your directions and feedback.

5. **Finalize Your Test Suite**: Continue this interactive refinement until the test suite satisfactorily covers all desired behaviors and test scenarios. This step concludes the process, ensuring the final test suite is comprehensive and tailored to your specific testing goals.


!!! success "Available in"
- [:fontawesome-solid-file-code: Current File focus](../focus/current-file.md)

!!! threads "Threads"
This command supports threading. [Read more about Threads](../threads.md).

!!! example "Example"

![quick-test](./assets/quick-test.gif){width=700, loading=lazy}

---
- **User**: Chooses a code without tests
- **Command**: `/quick-test`


!!! example "Example with Threading"

![quick-test-thread](./assets/quick-test-thread.gif){width=700, loading=lazy}

---
- **User**: Clicks on `Continue this Chat` after Qodo Gen's initial response
- **Command**: `use unittest framework`

3 changes: 0 additions & 3 deletions docs/chat/commands/recap.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ To effectively utilize the `/recap` command, adhere to the following steps:
!!! success "Available in"
- [:fontawesome-solid-code-compare: Git-Diff focus](../focus/git-diff.md)

!!! threads "Threads"
This command supports threading. [Read more about Threads](../threads.md).

!!! example
### Command:
`/recap`
Expand Down
3 changes: 0 additions & 3 deletions docs/chat/commands/update-changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ Follow these steps to seamlessly update your changelog using the `/changelog` co
!!! success "Available in"
- [:fontawesome-solid-code-compare: Git-Diff focus](../focus/git-diff.md)

!!! threads "Threads"
This command supports threading. [Read more about Threads](../threads.md).

!!! example
### Command:
`/changelog`
Expand Down
6 changes: 3 additions & 3 deletions docs/chat/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Welcome to Qodo Gen Chat, the integrated chat-based assistant designed to elevat
## Use Cases
- **General Coding Assistance**: Ask any coding-related questions, whether it's about algorithms, best practices, language-specific queries, or debugging techniques.
- **Code Generation**: Request code snippets or examples for understanding concepts or solving generic problems.
- **Continued Conversations**: Each message has the option to "continue this chat," enabling a [threaded](./threads.md) conversation with history for deeper exploration of topics.
- **Chat History**: Review [past conversations](./chat-history.md) to refresh your memory or explore new topics.

## Key Features

Expand All @@ -35,8 +35,8 @@ For each message you send in the chat, you can enhance the accuracy of the resul

Additionally, you can attach an image to the chat and make any request related to that image. [Explore Adding Image to the Chat.](./images.md)

### Threads
Threads in Qodo Gen enable you to dive deeper into specific inquiries or commands. After an initial command execution, the "continue this chat" button allows for a threaded conversation, providing space for refinement, additional queries, and expanded discussions. This feature is invaluable for iterating on solutions, clarifying complex topics, and ensuring you get the most out of Qodo Gen's capabilities. [Explore threading.](./threads.md)
### Chat History
Qodo Gen Chat maintains a history of your 20 most recent conversations, allowing you to review past interactions, refresh your memory, or explore new topics. You can continue a past chat to dive deeper into a topic or request additional information. [Learn more about Chat History.](./chat-history.md)

### Task Coding-Agent
Coding-Agent harnesses the power of Qodo Gen's AI to offer unparalleled support in your coding journey, transforming your development workflow with intelligent, real-time assistance. This mode focuses on enhancing your coding efficiency and quality by generating detailed plans for your coding tasks and guiding you through their implementation. [Discover Coding-Agent.](./coding-agent.md)
Expand Down
54 changes: 0 additions & 54 deletions docs/chat/threads.md
Original file line number Diff line number Diff line change
@@ -1,54 +0,0 @@
---
title: Threads
---

# :fontawesome-solid-comments: Threads

##Overview
Threads are a powerful feature in Qodo Gen designed to enrich your interaction with the AI, allowing for deeper exploration, refinement, and expansion of responses to your commands. By engaging in a thread, you can fine-tune results, request additional information, or direct the conversation to more specific outcomes. This feature supports an iterative dialogue with Qodo Gen, making it possible to evolve initial responses into comprehensive solutions.

##Supported Commands
Threads enhance the functionality of several Qodo Gen commands by allowing users to delve deeper into their initial inquiries. Below is a list of commands that support the threading option, each linked to its respective documentation page for detailed information:

- No selected focus: When using the free chat, each message can start a new thread.
- [`/ask`](./commands/ask.md): Pose coding-related queries and receive detailed explanations.
- [`/explain`](./commands/explain.md): Get a thorough explanation of specific code segments or concepts.
- [`/docstring`](./commands/docstring.md): Generate or improve docstrings for better code documentation.
- [`/quick-test`](./commands/quick-test.md): Create initial test suites with the option to refine and expand them.
- [`/commit`](./commands/commit.md): Generate commit messages based on changes, with the ability to fine-tune the message.
- [`/describe`](./commands/describe.md): Obtain structured descriptions of changesets, ideal for pull requests.
- [`/recap`](./commands/recap.md): Summarize code changes in detail, allowing for further clarification and expansion.
- [`/issues`](./commands/issues.md): Identify and explore potential issues within your codebase.
- [`/improve`](./commands/improve.md) (Git-Diff focus only): Suggest improvements for identified issues, enhancing code quality.
- [`/update-changelog`](./commands/update-changelog.md): Automatically update the changelog, with options for customization and additional context.

After receiving an initial response to these commands, you'll see a "continue this chat" button. Clicking this button will lead you into a thread where you can request more detailed follow-ups, refine the outcome, or explore related topics further.


##How to Use Threads

1. **Initiate a Command**: Start by executing a command as you normally would in the appropriate focus (Free Chat, Current-File focus, or Git-Diff).
2. **Extend the Conversation**: At the end of the response, click the "continue this chat" button to open a thread. This action shifts the dialogue into a focused conversation window where you can build upon the initial response.
3. **Refine and Expand**: Within the thread, you can ask for more details, request modifications, or explore additional scenarios related to your initial query. Qodo Gen will maintain the context of the ongoing conversation, providing tailored follow-up responses.

##Examples

!!! example "Git-Diff Issue Resolution"
- **Initial Command**: Call the `/issues` command to identify potential issues in your codebase.
- **In a Thread**: Dive into a specific issue listed in the initial response, asking Qodo Gen for potential solutions or workaround strategies.

!!! example "Current-File Test Suite Refinement"
- **Initial Command**: Use `/quick-test` to generate an initial test suite for a piece of code.
- **In a Thread**: Request refinements to the test suite, such as adding more tests, changing the testing framework, incorporating mocks, or adjusting to different testing scenarios.

!!! example "Free Chat Code Evolution"
- **Initial Request**: Ask Qodo Gen to generate a class based on your specifications.
- **In a Thread**: Further develop the class by requesting additional functions, changing coding styles, or integrating design patterns.

##Benefits of Using Threads

- **Detailed Exploration**: Threads allow for a granular examination of Qodo Gen's responses, enabling you to get precisely what you need.
- **Iterative Improvement**: You can iteratively refine Qodo Gen's output, ensuring the final result closely matches your requirements.
- **Contextual Continuity**: Threads maintain the context of your conversation, allowing Qodo Gen to provide more accurate and relevant responses with each interaction.

Threads are an essential tool in Qodo Gen, bridging the gap between initial automated responses and the nuanced, detailed solutions developers need. By leveraging threads, you ensure that your interactions with Qodo Gen are as productive and informative as possible.
Loading

0 comments on commit e773590

Please sign in to comment.