Skip to content

[feat] Conversation Navigation & Forking #9

Description

@diegohb

GemiTerm - Feature Specification:

1. Feature Title: Interactive Conversation Control

2. Feature Description: This feature enables agents to navigate and interact with existing Gemini web chat conversations within GemiTerm using keyboard controls – specifically arrow keys for message selection and the Enter key for conversation branching.

3. Goal: To provide a natural and intuitive interface for agents to manage and manipulate ongoing Gemini conversations directly from the CLI.

4. User Story: As an agent, I want to be able to quickly select and view past messages in a Gemini conversation using my keyboard, and I want to be able to easily fork a conversation into a new branch with a selected message as the starting point.

5. Technical Details:

  • Trigger: Command Key (e.g., ‘C’ or ‘G’ – configurable in settings) – This key initiates the navigation and control mode.
  • Navigation:
    • Up/Down Arrow Keys: While in navigation mode (triggered by the command key), pressing the Up/Down arrow keys cycles through the conversation history, displaying the selected message in the terminal.
    • Message Display: The selected message (including any associated context injected via the /context feature – if enabled) will be displayed prominently in the terminal.
    • Navigation Exit: Pressing the command key again exits navigation mode.
  • Forking (Enter Key):
    • Enter Key Action: When a message is highlighted (selected via arrow keys), pressing the Enter key triggers a “Fork” action.
    • Fork Menu: A simple menu will appear in the terminal, presenting the following options:
      • “Fork with Message”: Creates a new Gemini conversation, using the highlighted message as the initial prompt.
      • “Cancel”: Exits navigation mode and cancels the operation.
  • State Management: GemiTerm will maintain an internal state to track the currently selected message and the active navigation mode.
  • Error Handling: If there are no messages in the conversation history, a clear message will be displayed (e.g., "No conversation history available.").

6. UI Considerations (Terminal-Based):

  • Clear visual indication of the navigation mode (e.g., a subtle border around the terminal window).
  • Highlighting of the currently selected message (e.g., bold text, background color).
  • Simple, readable menu for the Forking action.

7. Future Considerations:

  • Ability to copy selected messages to the clipboard.
  • Integration with a more sophisticated message editor.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions